﻿//////////////////////////////////////////////////////////////////
/// 初期設定
//////////////////////////////////////////////////////////////////

/*
xmlデータパス
------------------------------------------------------------*/

/*施設データ
--------------------------------------------------*/
//var xml_facility_path="/common/xml/facility.xml";
var xml_facility_path="Ajax/Facility.aspx";

/*Charge calendarデータ パス前方
--------------------------------------------------*/
//var xml_charge_calendar="/common/xml/charge_calendar.xml";
var xml_charge_calendar="Ajax/ChargeCalendar.aspx";

/*
ブロックid
------------------------------------------------------------*/
var id_facility="FACLITY_DATA";

var id_roomsort="ROOM_SORT";


//////////////////////////////////////////////////////////////////
/// facility js ハンドラ
//////////////////////////////////////////////////////////////////

var loadFacl=function(){
	if(!xml_facility_path){
		var souce=outputError();
		showErrorLoadFail(souce);
		return;
	}
	$(function(){
		result=$.ajax({
			type:"get",
			url:getParamCondition(xml_facility_path),
			cache: false,
			error:function(data){
				var souce=outputError();
				showErrorLoadFail(souce);
			},
			success:function(data){
				var nvFData=setFData(data);
				var list=makeData(nvData);
				var source=prodFSrc(nvFData,list);
				dispBlk(id_facility,source);
				loadComma();
			}
		});
	});
}


////////////////////////////////////////////////////////////////////////////////
/// facility データ分解
////////////////////////////////////////////////////////////////////////////////

var setFData=function(data){
	var tnItemF=data.getElementsByTagName("item");
	nvFData=new Array();
	for(var i=0;i<tnItemF.length;i++){
		nvFData[i]=new Array();
		nvFData[i][0]=tnItemF.item(i).getElementsByTagName("category_name").item(0).firstChild.nodeValue;
		nvFData[i][1]=tnItemF.item(i).getElementsByTagName("room_type");
		nvFData[i][2]=new Array();
		nvFData[i][3]=new Array();
		nvFData[i][4]=new Array();
		nvFData[i][5]=new Array();
		nvFData[i][6]=new Array();
		nvFData[i][7]=new Array();
		nvFData[i][8]=new Array();
		nvFData[i][9]=new Array();
		nvFData[i][10]=new Array();
		nvFData[i][11]=new Array();
		for(var j=0;j<nvFData[i][1].length;j++){
			nvFData[i][2][j]=nvFData[i][1].item(j).getElementsByTagName("room_type_name").item(0).firstChild.nodeValue;
			nvFData[i][3][j]=nvFData[i][1].item(j).getElementsByTagName("room_person").item(0).firstChild.nodeValue;
			nvFData[i][4][j]=nvFData[i][1].item(j).getElementsByTagName("room");
			nvFData[i][5][j]=new Array();
			nvFData[i][6][j]=new Array();
			nvFData[i][7][j]=new Array();
			nvFData[i][8][j]=new Array();
			nvFData[i][9][j]=new Array();
			nvFData[i][10][j]=new Array();
			nvFData[i][11][j]=new Array();
			for(var k=0;k<nvFData[i][4][j].length;k++){
				nvFData[i][5][j][k]=nvFData[i][4][j].item(k).getElementsByTagName("room_id").item(0).firstChild.nodeValue;
				nvFData[i][6][j][k]=nvFData[i][4][j].item(k).getElementsByTagName("title").item(0).firstChild.nodeValue;
				nvFData[i][7][j][k]=nvFData[i][4][j].item(k).getElementsByTagName("link").item(0).firstChild.nodeValue;
				nvFData[i][8][j][k]=(nvFData[i][4][j].item(k).getElementsByTagName("photo").item(0).firstChild)?
					nvFData[i][4][j].item(k).getElementsByTagName("photo").item(0).firstChild.nodeValue:"";
				nvFData[i][9][j][k]=nvFData[i][4][j].item(k).getElementsByTagName("price").item(0).firstChild.nodeValue;
				nvFData[i][10][j][k]=(nvFData[i][4][j].item(k).getElementsByTagName("discount").item(0).firstChild)?
					nvFData[i][4][j].item(k).getElementsByTagName("discount").item(0).firstChild.nodeValue:"";
				nvFData[i][11][j][k]=nvFData[i][4][j].item(k).getElementsByTagName("facilities").item(0).firstChild.nodeValue;
			}
		}
	}


	return nvFData;
}


//////////////////////////////////////////////////////////////////
/// facility source 生成
//////////////////////////////////////////////////////////////////

