// JavaScript Document
// set up default variables

//todays date
var today = new Date();

//daylight saving bug crack
//today = new Date(today.getTime()-3600000);

//tomorrows date
var tomorrow = new Date(today.getTime() + 86400000);


//get cookie info
var cdepart = today;
var cinbound = tomorrow;
var ddday = $.cookie('dep_day');
var ddmonth = $.cookie('dep_month');
var ddyear = $.cookie('dep_year');
var rrday = $.cookie('ret_day');
var rrmonth = $.cookie('ret_month');
var rryear = $.cookie('ret_year');
var nig = $.cookie('nights');
if (ddday)
{
	//var get = get.split('/');
	//alert(ddday);
	//cookie month -1 to access date object month
	var dmonth = ddmonth - 1;
	//alert(ddyear+','+dmonth+','+ddday);
	//saved departure date in cookie
	var cdepart =  new Date(ddyear,dmonth,ddday);
	
	//saved nights in cookie
	var dnights =  nig;
	
	//cookie month -1 to access date object month
	var rmonth = rrmonth - 1;
	
	//saved return date in cookie
	var cinbound =  new Date(rryear,rmonth,rrday);
}
//minimum days until depart
var mindepart = 0;
var mindepart = new Date(today.getTime() + (mindepart * 86400000));

//max days until depart
var maxdepart = 365;
var maxdepart = new Date(today.getTime() + (maxdepart * 86400000));

//min nights duration
var minnights = 1;
var minnights = minnights * 86400000;
//adjust maxnigths to crack daylight saving bug
var minnights = minnights + 3600000



//max nights duration
var maxnights = 7;
var maxnights = maxnights * 86400000;
//adjust maxnigths to crack daylight saving bug
var maxnights = maxnights + 3600000

//min days until return
var minreturn = 1;
var minreturn = new Date(today.getTime() + (minreturn * 86400000));

//max days until return
var maxreturn = 366;
var maxreturn = new Date(today.getTime() + (maxreturn * 86400000));

var f = document.qu;


//set defults in from - either from cookie or date object
function setDefaults()
{
	var f = document.qu;
	//check cookie date to see if it is later than today
	if (cdepart.getTime() > today.getTime())
	{
		
		f.dep_day.value = cdepart.getDate();
		f.dep_month.value = cdepart.getMonth()+1;
		f.dep_year.value = cdepart.getYear();
		f.ret_day.value = cinbound.getDate();
		f.ret_month.value = cinbound.getMonth()+1;
		f.ret_year.value = cinbound.getFullYear();
		var nights = (cinbound.getTime() - cdepart.getTime())/86400000;
		f.nights.value = nights;
	}
	else
	{
		f.dep_day.value = today.getDate();
		f.dep_month.value = today.getMonth()+1;
		f.dep_year.value = today.getYear();
		f.ret_day.value = tomorrow.getDate();
		f.ret_month.value = tomorrow.getMonth()+1;
		f.ret_year.value = tomorrow.getFullYear();
		f.nights.value = 1;
	}
	
}

function updateInbound()
{
	//get depart date from form
	var depart = new Date(f.dep_year.value,f.dep_month.value-1,f.dep_day.value);
	//alert(depart);
	//get nights form form
	var nights = f.nights.value * 86400000;
	//adjust to crack daylight saving bug
	nights = nights + 3600000;
	//check nights to chk between max and min nights
	if (nights > maxnights)
	{
		nights = maxnights;
	}
	else if (nights < minnights)
	{
		nights = minnights;
	}
	
	//calculate time of return date
	var length = depart.getTime() + nights;
	
	//make date object from length time
	var inbound = new Date(length);
	
	//check inbound date to see if it is beyond maxreturn, if so then make inbound maxreturn and update departure date
	if (inbound.getTime() > maxreturn.getTime())
	{
		inbound = maxreturn;
		f.ret_day.value = inbound.getDate();
		f.ret_month.value = inbound.getMonth()+1;
		f.ret_year.value = inbound.getFullYear();
		updateDepart();
	}
	else
	{
	//alert('day '+inbound.getDate()+' month '+inbound.getMonth()+1+' year'+inbound.getFullYear());
	//update form with latest values
	f.ret_day.value = inbound.getDate();
	f.ret_month.value = inbound.getMonth()+1;
	f.ret_year.value = inbound.getFullYear();
	}
}

