//クリック時に色を変える
function focusColor(i){
	i.style.borderColor='#7F9DB9';
	i.style.backgroundColor='#FFFFFF';
}
function blurColor(i){
	i.style.borderColor='#CCCCCC';
	i.style.backgroundColor='#F3F3F3';
}

//以下Ajax
function createXMLHttpRequest(cbFunc) {
	var XMLhttpObject = null;
	try{
		XMLhttpObject = new XMLHttpRequest();
	}catch(e){
		try{
			XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				return null;
			}
		}
	}
	if (XMLhttpObject) XMLhttpObject.onreadystatechange = cbFunc;
	return XMLhttpObject;
}

httpObj = null;
function dataSave(phpname,postdata) {
	sendData ="name="+encodeURI(postdata[0]);
	sendData+= "&age="+encodeURI(postdata[1]);
	sendData+= "&sex="+encodeURI(postdata[2]);
	sendData+= "&postcode="+encodeURI(postdata[3]);
	sendData+= "&prefecture="+encodeURI(postdata[4]);
	sendData+= "&address1="+encodeURI(postdata[5]);
	sendData+= "&address2="+encodeURI(postdata[6]);
	sendData+= "&email="+encodeURI(postdata[7]);
	sendData+= "&content="+encodeURI(postdata[8]);
	
	httpObj = createXMLHttpRequest(displayData);
	if (httpObj) {
		httpObj.open("POST",phpname,true);
		httpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=UTF-8');
		httpObj.send(sendData);
	}
}

function displayData() {
	if ((httpObj.readyState == 4) && (httpObj.status == 200)) {
		//完了
		
		//入力部分を表示。
		$("entry").style.display = "block";
		//確認部分を消す。
		$("confirm").style.display = "none";
		
		if (httpObj.responseText>0) {
			$("success").style.display = "block";
			$("inqform").style.display = "none";
		}else{
			$("failure").style.display = "block";
			//$("error-code").innerHTML = "（Error Code：<span>" + httpObj.responseText + "</span>）<br />";
		}
		$("submitbutton").value = "送信";
	}else if (httpObj.readyState == 4) {
		$("failure").style.display = "block";
		$("error-code").innerHTML = "（Error Code：<span>" + httpObj.status + "</span>）<br />";
		//入力部分を表示。
		$("entry").style.display = "block";
		//確認部分を消す。
		$("confirm").style.display = "none";
		
		$("submitbutton").value = "送信";
	}else{
		//処理中
		$("submitbutton").value = "送信中...";
	}
}

function setPostCode() {
	document.inquiry.postcode1.value = toHankakuNum(document.inquiry.postcode1.value);
	document.inquiry.postcode2.value = toHankakuNum(document.inquiry.postcode2.value);
	poscode = document.inquiry.postcode1.value + document.inquiry.postcode2.value;
	if (poscode.length == 7) {
		addText("postcode","add","");
		postOffice(poscode);
	}else{
		addText("postcode","add","郵便番号を入力してください。");
	}
}

function postOffice(postdata) {
	sendData ="postcode="+encodeURI(postdata);
	
	httpObj = createXMLHttpRequest(postData);
	if (httpObj) {
		httpObj.open("POST","./post-code.php",true);
		httpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=SHIFT_JIS');
		httpObj.send(sendData);
	}
}

function postData() {
	if ((httpObj.readyState == 4) && (httpObj.status == 200)) {
		//完了
		if (httpObj.responseText) {
			//成功
			if (httpObj.responseText.length > 6) {
				addText("postcode","add","");
				res = httpObj.responseText.split(",");
				document.inquiry.address1.value = res[2];
				len = document.inquiry.prefecture.options.length;
				for (i=0; i<len; i++) {
					if (document.inquiry.prefecture.options[i].value == res[1]) {
						document.inquiry.prefecture.selectedIndex = i;
						break;
					}
				}
			}else{addText("postcode","add","住所が見つかりませんでした。");}
		}else{
			// 失敗
			addText("postcode","add","住所が見つかりませんでした。");
		}
		$("postbutton").value = "住所入力";
	}else if (httpObj.readyState == 4) {
		// 失敗
			addText("postcode","add","住所が見つかりませんでした。");
			$("postbutton").value = "住所入力";
	}else{
		//処理中
		$("postbutton").value = "検索中...";
	}
}

function toHankakuNum(motoText) {
	han = "0123456789.,-+";
	zen = "０１２３４５６７８９．，－＋";
	str = "";
	for (i=0; i<motoText.length; i++) {
		c = motoText.charAt(i);
		n = zen.indexOf(c,0);
		if (n >= 0) c = han.charAt(n);
		str += c;
	}
	return str;
}