var prodFSrc=function(nvFData,list){
	var source="";

	//該当roomデータが存在しない場合
	if(nvFData.length==0){
		source+=msg_error_room;
		
		var roomsort = document.getElementById(id_roomsort);
		if(roomsort != undefined) {
		    roomsort.style.visibility = 'hidden';
		}
		
		return source;
	}

	//正常処理
	var roomsort = document.getElementById(id_roomsort);
	if(roomsort != undefined) {
	    roomsort.style.visibility = 'visible';
	}

	//正常処理
	var m=0;
	var dateCC=makeCCDate();
	var rate=getRate();
	for(var i=0;i<nvData.length;i++){
		if(nvData[i][0]==rate) var rateVl=1/nvData[i][1];
	}
	rateVl=(Math.floor(rateVl)==0)?(rateVl+"").slice(0,6):(rateVl+"").slice(0,5);
	var dateAll=new Date();
	thisYear=dateAll.getFullYear();
	thisMonth=(((dateAll.getMonth()+1)+"").length==1)?"0"+((dateAll.getMonth()+1)+""):dateAll.getMonth();
	thisDate=((dateAll.getDate()+"").length==1)?"0"+(dateAll.getDate()+""):dateAll.getDate();
	for(var i=0;i<nvFData.length;i++){
		source+='<!--*-->\n<div class="detail">\n<div class="inner01">\n<div class="inner02">\n<div class="inner03">\n';
		source+='<p class="title"><span class="roomTi">'+nvFData[i][0]+'</span></p>\n';
		for(var j=0;j<nvFData[i][1].length;j++){
			if(j>0) source+='<p class="mt10"><img src="/common/images/main/exp_rooms_sep.gif" alt="" width="690" height="5" /></p>\n';
			source+='<div class="type clearFix">\n';
			source+='<h3>'+nvFData[i][2][j]+'</h3>\n';
			source+='<p>'+nvFData[i][3][j]+'</p>\n</div>\n';
			for(var k=0;k<nvFData[i][4][j].length;k++){
				source+='<div class="block">\n<div class="name clearFix">\n';
				if(flgCalBox()=="mm/dd/yyyy"||flgCalBox()==""){
					source+='<p class="text"><span class="rTitle">'+nvFData[i][6][j][k]+'</span>';
				}else{
					source+='<p class="text"><span class="rTitle"><a href="'+nvFData[i][7][j][k]+'#shisetsumenu">'+nvFData[i][6][j][k]+'</a></span>';
				}
				if(nvFData[i][8][j][k]!=""){
					source+='<span class="photo ml10">';
					source+='<a href="'+nvFData[i][8][j][k]+'" onclick="dispFloat(event,this.href);">'+textSet_facility[0]+'</a></span>';
				}
				source+='</p>\n<p class="buttonAdd">';
				if(flgCalBox()=="mm/dd/yyyy"||flgCalBox()==""){
					source+='<img src="'+htlCtnImg+'/hotelscontents/images/main/item01_btn_addml_dis.gif" alt="Add to wish list" width="94" height="22" />';
				}else{
					source+='<a href="javascript:void(0);" onclick="writeWish(2,\''+nvFData[i][5][j][k]+'\',\'';
					source+=document.forms["search"].elements["DATE_INPUT"].value+'\',\'';
					source+=document.getElementById("DATE_CHOUT").firstChild.nodeValue+'\',\'';
					source+=(document.forms["search"].elements["selGuest"].selectedIndex+1)+'\',\'';
					source+=(document.forms["search"].elements["selRoom"].selectedIndex+1)+'\'';
					source+=');" onmouseover="imgRoll(this.firstChild,1);" onmouseout="imgRoll(this.firstChild,0);">';
					source+='<img src="'+htlCtnImg+'/hotelscontents/images/main/item01_btn_addml_def.gif" alt="Add to wish list" width="94" height="22" /></a>';
				}
				source+='</p>\n';
				source+='</div>\n<div class="mt15 clearFix">\n<ul class="flags txs clearFix">\n';
				if(nvFData[i][11][j][k].charAt(0)==1) source+='<li>'+textSet_facility[2]+'</li>\n';
				if(nvFData[i][11][j][k].charAt(1)==1) source+='<li>'+textSet_facility[3]+'</li>\n';
				if(nvFData[i][11][j][k].charAt(2)==1) source+='<li>'+textSet_facility[4]+'</li>\n';
				if(nvFData[i][11][j][k].charAt(3)==1) source+='<li>'+textSet_facility[5]+'</li>\n';
				if(nvFData[i][11][j][k].charAt(4)==1) source+='<li>'+textSet_facility[6]+'</li>\n';
				if(nvFData[i][11][j][k].charAt(5)==1) source+='<li>'+textSet_facility[7]+'</li>\n';
				source+='</ul>\n<div class="roomDetail">\n';
				if(nvFData[i][10][j][k]!="") source+='<p class="discount">'+nvFData[i][10][j][k]+'</p>\n';
				source+='<div class="clearFix">\n';
				source+='<p class="number">' + getPriceTxtRoom(commaDelim(nvFData[i][9][j][k])) + '</p>\n';
				source+='<div class="comment">\n<p>';

				source+='<a href="javascript:void(0);" ';
				source+='onclick="closeAll02();$(\'#RR_A_'+(m+1)+'_DEF\').hide();$(\'#RR_A_'+(m+1)+'_CUR\').show();$(\'#RR_'+(m+1)+'\').fadeIn('+fadeSpeed+');" ';
				source+='class="refAnc" id="RR_A_'+(m+1)+'_DEF">'+textSet_search[6]+'</a>';
				source+='<a href="javascript:void(0);" ';
				source+='onclick="$(\'#RR_A_'+(m+1)+'_DEF\').show();$(\'#RR_A_'+(m+1)+'_CUR\').hide();$(\'#RR_'+(m+1)+'\').fadeOut('+fadeSpeed+');" ';
				source+='class="refAnc cur" id="RR_A_'+(m+1)+'_CUR">'+textSet_search[6]+'</a>';

				source+=' <span class="currency">';

				source+='<a href="javascript:void(0);" ';
				source+='onclick="closeAll02();$(\'#RATE_A_'+(m+1)+'_DEF\').hide();$(\'#RATE_A_'+(m+1)+'_CUR\').show();$(\'#RATE_'+(m+1)+'\').fadeIn('+fadeSpeed+');" ';
				source+='id="RATE_A_'+(m+1)+'_DEF"><span class="rateCrnt">USD</span>';
				source+='<img src="/common/images/main/item01_btn_pricerate.gif" alt="" class="ml3 vam" height="14" width="14"></a>';
				source+='<a href="javascript:void(0);" ';
				source+='onclick="$(\'#RATE_A_'+(m+1)+'_DEF\').show();$(\'#RATE_A_'+(m+1)+'_CUR\').hide();$(\'#RATE_'+(m+1)+'\').fadeOut('+fadeSpeed+');" ';
				source+='class="cur" id="RATE_A_'+(m+1)+'_CUR"><span class="rateCrnt">USD</span>';
				source+='<img src="/common/images/main/item01_btn_pricerate_cur.gif" alt="" class="ml3 vam" height="14" width="14"></a>';

				source+='<span class="priceDisp"></span></span></p>\n<!--floatBox-->\n';
				source+='<div class="fbWrap"><div id="RR_'+(m+1)+'" class="floatBox02 reference"><div class="fbInner01"><div class="fbInner02">\n';
				source+='<p class="taCenter"><em>'+thisMonth+'/'+thisDate+'/'+thisYear+'</em></p>\n';
				source+='<p class="taCenter">' + getRateTxt() + ' = <span class="rateCrnt">'+rate+'</span> <em><span class="baseRate">'+rateVl+'</span></em></p>\n';
				source+='<p class="taCenter txs mt5">'+textSet_search[11]+'</p>';
				source+='<p class="taCenter mt5">';
				source+='<a href="javascript:void(0);" onclick="$(\'#RR_'+(m+1)+'\').fadeOut('+fadeSpeed+');" class="close">'+textSet_search[5]+'</a></p>\n';
				source+='</div></div></div></div><!--/floatBox-->\n<!--floatBox-->\n';
				source+='<div class="fbWrap"><div id="RATE_'+(m+1)+'" class="floatBox02 rate"><div class="fbInner01"><div class="fbInner02">\n';
				source+='<div class="taCenter">'+list+'</div>\n';
				source+='<p class="taCenter mt10">';
				source+='<a href="javascript:void(0);" onclick="$(\'#RATE_A_'+(m+1)+'_DEF\').show();$(\'#RATE_A_'+(m+1)+'_CUR\').hide();$(\'#RATE_'+(m+1)+'\').fadeOut('+fadeSpeed+');" class="close">'+textSet_search[5]+'</a></p>\n';
				source+='</div></div></div></div><!--/floatBox-->\n</div>\n</div>\n<p class="mt5">';
				if(!(flgCalBox()=="mm/dd/yyyy"||flgCalBox()=="")&&document.forms["search"].elements["DATE_NIGHT"].selectedIndex>0){
					source+='<a href="javascript:void(0);" ';
					source+='onclick="closeAll02();loadCCCal(\''+xml_charge_calendar+'?rg='+escape(nvFData[i][5][j][k])+'\',\'CHRGINN_'+(m+1)+'\');';
					source+='$(\'#CHRG_A_'+(m+1)+'_DEF\').hide();$(\'#CHRG_A_'+(m+1)+'_CUR\').show();$(\'#CHRG_'+(m+1)+'\').fadeIn('+fadeSpeed+');" id="CHRG_A_'+(m+1)+'_DEF">';
					source+=textSet_facility[1];
					source+='<img src="/common/images/main/item01_btn_pricerate.gif" alt="" width="14" height="14" class="ml3 vam" /></a>';
					source+='<a href="javascript:void(0);" ';
					source+='onclick="$(\'#CHRG_A_'+(m+1)+'_DEF\').show();$(\'#CHRG_A_'+(m+1)+'_CUR\').hide();$(\'#CHRG_'+(m+1)+'\').fadeOut('+fadeSpeed+');" ';
					source+='class="cur" id="CHRG_A_'+(m+1)+'_CUR">';
					source+=textSet_facility[1];
					source+='<img src="/common/images/main/item01_btn_pricerate_cur.gif" alt="" width="14" height="14" class="ml3 vam" /></a>';
				}
				source+='</p>\n';
				source+='<!--floatBox-->\n<div class="fbWrap">';
				source+='<div id="CHRG_'+(m+1)+'" class="floatBox02 charge"><div class="fbInner01"><div class="fbInner02">\n';
				source+='<div id="CHRGINN_'+(m+1)+'"></div>\n<p class="taCenter mt5">';
				source+='<a href="javascript:void(0);" onclick="$(\'#CHRG_'+(m+1)+'\').fadeOut('+fadeSpeed+');" class="close">'+textSet_search[5]+'</a></p>\n';
				source+='</div></div></div></div><!--/floatBox-->\n';
				if(flgCalBox()=="mm/dd/yyyy"||flgCalBox()==""){
					source+='<p class="taRight mt15">';
					source+='<img src="'+htlCtnImg+'/hotelscontents/images/main/exp_room_btn_select_dis.gif" alt="Select" width="88" height="31" /></p>\n';
					judgeNoDate();
				}else{
					source+='<p class="taRight mt15">';
					source+='<a href="'+nvFData[i][7][j][k]+'#shisetsumenu" onmouseover="imgRoll(this.firstChild,1);" onmouseout="imgRoll(this.firstChild,0);">';
					source+='<img src="'+htlCtnImg+'/hotelscontents/images/main/exp_room_btn_select_def.gif" alt="Select" width="90" height="31" /></a></p>\n';
					judgeNoDate();
				}
				source+='</div>\n</div>\n</div>\n';
				m++;
			}
		}
		source+='</div>\n</div>\n</div>\n</div>\n';
	}
	return source;
}

