
function contact(){
	var httpObj = GXmlHttp.create();
	httpObj.open("POST","/lib/contact.cgi");
	httpObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	httpObj.onreadystatechange = function(){

		if((httpObj.readyState == 4) && (httpObj.status == 200)){
			//var xmlData = GXml.parse(httpObj.responseText);

			if(httpObj.responseText != ''){
				eval("var res = "+ httpObj.responseText+";");
				switch(res['status']){
					case 0:
						drawThanxView();
						break;
					case 1://validate error
						alert("ご入力いただいた内容に不備がございます。\nメッセージをご確認いただき、修正し、再度送信ボタンをクリックしてください。");
						validateError(res);
						break;
					case 255://system error
						drawSystemErrView();
						break;
				}
			}
		}
	}
	httpObj.send(getFormData(document.getElementById('contact_form')));
}

function drawThanxView(){
	var obj = document.getElementById("contents");
	obj.innerHTML = '<h3>お問い合わせ</h3>\n<div class="basic">お問い合わせありがとうございます。<br>受付の確認として、ご入力いただきましたアドレスに確認メールを送信してございます。<br>ご返答は後日担当者よりご連絡させていただきます。</div>';
}

function drawSystemErrView(){
	var obj = document.getElementById("contents");
	obj.innerHTML = '<h3>お問い合わせ</h3>\n<div class="basic">大変申し訳ございません。システムエラーが発生いたしました。<br>お手数ですが、お電話か、FAXをご利用いただきお問い合わせくださいますようお願いいたします。<br>TEL.03-6410-5500　　FAX.03-6410-5533</div>';
}

function getFormData(form) {
  var value = '';
  for(var i = 0; i < form.elements.length; i++) {
    value += ('&' + form.elements[i].name + '=' + form.elements[i].value);
  }
  return value.substring(1);
}

function validateError(res){
	var form = document.getElementById('contact_form');
	for(var i = 0; i < form.elements.length; i++) {
		if(form.elements[i].name == '') continue;
		var pnode        = form.elements[i].parentNode;
		var errmsg_id    ='err_'+form.elements[i].name;
		var errmsg_obj   = document.getElementById(errmsg_id);
		if(errmsg_obj != null) pnode.removeChild(errmsg_obj);
		if(res['error'] != undefined){
			var errmsg_value = res['error'][form.elements[i].name];
			if(errmsg_value != undefined) makeErrorDiv(pnode,errmsg_id,errmsg_value);
		}
	}
}

function makeErrorDiv(pnode,id,value){
	var errdiv = document.getElementById(id);
	if(errdiv == null){
	    errdiv = document.createElement('div');
    	//errdiv.setAttribute('id',name);
    	errdiv.id=id;
    	errdiv.className='errmsg';
    	pnode.appendChild(errdiv);
    }
    errdiv.innerHTML = value;
    
}
