// 郵便番号からの住所入力機能 // prefcode.js 1.0.0 / 2013-01-21 var postcodeAdvancedToken = null; var postcodeAdvancedBefoeToken = null; var postcodeAdvancedJson = null; var postcodeAdvancedPage = 10; var postcodeAdvancedCurrentPage = 0; mfp.extend.event('init', function(obj){ if(obj.getAttribute('data-address')){ var elm = mfp.d.createElement('div'); elm.className = 'prefcodeWrapper'; var elmChild = mfp.d.createElement('div'); elmChild.className = 'prefcodeResult'; elmChild.id = obj.id + '_result'; elm.appendChild(elmChild); obj.parentNode.appendChild(elm); mfp.add(obj,"keyup",function(){ clearTimeout(postcodeAdvancedToken); if(obj.value != "" && obj.value != postcodeAdvancedBefoeToken){ //postcodeAdvancedBefoeToken = obj.value; postcodeAdvancedToken = setTimeout(function(){ var CallBackElements = obj.getAttribute('data-address').split(','); var s = document.createElement("script"); var u = '?'; if(mfp.$('mfpjs').src.indexOf('?') > -1) u = '&'; if(!CallBackElements[3]){ CallBackElements[3] = obj.name; } s.src = mfp.$('mfpjs').src + u + 'addon=prefcodeadv/prefcode.js&q=' + encodeURIComponent(obj.value) + '&a1=' + encodeURI(CallBackElements[0]) + '&a2=' + encodeURI(CallBackElements[1]) + '&a3=' + encodeURI(CallBackElements[2]) + '&id=' + obj.id + '&postcode='+encodeURI(CallBackElements[3]); postcodeAdvancedBefoeToken = obj.value; document.body.appendChild(s); mfp.$(obj.id+'_result').innerHTML = '
'; mfp.$(obj.id+'_result').style.display = 'block'; },500); } }); } } ); function prefcodeCallback(json){ postcodeAdvancedJson = json; var obj = document.getElementById(json["id"]+'_result'); if(json["result"].length > 0){ obj.innerHTML = ""; var i = 0; postcodeAdvancedCurrentPage = 0; for(i=0;i