/*
検索エリアメッセージ
----------------------------------------------------------------------*/
var judgeNoDate=function(){
	if(flgCalBox()=="mm/dd/yyyy"||flgCalBox()==""){
		$("#LEFT_NO_DATE").fadeIn(400);
	}else{
		$("#LEFT_NO_DATE").hide();
	}
}
var judgeOverLimit=function(){
	$("#LEFT_OVER_LIMIT").hide();
	if(flgCalBox()!=""&&overLimit().indexOf(flgCalBox())==-1) $("#LEFT_OVER_LIMIT").fadeIn(400);
}
if(!Array.indexOf){
	Array.prototype.indexOf=function(object){
		for(var i=0;i<this.length;i++){
			if(this[i]==object) return i;
		}
		return -1;
	}
}

/*
キーボード
----------------------------------------------------------------------*/
var checkKeyEnt=function(event){
	if(!event) event=window.event;
	if(event.keyCode==13) evtCncl(event);
}



//////////////////////////////////////////////////////////////////
/// charge calendar js ハンドラ
//////////////////////////////////////////////////////////////////

var loadCCCal=function(path,id_cc){
	if(!path){
		var sourceCC=outputError();
		dispBlk(id_cc,sourceCC);
		return;
	}
	$(function(){
		result=$.ajax({
			type:"get",
			url:getParamCondition(path),
			cache: false,
			error:function(data){
				var sourceCC=outputError();
				dispBlk(id_cc,sourceCC);
			},
			success:function(data){
				var nvCCData=setCCData(data);
				var sourceCC=prodCCSrc(nvCCData);
				dispBlk(id_cc,sourceCC);
			}
		});
	});
}


