//setInterval("document.recalc()",1);
function useXMLHTTPRequest(){
	if(window.XMLHttpRequest) {
		return new XMLHttpRequest();
	}else if(window.ActiveXObject) {
		try {
			return new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e) {
			try {
				return new ActiveXObject("Microsoft.XMLHTTP");		
			}catch(e) {}
		}
	}else {
		alert('Status: Cound not create XmlHttpRequest Object.  Consider upgrading your browser.');
		return false;
	}
}

//bookings
function genTime(){
	var mydate=new Date()
	var hours=mydate.getHours()
	var minutes=mydate.getMinutes();
	var seconds=mydate.getSeconds();
	var dn="AM"
	if (hours>=12)
	dn="PM";
	if (hours>12){
	hours=hours-12
	}
	if (hours==0)
	hours=12
	if (minutes<=9)
	minutes="0"+minutes
	if (seconds<=9)
	seconds="0"+seconds
	
	document.getElementById('time_now').value=hours+":"+minutes+" "+dn
}

function setDpart(){
	if(document.getElementById("txtNights").value <= 0){
		document.getElementById("txtNights").value = 1;
	}
	if(document.getElementById("txtNights").value > 31){
		document.getElementById("txtNights").value = 31;
	}
	
	if(document.getElementById("txtDateStart").value == ""){
		document.getElementById("txtNights").value="";
	}else{
		var datestart = document.getElementById("txtDateStart").value;
		var nights = document.getElementById("txtNights").value;
		
		var dateStartBits = datestart.split('-');
		var dateStart1 = dateStartBits[2];
		var dateStart2 = dateStartBits[1];
		var dateStart3 = dateStartBits[0];
		
		var a = parseInt((dateStart1-0)+(nights-0));
		//var b = parseInt(dateStart2);
		var b = dateStart2;
		var c = parseInt(dateStart3);
		
		if(dateStart2 == "01"){
			if(a > 31){
				a = a - 31;
				b = "02";
			}
		}else if(dateStart2 == "02"){
			if(dateStart3 % 4 == 0){
				if(a > 29){
					a = a - 29;
					b = "03";
				}
			}
			else{
				if(a > 28){
					a = a - 28;
					b = "03";
				}
			}
		}else if(dateStart2 == "03"){
			if(a > 31){
				a = a - 31;
				b = "04";
			}
		}else if(dateStart2 == "04"){
			if(a > 30){
				a = a - 30;
				b = "05";
			}
		}else if(dateStart2 == "05"){
			if(a > 31){
				a = a - 31;
				b = "06";
			}
		}else if(dateStart2 == "06"){
			if(a > 30){
				a = a - 30;
				b = "07";
			}
		}else if(dateStart2 == "07"){
			if(a > 31){
				a = a - 31;
				b = "08";
			}
		}else if(dateStart2 == "08"){
			if(a > 31){
				a = a - 31;
				b = "09";
			}
		}else if(dateStart2 == "09"){
			if(a > 30){
				a = a - 30;
				b = 10;
			}
		}else if(dateStart2 == "10"){
			if(a > 31){
				a = a - 31;
				b = 11;
			}
		}else if(dateStart2 == "11"){
			if(a > 30){
				a = a - 30;
				b = 12;
			}
		}else if(dateStart2 == "12"){
			if(a > 31){
				a = a - 31;
				b = "01";
				c = c + 1;
			}
		}
		//b = (b < 10) ? "0"+b : b;
		a = (a < 10) ? "0"+a : a;
		document.getElementById("txtDateEnd").value=c+"-"+b+"-"+a;
	}
}