function updateDepart()
{
	//get date ojects
	var depart = new Date(f.dep_year.value,f.dep_month.value-1,f.dep_day.value);
	var inbound = new Date(f.ret_year.value,f.ret_month.value-1,f.ret_day.value);
	
	//calculate seconds between dates convert to days
	var length = (inbound.getTime() - depart.getTime());
	//alert(depart.getTime()+'  '+inbound.getTime()+'  '+length);
	//if more than maxnights make days maxnights
	if (length > maxnights)
	{
		//length is equal to max nights
		length = maxnights;
		
		//convert depart date to inbound - days away
		depart = new Date(inbound.getTime() - (length));
		//alert('maxnights'+depart);
		//if depart is before mindepart then make date today
		if (depart.getTime() < mindepart.getTime())
		{
			depart = today;
			//alert('today'+depart);
			f.dep_day.value = depart.getDate();
			f.dep_month.value = depart.getMonth()+1;
			f.dep_year.value = depart.getFullYear();
			f.nights.value = length/86400000;
			updateInbound();
		}
		else if (depart.getTime() > maxdepart.getTime())
		{
			depart = maxdepart;
			//alert('today'+depart);
			f.dep_day.value = depart.getDate();
			f.dep_month.value = depart.getMonth()+1;
			f.dep_year.value = depart.getFullYear();
			f.nights.value = length/86400000;
			updateInbound();
		}
		//else make it depart object
		else
		{	
		//alert('else'+depart);
			f.dep_day.value = depart.getDate();
			f.dep_month.value = depart.getMonth()+1;
			f.dep_year.value = depart.getFullYear();
			f.nights.value = length/86400000;
		}
	}
	//if length is less than minnights then do this
	else if (length < minnights)
	{
		//length = minnights - set form values
		length = minnights;
		//alert('minnightslength'+length);
		//convert depart date to inbound - days away
		depart = new Date(inbound.getTime() - (length));
		//alert('minnights'+depart);
		f.dep_day.value = depart.getDate();
		f.dep_month.value = depart.getMonth()+1;
		f.dep_year.value = depart.getFullYear();
		f.nights.value = length/86400000;
	}
	else
	{
		
		depart = new Date(inbound.getTime() - length);
		//alert('last'+depart);
		f.dep_day.value = depart.getDate();
		f.dep_month.value = depart.getMonth()+1;
		f.dep_year.value = depart.getFullYear();
		f.nights.value = length/86400000;
	}
	
		
}

/* old function
function updateDepart()
{
	//get depart date from form
	var inbound = new Date(f.ret_year.value,f.ret_month.value-1,f.ret_day.value);
	//alert(inbound);
	//get nights form form
	var nights = f.nights.value * 86400000;
	//check nights to chk between max and min nights
	if (nights > maxnights)
	{
		nights = maxnights;
	}
	else if (nights < minnights)
	{
		nights = minnights;
	}
	//calculate time of return date
	var length = inbound.getTime() - nights;
	//alert(length);
	//make date object from length time
	var depart = new Date(length);
	//alert(depart);
	//check depart date to see if it is before mindepart, if so then make depart today and update return date
	if (depart.getTime() < mindepart.getTime())
	{
		depart = today;
		f.dep_day.value = depart.getDate();
		f.dep_month.value = depart.getMonth()+1;
		f.dep_year.value = depart.getFullYear();
		updateInbound();
	}
	//check depart date to see it is before maxdepart, if so then make depart maxdepart and update return date
	else if (depart.getTime() > maxdepart.getTime())
	{
		depart = maxdepart;
		f.dep_day.value = depart.getDate();
		f.dep_month.value = depart.getMonth()+1;
		f.dep_year.value = depart.getFullYear();
		updateInbound();
	}
	
	//update form with latest values
	f.dep_day.value = depart.getDate();
	f.dep_month.value = depart.getMonth()+1;
	f.dep_year.value = depart.getFullYear();
}
*/

function updateNights()
{
	//get depart object
	/*var depart = new Date(f.dep_year.value,f.dep_month.value-1,f.dep_day.value);
	var length = f.nights.value * 86400000;
	var inbound = new Date(depart.getTime() + length);
	
	if */
	updateInbound();
	
}
function submitform()
{
 //if(document.qu.onsubmit())
 //{//this check triggers the validations
 //updateCookies();
       document.qu.submit();
//}

}

function leadingZero(x){
   return (x>9)?x:'0'+x;
}

function setRooms() {
var x;
x = Math.round(((document.qu.adults.value)*1 + (document.qu.children.value)*1) / 2 );
document.qu.rooms.value = leadingZero(x);
//alert(document.quick.rooms.value);

}

function setSelected()
{
var dept = "<?=$cc[7]?>";
var rett = "<?=$cc[8]?>";
	
	if (dept == "")
		{
			dept = "Time"; 
		}

	if (rett == "")
		{
			rett = "Time"; 
		}

document.qu.dep_t.value = dept;

document.qu.ret_t.value = rett;

var deptt = document.qu.dep_t.value;
var reptt = document.qu.ret_t.value;
//alert(deptt);
	if (deptt=="")
		{
			deptt = "Time"; 
		}

//alert(deptt);
document.qu.dep_t.value = deptt; 

	if (reptt=="")
		{
			reptt = "Time"; 
		}

document.qu.ret_t.value = reptt; 
		
}

function submitlogin()
{
     document.quotelogin.submit();
}
	