////////////////////////////////////////////////////////////////////////////////
/// charge calendar データ分解
////////////////////////////////////////////////////////////////////////////////

var setCCData=function(data){
	var tnItemCC=data.getElementsByTagName("item");
	nvCCData=new Array();
	for(var i=0;i<tnItemCC.length;i++){
		nvCCData[i]=new Array();
		nvCCData[i][0]=tnItemCC.item(i).getElementsByTagName("date").item(0).firstChild.nodeValue;
		nvCCData[i][1]=tnItemCC.item(i).getElementsByTagName("price").item(0).firstChild.nodeValue;
	}
	return nvCCData;
}


//////////////////////////////////////////////////////////////////
/// charge calendar source 生成
//////////////////////////////////////////////////////////////////

var prodCCSrc=function(nvCCData){
	var sourceCC="";
	sourceCC+='<table border="1" summary="'+textSet_facility[1]+'">\n';
	sourceCC+='<thead>\n<tr>\n';
	for(var i=0;i<nvCCData.length;i++){
		sourceCC+='<th>'+nvCCData[i][0]+'</th>\n';
	}
	sourceCC+='</tr>\n</thead>\n<tbody>\n<tr>\n';
	for(var i=0;i<nvCCData.length;i++){
		sourceCC+='<td>' + getChargeCalendarTxt(commaDelim(nvCCData[i][1])) + '</td>\n';
	}
	sourceCC+='</tr>\n</tbody>\n</table>\n';
	return sourceCC;
}