function setDpart2(){
	//var datestart=document.getElementById("txtDateStart").value;
	//var datecon=document.getElementById("txtDateEnd").value;
	//var nights=document.getElementById("txtNights").value;
	
	//var dateStartBits = document.getElementById("txtDateStart").value.split('-');
	//alert(dateStartBits[2]+'v'+dateStartBits[1]+'v'+dateStartBits[0]);
	//var date1=dateStartBits[0]+dateStartBits[1]+dateStartBits[2];
	//var dateEndBits = document.getElementById("txtDateEnd").value.split('-');
	//alert(dateEndBits[2]+'v'+dateEndBits[1]+'v'+dateEndBits[0]);
	//var date2=dateEndBits[0]+dateEndBits[1]+dateEndBits[2];
	
	//var fuh = 0; //date2-date1;
	if(document.getElementById("txtDateStart").value!=""){
		var date1 = document.getElementById("txtDateStart").value;
		var date2 = document.getElementById("txtDateEnd").value;
		date1 = date1.split("-");
		date2 = date2.split("-");
		var sDate = new Date(date1[0]+"/"+date1[1]+"/"+date1[2]);
		var eDate = new Date(date2[0]+"/"+date2[1]+"/"+date2[2]);
		var daysApart = Math.abs(Math.round((sDate-eDate)/86400000));
		
		if(daysApart==0){
			daysApart=1;
			}
		document.getElementById("txtNights").value = daysApart;
	}else{
		alert("Select date of arrival first.");	
		document.getElementById("txtDateEnd").value="";
	}
	
	//document.getElementById("txtNights").value=fuh
}

function adjustDep(){
	var date1 = document.getElementById("txtDateStart").value;
	var date2 = document.getElementById("txtDateEnd").value;
	
	if(date2==""){
		date2="0000-00-00";
	}
	
	date1 = date1.split("-");
	date2 = date2.split("-");
	
	var sDate = date1[0]+date1[1]+date1[2];
	var eDate = date2[0]+date2[1]+date2[2];
	
	var dateVal1=parseInt(sDate);
	var dateVal2=parseInt(eDate);
	
	if(dateVal1>=dateVal2){
		var currentDate = new Date(date1[0]+"/"+date1[1]+"/"+date1[2]);
		var valueofcurrentDate=currentDate.valueOf()+(24*60*60* 1000);
		var newDate =new Date(valueofcurrentDate);
		var wer = newDate.toLocaleDateString();
		
		var nxtDate = new Date(wer);
		
		var day=nxtDate.getDate();
		var month=nxtDate.getMonth()+1;
		var year=nxtDate.getFullYear();
		
		month = (month < 10) ? "0"+month : month;
		day = (day < 10) ? "0"+day : day;
		document.getElementById("txtDateEnd").value=year+"-"+month+"-"+day;	
	}
}

function valGuest(){
	if(document.getElementById("lname").value==""){
        alert("All fields with * are required!");
		document.getElementById("lname").focus();
        return(false);
	}else if(document.getElementById("fname").value==""){
        alert("All fields with * are required!");
		document.getElementById("fname").focus();
        return(false);
	}else if(document.getElementById("address").value==""){
        alert("All fields with * are required!");
		document.getElementById("address").focus();
        return(false);
	}else if(document.getElementById("city").value==""){
        alert("All fields with * are required!");
		document.getElementById("city").focus();
        return(false);
	}else if(document.getElementById("phone").value==""){
        alert("All fields with * are required!");
		document.getElementById("phone").focus();
        return(false);
	}else if(document.getElementById("email").value==""){
        alert("All fields with * are required!");
		document.getElementById("email").focus();
        return(false);
	}else 
		return(true);
}

function sendValue(itemID){
		var requestDeleteItem = useXMLHTTPRequest();
		if(itemID!=""){
			var param = "online_hid="+encodeURI(itemID);
			//var param = "tabname=" + encodeURI(tabName) + "&" + "contid=" + encodeURI(cid);
				if(requestDeleteItem){
					requestDeleteItem.onreadystatechange = function() {
					//	if(requestDeleteItem.readyState == 4){
					//		if(requestDeleteItem.status == 200){
								//respData = eval('('+ requestDeleteItem.responseText +')');
								//getPOInfo(null,'/index.php?pono='+poNO);
								//window.open("index.php?pono="+poNO,"Edit P.O Information");
								//alert(respData.error);
					//			window.location.reload();
					//		}else
					//			alert("Cannot process your request!");
					//	}
						window.location.href='booking3.php';
					}
					requestDeleteItem.open('POST', 'session_maker.php', true);
					requestDeleteItem.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
					requestDeleteItem.setRequestHeader("Content-length", param.length);
					requestDeleteItem.setRequestHeader("Connection", "close");
					requestDeleteItem.send(param);					
				}
				//window.location.reload();
		}else
			alert("Undefined Item.");
}

