/**
 *  reserve.e-golf.co.jp?pjs
 *
 *  2009/03/-- ryoshimu
**/


// ポイントラッシュ履歴表示
function openRushHisWin(){

	window.open("/rsv/rush/rush_history.php", "", 'width=758,height=600,location=no,menubar=no,scrollbars=yes,resizable=yes');
}

// GADGET
// ?e?K?W?F?b?g?R???g???[???@?R?[??????JS
function printGadget(path,size,div_id){
    var xmlhttp = false;
    if(typeof ActiveXObject != "undefined"){
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
        xmlhttp = false;
      }
    }
    if(!xmlhttp && typeof XMLHttpRequest != "undefined") {
      xmlhttp = new XMLHttpRequest();
   }
    xmlhttp.open("GET", "./gadget/" + path + "?size=" + size);
    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        var disp = document.getElementById( div_id );
        disp.innerHTML = xmlhttp.responseText;
      }
    }
    xmlhttp.send(null);
}

// AJAX
function startAjax(obj) {

	if(obj == null){
		return;
	}


    var xmlhttp = false;
    if(typeof ActiveXObject != "undefined"){
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
        xmlhttp = false;
      }
    }
    if(!xmlhttp && typeof XMLHttpRequest != "undefined") {
      xmlhttp = new XMLHttpRequest();
   }

	var puth = null;
//	var obj		= document.getElementById( div_id );
	switch(obj.id){
		case 'show_rush':
			path = "./rsv/rush/rush.php";
			break;
		default :
			return;
	}

    xmlhttp.open("GET", path);
    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
//        var disp = document.getElementById( "show_ranking" );
//        disp.innerHTML = xmlhttp.responseText;
			obj.innerHTML = xmlhttp.responseText;

      }
    }
    xmlhttp.send(null);
}

// RANKING
// ?G???A??X
function changeRankingArea(area) {
    var xmlhttp = false;
    if(typeof ActiveXObject != "undefined"){
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
        xmlhttp = false;
      }
    }
    if(!xmlhttp && typeof XMLHttpRequest != "undefined") {
      xmlhttp = new XMLHttpRequest();
   }

    xmlhttp.open("GET", "./rsv/ranking/ranking.php" + "?area=" + area.value);
    //alert(area.value);
    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        var disp = document.getElementById( "show_ranking" );
        disp.innerHTML = xmlhttp.responseText;
      }
    }
    xmlhttp.send(null);
}

areas = new Array();
//01 北海道・東北地域の都道府県コード
areas['hokkaidou_touhoku'] = ["1", "2", "3", "4", "5", "6", "7"];
//02 関東地域の都道府県コード
areas['kanntou'] = ["8", "9", "10", "11", "12", "13", "14"];
//03 北陸・甲信越地域の都道府県コード
areas['kitariku_kousinnetsu'] = ["15", "16", "17", "18", "19", "20"];
//04 東海地域の都道府県コード
areas['toukai'] = ["21", "22", "23", "24"];
//05 近畿地域の都道府県コード
areas['kinnki'] = ["25", "26", "27", "28", "29", "30"];
//06 中国・四国地域の都道府県コード
areas['tyuugoku_sikoku'] = ["31", "32", "33", "34", "35", "36", "37", "38", "39"];
//07 九州・沖縄・海外地域の都道府県コード
areas['kyuusyu_okinawa_kaigai'] = ["40", "41", "42", "43", "44", "45", "46", "47", "99"];
//選択された都道府県個数
var selectedNum = 0;
//最大選択できる都道府県数
var limitPrefNum = 15;
//var msgInitInfo = "※最大15県まで選択できます。";
//var msgLessInfo = "※最低１つの都道府県を選択してください。";
var msgInitInfo = '<img src="../../inc/img/alarm.gif" width="17" height="17" align="absmiddle"> 最大15県まで選択できます。';
var msgLessInfo = '<img src="../../inc/img/alarm.gif" width="17" height="17" align="absmiddle"> 最低１つの都道府県を選択してください。';

//TODO　テスト用
var topUrl = "http://reserve.e-golf.co.jp/";
//------------------------------------------------
//　toppageのオーロードメッソド
//------------------------------------------------
function topOnload(){
	//10ミリ秒後、ランキング処理を実行
	setTimeout(executeShowRanking, 10);
	return;
}