//////////////////////////////////////////////////////////////////
/// 汎用
//////////////////////////////////////////////////////////////////

var flgCalBox=function(){
	return(document.forms["search"].elements["navcheckin"].value);
}

var closeAll02=function(){
	var tnDiv=document.getElementsByTagName("div");
	for(var i=0;i<tnDiv.length;i++){
		var idRate=(tnDiv[i].getAttribute("id"))?tnDiv[i].getAttribute("id"):"";
		if(idRate.indexOf("CHRG_")!=-1||idRate.indexOf("RR_")!=-1||idRate.indexOf("RATE_")!=-1){
			$("#"+idRate).hide();
		}
	}
	var tnDiv=document.getElementsByTagName("a");
	for(var i=0;i<tnDiv.length;i++){
		var idRate=(tnDiv[i].getAttribute("id"))?tnDiv[i].getAttribute("id"):"";
		if(idRate.indexOf("RATE_")!=-1){
			if(idRate.indexOf("_DEF")!=-1) $("#"+idRate).show();
			else if(idRate.indexOf("_CUR")!=-1) $("#"+idRate).hide();
		}
	}
}

var makeCCDate=function(){
	var date=document.forms["search"].elements["navcheckin"].value;
	if(date==""||date=="mm/dd/yyyy"){
		var dateDef=new Date();
		thisMonth=dateDef.getMonth();
		thisDate=dateDef.getDate();
		date=plusZero(thisMonth+1)+plusZero(thisDate);
	}else{
		date=(date.slice(0,5)).replace("/","");
	}
	return date;
}


/*
xmlへの付加パラメーター生成
----------------------------------------------------------------------*/
var getParamCondition=function(path){
	var conjunction = "&";
	var strParam = "";
	arrFm=new Array();
	
	if(urlParm == ""){
		strParam = urlParm;
	}else{
		strParam = "&" + urlParm;
	}
	
	for(var i=0;i<document.forms["search"].length;i++){
		arrFm[i]=new Array();
		arrFm[i][0]=new Array();
		arrFm[i][1]=new Array();
		arrFm[i][0]=document.forms["search"].elements[i].name;
		arrFm[i][1]=document.forms["search"].elements[i].value;
		
		if((arrFm[i][1]!="--") && (arrFm[i][1]!="mm/dd/yyyy")){
			if(arrFm[i][0]=="ns" && document.forms["search"].elements[arrFm[i][0]].checked){
				strParam += conjunction + arrFm[i][0]+"=1";
			}else if(!(arrFm[i][0]=="stopMe") && !(arrFm[i][0]=="ns")){
				strParam += conjunction + arrFm[i][0]+"="+arrFm[i][1];
			}
		}
		
	}
	
	var roomsort = document.getElementById("rso");
	if(roomsort != undefined) {
	    if(strParam.length != 0){
		    strParam += "&";
	    }
	    strParam += roomsort.name + "=" + roomsort.value;
	}
	
	if(path.indexOf("?") != -1){
		path = path + strParam;
	}else{
		path = path + "?" + strParam.substr(1);
	}
	
	return path;
	
}