function IsNumeric(sText,vName){
	
	var ValidChars = "0123456789.";
	var Char;
	
		for (i = 0; i < sText.length; i++) 
		{ 
		Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) 
			{
			//document.getElementById('total_pty').value=0;
			document.getElementById(vName).value=0;
			setDpart();
			/*document.frmRoute.newrate.focus(); */
			i = sText.length;
		}					
	}      
	IsNumeric2(sText,vName)
}

function IsNumeric2(sText,vName){
	
	if(document.getElementById(vName).value>31){
		document.getElementById(vName).value=31
	}   
}

function setListLimit(val){
	set_cookie('listLimit', val, 365);
	window.location.reload();
}

function set_cookie(name, value, exp_days, path, domain, secure){
	var cookie_string = name + "=" + escape ( value );
	var expires = new Date ();
	exp_days ? expires.setTime(expires.getTime()+((216000*24)*exp_days)) : expires.setTime(expires.getTime()+3600); 
	cookie_string += "; expires=" + expires.toGMTString();
	if ( path ) cookie_string += "; path=" + escape ( path );
	if ( domain ) cookie_string += "; domain=" + escape ( domain );
	if ( secure ) cookie_string += "; secure";  
	document.cookie = cookie_string;
}	

function updateBook(objID,fldNO){
	var requestSave = useXMLHTTPRequest();
	var obj = document.getElementById(objID);
	var mdis = document.getElementById("divButton"+fldNO);
	var param = submitReq(obj,"Post");
	
		if(obj!=null){
			if(confirm("Are you sure you want to edit this booking? \n\n\ Would you like to continue?")){
				mdis.innerHTML = "<img src=\"images/miniloader.gif\" border=\"0\" />";
				if(requestSave){
					requestSave.onreadystatechange = function() {
						if(requestSave.readyState == 4){
							if(requestSave.status == 200){
							respData = eval('('+requestSave.responseText +')');						
									alert(respData.error);
									window.location.reload();
									//mdis.innerHTML = "<font color='#009966'>"+respData.error+"</font> (click <a href='bookings.php'>here</a> for another transaction)";
								//	alert("tsk2");
								//	window.location.reload();
							}else
								alert("Cannot process your request!");
						}					
					}
				  requestSave.open('POST','book/updateBook.php', true);
				  requestSave.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

				  requestSave.setRequestHeader("Content-length", param.length);
				  requestSave.setRequestHeader("Connection", "close");
				  requestSave.send(param);
				}
			}
		}
}

function setrType(rtypeVal){
	document.getElementById("online_rmtypeid").value=rtypeVal;
}

function submitReq(ob,rtype){
	var obj = ob;
	var reqtype = rtype;
	var paramstr = "";	
	for (i=0; i<obj.elements.length; i++){
		if (obj.elements[i].tagName == "INPUT"){
			if(obj.elements[i].type == "file"){
			   paramstr += obj.elements[i].name + "=" + 
			   			   (reqtype=="POST"?encodeURI(obj.elements[i].value.replaceAll("\"","''")):obj.elements[i].value.replaceAll("\"","''")) + "&";
			}
			if(obj.elements[i].type == "hidden"){
			   paramstr += obj.elements[i].name + "=" + 
			   			   (reqtype=="POST"?encodeURI(obj.elements[i].value.replaceAll("\"","''")):obj.elements[i].value.replaceAll("\"","''")) + "&";
			}
			if(obj.elements[i].type == "text"){
			   paramstr += obj.elements[i].name + "=" + 
			   			   (reqtype=="POST"?encodeURI(obj.elements[i].value.replaceAll("\"","''")):obj.elements[i].value.replaceAll("\"","''")) + "&";
			}
			if(obj.elements[i].type == "password"){
			   paramstr += obj.elements[i].name + "=" + 
			   			   (reqtype=="POST"?encodeURI(obj.elements[i].value.replaceAll("\"","''")):obj.elements[i].value.replaceAll("\"","''")) + "&";
			}
			if(obj.elements[i].type == "checkbox"){
			   if(obj.elements[i].checked){
				   paramstr += obj.elements[i].name + "=" + 
							   (reqtype=="POST"?encodeURI(obj.elements[i].value.replaceAll("\"","''")):obj.elements[i].value.replaceAll("\"","''")) + "&";
			   }
			}
			if(obj.elements[i].type == "radio"){
			   if(obj.elements[i].checked){
				   paramstr += obj.elements[i].name + "=" + 
							   (reqtype=="POST"?encodeURI(obj.elements[i].value.replaceAll("\"","''")):obj.elements[i].value.replaceAll("\"","''")) + "&";
			   }
			}
		}
		if(obj.elements[i].tagName == "TEXTAREA"){
		   paramstr += obj.elements[i].name + "=" + 
					   (reqtype=="POST"?encodeURI(obj.elements[i].value.replaceAll("\"","''")):obj.elements[i].value.replaceAll("\"","''")) + "&";
		}   
		if (obj.elements[i].tagName == "SELECT") {
			var sel = obj.elements[i];
			paramstr += sel.name + "="+ 
						(reqtype=="POST"?encodeURI(sel.options[sel.selectedIndex].value.replaceAll("\"","''")):sel.options[sel.selectedIndex].value.replaceAll("\"","''"))+"&";
		}
	}
	return paramstr;
}

