/**
 * Java Script
 *
 * @package    1kkatu
 * @subpackage js
 * @author     M.Honzawa
 * @version    1.0
 */

  //++++++++++++//
  //++  定数  ++//
  //++++++++++++//
   // アプリケーションURL
   var URL = "http://www.1katu.forgevision.jp/";

  //++++++++++++//
  //++  変数  ++//
  //++++++++++++//
  // 送信フラグ
   var submitFlg = false;
   
/**
 * ヘルプメッセージの表示
 *
 * IE6の場合、プルダウンメニューの背後に表示される為、
 * ヘルプメッセージを表示時は、プルダウンメニューを非表示
 * ※IE6のバグ
 *
 * @access 
 * @param  
 * @return
 */
 var horizontal_offset="9px" 

 var vertical_offset="0" 
 var ie=document.all
 var ns6=document.getElementById&&!document.all

 function getposOffset(what, offsettype){
   var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
   var parentEl=what.offsetParent;
   while (parentEl!=null){
     totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
     parentEl=parentEl.offsetParent;
   }
   return totaloffset;
 }

 function iecompattest(){
   return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
 }

 function clearbrowseredge(obj, whichedge){
   var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1
   if (whichedge=="rightedge"){
     var windowedge=ie && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-30 : window.pageXOffset+window.innerWidth-40
     dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
     if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
       edgeoffset=dropmenuobj.contentmeasure+obj.offsetWidth+parseInt(horizontal_offset)
   }
   else{
     var windowedge=ie && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
     dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
     if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
       edgeoffset=dropmenuobj.contentmeasure-obj.offsetHeight
   }
   return edgeoffset
 }

 function showhint(menucontents, obj, e, tipwidth){
   if ((ie||ns6) && document.getElementById("hintbox")){
     // SELECTボックスの非表示 IE6対応
     var elems = document.getElementsByTagName("select");
     for (i = 0; i < elems.length; i++) {
       elems[i].style.visibility = "hidden";
     }
     dropmenuobj=document.getElementById("hintbox")
     dropmenuobj.innerHTML=menucontents
     dropmenuobj.style.left=dropmenuobj.style.top=-500
     if (tipwidth!=""){
       dropmenuobj.widthobj=dropmenuobj.style
       dropmenuobj.widthobj.width=tipwidth
     }
     dropmenuobj.x=getposOffset(obj, "left")
     dropmenuobj.y=getposOffset(obj, "top")
     dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+obj.offsetWidth+"px"
     dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+"px"
     dropmenuobj.style.visibility="visible"
     obj.onmouseout=hidetip
   }
 }

 function hidetip(e){
   dropmenuobj.style.visibility="hidden"
   dropmenuobj.style.left="-500px"
   // SELECTボックスの表示 IE6対応
   var elems = document.getElementsByTagName("select");
   for (i = 0; i < elems.length; i++) {
     elems[i].style.visibility = "visible";
   }
 }

 function createhintbox(){
   var divblock=document.createElement("div")
   divblock.setAttribute("id", "hintbox")
   document.body.appendChild(divblock)
 }

 if (window.addEventListener)
   window.addEventListener("load", createhintbox, false)
 else if (window.attachEvent)
   window.attachEvent("onload", createhintbox)
 else if (document.getElementById)
   window.onload=createhintbox

/**
 * サブミットボタンの判別
 *
 * ターゲットが指定されている場合、
 * どのボタンが押下されたかをセット
 *
 * @access
 * @param
 * @return
 */
 function doSubmit(){
   if(submitFlg == false){
     submitFlg = true;
     document.form.submit();
   }
 }

/**
 * サブミットボタンの判別
 * 
 * ２度押しの解除
 * ブラウザの戻るボタン対策
 *
 * @access
 * @param
 * @return
 */
  function unSubmit(){
    submitFlg = false;
  }

/**
 * リダイレクト
 * 
 *
 * @access
 * @param
 * @return
 */
   function redirect(u){
     location.href = URL + u;
   }

/**
 * 基本情報画面
 *
 * 引越し希望日の決定の有無で入力項目を変更
 *
 * @access
 * @param
 * @return
 */
 function HopeDayChange(flg){
   // 決定している方の場合
   if (flg){
     document.form.HksHopeMonth.disabled = false;     // 決定 月
     document.form.HksDesiredDate.disabled = false;   // 決定 日
     document.form.HksHopeTimeZone.disabled = false;  // 決定 時間帯
     document.form.HksHopeMiteiMonth.disabled = true; // 未定 月
     document.form.HksHopePeriod.disabled = true;     // 未定 期間
     document.form.HksHopeDayKind_1.disabled = true;  // 未定 種別
     document.form.HksHopeDayKind_2.disabled = true;  // 未定 種別
    }
    else{
     // 決定していない方の場合
     document.form.HksHopeMonth.disabled = true;        // 決定 月
     document.form.HksDesiredDate.disabled = true;      // 決定 日
     document.form.HksHopeTimeZone.disabled = true;     // 決定 時間帯
     document.form.HksHopeMiteiMonth.disabled = false;  // 未定 月
     document.form.HksHopePeriod.disabled = false;      // 未定 期間
     document.form.HksHopeDayKind_1.disabled = false;   // 未定 種別
     document.form.HksHopeDayKind_2.disabled = false;   // 未定 種別
    }
 }
    
/**
 * トップページの必須入力チェック
 *
 * トップページは静的なHTMLの為、
 * Javascriptでエラーチェックを行う
 *
 * @access
 * @param start 押下ボタン
 * @return
 */
 function indexValidate(start)
 {
   // どのボタンが押下されかたをセット
   window.document.form.start.value = start;
   window.document.form.action = 'https://1kkatu.com/hikkoshi/user/index';

   // 入力エラーチェック
   var err = '';
   if(document.getElementById("OldZipCode1" + start).value == '' || document.getElementById("OldZipCode2" + start).value == ''){
     err += '郵便番号を正しくご入力してください。\n';
   }
   if(document.getElementById("NewAdministrativeDivisions" + start).value == ''){
     err += '引越し先都道府県をご選択してください。\n';
   }
   if(document.getElementById("HksNumberOfPeople" + start).value == ''){
     err += '引越しされる人数をご選択してください。\n';
   }
   
   if(err != ''){
     alert(err);
   }
   else{
     doSubmit();
   }
   return true;
 }