// JavaScript Document

	var _months 	= new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	var _maxDt		= new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	var _today		= new Date();
	
	function _dateNum(_dt){
		return ""+_dt.getFullYear()+""+((_dt.getMonth()<10)? "0":"")+""+(_dt.getMonth()+1)+""+((_dt.getDate()<10)? "0":"")+""+_dt.getDate()+"";
	}
	
	var _todayNum	= _dateNum(_today);
	
	function _showCal(_nm){
		var _dt = new Date($("[name="+_nm+"_Y]").val(),$("[name="+_nm+"_M]").val(),$("[name="+_nm+"_D]").val(),0,0,0,0);
		
		if (_nm=="cmbOut"){
			var _bdt = new Date($("[name=cmbIn_Y]").val(),$("[name=cmbIn_M]").val(),$("[name=cmbIn_D]").val(),0,0,0,0);
			_bdt.setDate(_bdt.getDate()+1);
		}else{
			var _bdt = new Date();
		}
		_updateCal(_nm, _dt, _bdt);
	}
	
	function _updateCal(_nm, _dt, _bdt){
		var _cal = $("#calDivId");
		var _out = _getCalHeader(_nm, _dt)+_getDates(_nm, _dt, _bdt);
		_cal.html(_out);
		_posCal(_nm);
	}
	
	function _prevNext(_nm, _yr, _mn){
		if (_nm=="cmbOut"){
			var _bdt = new Date($("[name=cmbIn_Y]").val(),$("[name=cmbIn_M]").val(),$("[name=cmbIn_D]").val(),0,0,0,0);
			_bdt.setDate(_bdt.getDate()+1);
		}else{
			var _bdt = new Date();
		}
		var _dt = new Date(_yr, _mn, 1 , 0 , 0 , 0 , 0);
		_updateCal(_nm, _dt, _bdt);
	}
	
	function _getCalHeader(_nme, _dt){
		var _pm =_dt.getMonth()-1;
		var _py = _dt.getFullYear();
		if (_pm<0){_pm = 11; _py = _py-1;}
		var _nm =_dt.getMonth()+1;
		var _ny = _dt.getFullYear();
		if (_nm>11){_nm = 0; _ny = _ny+1;}
		
		return "<div class=\"hd-wrap\"><div class=\"hd\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n"+
		"<tr>\n"+
		"<td><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"float:left;\">\n"+
		"<tr>\n"+
		"<td><a href=\"JavaScript:_prevNext('"+_nme+"', '"+_py+"', '"+_pm+"')\"><img src=\""+_imgPath+"ico_prev.gif\" width=\"11\" height=\"11\" border=\"0\" /></a></td>\n"+
		"<td class=\"hd-text\" id=\""+_nme+"hd_Id\">"+_dt.getFullYear()+' '+_months[_dt.getMonth()]+"</td>"+
		"<td><a href=\"JavaScript:_prevNext('"+_nme+"', '"+_ny+"', '"+_nm+"')\"><img src=\""+_imgPath+"ico_next.gif\" width=\"11\" height=\"11\" border=\"0\" /></a></td>\n"+
		"</tr>\n"+
		"</table></td>\n"+
		"<td><a onclick=\"_closeCal();\"><img src=\""+_imgPath+"ico_close.gif\" alt=\"Close\" title=\"Close\" width=\"11\" height=\"11\" border=\"0\" style=\"display:block;\" /></a></td>\n"+
		"</tr>\n"+
		"</table></div>\n"+
		"<table align=\"center\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"week-days\">"+
		"<tr>\n"+
		"<td>S</td>\n"+
		"<td>M</td>\n"+
		"<td>T</td>\n"+
		"<td>W</td>\n"+
		"<td>T</td>\n"+
		"<td>F</td>\n"+
		"<td>S</td>\n"+
		"</tr>\n"+
		"</table>\n"+
		"</div>\n";		
	}
	
	function _getDates(_nm, _dt, _bdt){
		return "<div class=\"cellctr\" id=\""+_nm+"dateCtr_Id\">"+_getDateCells(_nm, _dt, _bdt)+"</div>\n";
	}

	function _getDateCells(_nm, _dt, _bdt){
		var _bdtNum = _dateNum(_bdt);
		var _year		= _dt.getFullYear();
		var _month		= _dt.getMonth();
		var _tmpDt 		= new Date(_year, _month, 1,0,0,0,0);
		var _fday		= _tmpDt.getDay();
		var _maxDays	= (_month==1)? (_year%4==0? 29:28):_maxDt[_month];
		var _rows 		= Math.ceil((_fday+_maxDays)/7);
		var _txt		= "<table border=\"0\" cellspacing=\"3\" cellpadding=\"2\">";
		var _inc		= 0;
		for (var _j=0; _j<_rows; _j++){
			_txt		+= "<tr>";
			for (var _k=0; _k<7; _k++){
				_inc++;
				var _val 	= (_inc-_fday);
				var _dval 	= "";
				var _events = "";
				var _cls 	= "cell";
				if (_val>0 && _val<=_maxDays){
					_dval = _val;
					_events = "onmouseover=\"this.className='cell-ov';\" onmouseout=\"this.className='cell';\" onClick=\"_hideCal('"+_nm+"', this.id);\"";
					var _tnum = _dateNum(new Date(_year,_month, _dval, 0,0,0,0));
					
					if (_todayNum==_tnum){
						_cls 	= "cell-today";
						_events = " onClick=\"_hideCal('"+_nm+"', this.id);\"";
					}else if(_tnum<_bdtNum) {
						_events = "";
						_cls 	= "cell-dis";
					}
					
				}

				_txt += "<td class=\""+_cls+"\" id=\""+_year+"/"+((_month+1)<10 ? "0":"")+""+(_month+1)+"/"+(_dval<10 ? "0":"")+""+_dval+"\" "+_events+">"+_dval+"</td>";
			}
			_txt		+= "</tr>";
		}
		_txt		+= "</table>";
		
		return _txt;
	}


	function _posCal(_nm){
		var _img = $("#"+_nm+"CalImg");
		var _cal = $("#calDivId");
		var _pos = _img.position();
		var _top = parseInt(_pos.top+_img.height()+10)+"px";
		var _lft = parseInt(_pos.left-_cal.width()+_img.width())+"px";
		_cal.css("left", _lft);
		_cal.css("top", _top);
		_cal.css("display", "block");
	}
	
	function _hideCal(_nm, _val){
		_setDate(_nm, _val);
		_setNights(_nm);
		_closeCal();
	}
	
	function _closeCal(){
		var _cal = $("#calDivId");
		_cal.css("display", "none");
		_cal.css("left", "0px");
		_cal.css("top", "0px");	
	}
	
	function _setNights(_nm){
		if (_nm=="cmbIn"){
			_setOpt($("[name=cmbIn_M]").val(), $("[name=cmbIn_Y]").val(), 'cmbIn_DId');
			var _ind 	= new Date($("[name=cmbIn_Y]").val(),$("[name=cmbIn_M]").val(),$("[name=cmbIn_D]").val(),0,0,0,0);
			var _ngt 	= $("[name=cboNumberOfNights]").val();
			var _oud 	= new Date(_ind.setDate(_ind.getDate()+parseInt(_ngt)));
			var _ostr 	= ""+_oud.getFullYear()+"/"+_dgit2(_oud.getMonth()+1)+"/"+_dgit2(_oud.getDate())+"";
			_setDate("cmbOut",_ostr);
		}else{
			var _ind 	= new Date($("[name=cmbIn_Y]").val(),$("[name=cmbIn_M]").val(),$("[name=cmbIn_D]").val(),0,0,0,0);
			var _oud 	= new Date($("[name=cmbOut_Y]").val(),$("[name=cmbOut_M]").val(),$("[name=cmbOut_D]").val(),0,0,0,0);
			var _ngt 	= (_oud.getTime()-_ind.getTime())/86400000;
			$("[name=cboNumberOfNights]").val(Math.round(_ngt));
		}
	}
	
	function _setDate(_nm, _val){
		var _split = _val.split("/");
		var _mon = parseInt(_split[1])-1;
		$("[name="+_nm+"_M]").val(parseInt(_split[1])-1);
		$("[name="+_nm+"_Y]").val(_split[0]);
		_setOpt(_mon, _split[0], ""+_nm+"_DId");
		$("[name="+_nm+"_D]").val(_split[2]);
	}
	
	function _dgit2(_d){
		return (_d.toString().length==1)? "0"+_d:_d;
	}
	
	function _setOpt(_m, _y, _objId){
		var _opts = (_m!=1)? _maxDt[_m]:((_y%4==0)? 29:28);
		var _obj = document.getElementById(_objId);
		var _idx = _obj.selectedIndex;
		_obj.options.length = 0; 
		for (var _x=0; _x<_opts; _x++){
			_obj.options[_x] = new Option(_dgit2(_x+1), _dgit2(_x+1));
		}
		var _ln = _obj.options.length -1;
		_obj.selectedIndex = (_ln<_idx)? _ln:_idx;
	}
	
	function book_now() {
		
		var _ind 	= new Date($("[name=cmbIn_Y]").val(),$("[name=cmbIn_M]").val(),$("[name=cmbIn_D]").val(),0,0,0,0);
		var _oud 	= new Date($("[name=cmbOut_Y]").val(),$("[name=cmbOut_M]").val(),$("[name=cmbOut_D]").val(),0,0,0,0);
		
		var _indstr = $("[name=cmbIn_Y]").val()+"/"+(parseInt($("[name=cmbIn_M]").val())+1)+"/"+$("[name=cmbIn_D]").val()
		
		if (_ind >= _oud){
			alert("Departure Date Must be Greater than the Arrival Date");
			return;
		}
		
		var _children 		= $("[name=cboChildren]").val();
		var _adults			= $("[name=cboAdults]").val();
		var _nights			= (_oud.getTime()-_ind.getTime())/86400000;
	
		var _url = "https://www.phgsecure.com/IBE/bookingRedirect.ashx";
		_url += "?numberOfChildren="+_children+"&numberOfAdults="+_adults+"&numberOfRooms=1&arrivalDate="+_indstr+"&numberOfNights="+_nights+"&propertyCode=MBADR";
		
		_gaq.push(function() {
			var pageTracker = _gat._getTrackerByName();
			var _newURL = pageTracker._getLinkerUrl(_url);
			document.forms['bookingEngine'].action = _newURL;
			window.open(_newURL,'','')
		});
		return;
	}