//------------------------------------------------
//　ランキングを表示する
//------------------------------------------------
function executeShowRanking(){

	// フォルシア検索対応 2009.04.28
	document.domain = "e-golf.co.jp";


	//ScrollTabView ↓
	var tabs = new YAHOO.yodeler.widget.ScrollTabView('printRanking', { width: 225, height: 300, direction: 'horizontal' });
	tabs.set('activeTab', tabs.getTab(0));
	var rankingArea = document.getElementById('selectOrderId');
	changeRankingArea(rankingArea);
	//ScrollTabView

	var rush = document.getElementById('show_rush');
	startAjax(rush);


}
//------------------------------------------------
//　該当地域を選択（外す）する時、全エリアを選択（外す）にセット
//　@param groupId : 該当グループのID
//　@param area ：　地域範囲（関東、北陸などのような文字列）
//------------------------------------------------
function addAreaPref(groupId, area){

	var parentObj = document.getElementById(groupId);//該当範囲のオブジェクト
	
	limitPrefCheck = checkPrefNum2(groupId, area);
	if(!limitPrefCheck){
		parentObj.checked = (!parentObj.checked );
		return;
	}
	checkFlg = parentObj.checked;//該当範囲ボックスを選択されるかどうか
	for(i=0; i<areas[area].length; i++){
		var objs = document.getElementById("pt[" + areas[area][i] + "]");//地域範囲内の都道府県オブジェクト
		objs.checked = checkFlg;//範囲地域checkboxと同じくする
	}
	//TODO 選択したの件数をチャックする（15件以上は選択できない」
}

//------------------------------------------------
//　該当「都道府県」選択OR外す
//　@param cellId : 該当都道府県checkboxのID
//　@param groupId ：　所属地域のID
//------------------------------------------------
function addPref(cellId, groupId){
	//setTimeout("executeAddPref("+cellId,groupId+")", 2000);
	var parentObj = document.getElementById(groupId);
	var cellObj = document.getElementById(cellId);
	if(!cellObj.checked){//該当都道府県を未選択すれば、所属するの範囲地域も未選択にセット
		parentObj.checked = false;
	}
	//選択したの件数をチャックする（15件以上は選択できない」
	checkPrefNum(cellId);
}

//------------------------------------------------
//　選択した都道府県の個数を最大個数超えるかどうかのチャック（checkBox用意）
// @ param  cellId : 該当都道府県のID
//------------------------------------------------
function checkPrefNum(cellId){
	var cellObj = document.getElementById(cellId);
	if(cellObj.checked){//チャックならば、＋１
		selectedNum = selectedNum + 1;
	}else{//外すならば、－１
		selectedNum = selectedNum - 1;
	}
	if(selectedNum > limitPrefNum){
		//alert("選択できる都道府県は最大で" + limitPrefNum + "個までです。再度選択してください。");
		var msgObj = document.getElementById('msgId');
		msgObj.innerHTML = msgInitInfo;
		selectedNum = selectedNum - 1;
		cellObj.checked = false;
	}
	else if(selectedNum <= 0){
		//alert("少なくとも1個の都道府県を選択してください。");
		var msgObj = document.getElementById('msgId');
		msgObj.innerHTML = msgLessInfo;
		selectedNum = selectedNum + 1;
		cellObj.checked = true;
	}else{
		var msgObj = document.getElementById('msgId');
		//msgObj.innerHTML = msgInitInfo;
		msgObj.innerHTML = "&nbsp";
	}
}

//------------------------------------------------
//　選択した都道府県の個数を最大個数超えるかどうかのチャック（地域グループcheckBox）
// @ param  groupId : 該当地域のID
// @ param  area : 該当地域の名前
// return : 超える場合false返す。　未超える場合true返す。
//------------------------------------------------
function checkPrefNum2(groupId, area){
	var rtFlag = false;
	var noCheckedNum = 0;//現状で未選択の都道府県の個数
	var parentObj = document.getElementById(groupId);//該当地域
	//該当地域を選択られたら、地域グループ内の未CHECKの都道府県の個数を統計
	if(parentObj.checked){
		for(i=0; i<areas[area].length; i++){
			var objs = document.getElementById("pt[" + areas[area][i] + "]");//地域範囲内の都道府県オブジェクト
			if(!objs.checked){
				noCheckedNum += 1;
			}
		}
	}
	//該当地域を外すなら、地域グループ内のCHECKの都道府県の個数を統計
	else{
		for(i=0; i<areas[area].length; i++){
			var objs = document.getElementById("pt[" + areas[area][i] + "]");//地域範囲内の都道府県オブジェクト
			if(objs.checked){
				noCheckedNum -= 1;
			}
		}
	}
	if(selectedNum + noCheckedNum > limitPrefNum){
		//alert("選択できる都道府県は最大で" + limitPrefNum + "個までです。再度選択してください。");
		var msgObj = document.getElementById('msgId');
		msgObj.innerHTML = msgInitInfo;
	}
	else if(selectedNum + noCheckedNum <= 0){
		//alert(msgLessInfo);
		var msgObj = document.getElementById('msgId');
		msgObj.innerHTML = msgLessInfo;
	}
	else{
		selectedNum += noCheckedNum;
		var msgObj = document.getElementById('msgId');
		msgObj.innerHTML = "&nbsp";
		rtFlag = true;
	}

	return rtFlag;
}

