//***********************************//
// AJAXによる結果表示
//***********************************//
function pageNaviAjax(mode,cid,page) {

//alert(mode);
//alert(cid);
//alert(page);

	// HPの確認用
	$.ajax({

		type: "get",
		url: "/db.php",
		data: "&mode="+mode+"&cid="+cid+"&page="+page+"&flag_ajax=1",
		success: pageNaviAjaxOnload,
		error: pageNaviAjaxError
	});


}

function pageNaviAjaxOnload(msg) {

	var res =msg.split("<>");
//alert(res[0]);
	$("#"+res[0]).html(res[1]);

}

function pageNaviAjaxError() {

	alert("error");

}














function dataStep1AjaxOnload(msg) {

	var res =msg.split("<>");

	if (res[0]=="error") {
		alert(res[1]);
		return;
	} else if (res[0]=="error2") {
		alert(res[1]);
		$("#data_button_area").show();
		$("#data_button_process").hide();
		return;
	} else if (res[0]=="in_db") {
		alert(res[1]);

		$("#flag_modify").val(1);
		$("#data_site_id_modify").val(res[2]);

		// パスワード入力域表示
		$("#modify_password_area").show('fast');
		$("#data_password").focus();

		$("#data_button_area").show();
		$("#data_button_process").hide();

		return;
	}

	// 新規登録時の入力
	$("#step1").hide('slow');
	$("#step1_results").show('slow');
	$("#step2").show('slow');

	for(var i=1; i < res.length; i++) {
		var cmd = res[i].split("<*>");
		if (cmd[0]=="text") {
			$("#"+cmd[1]).val(cmd[2]);
		}
		if (cmd[0]=="radio") {
			$("#"+cmd[1]).attr("html",cmd[2]);
		}
		if (cmd[0]=="select") {
			$("#"+cmd[1]+"_"+cmd[2]).attr("selected","selected");
		}
		if (cmd[0]=="html") {
			$("#"+cmd[1]).attr("innerHTML",cmd[2]);
		}
	}

	$("#data_url_show").attr('innerHTML',$("#data_url_hidden").val());

	// カテゴリーの選択を全て外す
	unMarkAllRows("category_area");

	// 更新は必要なし
	if ($("#flag_db_exists").val()==1) {
		$("#submit_loading").hide('fast');
		$("#submit").show('slow');
		return;
	}

	// 各種データ取得
	$("#data_mode").val('step2');
//	$("#data_sid").val($("#data_site_id").val());

	var fields = $("#form_step1").serializeArray();

	$.ajax({
		type: "post",
		url: "./register.php",
		data: fields,
		success: dataStep2AjaxOnload,
	});

	// サムネイル取得AJAX送信（新規用）
	$.ajax({
		type: "post",
		url: "./register.php",
		data: "mode=thumbnail&site_id="+$("#data_site_id_default").val()+"&url="+$("#data_url").val(),
		success: getThumbnailOnload,
	});

}

function dataStep2AjaxOnload(msg) {

	var res =msg.split("<>");

	if (res[0]=="error") {
		return;
	} else if(res[0]=="OK") {
		$("#submit_loading").hide('fast');
		$("#submit").show('slow');
	}

}

function getThumbnailOnload(msg) {

	var res =msg.split("<>");

	if (res[0]=="error") {
		return;
	} else if(res[0]=="OK") {
		$("#"+res[1]).attr("innerHTML",res[2]);
	}

}

//***********************************//
// 登録
//***********************************//
function dataRegisterAjax() {

	// データ入力のチェック
	if (!$("#data_title").val()) {
		alert("タイトルを入力してください");
		$("#data_title").focus();
		return;
	}

	if (!$("#data_description").val()) {
		alert("内容を記載して下さい");
		$("#data_description").focus();
		return;
	}

	if ($("#data_email").val()) {
		if (!is_valid_email($("#data_email").val())) {
			alert("メールアドレスの形式が正しくないようです。\n正しいメールアドレスを入力してください");
			$("#data_email").focus();
			return;
		}
	}

	var check_num = $("input:checkbox[@name^='data_category']:checked").length; 

	if ( check_num < 1 || 5<check_num) {
		alert("該当するカテゴリ－を１個以上５個以下 選択して下さい");
		$("#treecontrol").focus();
		return;
	}

	if (!$("#data_deletekey").val()) {
		alert("更新用のパスワードを設定して下さい。");
		$("#data_deletekey").focus();
		return;
	}

	var str = $("#data_deletekey").val();
    var tmp = str.match(/[0-9a-zA-Z@\+\-\/\*\,\.]+/g);
    if (tmp != str) {
		alert("更新用のパスワードに利用できない文字が含まれています");
		$("#data_deletekey").focus();
		return;
	}

	$("#data_mode_reg").val('register');

	var fields = $("#form_data_register").serializeArray();

	$.ajax({
		type: "post",
		url: "./register.php",
		data: fields,
		success: dataRegisterAjaxOnload
	});

}

function dataRegisterAjaxOnload(msg) {

	var res =msg.split("<>");

	if (res[0]=="error") {
		alert(res[1]);
		return;
	} else if  (res[0]=="OK") {
		$("#step2").hide('slow');
		$("#step3").attr('innerHTML',res[1]);
		$("#step3").show('slow');
	} 

// デバグ用処理
//	$("#results").attr('innerHTML',msg);

}