String.prototype.replaceAll = function(pcFrom, pcTo){
	var i = this.indexOf(pcFrom);
	var c = this;
	
	while (i > -1){
		c = c.replace(pcFrom, pcTo); 
		i = c.indexOf(pcFrom);
	}
	return c;
}

function restrictNumeric(obj,addRestriction){
	var returnval = false;
	var numericalValues = "0123456789"+(addRestriction!=null?addRestriction:"");
	for(c=0; c<=(obj.value.length-1); c++){
		returnval = false;
		for(d=0; d<=(numericalValues.length-1); d++){
			if(numericalValues.charAt(d) == obj.value.charAt(c)){
				returnval = true;
			}	
		}
		if(!returnval)
			obj.value = obj.value.replaceAll(obj.value.charAt(c),"");
	}
}

function winStatMsg(msg){
	window.defaultStatus = ''; 
	window.status = msg!=null?msg:""; 
	return true;
}

function getAbsoluteX (elm) {
	var x = 0;
	if (elm && typeof elm.offsetParent != "undefined") {
		while (elm && typeof elm.offsetLeft == "number") {
			x += elm.offsetLeft;
			elm = elm.offsetParent;
		}
	}
	return x;
}

function getAbsoluteY (elm) {
	var y = 0;
	if (elm && typeof elm.offsetParent != "undefined") {
		while (elm && typeof elm.offsetTop == "number") {
			y += elm.offsetTop;
			elm = elm.offsetParent;
		}
	}
	return y;
}

function checkBrowser() {
	var b = navigator.appName
	if (b=="Netscape") this.b = "ns"
	else if (b=="Microsoft Internet Explorer") this.b = "ie"
	else this.b = b
	this.v = parseInt(navigator.appVersion)
	this.ns = (this.b=="ns" && this.v>=4)
	this.ns4 = (this.b=="ns" && this.v==4)
	this.ns5 = (this.b=="ns" && this.v==5)
	this.ie = (this.b=="ie" && this.v>=4)
	this.ie4 = (navigator.userAgent.indexOf('MSIE 4')>0)
	this.ie5 = (navigator.userAgent.indexOf('MSIE 5')>0)
	if (this.ie5) this.v = 5
	this.min = (this.ns||this.ie)
}

var is = new checkBrowser();
function xy_mouse(e){
	var x, y;
	if(parseInt(navigator.appVersion)>3){
		screenW = parseInt(screen.width);
		screenH = parseInt(screen.height);
		x = (is.ns)? e.pageX:event.x+document.body.scrollLeft
		y = (is.ns)? e.pageY:event.y+document.body.scrollTop
		x = x>(screenW-120)?(x-105):x+5;
		y = y>(screenH-200)?(y-185):y+5;
	}else if (navigator.appName == "Netscape" && parseInt(navigator.appVersion)==3 && navigator.javaEnabled()){
		var jToolkit = java.awt.Toolkit.getDefaultToolkit();
		var jScreenSize = jToolkit.getScreenSize();
		screenW = jScreenSize.width;
		screenH = jScreenSize.height;
		x = (is.ns)? e.pageX:event.x+document.body.scrollLeft
		y = (is.ns)? e.pageY:event.y+document.body.scrollTop
		x = x>(screenW-120)?(x-105):x+5;
		y = y>(screenH-200)?(y-185):y+5;
	}
	return "{\"x\": " + x + ", \"y\": " + y + "}";
}