//------------------------------------------------
//　mouseover時のイベント：divを切り替え（全文言を表示）
// @ param  thisObj : 現在のDIV
//------------------------------------------------
function showAllMessages(thisObj){
    var divObj2 = document.getElementById(thisObj.id + "_2");

    thisObj.style.display='none';//隠し
 	divObj2.style.display='block';//示す

}

//------------------------------------------------
//　mouseover時のイベント：divを切り替え（短い文言を表示）
// @ param  thisObj : 現在のDIV
//------------------------------------------------
function showShortMessages(thisObj){
	var divId2 = (thisObj.id);
	var divId1 = divId2.substring(0,divId2.length-2);
    var divObj1 = document.getElementById(divId1);
    
    thisObj.style.display='none';//隠し
    divObj1.style.display='block';//示す

}

//------------------------------------------------
//　[ お気に入りコース登録 ]
// @ param  pId : セールID
// @ param  gccd : コースID
//------------------------------------------------
function insertFavoriteCourse(pId, gccd){
	msgInfo_Ok = "[ お気に入りコースに登録済みです ]";
	msgInfo_overFlow = '[ 登録数が上限に達してます ] 変更は<a href="'+topUrl+'28/user/mypage_topInit.do">MYページへ</a>';
	msgInfo_recorded_error = '既にお気に入りコースを重複登録できません！';
	var pObj = document.getElementById(pId);
	var pObj2 = document.getElementById(pId+"_2");
	var hiddenFCNumObj = document.getElementById('hidden_favorite_cousre_num');

	if(hiddenFCNumObj.value >= 30){//お気に入りコースを30件を超える場合
		//alert(msgInfo_overFlow);
		pObj.innerHTML = msgInfo_overFlow;
		pObj2.innerHTML = msgInfo_overFlow;
	}else{
		var xmlhttp = false;
    	if(typeof ActiveXObject != "undefined"){
      	try {
        	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      	} catch (e) {
        	xmlhttp = false;
      	}
    	}
    	if(!xmlhttp && typeof XMLHttpRequest != "undefined") {
      		xmlhttp = new XMLHttpRequest();
   		}
    	xmlhttp.open("GET", "../rsv/discount/favorite_course_insert.php?gccd="+gccd);

    	xmlhttp.onreadystatechange = function() {
    	    	
      		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      			if(xmlhttp.responseText == "0"){//正常挿入
      				pObj.innerHTML = msgInfo_Ok;
					pObj2.innerHTML = msgInfo_Ok;
					hiddenFCNumObj.value = parseInt(hiddenFCNumObj.value) + 1;
      			}else if(xmlhttp.responseText == "2"){//30件を超えた
      				pObj.innerHTML = msgInfo_overFlow;
					pObj2.innerHTML = msgInfo_overFlow;
      			}else{//挿入エラー
      				//alert("管理者にお問い合わせください");
      				pObj.innerHTML = msgInfo_Ok;
					pObj2.innerHTML = msgInfo_Ok;
      			}
      		}
    	}
		xmlhttp.send(null);
	}
}

