var mnt_arr=new Array('','January','February','March','April','May','June','July','August','September','October','November','December' );

function popMap(mapURL){
  popWindow("mapquest", mapURL, 700, 700, 50,100, 'no', 'no', 'yes', 'no', 'yes', 'yes') 
}
function popWindow(name, url, winWidth, winHeight, winTop, winLeft, 
				   toolbar, location, status, menubar, scrollbars, resizable){
     name = window.open(url, name, 'width=' + winWidth + ',height=' + winHeight + ',top=' + winTop+ ',left=' + winLeft + ',toolbar=' + toolbar + ',location=' + location + ',status=' + status + ',menubar=' + menubar + ',scrollbars=' + scrollbars + ',resizable=' + resizable);
     name.focus();
}
function shwFrm(el){
	var cls=el=="dts_frm"?"rsrv_frm":"dts_frm";
	document.getElementById(cls).style.visibility='hidden';
	document.getElementById(cls).style.zIndex=1;
	document.getElementById(el).style.visibility='visible';
	document.getElementById(el).style.zIndex=2;
}

function doMen(){
	  document.getElementById('chrm').style.visibility='visible';
	  document.getElementById('chrm').style.zIndex=3;
   }

  function bgMenu(f,c){
	  if(c==1)f.style.backgroundColor='#FFCCFF';
	  else f.style.backgroundColor='white';
   }
   function chkDts(){
	 var a_dt=document.getElementById('ar_date').value;
	 var d_dt=document.getElementById('de_date').value;
	 var room=document.getElementById('room_id');
	 if(room.selectedIndex==0) return shwErrMssg("Please choose the room.");
	 if(trimm(a_dt).length==0) return shwErrMssg("Arrival date required.");
	 if(trimm(d_dt).length==0) return shwErrMssg("Departure date required.");
	 a_dt=a_dt.split("-")[0].length==2?dtToDbFmt(a_dt):a_dt;
	 d_dt=d_dt.split("-")[0].length==2?dtToDbFmt(d_dt):d_dt;
	 var dt_arr = a_dt.split("-");
	 var dt_darr = d_dt.split("-");
	 var today = new Date();
     var month = today.getMonth() + 1;
     var day = today.getDate();
     var year = today.getFullYear();
	 if(dateDiff('d', year+'/'+month+'/'+day , dt_arr[0]+'/'+dt_arr[1]+'/'+dt_arr[2])<0) return shwErrMssg("Arrival date cannnot be in the past.");
	 if(dateDiff('d', dt_arr[0]+'/'+dt_arr[1]+'/'+dt_arr[2], dt_darr[0]+'/'+dt_darr[1]+'/'+dt_darr[2])<0) return shwErrMssg("Departure date cannnot be before arrival date.");
	 if(trimm(a_dt)==trimm(d_dt)) return shwErrMssg("Arrival and Departure dates cannot be the same.");
	 document.getElementById('ar_date').value=a_dt;
	 document.getElementById('de_date').value=d_dt;
	 return true;
   }

  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  function shwErrMssg(mssg){
	 alert(mssg);
	 return false;
  }
 function trimm(str){
	str=str+""; 
	var re= /^\s*|\s*$/g;
	return str.replace(re,"");
 }
 function dateDiff(p_Interval, p_Date1, p_Date2){
	var dt1 = new Date(p_Date1);
	var dt2 = new Date(p_Date2);
	var iDiffMS = dt2.valueOf() - dt1.valueOf();
	var dtDiff = new Date(iDiffMS);
	var nYears  = dt2.getUTCFullYear() - dt1.getUTCFullYear();
	var nMonths = dt2.getUTCMonth() - dt1.getUTCMonth() + (nYears!=0 ? nYears*12 : 0);
	var nQuarters = parseInt(nMonths/3);
	var nMilliseconds = iDiffMS;
	var nSeconds = parseInt(iDiffMS/1000);
	var nMinutes = parseInt(nSeconds/60);
	var nHours = parseInt(nMinutes/60);
	var nDays  = parseInt(nHours/24);
	var nWeeks = parseInt(nDays/7);
	var iDiff = 0;		
	switch(p_Interval.toLowerCase()){
		case "yyyy": return nYears;
		case "q": return nQuarters;
		case "m": return nMonths;
		case "y": 		// day of year
		case "d": return nDays;
		case "w": return nDays;
		case "ww":return nWeeks;
		case "h": return nHours;
		case "n": return nMinutes;
		case "s": return nSeconds;
		case "ms":return nMilliseconds;
		default: return "invalid interval: '" + p_Interval + "'";
	}
}
function dtToDbFmt(str_dt){
	if(str_dt.length==0) return false;
	var t_arr=str_dt.split("-");
	if(t_arr.length<2) return false;
	var out="";
	var t="";
	out+=t_arr[2]+"-";
	t=(fndMnth(t_arr[1])+"").length>0?fndMnth(t_arr[1])+"":"";	
	out+=t.length==1?"0"+t+"-":t+"-";
	out+=t_arr[0];
	return out;
}
function fndMnth(str){
	for(var x=0;x<mnt_arr.length;x++)
	   if(str.toUpperCase()==mnt_arr[x].toUpperCase()) return x;
	return 0;
}
function doEdit(id){
	for(var x=0;x<rm_arr.length;x++) document.getElementById(rm_arr[x]).style.visibility='hidden';
	document.getElementById(id).style.visibility='visible';
}
function frmtPhn(phn){
	var str="";
	var n=/[0-9]/;
	for(var z=0;z<phn.length;z++)
	   str+=!n.test(phn.charAt(z))?'':phn.charAt(z);
	   if(str.length>0&&str.length!=10) shwErrMssg("Phone requires :\n 3 digits area code and 7 digits phone number");
	   
	   return str.length>0?'('+str.substr(0,3)+')'+str.substr(3,3)+'-'+str.substr(6,4):"";	   
}
function chkEmail(email){
  var eMailTest = /\w[-._\w]*\w@\w[-._\w]*\w\.\w{2,3}/;///\w+[-_.\w]+\@[\w\-]+\.\w{2,3}/; 
   if (!eMailTest.test(email)){
		return false;
	 }
	 return true;
}
function chkResForm(frm){
alert(frm.x_exp_date.value);
	if(trimm(frm.x_first_name.value).length==0) return shwErrMssg(" First name is required. ");
	if(trimm(frm.x_last_name.value).length==0) return shwErrMssg(" Last name is required. ");
	if(trimm(frm.x_address.value).length==0) return shwErrMssg(" Billing address is required. ");
	if(trimm(frm.x_city.value).length==0) return shwErrMssg(" City is required. ");
	if(trimm(frm.x_state.value).length==0) return shwErrMssg(" State is required. ");
	if(trimm(frm.x_zip.value).length==0) return shwErrMssg(" Zip is required. ");
	if(trimm(frm.x_card_num.value)==0) return shwErrMssg(" Creadit card number is required. ");
	if(frm.x_card_num.value.charAt(0)!="4"&&frm.x_card_num.value.charAt(0)!="5") 
	                  return shwErrMssg(" We are sorry \n We accepting Visa or Mastercard only.\n Sorry for inconvinience. ");
	if(trimm()>0){
	   if(!chkEmail(frm.x_email.value)) return shwErrMssg(" Invalid Email address. ");
	}else{
		if(!chkEmail(frm.x_email.value)&&!confirm("The email address is been used to send you conformation email.\nProceed without email?")) return false;
	}
	return true;
}
function svVals(frm){
	//var agr= isObject(frm.agreed)?frm.agreed:null;		
	//if(agr!=null&&!agr.checked) return shwErrMssg(" You have to check agree checkbox. ");
	frm.x_amount.value=document.getElementById('xmnt').value;
	return true;
}

function isObject(a) {
    return (a && typeof a == 'object');
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 function getCal(r_id){
	var ur="../srvc/cal_ws.php?rm_id="+r_id;
	var el=document.getElementById('cal_bx');
	el.innerHTML="<b>Loading details ......</b>";
	AjaxRequest.get(
			  {
				'url':ur
				,'onSuccess':function(req){
					                               var k=req.responseText;
												   if(k.length>1){
													  el.innerHTML=k;
													  el.style.padding='10px';
													 // el.style.border='1px solid #000000';
													  return false;
												   }												   
				                                 }
				,'onError':function(req){ alert('Error!\nStatusText='+req.statusText+'\nContents='+req.responseText);return false;}								 
				,'timeout':3000
				,'onTimeout':function(req){ alert('Timed Out!'); return false;}
			  }
     ); 
	return false;
 }



