MakeForm = function(){ };
MakeForm.setUnip = function(){ };
MakeForm.cookieId = 'atmailform';
MakeForm.PUSH = [];
MakeForm.ErrorConfig = 0;
MakeForm.ConfirmConfig = 0;
MakeForm.ErrorMessage = '以下の項目に誤りがあります。';
MakeForm.ConfirmMessage = '送信します。よろしいですか？';
MakeForm.thanksMessage = '送信しました。';
MakeForm.data = new Array();
//
MakeForm.data['name'] = new Array('お名前','name');
MakeForm.data['mail'] = new Array('メールアドレス','mail');
MakeForm.data['_mail'] = new Array('メールアドレス確認','_mail');
MakeForm.data['free_3'] = new Array('メッセージ','free_3');
MakeForm.p = new Array('name','mail','_mail','free_3');


MakeForm.chekced = new Array();

MakeForm.check = function(f){
	var errors = new Array;
	var results = new Array;
	var element = new Array;
	var zip_code = "";
	MakeForm.PUSH = [];
	for(i=0;i<f.length;i++){
		var objName = f[i].name;
		var objType = f[i].type;
		var objValue = f[i].value;
		var elems = MakeForm.data[objName];
		errors[objName] = "";
		var error_message = "";
		
		// チェック済み項目
		MakeForm.chekced[objName] = 1;
		
		// 必須項目以外は除外
		if( !elems ) continue;
		
		var objTitle = elems[0];
		var objExcept = elems[1];
		
		if( objExcept == 'mail' ){
			if( objValue == '' ){
				errors[objName] =  objTitle + ' が未入力です';
			}else{
				if( !MakeForm.isEmail(objValue) ){
					errors[objName] =  objTitle + ' の形式に誤りがあります';
				}else{
					email_addr = objValue;
				}
			}
		}
		else if( objExcept == '_mail' ){
			if( f.mail.value != objValue ){
				 errors[objName] =  objTitle + ' が一致しません';
			}
		}
		else if( objExcept == 'zip' ){
			objName = objExcept;
			results[objName] = ( objValue == "" )? 0: 1;
			if( !errors[objName] ){
				errors[objName] = ( results[objName] )? '': objTitle + ' が未入力です';
			}
		}
		else{
			if( objType == 'text' || objType == 'textarea'){
				if(objValue == '' ) errors[objName] =  objTitle + ' が未入力です';
			}else if( objType == 'select-one' || objType == 'select-multiple' ){
				if(objValue == '' ) errors[objName] =  objTitle + ' が未入力です';
			}else{
				if( f[i].checked == true ) results[objName] = 1;
				errors[objName] = (results[objName])? '': objTitle + ' が未入力です';
			}
		}
		if( !element[objName]) MakeForm.PUSH.push(objName);
		element[objName] = 1;
	}
	
	// 未チェックの項目を検査
	for(var i=0;i<MakeForm.p.length;i++){
		MakeForm.chekced[MakeForm.p[i]] -= 0;
		if( !MakeForm.chekced[MakeForm.p[i]] ){
			errors[MakeForm.p[i]] =  MakeForm.data[MakeForm.p[i]][0] + ' が未入力です';
			MakeForm.PUSH.push(MakeForm.p[i]);
		}
	}
	for(var i=0;i<MakeForm.PUSH.length;i++){
		if( errors[MakeForm.PUSH[i]] != '' ) error_message += errors[MakeForm.PUSH[i]] + "\n";
	}
	return error_message;
};

MakeForm.isEmail = function(p){
	if(p.match("^[0-9a-zA-Z\-\_\.\!\#\$\%\&\'\*\+\-\/\=\?\^\_\`\{\|\}\~]+\@[0-9a-zA-Z\-\_\.]+$")){
		return 1;
	}else{
		return 0;
	}
};

MakeForm.send = function(f){
	f.send.value = 1;
	var error_message = MakeForm.check(f);
	if( !MakeForm.ErrorConfig && error_message ){
		alert( MakeForm.ErrorMessage + "\n" + error_message );
		return false;
	}
	if( !MakeForm.ConfirmConfig ){
		var flag = MakeForm.sendConfirm( MakeForm.ConfirmMessage );
		if( flag == true ){
			f.send.value = 2;
		}else{
			return flag;
		}
	}
	MakeForm.setUnip(f);
};

MakeForm.sendConfirm = function(msg){
	var what=confirm(msg);
    return what;
};

MakeForm.winLoad = function (func){
	if (window.addEventListener) { //for W3C DOM
		window.addEventListener("load", func, false);
	}else if (window.attachEvent) { //for IE
		window.attachEvent("onload", func);
	}else  {
		window.onload = func;
	}
}

MakeForm.thanks = function(){
	
	var myUniq; //ユニークID
	var Anchor = 0;
	var myhref = location.href;
	
	if( MakeForm.chkCookie() ){
		var uniq = MakeForm.getCookie(MakeForm.cookieId);
		myUniq = uniq;
	}else{
		Anchor = 1;
		var parts = location.href.split("#");
		var params = {};
		if (parts.length == 2) {
			var uniq = parts[1];
			if (uniq.search(/^atmailform/i) != -1) {
		 		myUniq = uniq;
				myhref = parts[0];
			}else{
				Anchor = 0;
			}
		}
	}
	
	//コールバック
	MakeFormCallBack = function( flag ){
		if( flag ){
			alert(MakeForm.thanksMessage);
		}
	}
	
	if( myUniq ){
		MakeForm.myConn(myUniq);
	}
	
	if( Anchor ){
		MakeForm.setUnip = function(obj){
			if( obj.uniq_a.value != '' || obj.uniq_a.value == 'nojs' )
				return;
			var uniq = 'atmailform-' + Math.random();
			obj.uniq_a.value = uniq;
			obj.href.value = myhref;
		};
	}else{
		MakeForm.setUnip = function(obj){
			
			if( obj.uniq_c.value != '' || obj.uniq_c.value == 'nojs' )
				return;
			var uniq = 'atmailform-' + Math.random();
			MakeForm.setCookie(MakeForm.cookieId,uniq);
			obj.uniq_c.value = uniq;
			obj.href.value = myhref;
		};
	}
}

MakeForm.setCookie = function(cookieId,myValue){
	myItem = cookieId + "=" + escape(myValue) + ";";
	document.cookie =  myItem;
}

MakeForm.getCookie = function(cookieId){
	var cookie_name = cookieId + "=";
	myValue = null;
	myStr = document.cookie + ";" ;
	myOfst = myStr.indexOf(cookie_name);
	if (myOfst != -1){
		myStart = myOfst + cookie_name.length;
		myEnd   = myStr.indexOf(";" , myStart);
		myValue = unescape(myStr.substring(myStart,myEnd));
		return myValue;
	}
	return myValue;
}
MakeForm.chkCookie = function(){
	var cookieId = 'myCookieText';
	var str = 1;
	MakeForm.setCookie(cookieId,str);
	var myCookie = MakeForm.getCookie(cookieId);
	if( str == myCookie ){
		MakeForm.setCookie(cookieId,'');
		return 1;
	}
	return 0;
}

MakeForm.myConn = function(uniq){
	var url = 'http://www.kaneshige-yuho.com/cgi/form.cgi?mode=jsonp&call=AjaxZipMyCallback&p=';
    var script = document.createElement("script");
    script.charset = "utf-8";
    script.src = url + uniq + '&f=1';
	script.type= "text/javascript";
	document.body.appendChild(script);
}

MakeForm.winLoad(MakeForm.thanks);