//------------------------------------------------
//　「変更」押下のイベントを実行
// @ param  buttonId : ボタンのID
//------------------------------------------------
function buttonClickEvent(buttonId){
	if(buttonId == "changeBtn"){//変更ボタン
		var targetAreaFormObj = document.getElementById('target_area_form');
		targetAreaFormObj.submit();
		//document.forms[0].submit();
	}
}
//------------------------------------------------
//　地域選択画面初期処理　：　
//　		①初期で選択された都道府県件数を全局変数にセット
//		②該当地域直下の都道府県を初期で選択される場合、該当地域も選択させるようにする
// @ param  prefNum : 初期で選択される都道府県件数
//------------------------------------------------
function selectPrefInit(prefNum){
	//初期で選択された都道府県件数を全局変数にセット
    selectedNum = parseInt(prefNum);

	var groupCheckFlag = true;//地域エリア選択されてるかどうか。true：選択されてる。　false：未選択
	var groupObj;//地域エリアオブジェクト
	//01 北海道・東北
	for(i=0; i<areas['hokkaidou_touhoku'].length; i++){
		var objs = document.getElementById("pt[" + areas['hokkaidou_touhoku'][i] + "]");
		if(!objs.checked){
			groupCheckFlag = false;
		}
	}
	groupObj = document.getElementById('pt01');//地域エリアオブジェクト
	groupObj.checked = groupCheckFlag;//該当地域をチェック付くかどうかの処理
	
	groupCheckFlag = true;//
	//02 関東地域
	for(i=0; i<areas['kanntou'].length; i++){
		var objs = document.getElementById("pt[" + areas['kanntou'][i] + "]");
		if(!objs.checked){
			groupCheckFlag = false;
		}
	}
	groupObj = document.getElementById('pt02');
	groupObj.checked = groupCheckFlag;
	
	groupCheckFlag = true;
	//03 北陸・甲信越
	for(i=0; i<areas['kitariku_kousinnetsu'].length; i++){
		var objs = document.getElementById("pt[" + areas['kitariku_kousinnetsu'][i] + "]");
		if(!objs.checked){
			groupCheckFlag = false;
		}
	}
	groupObj = document.getElementById('pt03');
	groupObj.checked = groupCheckFlag;
	
	groupCheckFlag = true;
	//04 東海
	for(i=0; i<areas['toukai'].length; i++){
		var objs = document.getElementById("pt[" + areas['toukai'][i] + "]");
		if(!objs.checked){
			groupCheckFlag = false;
		}
	}
	groupObj = document.getElementById('pt04');
	groupObj.checked = groupCheckFlag;
	
	groupCheckFlag = true;
	//05 近畿
	for(i=0; i<areas['kinnki'].length; i++){
		var objs = document.getElementById("pt[" + areas['kinnki'][i] + "]");
		if(!objs.checked){
			groupCheckFlag = false;
		}
	}
	groupObj = document.getElementById('pt05');
	groupObj.checked = groupCheckFlag;
	
	groupCheckFlag = true;
	//06 中国・四国
	for(i=0; i<areas['tyuugoku_sikoku'].length; i++){
		var objs = document.getElementById("pt[" + areas['tyuugoku_sikoku'][i] + "]");
		if(!objs.checked){
			groupCheckFlag = false;
		}
	}
	groupObj = document.getElementById('pt06');
	groupObj.checked = groupCheckFlag;
	
	groupCheckFlag = true;
	//07 九州・沖縄・海外
	for(i=0; i<areas['kyuusyu_okinawa_kaigai'].length; i++){
		var objs = document.getElementById("pt[" + areas['kyuusyu_okinawa_kaigai'][i] + "]");
		if(!objs.checked){
			groupCheckFlag = false;
		}
	}
	groupObj = document.getElementById('pt07');
	groupObj.checked = groupCheckFlag;
}

//------------------------------------------------
//　セッションが切られた場合の処理
//		: 警告メセッジを出して、確認したら、トップページに飛ばす
//------------------------------------------------
function showSessionInvalidMsg(){
	alert('30分経過したため、接続が切れました。もう一度「地域を変更する」ボタンを押してください。');
	location.href = topUrl + "index.php";
}

//------------------------------------------------
//　特選情報を取り出して、innerHTLの手法でindex.htmlページに更新
//------------------------------------------------
function show_favorite_course(){
	//早めにページを表示するため、ロジック処理は裏側に委託
	setTimeout(executeShowFavoriteCourse, 10);
	return;
}

//------------------------------------------------
//　特選情報を表示する
//------------------------------------------------
function executeShowFavoriteCourse(){

    var xmlhttp = false;
    if(typeof ActiveXObject != "undefined"){
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
        xmlhttp = false;
      }
    }
    if(!xmlhttp && typeof XMLHttpRequest != "undefined") {
      xmlhttp = new XMLHttpRequest();
   }

    xmlhttp.open("GET", "./rsv/discount/favorite_course.php");
    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        var disp = document.getElementById("favorite_course");
        disp.innerHTML = xmlhttp.responseText;
      }
    }
    xmlhttp.send(null);
}

//------------------------------------------------
//　ラッシュになる月によって、DIVを切り替わる。
//   例えば、「9」を選択すれば、ID＝　rushStatusDiv_9　のDIVを示し、その他のDIVを隠す。
//------------------------------------------------
function showRushPeriod(){

	var hiddenMonthObj = document.getElementById('defaultSelectedMonth_hidden');//PHP側のdefault選択された「月」。例えば：　９　
	var hiddenMonthVal = hiddenMonthObj.value;
	//alert(hiddenDivVal);

	var selectRushMonthObj = document.getElementById('selectRushMonthId');//TODO
	var selectRushMonthVal = selectRushMonthObj.value;//
	//alert(hiddenMonthVal);

	var oriRushStatusDivObj = document.getElementById('rushStatusDiv_'+hiddenMonthVal);//元のDIV
	oriRushStatusDivObj.style.display='none';//元のDIVを隠す

	var newRushStatusDivObj = document.getElementById('rushStatusDiv_'+selectRushMonthVal);//new Div
	newRushStatusDivObj.style.display='block';//最新のDIVを示す

	hiddenMonthObj.value = selectRushMonthVal;//選択された「月」を数字として保存する。
}

