// 郵便番号から住所を求めるjs
// 以下がフォームのHTMLから見たCGIまでのパス
// 基本的に /contact/mailform/postcodes/get.cgi? は修正しなくても動作します。
var getpostcode_cgi = '/contact/mailform/postcodes/get.cgi?';
var postcode_form_Id = '';
var postcode_ELM = '';
var feedback_address = '';
function postcode_getQuery() {
if (httpObj.readyState == 4 && httpObj.status == 200) {
var obj = document.forms[postcode_form_Id];
var getAddress = decodeURI(httpObj.responseText);
var getAddressGroup = new Array();
getAddressGroup = getAddress.split(',');
if (getAddressGroup.length == 3) {
obj.elements[feedback_address].value = getAddressGroup[0] + getAddressGroup[1] + getAddressGroup[2];
}
}
}
function mfpc(formId, postcodeELM, fb_address) {
var obj = document.forms[formId];
postcode_form_Id = formId;
postcode_ELM = postcodeELM;
feedback_address = fb_address;
var single_char = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-');
var double_char = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-');
var border = new Array('-', '-', 'ー', '―', 'ー', '‐');
for (i = 0; i < single_char.length; i++) {
var temp = new Array();
temp = obj.elements[postcodeELM].value.split(double_char[i]);
obj.elements[postcodeELM].value = temp.join(single_char[i]);
}
for (var i = 0; i < border.length; i++) {
obj.elements[postcodeELM].value = obj.elements[postcodeELM].value.replace(border[i], '');
}
var query = obj.elements[postcodeELM].value;
if (query.length > 3) {
httpObj = createXMLHttpRequest();
httpObj.onreadystatechange = postcode_getQuery;
httpObj.open('GET', getpostcode_cgi + encodeURI(query), true);
httpObj.send(null);
} else {
obj.elements[postcodeELM].focus();
}
return false;
}
function createXMLHttp() {
try {
return new ActiveXObject('Microsoft.XMLHTTP');
} catch (e) {
try {
return new XMLHttpRequest();
} catch (e) {
return null;
}
}
return null;
}
function createXMLHttpRequest() {
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;
}
}
}
return XMLhttpObject;
}