/**************************************/
// チェックボックス 一括チェックはずす
/**************************************/
function unMarkAllRows( container_id ) {

	var rows = document.getElementById(container_id).getElementsByTagName('li');

	var checkbox;

	for ( var i = 0; i < rows.length; i++ ) {
		checkbox = rows[i].getElementsByTagName( 'input' )[0];
		if ( checkbox && checkbox.type == 'checkbox' ) {
			if ( checkbox.disabled == false ) {
				checkbox.checked = false;
			}
		}
	}

	return true;
}

/******************************************/
// mail 形式のチェック
/******************************************/
function is_valid_email(email_address) {

	var regex;
	regex = '^([._/a-z0-9-]+[._/a-z0-9-]*)@(([a-z0-9-]+\.)*([a-z0-9-]+)(\.[a-z]{2,3}))$';
	myRE = new RegExp(regex, "gi");
	result = email_address.match(myRE);

	return result;

}

/******************************************/
// 地図情報の入力画面表示
/******************************************/
function getMapLopcation() {

	var w,h,lat,lon,zoom,url;

	$("#location_data").show('slow');

	lat=$("#googlemap_lat").val();
	lon=$("#googlemap_lon").val();
	zoom=$("#googlemap_zoom").val();

	w = screen.availWidth;
	h = screen.availHeight;

	// サブウィンドウのサイズを現サイズの80%とする。
	w = Math.round(w*0.8);
	h = Math.round(h*0.7);

	url = "?mode=get_location&lat="+lat+"&lon="+lon+"&zoom="+zoom;

	subwinGoogleMap = window.open(url,'subwinGoogleMap','width='+w+',height='+h+',location=0,resizable=1,scrollbars=1,menubar=0,status=0');

	subwinGoogleMap.focus();

}

/******************************************/
// 地図情報の削除
/******************************************/
function deleteMapLocation() {

	if (!confirm("位置情報のデータを削除（クリアー）してもよろしいですか？")) {
		return;
	}

	$("#googlemap_lat").val("");
	$("#googlemap_lon").val("");
	$("#googlemap_zoom").val("");

}



/******************************************/
// 項目の追加
/******************************************/
function addRow(){

	rowNumber++;

    // 雛形の行をコピーする
	var tmplRowNode = document.getElementById("data_category_tpl");
	var rowNode = tmplRowNode.cloneNode(true);

//	rowNode.id = "row" + rowNumber;
	// 行の子ノードを順に調べる
	for (i = 0; i < rowNode.childNodes.length; i++) {
		var tdNode = rowNode.childNodes[i];

		// 該当要素であれば、その子ノードを順に調べる
		if (tdNode.nodeName == "INPUT") {
			for (j = 0; j < tdNode.childNodes.length; j++) {
				var chNode = tdNode.childNodes[j];
			}
		}
	}

    // 行を可視にする
	rowNode.style.display = "block";
	rowNode.id = "data_new_category_"+rowNumber;

    // 表の最後に行を追加する
	var tbodyNode = document.getElementById("new_category_area");
	tbodyNode.appendChild(rowNode);

}

/******************************************/
// 行削除
/******************************************/
function removeRow(btn) {

    // このボタンを含む行（tr要素）のノードを得る
    var rowNode = btn.parentNode.parentNode;

    // 行を削除する
    rowNode.parentNode.removeChild(rowNode);

}































/******************************************/
// 再入力の設定
/******************************************/
function contactBack() {

	$("#contact_start").show('slow');
	$("#contact_confirm").hide('slow');

}

// 問合せ入力項目
//***********************************//
function contactSubmitAjax() {


	$("#contact_mode").val('contact_submit');

	var fields = $("#form_contact").serializeArray();

	$.ajax({

		type: "post",
		url: "/php/contact.php",
		data: fields,
		success: contactStartAjaxOnload
	});

}

function contactSubmitAjaxOnload(msg) {

	var res =msg.split("|");

	if (res[0]=="error") {
		alert(res[1]);
		return;
	} else if  (res[0]=="OK") {
		$("#contact_start").hide('slow');
		$("#contact_thanks").attr('innerHTML',res[1]);
		$("#contact_thanks").show('slow');
	} 

}


/******************************************/
// 再入力の設定
/******************************************/
function requestBack() {

	$("#request_start").show('slow');
	$("#request_confirm").hide('slow');

}

//***********************************//
// 問合せ入力送信
//***********************************//
function requestSubmitAjax() {


	$("#request_mode").val('request_submit');

	var fields = $("#form_request").serializeArray();

	$.ajax({

		type: "post",
		url: "/php/contact.php",
		data: fields,
		success: requestStartAjaxOnload
	});

}

function requestSubmitAjaxOnload(msg) {

	var res =msg.split("|");

	if (res[0]=="error") {
		alert(res[1]);
		return;
	} else if  (res[0]=="OK") {
		$("#request_start").hide('slow');
		$("#request_thanks").attr('innerHTML',res[1]);
		$("#request_thanks").show('slow');
	} 

}








