var selDate;
var g_bLoading=false;



function findPos(obj)
{
	// http://www.quirksmode.org/js/findpos.html.
		var curleft = curtop = 0;
		if (obj.offsetParent) 
		{
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while (obj = obj.offsetParent) 
			{
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
		return [curleft,curtop];	
}

function	popup(p)
{
			
	
	var pos=findPos(p);
		
	var div=document.getElementById("selDiv");
		
	var vTop=pos[1]+20 ;
	div.style.posTop=vTop
		
	div.style.posLeft =pos[0] ;
		
	div.style.top=vTop + 'px'
		
	div.style.left =pos[0] +'px' ;
	
	if (document.getElementById("arvDate").value=="")
	{
		document.getElementById("dptDiv").style.display='none'
	}
	else
	{
		document.getElementById("dptDiv").style.display='block'
	}
	div.style.display='block';
	//alert(pos[0] + ',  ' + pos[1]+ '; ' + div.style.posLeft  + ',  ' + div.style.posTop)
		
	
	
}

function popdown()
{

		var div=document.getElementById("selDiv");
			div.style.display='none';
}

function hightlight(o, bOn)
{

//	if(bOn)	o.style.backgroundColor='cornflowerblue'
//	else			o.style.backgroundColor='white'

if(bOn)	o.className='arvDptSel'
	else		o.className='arvDpt'
}
function SetArrivalFormDate(sDate)
{
	var o=document.getElementById("arvDate")
	var oldDate=o.value
	
	
	o.value=sDate
	
	o=document.getElementById("dptDate")
//		alert(sDate)
//		alert(sDate + ' > ' + o.value + '= ' + StrToDate(sDate).toUTCString() + ' >= ' + StrToDate(o.value).toUTCString())

	var newDt=StrToDate(sDate)
	var oldDt=StrToDate(oldDate)
	
	if(o.value=="")
	{
		o.value=sDate
	}
	else if(newDt<oldDt)
	{
		o.value =sDate
	
	}
	else if(newDt>=StrToDate(o.value))
	{
		o.value=sDate
	}
}

function SetDepartureFormDate(sDate)
{
	var o=document.getElementById("dptDate")
	o.value=sDate
	
	o=document.getElementById("arvDate")
	if(o.value=="")
	{
		o.value=sDate
	}
	
}
function SetArrival()
{


	SetArrivalFormDate(selDate);
	SubmitDataForm()
	
}

function SetDepature()
{
	var o=document.getElementById("arvDate")
	var oldArrival=o.value;
	o=document.getElementById("dptDate")
	var oldDate=o.value;
	SetDepartureFormDate(selDate)
	if(ValidateDates(false)==false)
	{
		SetArrivalFormDate(oldArrival)
		SetDepartureFormDate(oldDate)
			return;
	}
	
	SubmitDataForm()
	
}
function Reset()
{
	SetArrivalFormDate("")
	SetDepartureFormDate("")
	SubmitDataForm()
}
function SubmitDataForm()
{
	//var oLoaderFrame=window.frames["dataLoadFrame"];
//	oLoaderFrame.document.body.innerHTML=""
	var frm=document.forms["bookForm"]//document.getElementById("bookForm");
	frm.method="POST"
	frm.action="availability.asp?REQ=SELDATES"
	//frm.target="dataLoadFrame"
	frm.submit();
}


function  SetSelDate(obj)
{
		
	selDate=obj.id
	

}



function ValidateDates(bFullCheck)
{ 
	var dtA=StrToDate(document.getElementById("arvDate").value)
	var dtD=StrToDate(document.getElementById("dptDate").value)
	
	
	if(bFullCheck && dtA >=dtD)
	{
		alert("You must book to arrive and depart on the same day")
		return false;
		
	}
	else if(!bFullCheck && dtA >dtD)
	{
		alert("The arrival date must be before the depature date")
		return false;
		
	}
	return true;
}
	
function Check(objId,objName,matchPattern)
{
	var o=document.getElementById(objId);
	if(o==null)
	{
		alert('Invalid field Id ' + objId + '!')
		return false
	}
	if(matchPattern==null)
	{
		
		if( o.value=="")
		{
			alert('You must provide your ' + objName)
			return false
		}
	}
	else
	{
		if(matchPattern.exec( o.value)==null)
		{
			alert('Invalid format for ' + objName)
			return false
		}
	}
	return true
}
function Book()
{
	if(Check("arvDate","arrival date",/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/)==false) return;
	if(Check("dptDate","Departure date",/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/)==false) return;
	if(Check("name","full name",null)==false) return;
	if(Check("phone","telephone number",/^[0-9\s]+$/)==false) return;
	if(Check("email","email address",/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/)==false) return;
	if(Check("adults","number of adults",null)==false) return;
	if(Check("children","Number of children",null)==false) return;
	if(ValidateDates(true)==false) return;
	
	SubmitBooking()
	
	
}




function SubmitBooking()
{
	var frm=document.getElementById("bookForm");
	frm.method="POST"
	frm.action="book.asp?x="  + Math.floor(Math.random() * 1000000)
	//frm.target="dataLoadFrame"
	frm.submit();
}
function UnBook()
{
	if(Check("arvDate","arrival date",/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/)==false) return;
	if(Check("dptDate","Departure date",/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/)==false) return;
	
	var frm=document.getElementById("bookForm");
	frm.method="POST"
	frm.action="unbook.asp?x="+ Math.floor(Math.random() * 1000000)
		//frm.target="dataLoadFrame"
	frm.submit();
}
function StrToDate(s)
{
	var ar=s.split("/")
	var strDt=ar[2] + "/" + ar[1] + "/" + ar[0]
//		alert(s + " = " +strDt)
	var dt=new Date(strDt)
	dt.setHours(0);
	dt.setMinutes(0);
	dt.setSeconds(0);
	dt.setMilliseconds(0);
	return dt;
}






function Load()
{

	BkgLoad('C:\\WorkProjects\\SardiniaSite\\BackgroundLoader.txt')
}
/*
function BkgLoad(srcUrl)
{

	//var oLoaderFrame=document.frames["dataLoadFrame"];
	var oLoaderFrame=window.document.getElementById("dataLoadFrame");

	g_bLoading=true
	oLoaderFrame.src=srcUrl
}

function OnBackgroundDataLoaded()
{
	//alert('Loading: ' + g_bLoading)
	if(!g_bLoading) return
	g_bLoading=false
	var oLoaderFrame=window.frames["dataLoadFrame"];
	var oDiv=document.getElementById("oDiv");
	Debug(oLoaderFrame.document.body.innerHTML)
	oDiv.innerHTML=	oLoaderFrame.document.body.innerHTML

}
*/
function Debug(s)
{
	var win=window.open("","sard_debug","height=500,width=600,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes");
	win.document.write("")
	win.document.close()
	win.document.writeln(s)
}

function ResizeFrameToDocument(frameObj)
{
	
	if(frameObj.parent.AdjustIFrameSize)
	{
		frameObj.parent.AdjustIFrameSize(frameObj)
	}
}

function AdjustInnerToOuter(outer,inner)
{
	var iframeElement = outer.document.getElementById(inner.name);

	//var newHeight=parseInt(document.body.clientHeight)-parseInt(frameObj.frameElement.offsetTop);

	var newHeight=parseInt(outer.document.body.clientHeight)-parseInt(inner.frameElement.offsetTop);


	if(newHeight>inner.document.body.scrollHeight)
	{
		
		iframeElement.style.height=(newHeight + 10) +"px";

	}
	else
	{
		iframeElement.style.height=(inner.document.body.scrollHeight +10)  + "px";

	}
	
}