function checkMailData(baai) {
	//初期化
	tf_maildata = true;
	//出力部分等を消す。
	$("success").style.display = "none";
	$("mail-error").style.display = "none";
	$("failure").style.display = "none";
	$("error-code").innerHTML = null;
	
	//取り込み
	js_name= document.inquiry.name.value;//*
	js_age = document.inquiry.age.value;
	js_sex = "";
	js_postcode = document.inquiry.postcode1.value + "-" + document.inquiry.postcode2.value;
	js_prefecture = document.inquiry.prefecture.value;
	js_address1 = document.inquiry.address1.value;
	js_address2 = document.inquiry.address2.value;
	js_email= document.inquiry.email.value;//*
	js_content= document.inquiry.content.value;//*
	
	//エラーを返す
	//name
	if (!js_name) {
		addText("name","add","氏名を入力してください。");
		tf_maildata = false;
	}else{
		addText("name","add","");
	}
	//age
	if (!js_age) {
		addText("age","add","年齢を入力してください。");
		tf_maildata = false;
	}else{
		addText("age","add","");
	}
	//sex
	ns = 4;
	for (ii=0; ii<2; ii++) if (document.inquiry["sex"][ii].checked) ns = ii;
	if (ns < 3) {
		js_sex= document.inquiry["sex"][ns].value;
		addText("sex","add","");
	}else{
		addText("sex","add","性別を選択してください。");
		tf_maildata = false;
	}
	//email
	tf_email = js_email.match(/^[a-zA-Z0-9_\.\-]+?@[A-Za-z0-9_\.\-]+$/);
	if (!tf_email) {
		addText("email","add","メールアドレスが正しく無い可能性があります。");
		tf_maildata = false;
	}else{
		addText("email","add","");
	}
	//prefecture
	if (!js_prefecture) {
		addText("prefecture","add","都道府県を選択してください。");
		tf_maildata = false;
	}else{
		addText("prefecture","add","");
	}
	//content
	if (!js_content) {
		addText("content","add","入力してください。");
		tf_maildata = false;
	}else{
		addText("content","add","");
	}
	
	//確認
	if (tf_maildata) {
		if (baai == "soushin") {
			//送信画面
			//
			//郵便番号が空なら送らない
			if (js_postcode == "-") {
				js_postcode = "";
			}
			//出力
			postdata = new Array(
				js_name,
				js_age,
				js_sex,
				js_postcode,
				js_prefecture,
				js_address1,
				js_address2,
				js_email,
				js_content
			);
			dataSave("./mail.php",postdata);
		} else if (baai == "kakunin") {
			//確認画面
			//エラー表示を初期化。
			initializationText("add");
			//確認部分を表示。
			$("confirm").style.display = "block";
			//入力部分を消す。
			$("entry").style.display = "none";
			//確認画面を出力。
			addText("name","in",tagCuttere(js_name));
			addText("age","in",tagCuttere(js_age));
			addText("sex","in",tagCuttere(js_sex));
			addText("postcode","in",tagCuttere(js_postcode));
			addText("prefecture","in",tagCuttere(js_prefecture));
			addText("address1","in",tagCuttere(js_address1));
			addText("address2","in",tagCuttere(js_address2));
			addText("email","in",tagCuttere(js_email));
			addText("content","in",tagCuttere(js_content));
		} else {
			//編集画面
			//入力部分を表示。
			$("entry").style.display = "block";
			//出力部分を消す。
			$("confirm").style.display = "none";
			//確認画面を初期化。
			initializationText("in");
		}
	}else{
		//出力（エラーメッセージを表示。）
		//入力部分を表示。
		$("entry").style.display = "block";
		//出力部分を消す。
		$("confirm").style.display = "none";
		//エラーメッセージを表示。
		$("mail-error").style.display = "block";
	}
}

function addText(nn,aa,tx) {
	if (aa == "add") {
		nn = "e-" + nn;
		$(nn).innerHTML = "<em style='color:#DE0B0B;'>" + tx + "</em>";
	}else{
		nn = "c-" + nn;
		$(nn).innerHTML = tx;
	}
}

function initializationText(rx) {
	//初期化。
	addText("name",rx,"");
	addText("sex",rx,"");
	addText("age",rx,"");
	addText("postcode",rx,"");
	addText("prefecture",rx,"");
	addText("address1",rx,"");
	addText("address2",rx,"");
	addText("email",rx,"");
	addText("content",rx,"");
}

function tagCuttere(rx) {
	rx = rx.replace(/</g,"&lt;");
	rx = rx.replace(/>/g,"&gt;");
	rx = rx.replace(/\r|\n/g,"<br />");
	return rx;
}


