/*****************************************************/
/* ************************************************* */
/* js_lib.jsはprototype.js/jQueryが必要              */
/* 2007.09.26 ZUTTO T.Kikuchi                        */
/* 2008.05.09 jQuery仕様に変更 ZUTTO T.Kikuchi       */
/*            jQueryショートカットは$j               */
/* ************************************************* */
/*****************************************************/

/*****************************************************
 * jQuery使用時のコンフリクト回避
 * ショートカットを$jにする
*/
$j=jQuery.noConflict();


/*****************************************************
 * Global変数
*/
var bgcolor  = "#FFCCFF"; //背景色
var pmax     = 10;        //ページネーションのページ単位を10ページにする
var prot_dir = location.href.match(/\/\.htprot[0-9]{0,}\//); //開発環境
if (prot_dir == null) prot_dir = "/";


/*****************************************************
 * クッキー読込み
 * 2007.12.12 ZUTTO T.Koizumi
 * 2008.04.14 家より移植 ZUTTO T.Kikuchi
 * 
*/
function ExeGetCookie(theName) {

  theName += "=";
  theCookie = document.cookie + ";";
  start = theCookie.indexOf(theName);
  if (start != 1) {
    end = theCookie.indexOf(";", start);
    return unescape(theCookie.substring(start + theName.length, end));
  }
  return false;

}


/*****************************************************
 * ExePageBack(to)
 * 前のページに戻る
 * 2006.06.04 ZUTTO T.Kikuchi
 * 
*/
function ExePageBack(to) {
  
  $j("#certified").val("-1");
  $j("#Frm01").attr("action",to).submit();
  
}


/*****************************************************
 * ExeShowTips
 * Tipsの表示
 * 2007.10.11 ZUTTO T.Kikuchi
 * 
*/
function ExeShowTips(obj,str) {
  
  var h = Position.cumulativeOffset(obj);
  
  $("tip").style.position="absolute";
  $("tip").style.top=h[1]+10+"px";
  $("tip").style.left=h[0]+20+"px";
  ExeInnerText("tip",str);
  $("tip").style.display="block";
  
}


/*****************************************************
 * ExeShowTips
 * Tipsの非表示
 * 2007.10.11 ZUTTO T.Kikuchi
 * 
*/
function ExeOutTips(obj) {
  
  $("tip").style.display="none";
  
}


/*****************************************************
 * 日付の取得
 * 2008.05.23 家選びより移植 ZUTTO T.Kikuchi
 * addMonthからファンクション名変更
 * 
*/
function ExeAddMonth(day){
  
  var TODAY = new Date();
  var y = TODAY.getFullYear();
  var m = TODAY.getMonth();
  var d = TODAY.getDate();
  
  // 本日を取得
  if (day == "0") {
    var startDays = new Date();
    var afterDays = new Date();
  }
  
  //昨日を取得
  if (day == "yd") {
    var startDays = new Date(y,m,d - 1);
    var afterDays = startDays;
  }
  
  //今月を取得
  if (day == "tm") {
    var startDays = new Date(y,m,1);
    var afterDays = new Date(y,m + 1,0);
    
  }
  
  //先月を取得
  if (day == "lm") {
    var startDays = new Date(y,m - 1,1);
    var afterDays = new Date(y,m,0);
    
  }
  
  //日時の表示内容を調整するには年/月/日等を個別に取り出す
  var start_y = startDays.getFullYear();
  var start_m = startDays.getMonth()+1;
  var start_d = startDays.getDate();
  
  var after_y = afterDays.getFullYear();
  var after_m = afterDays.getMonth()+1;
  var after_d = afterDays.getDate();
  $j("#src_date_from").val(start_y + "/" + start_m + "/" + start_d);
  $j("#src_date_to").val(after_y + "/" + after_m + "/" + after_d);
  
}


/*****************************************************
 * ゆっくりスクロールアップする
 * 2007.10.04 ZUTTO T.Kikuchi
 * 
*/
function ExeRollUpTop() {
  var x1 = x2 = x3 = 0;
  var y1 = y2 = y3 = 0;
  if (document.documentElement) {
      x1 = document.documentElement.scrollLeft || 0;
      y1 = document.documentElement.scrollTop || 0;
  }
  if (document.body) {
      x2 = document.body.scrollLeft || 0;
      y2 = document.body.scrollTop || 0;
  }
  x3 = window.scrollX || 0;
  y3 = window.scrollY || 0;
  var x = Math.max(x1, Math.max(x2, x3));
  var y = Math.max(y1, Math.max(y2, y3));
  window.scrollTo(Math.floor(x / 2), Math.floor(y / 2));
  if (x > 0 || y > 0) {
      window.setTimeout("ExeRollUpTop()", 25);
  }
}


/*****************************************************
 * ExePosi(obj)
 * objが表示上真ん中になる位置
 * 2008.08.25 iDena T.Kikuchi
 * 
*/
function ExePosi(obj) {
  
  //ウインドウ内の座標取得
  var cw;
  var ch;
  var ctop;
  var objtop;
  var objleft;
  
  //tip用オブジェクトの幅取得
  var tw = document.getElementById(obj).style.width.replace("px","");
  var th = document.getElementById(obj).style.height.replace("px","");
  
  if(document.all){
    
    cw   = document.body.clientWidth;
    ch   = document.documentElement.clientHeight || document.body.clientHeight;
    ctop = document.documentElement.scrollTop || document.body.scrollTop; 
    
  } else {
    
    cw   = innerWidth;
    ch   = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
    ctop = document.body.scrollTop  || document.documentElement.scrollTop;
    
  }
  
  //表示させる位置を取得
  
  objtop  = ctop + ((ch - th) / 2);
  objleft = ((cw - tw) / 2);
  
  var pos = new Array();
  pos = [objtop,objleft];
  return pos;
  
}


/*****************************************************
 * ExeShowTip(obj)
 * Tipの表示
 * 2008.08.25 iDena T.Kikuchi
 * 
*/
function ExeShowTip(obj,str) {
  
  var clientH;
  var clientW;
  
  //表示画面のエリアサイズ取得
  if (self.innerHeight) {
    clientH = self.innerHeight;
    clientW = self.innerWidth;
  } else if (document.documentElement && document.documentElement.clientHeight) {
    clientH = document.documentElement.clientHeight;
    clientW = document.documentElement.clientWidth;
  } else if (document.body) {
    clientH = document.body.clientHeight;
    clientW = document.body.clientWidth;
  }
  
  // 垂直スクロール量取得
  var scrollTop  = document.body.scrollTop  || document.documentElement.scrollTop;
  // 水平スクロール量取得
  var scrollLeft = document.body.scrollLeft || document.documentElement.scrollLeft;
  
  var h = (clientH - scrollTop) * 0.85;
  $j("#tip").height(h);
  $j("#tipframe").height(h);
  
  obj = "tip";
  $j("#tip").empty();
  $j("#tip").append(str);
  
  //$j("#tipsubframe").height(h);
  
  var pos =[];
  pos = ExePosi(obj);
  
  var objtop;
  var objleft;
  
  objtop  = pos[0];
  objleft = pos[1];
  
  document.getElementById(obj).style.top  = objtop + "px";
  document.getElementById(obj).style.left = objleft + "px";
  $j("#tip").fadeIn(300);
  
  if(navigator.userAgent.indexOf("MSIE 6.") >= 0) {
    document.getElementById("tipframe").style.top  = objtop + "px";
    document.getElementById("tipframe").style.left = objleft + "px";
    $j("#tipframe").fadeIn(300);
  }
  
}


/*****************************************************
 * ExeShowTip()
 * Tipの非表示
 * 2008.08.25 iDena T.Kikuchi
 * 
*/
function ExeCloseTip() {
  
  $j("#tipframe").fadeOut(300);
  $j("#tipsubframe").fadeOut(300);
  $j("#tip").fadeOut(300);
  
}


/*****************************************************
 * ExeIndicator
 * インジケーターの表示
 * 2007.10.11 ZUTTO T.Kikuchi
 * 
*/
function ExeIndicator(mode) {
  
  var h = tb_getPageSize();
  // 垂直スクロール量取得
  var scrollTop  = document.body.scrollTop  || document.documentElement.scrollTop;
  // 水平スクロール量取得
  var scrollLeft = document.body.scrollLeft || document.documentElement.scrollLeft;
  
  if (mode) {
    
    $j("#indicator").css("display","block");
    
  } else {
    
    $j("#indicator").fadeOut("first");
    
  }
  
  $j("#indicator").css("top",scrollTop + (h[1] / 2) + "px");
  
}


/*****************************************************
 * 表示上中央座標取得
 * 2007.11.02 ZUTTO T.Kikuchi
 * 
*/
function ExeGetPos() {
  
  // 垂直スクロール量取得
  var scrollTop  = document.body.scrollTop  || document.documentElement.scrollTop;
  // 水平スクロール量取得
  var scrollLeft = document.body.scrollLeft || document.documentElement.scrollLeft;
  //表示画面のエリアサイズ取得
  if (self.innerHeight) {
    clientH = self.innerHeight;
    clientW = self.innerWidth;
  } else if (document.documentElement && document.documentElement.clientHeight) {
    clientH = document.documentElement.clientHeight;
    clientW = document.documentElement.clientWidth;
  } else if (document.body) {
    clientH = document.body.clientHeight;
    clientW = document.body.clientWidth;
  }
  
  //横位置
  cx = (document.body.clientWidth);
  
  //縦の位置
  cy = scrollTop + (clientH);
  
  arraySize = [cx,cy];
  return arraySize;
  
}


/*****************************************************
 * クリックされた座標をログにする
 * 2008.04.14 ZUTTO T.Kikuchi
 * 
*/
function ExeGetPointerLog(e) {
  
  //クライアント情報取得
  var value = ExeGetClientInfo();
  //クリックされた座標を取得
  value    += "&screen_x=" + Event.pointerX(e);
  value    += "&screen_y=" + Event.pointerY(e);
  
  //DBに書き込み
  ////ExePutAccessLog(value);
  
}


/*****************************************************
 * ログを書き込む
 * 2008.04.14 ZUTTO T.Kikuchi
 * 
*/
function ExePutAccessLog() {
  
  try { 
  
  var params = {
                 "ref_id"   :ExeGetCookie(""),
                 "ref"      :document.referrer,
                 "access"   :location.pathname,
                 "screen_w" :screen.width,
                 "screen_h" :screen.height,
                 "agent"    :navigator.userAgent
               }
  
  $j.post(
          relative_path + "fnc/fnc_access_log_insert.php",
          params,
          function(rs) {
            
          }
         );
  
  } catch(e) {}
  
}


/*****************************************************
 * チェックボックス全選択/解除
 * 2007.09.28 ZUTTO T.Kikuchi
 * 2008.04.14 家より移植 改変 ZUTTO T.Kikuchi
 * 2008.05.13 jQuery仕様に変更 ZUTTO T.Kikuchi
 * 
*/
function ExeCheckedBox(check) {
  
  //資料請求全選択
  if (check) $j("input[id^='bid_']").attr("checked", "checked");
  
  //DBへ書き込み
  //パラメータセット
  var params = $j("input[id^='bid_']").serialize();
  
  //check=true時は全選択モード
  if (check) params = params + "&mode=true";
  
  //Ajax通信で状態をDBに書き込む
  $j.post(
          relative_path + "fnc/fnc_bid_temp_up_list_all.php",
          params
         );
  
  //資料請求全選択解除
  if (!check) $j("input[id^='bid_']").removeAttr("checked");
  
}


/*****************************************************
 * 資料請求一時テーブル制御
 * 2007.09.26 ZUTTO T.Kikuchi
 * 2008.04.09 家より移植 ZUTTO T.Kikuchi
 * 2008.05.09 jQuery仕様に変更 ZUTTO T.Kikuchi
 * 
*/
function ExeUpBid(mcd,pnum,rid) {
  
  //パラメータセット
  var params = {
                 "mcd"  :mcd,
                 "pnum" :pnum,
                 "rid"  :rid
               }
  
  //選択状態の更新
  $j.post(
          relative_path + "fnc/fnc_bid_temp_up_list.php",
          params,
          function(rs) {
          }
         );
  
}


/*****************************************************
 * 友の会入会選択
 * 2007.10.17 ZUTTO T.Kikuchi
 * 2008.05.14 jQuery仕様に変更 ZUTTO T.Kikuchi
 * 
*/
function ExeFriendshipSocietyEntry(maker_cd,maker_branch_cd,pnum,pname,mode) {
  //mode=on　選択する
  //mode=off 除外する
  
  //パラメータセット
  var params = {
                 "maker_cd"        :maker_cd,
                 "maker_branch_cd" :maker_branch_cd,
                 "project_number"  :pnum,
                 "project_name"    :pname,
                 "mode"            :mode
               }
  
  //データ取得
  $j.post(
          relative_path + "fnc/reception/fnc_friendship_society_request.php",
          params,
          function(rs) {
             
            //見学予約ページを表示
/*
            if (rs != "") $j("#Frm01").attr("action",relative_path + "reception/" + rs).submit();
*/
            if (rs != "") location.href = relative_path + "reception/" + rs;
          }
         );
  
}


/*****************************************************
 * 問合せフォーム表示
 *
 *【概要】
 * ・物件一覧から「問合せ」ボタンが押された時に呼出される
 * ・「maker_cd」「project_number」を引数としてセット
 * 
 * 2009.09.10 ZUTTO T.Koizumi
 * 
*/
function ExeContactEntry(maker,pnum) {
  
  $j("#maker_cd").val(maker);
  $j("#project_number").val(pnum);
  $j("#Frm01").attr("action","https://" + location.host + prot_dir + "reception/contact-form.php").submit();
  
}


/*****************************************************
 * Block表示ページ移動
 * 2008.04.16 ZUTTO T.Kikuchi
 * 2008.05.09 jQuery仕様に変更 ZUTTO T.Kikuchi
 * 
 * 
*/
function ExeGetPage(offset) {
  //オフセット値代入
  $j("#offset").val(offset);
  
  //パラメータセット
  var params = $j("#Frm01").serialize();
  
  //ページ取得
  $j.post(
          relative_path + "fnc/fnc_get_list_block.php",
          params,
          function(rs) {
            //取得ページを表示
            $j("#block_area").html(rs);
            //選択済み資料確認
            ExeGetRbList();
            //スクロールアップ
            window.scroll( 0, 320 );
          }
         );
  
}


/*****************************************************
 * フォームサブミット
 * 2008.05.28 ZUTTO T.Kikuchi
 * 
 * 
*/
function ExeOnSubmit(action) {
  
  $j("#Frm01").attr("action",action).submit();
  
}


/*****************************************************
 * 選択済み資料請求取得
 * 2008.04.14 ZUTTO T.Kikuchi
 * 選択済みの資料請求を取得して該当物件を選択済みにする
 * 2008.05.09 jQuery仕様に変更 ZUTTO T.Kikuchi
 * 
*/
function ExeGetRbList() {
  
  //選択済み資料リストを取得
  $j.ajax({
            url     : relative_path + "fnc/fnc_get_rb_list.php",
            type    : "post",
            success : function(rs) {
                        if (rs != "") {
                          //戻り値があれば
                          var line = rs.split("\r\n");
                          $j.each(line, function(i) {
                            var tmp = line[i].split("\t");
                            //該当物件を選択済みにする
                            $j("#bid_" + tmp[5]).attr("checked","checked");
                          });
                        }
                      }
          });
  
}


/*****************************************************
 * 見学予約画面へ
 * 2007.10.17 ZUTTO T.Kikuchi
 * 2008.05.14 jQuery仕様に変更 ZUTTO T.Kikuchi
 * 
*/
function ExeFieldTripEntry(maker,pnum) {
  
  $j("#maker_cd").val(maker);
  $j("#project_number").val(pnum);
  $j("#appointment_class").val("3");
  $j("#Frm01").attr("action",relative_path + "reception/visit-form.php").submit();
  
}


/*****************************************************
 * 一般会員ログアウト
 * 2007.10.02 ZUTTO T.Kikuchi
 * 2008.05.18 jQuery仕様に変更 ZUTTO T.Kikuchi
 * 
*/
function ExePublicMemberLogout(t_id,p) {
  
  if (!confirm("ログアウトします")) {
    return;
  }
  
  //パラメータセット
  var params = {
                 "t_id":t_id
               }
  
  //データ取得
  $j.post(
          relative_path + "fnc/fnc_public_member_logout.php",
          params,
          function(rs) {
            //見学予約ページを表示
            if (p == "") p = "http://" + location.host + prot_dir;
            location.href = p;
          }
         );
  
}


/*****************************************************
 * ログインボタン表示用htmlを生成する
 *  ・Ajax通信によりPHPファイルを呼出し、ログインorログアウトボタンを表示する。
 * 2007.12.13 ZUTTO T.Koizumi
 * 2008.04.09 家より移植 改変  ZUTTO T.Kikuchi
 * 2008.05.09 jQuery仕様に変更 ZUTTO T.Kikuchi
 * 
*/
$j("#member-login-right").ready(function() {
  
  //パラメータセット
  var params = {
                 "relative_path":relative_path,
                 "location_path":location.pathname
               }
  
  $j("#member-login-right").load(
                            relative_path + "fnc/fnc_create_login_button.php",
                            params,
                            function(rs) {
                            
                              //画像ロールオーバー
                              ExeRollOverImages();
                            
                            }
                          );
  
});


/*****************************************************
 * ロールオーバー処理
 * 2008.05.13 ZUTTO T.Kikuchi
 * 
*/
function ExeRollOverImages() {
  
  var image_cache = new Object();
  $j("img").filter("[@src*='-off.']").each(function(i) {
    var imgsrc = this.src;
    var imgsrc_on = imgsrc.replace("-off","-on");
    image_cache[this.src] = new Image();
    image_cache[this.src].src = imgsrc_on;
    $j(this).hover(
      function() { this.src = imgsrc_on; },
      function() { this.src = imgsrc; }
    );
  });
  
}


/*****************************************************
 * 物件絞り込み
 * 2008.07.28 ZUTTO T.Kikuchi
 * 2008.08.07 SELECT BOX検索対応 ZUTTO T.Kikuchi
 * 
*/
function ExeRefineProject(val) {
  
  //classに検索条件が指定してあるので取り出す
  var params = val.split(" ");
  var params_num = params.length;
  
  $j("#offset").val("");
  $j("#sales_price_from").val("");
  $j("#sales_price_to").val("");
  $j("#checkbox_category01").attr("checked","");
  $j("#checkbox_category02").attr("checked","");
  
  for (i=0;i<params_num;i++) {
    
    if (params[i] == "kodate") $j("#checkbox_category01").attr("checked","checked");
    if (params[i] == "tochi") $j("#checkbox_category02").attr("checked","checked");
    if (params[i].match(/^f[0-9]{1,}/)) {
      $j("#address").val("");
      var num = params[i].replace(/\D/,"");
      if (num == 0) num = "";  //下限なし
      if (num == 1) num = "1";
      if (num >= 1000) num = (num / 1000) + 1;
      $j("#sales_price_from").val(num);
    }
    if (params[i].match(/^t[0-9]{1,}/)) {
      $j("#address").val("");
      var num = params[i].replace(/\D/,"");
      if (num == 0) num = "10";  //下限なし
      if (num == 1) num = "1";
      if (num >= 1000) num = (num / 1000) + 1;
      $j("#sales_price_to").val(num);
    }
  
  }
  
  $j("#Frm01").attr("action","http://" + location.hostname + prot_dir + "list.html").submit();
  
}


/*****************************************************
 * 物件絞り込み
 * 2008.07.28 ZUTTO T.Kikuchi
 * 2008.08.07 SELECT BOX検索対応 ZUTTO T.Kikuchi
 * 
*/
function ExeEditProject(trid,tblid) {
  
  var str;
  str  = "<div><a href='#' style='color:#FFFFFF;font-size:12px;font-weight:bold;' onclick='ExeCloseTip();'>×&nbsp;閉じる</a></div>";
  str += "<iframe id='tipsubframe' src='project_data_edit_detail.php?trid=" + trid + "&tblid=" + tblid + "' frameboder='0' style='width:900px;height:460px'></iframe>";
  ExeShowTip("",str);
  
  
}


/*****************************************************
 * onload処理
 * 2008.04.09 ZUTTO T.Kikuchi
 * 
*/
function ExeOnLoadFunction() {
  
  ExeGetRbList();         //選択済み資料取得
  ExePutAccessLog();      //アクセスログ記録
  
  //フォーム入力時のフォーカス位置
  try { if ($j("#mode").val() != "visit-form" && $j("#mode").val() != "sellout-form") $j('#last_name').focus(); } catch(e) {}
  
  //ログイン時のフォーカス位置
  try { $j("#login_pass").focus();  } catch(e) {}
  try { $j("#login_id").focus();  } catch(e) {}
  
  //検索用リンクclick
  $j("span").click(function() { 
    
    //classに検索条件が指定してあるので取り出す
    var params = $j(this).attr("class");
    if (params == "area") { 
      $j("#address").val($j(this).text());
      ExeRefineProject(params);
    }
    
  });
  
  //検索用セレクトボックスonchange
  $j("select").change(function() { 
    
    //classに検索条件が指定してあるので取り出す
    var params = $j(this).attr("class");
    
    if (params == "area") {
      
      $j("#address").val($j(this).val());
      ExeRefineProject(params);
      
    }
    
    if (params.match(/price_range/)) {
      
      //価格範囲の場合
      //paramsにvalue値を付け足して渡す
      params = params + " f" + $j(this).val();
      params = params + " t" + $j(this).val();
      ExeRefineProject(params);
      
    }
    
  });
  
}


/*****************************************************
 * ページ読み込み時
 * 
*/
$j(function(){
  
  ExeOnLoadFunction();
  
});


/*****************************************************
 * thickbox.js処理
 * 2008.05.29 ZUTTO T.Kikuchi
 * 
*/
/*

function tb_showIframe(){
	$j("#TB_load").remove();
	$j("#TB_window").css({display:"block"});
}
function tb_remove() {
  $j("#TB_imageOff").unbind("click");
  $j("#TB_closeWindowButton").unbind("click");
  $j("#TB_window").fadeOut("fast",function(){$j('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});
  $j("#TB_load").remove();
  if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
    $j("body","html").css({height: "auto", width: "auto"});
    $j("html").css("overflow","");
  }
  document.onkeydown = "";
  document.onkeyup = "";
  return false;
}

function tb_position() {
$j("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'});
  if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take away IE6
    $j("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
  }
}

function tb_parseQuery ( query ) {
  var Params = {};
  if ( ! query ) {return Params;}// return empty object
  var Pairs = query.split(/[;&]/);
  for ( var i = 0; i < Pairs.length; i++ ) {
    var KeyVal = Pairs[i].split('=');
    if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
    var key = unescape( KeyVal[0] );
    var val = unescape( KeyVal[1] );
    val = val.replace(/\+/g, ' ');
    Params[key] = val;
  }
  return Params;
}

function tb_getPageSize(){
  var de = document.documentElement;
  var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
  var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
  arrayPageSize = [w,h];
  return arrayPageSize;
}

function tb_detectMacXFF() {
  var userAgent = navigator.userAgent.toLowerCase();
  if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
    return true;
  }
}
*/
