var dom = new Object;
dom.event = new Object;

dom.event.addEventListener = function(elm,type,func,useCapture){
    if(! elm){return false;}
    if(! useCapture){
    useCapture = false;
    }
    if(elm.addEventListener){
        elm.addEventListener(type,func,false);
    }else if(elm.attachEvent){
        elm.attachEvent("on"+type,func);
        }else{
            return false;
            }
        return true;
};

dom.event.removeEventListener = function(elm,type,func,useCapture){
    if(! elm){return false;}
    if(! useCapture){
    useCapture = false();
    }
    if(elm.removeEventListener){
        elm.removeEventListener(type,func,false);
    }else if(elm.datachEvent){
        elm.datachEvent("on"+type,func);
        }else{
            return false;
            }
        return true;
};

dom.event.stopPropagation = function(evt){
    if(evt && evt.stopPropagation){
    evt.stopPropagation();
    }else if(window.event){
        window.event.cancelBubble = true;
    }
}
//汎用変数
var HOST_NAME = location.hostname;
var CURRENT_URL = location.href;
var SITE_URL = "http://"+HOST_NAME+"/";
if(CURRENT_URL.indexOf("https") > -1){
	var SITE_URLs = "https://"+HOST_NAME+"/";
}else{
	var SITE_URLs = "http://"+HOST_NAME+"/";
}

//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;
	}
}
//Ajax結果表示なし
function DisplayNoData(){
	if((httpObj.readyState == 4) && (httpObj.status == 200)){
	}
}
//クラス名で要素を特定
//http://www.exfiction.net/~nojimake/jssamp/jssamp3_03.html
document.getElementsByClassName = function (className) {
    var i, j, eltClass;
    var objAll = document.getElementsByTagName ? document.getElementsByTagName("*") : document.all;
    var objCN = new Array();
    for (i = 0; i < objAll.length; i++) {
        eltClass = objAll[i].className.split(/\s+/);
        for (j = 0; j < eltClass.length; j++) {
            if (eltClass[j] == className) {
                objCN.push(objAll[i]);
                break;
            }
        }
    }
    return objCN;
}
function GetAddress(){
	try
	{
		if(document.getElementById("prefecture_48").selected != true){
			var zip_code_1 = document.getElementById("zip_code_1").value;
			var zip_code_2 = document.getElementById("zip_code_2").value;
			zip_code = zip_code_1 + zip_code_2;
			if(zip_code.length == 7){
				httpObj = createXMLHttpRequest(GetAddressDisplayData);
				if (httpObj){
					httpObj.open("POST",SITE_URLs+"ajax/zip_code.php",true);
					httpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf8');
					httpObj.send("zip_code="+zip_code);
				}
			}else{
				//document.getElementById("prefecture_0").selected = true;
				//document.getElementById("addr32").value = "";
			}
		}
	}
	catch(e)
	{
		var zip_code_1 = document.getElementById("zip_code_1").value;
		var zip_code_2 = document.getElementById("zip_code_2").value;
		zip_code = zip_code_1 + zip_code_2;
		if(zip_code.length == 7){
			httpObj = createXMLHttpRequest(GetAddressDisplayData);
			if (httpObj){
				httpObj.open("POST",SITE_URLs+"ajax/zip_code.php",true);
				httpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf8');
				httpObj.send("zip_code="+zip_code);
			}
		}else{
			//document.getElementById("prefecture_0").selected = true;
			//document.getElementById("addr32").value = "";
		}
	}
}
function GetAddressDisplayData(){
	if ((httpObj.readyState == 4) && (httpObj.status == 200)){
		var address = httpObj.responseText;
		if(address != ""){
			var array = address.split(",");
			switch(array[4]){
				case "北海道":
					var prefecture_id = 1;
					break;
				case "青森県":
					var prefecture_id = 2;
					break;
				case "岩手県":
					var prefecture_id = 3;
					break;
				case "宮城県":
					var prefecture_id = 4;
					break;
				case "秋田県":
					var prefecture_id = 5;
					break;
				case "山形県":
					var prefecture_id = 6;
					break;
				case "福島県":
					var prefecture_id = 7;
					break;
				case "茨城県":
					var prefecture_id = 8;
					break;
				case "栃木県":
					var prefecture_id = 9;
					break;
				case "群馬県":
					var prefecture_id = 10;
					break;
				case "埼玉県":
					var prefecture_id = 11;
					break;
				case "千葉県":
					var prefecture_id = 12;
					break;
				case "東京都":
					var prefecture_id = 13;
					break;
				case "神奈川県":
					var prefecture_id = 14;
					break;
				case "新潟県":
					var prefecture_id = 15;
					break;
				case "富山県":
					var prefecture_id = 16;
					break;
				case "石川県":
					var prefecture_id = 17;
					break;
				case "福井県":
					var prefecture_id = 18;
					break;
				case "和歌山県":
					var prefecture_id = 19;
					break;
				case "長野県":
					var prefecture_id = 20;
					break;
				case "岐阜県":
					var prefecture_id = 21;
					break;
				case "静岡県":
					var prefecture_id = 22;
					break;
				case "愛知県":
					var prefecture_id = 23;
					break;
				case "三重県":
					var prefecture_id = 24;
					break;
				case "滋賀県":
					var prefecture_id = 25;
					break;
				case "京都府":
					var prefecture_id = 26;
					break;
				case "大阪府":
					var prefecture_id = 27;
					break;
				case "兵庫県":
					var prefecture_id = 28;
					break;
				case "奈良県":
					var prefecture_id = 29;
					break;
				case "山梨県":
					var prefecture_id = 30;
					break;
				case "鳥取県":
					var prefecture_id = 31;
					break;
				case "島根県":
					var prefecture_id = 32;
					break;
				case "岡山県":
					var prefecture_id = 33;
					break;
				case "広島県":
					var prefecture_id = 34;
					break;
				case "山口県":
					var prefecture_id = 35;
					break;
				case "徳島県":
					var prefecture_id = 36;
					break;
				case "香川県":
					var prefecture_id = 37;
					break;
				case "愛媛県":
					var prefecture_id = 38;
					break;
				case "高知県":
					var prefecture_id = 39;
					break;
				case "福岡県":
					var prefecture_id = 40;
					break;
				case "佐賀県":
					var prefecture_id = 41;
					break;
				case "長崎県":
					var prefecture_id = 42;
					break;
				case "熊本県":
					var prefecture_id = 43;
					break;
				case "大分県":
					var prefecture_id = 44;
					break;
				case "宮崎県":
					var prefecture_id = 45;
					break;
				case "鹿児島県":
					var prefecture_id = 46;
					break;
				case "沖縄県":
					var prefecture_id = 47;
					break;
			}
			document.getElementById("prefecture_"+prefecture_id).selected = true;
			document.getElementById("address").value = array[5] + array[6] + array[7];
		}else{
			document.getElementById("address").value = "";
		}
	}else{
		document.getElementById("address").value = "お待ちください…";
	}
}
