var varCookie = document.cookie;
var today = new Date();
var expiry = new Date(today.getTime() + 365 * 24 * 60 * 60 * 1000); // plus 365 days
var expirs = new Date(today.getTime() + 60 * 60 * 1000); // plus 60 minutes

function getCookie(name)
{ 
	varCookie= document.cookie; // update varCookie
    var index = varCookie.indexOf(name + "=");
    if (index == -1) return null;
    index = varCookie.indexOf("=", index) + 1;
    var endstr = varCookie.indexOf(";", index);
    if (endstr == -1) endstr = varCookie.length;
    return unescape(varCookie.substring(index, endstr));
}

function setCookie(name, value) 
{
    if (value != null && value != "")
      document.cookie=name + "=" + escape(value) + "; expires=" + expiry.toGMTString();
      // document.getElementById("txtCookie").value = name + "=" + escape(value) + "; expires=" + expiry.toGMTString();
}

function setSessionCookie(name, value)
{
    if (value != null && value != "")
      document.cookie=name + "=" + escape(value) + ";";
      // document.getElementById("txtCookie").value = name + "=" + escape(value) + "; expires=" + expiry.toGMTString();
}

function show_calendar(monthField,dayField)
{
    var currentDate = new Date();
    var selectedYear = currentDate.getYear();
    var selectedMonth = monthField.options.selectedIndex + 1;
    var selectedDay = dayField.options.selectedIndex + 1;
    
    if ((selectedMonth-1) < currentDate.getMonth()) 
    {
      selectedYear++;
    }
    if (selectedYear < 199) selectedYear = selectedYear + 1900;
    document.getElementById('CalFrame').src='test.asp?calmonth=' + selectedMonth.toString() + '&calyear=' + selectedYear.toString();	
    document.getElementById('CalFrame').style.display='inline';	
}

function change_origin(elementIndex)
{
	var tmpLinkValue;
	var tmpIndex;
	
	change_origination(elementIndex);
	for (i=1; i<11; i++)
	{
		tmpLinkValue = document.getElementById("link"+i).href;
		tmpIndex = tmpLinkValue.indexOf("?");
		tmpLinkValue = tmpLinkValue.substring(0,tmpIndex)+"?in_origination_key="+document.dest.in_origination_key.options[elementIndex].value+"&"+tmpLinkValue.substring(tmpIndex+1,tmpLinkValue.length);
		document.getElementById("link"+i).href=tmpLinkValue;
	}
}

function onLoadEvents()
{
	change_origin(document.dest.in_origination_key.selectedIndex);
	changeForm(document.getElementById('mainTrip').tabIndex.value);
}


function saveState (monthField,dayField,optField)
{
    var currentDate = new Date();
    var selectedYear = currentDate.getYear();
    var selectedMonth = monthField.options.selectedIndex + 1;
    var selectedDay = dayField.options.selectedIndex + 1;
    
    if (((selectedMonth-1) < currentDate.getMonth()) || (((selectedMonth-1) == currentDate.getMonth()) && (selectedDay < currentDate.getDate())))
    {
      selectedYear++;
    }
    if (optField == "1")
    {
    	document.getElementById("flightsearch").f_tDprtDate.value = selectedMonth + "/" + selectedDay + "/" + selectedYear;
    	setSessionCookie("dmonth",selectedMonth);
    	setSessionCookie("dday",selectedDay);
    }
    if (optField == "2")
    {
    	document.getElementById("flightsearch").f_tRtrnDate.value = selectedMonth + "/" + selectedDay + "/" + selectedYear;
    	setSessionCookie("rmonth",selectedMonth);
    	setSessionCookie("rday",selectedDay);
    }
}

function saveVacationState (monthField,dayField,optField)
{
    var currentDate = new Date();
    var selectedYear = currentDate.getYear();
    var selectedMonth = monthField.options.selectedIndex + 1;
    var selectedDay = dayField.options.selectedIndex + 1;
    
    if (((selectedMonth-1) < currentDate.getMonth()) || (((selectedMonth-1) == currentDate.getMonth()) && (selectedDay < currentDate.getDate())))
    {
      selectedYear++;
    }
    if (optField == "1")
    {
    	setSessionCookie("dmonth",selectedMonth);
    	setSessionCookie("dday",selectedDay);
    }
    if (optField == "2")
    {
    	setSessionCookie("rmonth",selectedMonth);
    	setSessionCookie("rday",selectedDay);
    }
}

function populateDays(monthField,dayField,optField)
{
    var currentDate = new Date();
    var selectedYear = currentDate.getYear();
    var selectedMonth = monthField.options.selectedIndex + 1;
    var selectedDay = dayField.options.selectedIndex;

    if (((selectedMonth-1) < currentDate.getMonth()) || (((selectedMonth-1) == currentDate.getMonth()) && ((selectedDay + 1) < currentDate.getDate())))
    {
      selectedYear++;
    }
    var timeA = new Date(selectedYear,selectedMonth,1);
    var timeDifference = timeA - 86400000;
    var timeB = new Date(timeDifference);
    var daysInMonth = timeB.getDate();
    for (var i = 0; i < dayField.length; i++)
    {
      dayField.options[0] = null;
    }
    for (var i = 0; i < daysInMonth; i++)
    {
      dayField.options[i] = new Option(i+1);
    }
    if ((daysInMonth > (selectedDay + 1)) && (selectedDay != -1))
    {
    	dayField.options[selectedDay].selected = true;
    }
    else dayField.options[(daysInMonth-1)].selected = true;
    // saveState (monthField,dayField,optField);
}

function dateChangeListener(monthField,dayField,targetMonthField,targetDayField,offset)
{
	var currentDate = new Date();
    var selectedYear = currentDate.getYear();
	var selectedMonth = monthField.options.selectedIndex + 1;
	var selectedDay =  dayField.options.selectedIndex + 1;

    if (selectedMonth < currentDate.getMonth())
    {
      selectedYear++;
    }
}

function changeTime (timeField, optField)
{
    var newtime;
    var tmptime;
    var temp;
    
    tmptime = new String (timeField.options[timeField.options.selectedIndex].value);
	
    if ((tmptime == "Morning") || (tmptime == "") || (tmptime == " ")) newtime = "0700";  	
    if (tmptime == "Noon") newtime = "1200";  	
    if (tmptime == "Evening") newtime = "1700"; 
    if (tmptime.indexOf('a') != -1) 
    {
    	newtime = tmptime.substring(0,tmptime.indexOf(":")) + "00";
    }
    if (tmptime.indexOf('p') != -1)
    {
		temp = parseInt(tmptime.substring(0,tmptime.indexOf(":")));
		temp = temp + 12;
		newtime = temp.toString() + "00";
    }
    if (optField == 1)
    {
    	document.getElementById("flightsearch").f_tDprtTime.value = newtime;
    }
    else
    {
    	document.getElementById("flightsearch").f_tRtrnTime.value = newtime;
    }
}

function addDays(strDate,iDays)
{
    strDate = Date.parse(strDate);
    strDate = parseInt(strDate, 10);
    strDate = strDate + iDays*(24*60*60*1000);
    strDate = new Date(strDate);

    return strDate;
}

function validateVacation(srchForm)
{
	var errorMsg;

	errorMsg = "";
	document.getElementById("errDescFlight").innerHTML = "";
	document.getElementById("dept1").style.background = "#FFFFFF";
	document.getElementById("adult1").style.background = "#FFFFFF";
	document.getElementById("senior1").style.background = "#FFFFFF";
	
	if (document.getElementById("dept1").value.length < 3 || document.getElementById("dept1").value.length > 25)
	{
		document.getElementById("dept1").style.background = "#FFE680";
		errorMsg = errorMsg + "Please enter departure city name<br>or airport code (3-25 char.)&nbsp;&nbsp;&nbsp;<br>";
	}
	if (document.getElementById("adult1").value == 0 && document.getElementById("senior1").value == 0)
	{
		document.getElementById("adult1").style.background = "#FFE680";
		document.getElementById("senior1").style.background = "#FFE680";
		errorMsg = errorMsg + "Please select at least one adult<br>or senior traveler to continue.&nbsp;&nbsp;<br>";
	}  	
	if (errorMsg.length > 0) 
	{
		document.getElementById("errDescFlight").innerHTML = errorMsg;
	}
    else
    {
    	setSessionCookie("rtrn",document.getElementById("rtrn1").value);
		document.InitialSearchForm.submit();
	}
}

function validateFlight(srchForm)
{
	var errorMsg;

	errorMsg = "";
	document.getElementById("errDescFlight").innerHTML = "";
	document.getElementById("isf").leavingFrom.style.background = "#FFFFFF";
	document.getElementById("isf").goingTo.style.background = "#FFFFFF";
	document.getElementById("isf").adults.style.background = "#FFFFFF";
	document.getElementById("isf").seniors.style.background = "#FFFFFF";
	
	if (document.getElementById("isf").leavingFrom.value.length < 3 || document.getElementById("isf").leavingFrom.value.length > 25)
	{
		document.getElementById("isf").leavingFrom.style.background = "#FFE680";
		errorMsg = errorMsg + "Please enter departure city name or airport code (3-25 char.)&nbsp;&nbsp;&nbsp;<br>";
	}
	if (document.getElementById("isf").goingTo.value.length < 3 || document.getElementById("isf").goingTo.value.length > 25)
	{
		document.getElementById("isf").goingTo.style.background = "#FFE680";
		errorMsg = errorMsg + "Please enter destination city name or airport code (3-25 char.)&nbsp;<br>";
	}
	if (document.getElementById("isf").adults.value == 0 && document.getElementById("isf").seniors.value == 0)
	{
		document.getElementById("isf").adults.style.background = "#FFE680";
		document.getElementById("isf").seniors.style.background = "#FFE680";
		errorMsg = errorMsg + "Please select at least one adult or senior traveler to continue.&nbsp;&nbsp;<br>";
	}  	
	if (errorMsg.length > 0) 
	{
		document.getElementById("errDescFlight").innerHTML = errorMsg;
	}
    else
    {
    	setSessionCookie("rtrn",document.getElementById("rtrn1").value);
		srchForm.submit();
	}
}

function validateHotel()
{
	var errorMsg;

	errorMsg = "";
	document.getElementById("errDescHotel").innerHTML = "";
	document.getElementById("hotsrchbox").city.style.background = "#FFFFFF";
	
	if (document.getElementById("hotsrchbox").city.value.length < 3 || document.getElementById("hotsrchbox").city.value.length > 25)
	{
		document.getElementById("hotsrchbox").city.style.background = "#FFE680";
		errorMsg = errorMsg + "Please enter destination city name or airport code (3-25 char.)<br>";
	}
	if (errorMsg.length > 0) 
	{
		document.getElementById("errDescHotel").innerHTML = errorMsg;
	}
	else
	{
		setSessionCookie("rtrn",document.getElementById("rtrn2").value);
		document.getElementById("hotsrchbox").submit();
	}
}

function validateCar()
{
	var errorMsg;

	errorMsg = "";
	document.getElementById("errDescCar").innerHTML = "";
	document.getElementById("carsearch").pucity.style.background = "#FFFFFF";
	
	if (document.getElementById("carsearch").pucity.value.length < 3 || document.getElementById("carsearch").pucity.value.length > 25)
	{
		document.getElementById("carsearch").pucity.style.background = "#FFE680";
		errorMsg = errorMsg + "Please enter pick-up city name or airport code (3-25 char.)<br>";
	}
	if (errorMsg.length > 0) 
	{
		document.getElementById("errDescCar").innerHTML = errorMsg;
	}
	else
	{
		setSessionCookie("rtrn",document.getElementById("rtrn3").value);
		document.getElementById('carsearch').pucity.style.background = '#FFFFFF';
		document.getElementById("carsearch").submit();
	}
}

function checkReturnCar(searchString, intCities)
{
	var strCarCookie=document.getElementById("carsearch").pucity.value;
	if (getCookie("rtrn")) strCarCookie=getCookie("rtrn");
	if ((searchString != strCarCookie) && (intCities==0))
	{
		document.getElementById("errDescCar").innerHTML = "";
		document.getElementById("carsearch").pucity.style.background = "#FFFFFF";
	}
}
	

function StartNewSearch()
{
	if (document.getElementById("carsearch").pucity.value == "newsearch")
	{
		setSessionCookie("rtrn3",0);
		document.getElementById("carsearch").submit();
	}
}

function setCarCookie()
{
		setSessionCookie("rtrn3",document.getElementById("rtrn3").selectedIndex+1);
		setSessionCookie("rtrn",document.getElementById("rtrn3").value);
}

function initVacation()
{ 
 		if (getCookie("dept")) document.getElementById("dept1").value = getCookie("dept");
 		if (getCookie ("dmonth")) document.getElementById("dmonth1").selectedIndex = getCookie("dmonth")-1;
	 	if (getCookie("dday")) document.getElementById("dday1").selectedIndex = getCookie("dday")-1;
	 	if (getCookie("rmonth")) document.getElementById("rmonth1").selectedIndex = getCookie("rmonth")-1;
	 	if (getCookie("rday")) document.getElementById("rday1").selectedIndex = getCookie("rday")-1;
	 	if (getCookie("adult")) document.getElementById("adult1").selectedIndex = getCookie("adult")-1;
	 	if (getCookie("child")) document.getElementById("child1").selectedIndex = getCookie("child")-1;
	 	if (getCookie("senior")) document.getElementById("senior1").selectedIndex = getCookie("senior")-1;
	 	if (getCookie("stops")) document.getElementById("stops1").selectedIndex = getCookie("stops")-1;
		populateDays(document.getElementById('isf').dateLeavingMonth,document.getElementById('isf').dateLeavingDay, '1');
		populateDays(document.getElementById('isf').dateReturningMonth,document.getElementById('isf').dateReturningDay, '2');
		saveVacationState(document.getElementById('isf').dateLeavingMonth,document.getElementById('isf').dateLeavingDay, '1');
		saveVacationState(document.getElementById('isf').dateReturningMonth,document.getElementById('isf').dateReturningDay, '2');
}


function changeForm(id)
{ 
	 document.getElementById("rid" + id).checked = true;
	 document.getElementById("mainTrip").tabIndex.value = id;
	 clickstay("id" + id);
	 document.getElementById("advertTD").style.height = 70;
	 document.getElementById("advert").innerHTML = adProduct("true");
	 for (var i=0;i<4;i++)
	 {
	 	if ((getCookie("dept")) && (i<2))
	 	{
	 		document.getElementById("dept"+i).value = getCookie("dept");
	 	}
	 	if (getCookie("rtrn"))
	 	{
 			document.getElementById("rtrn"+i).value = getCookie("rtrn");
 			if ((getCookie("rtrn3")) && (i==3))
 			{
 				document.getElementById("rtrn"+i).selectedIndex = getCookie("rtrn3")-1;
 			}
 			if ((!getCookie("rtrn3")) && (i==3))
 			{
 				document.getElementById("rtrn"+i).selectedIndex = 0;
 			} 			
	 	}
	 	if (i > 0)
	 	{
	 		if (getCookie ("dmonth")) document.getElementById("dmonth"+i).selectedIndex = getCookie("dmonth")-1;
	 		if (getCookie("dday")) document.getElementById("dday"+i).selectedIndex = getCookie("dday")-1;
	 		if (getCookie("rmonth")) document.getElementById("rmonth"+i).selectedIndex = getCookie("rmonth")-1;
	 		if (getCookie("rday")) document.getElementById("rday"+i).selectedIndex = getCookie("rday")-1;
	 	}
	 	if ((getCookie("adult")) && (i<3))
	 	{
	 		if (i==0) document.getElementById("adult"+i).value = getCookie("adult")-1;
	 		if (i>0) document.getElementById("adult"+i).selectedIndex = getCookie("adult")-1;
	 			if (i==2)
                {
                	document.getElementById("adult"+i).selectedIndex = getCookie("adult")-2;
                    if (getCookie("adult")==1) document.getElementById("adult"+i).selectedIndex = 0;
	 	        }        
        }
	 	if ((getCookie("child")) && (i<2))
		{
			if (i==0) document.getElementById("child"+i).value = getCookie("child")-1;
	 		if (i>0) document.getElementById("child"+i).selectedIndex = getCookie("child")-1;
	 	}
	 	if ((getCookie("senior")) && (i<2))
		{
			if (i==0) document.getElementById("senior"+i).value = getCookie("senior")-1;
	 		if (i>0) document.getElementById("senior"+i).selectedIndex = getCookie("senior")-1;
	 	}
	 	if ((getCookie("stops")) && (i==1))
	 	{	 		 	
	 		document.getElementById("stops"+i).selectedIndex = getCookie("stops")-1;
	 	}
	 	if ((getCookie("carcode")) && (i==3))
	 	{
	 		document.getElementById("carcode"+i).selectedIndex = getCookie("carcode")-1;
	 	}	 		
	 }	 	 
	 if(id == 2)
	 {
		document.getElementById("flight").style.display="none";
		document.getElementById("hotel").style.display="block";
		document.getElementById("car").style.display="none";
		document.getElementById("advert").innerHTML = adProduct("false");
		document.getElementById("advertTD").style.height = 0;
		populateDays(document.getElementById('hotsrchbox').doa_mm,document.getElementById('hotsrchbox').doa_dd, '1');
		populateDays(document.getElementById('hotsrchbox').dod_mm,document.getElementById('hotsrchbox').dod_dd, '2');
		saveState(document.getElementById('hotsrchbox').doa_mm,document.getElementById('hotsrchbox').doa_dd, '1');
		saveState(document.getElementById('hotsrchbox').dod_mm,document.getElementById('hotsrchbox').dod_dd, '2');
	 }
	 else if(id == 3)
	 {
		document.getElementById("flight").style.display="none";
		document.getElementById("hotel").style.display="none";
		document.getElementById("car").style.display="block";
		populateDays(document.getElementById('carsearch').pudate_mo, document.getElementById('carsearch').pudate_dy, '1');
		populateDays(document.getElementById('carsearch').dodate_mo, document.getElementById('carsearch').dodate_dy, '2');
		saveState(document.getElementById('carsearch').pudate_mo, document.getElementById('carsearch').pudate_dy, '1');
		saveState(document.getElementById('carsearch').dodate_mo, document.getElementById('carsearch').dodate_dy, '2');
	 }
	 else if(id == 4)
	 {
		 document.getElementById("flight").style.display="block";
		 document.getElementById("flightonly").style.display="none";
		 document.getElementById("flighthotel").style.display="block"; 
		 document.getElementById("hotel").style.display="none";
		 document.getElementById("car").style.display="none";
		 populateDays(document.getElementById('isf').dateLeavingMonth,document.getElementById('isf').dateLeavingDay, '1');
		 populateDays(document.getElementById('isf').dateReturningMonth,document.getElementById('isf').dateReturningDay, '2');
		 saveState(document.getElementById('isf').dateLeavingMonth,document.getElementById('isf').dateLeavingDay, '1');
		 saveState(document.getElementById('isf').dateReturningMonth,document.getElementById('isf').dateReturningDay, '2');
	 }
	 else 
	 {
		 document.getElementById("flight").style.display="inline";
		 document.getElementById("flightonly").style.display="inline";
		 document.getElementById("flighthotel").style.display="none"; 
		 document.getElementById("hotel").style.display="none";
		 document.getElementById("car").style.display="none";
		 populateDays(document.getElementById('isf').dateLeavingMonth,document.getElementById('isf').dateLeavingDay, '1');
		 populateDays(document.getElementById('isf').dateReturningMonth,document.getElementById('isf').dateReturningDay, '2');
		 saveState(document.getElementById('isf').dateLeavingMonth,document.getElementById('isf').dateLeavingDay, '1');
		 saveState(document.getElementById('isf').dateReturningMonth,document.getElementById('isf').dateReturningDay, '2');
	 }
}

function adProduct (blnAdd)
{
	var rand = 60 / 9; 
	var currentDate = new Date();
	var randNum = currentDate.getSeconds ();
	randNum = Math.floor (randNum/rand);
	if (randNum == 3 || randNum == 7)  
	{
		// sText = "<a href='http://reservations.travelfrogs.com/nexres/start-pages/gateway.cgi?engine=LASTMINDEALS&action=list&src=10010904&in_hpclick=store_sun_icon&in_activity=5000142'>";
		// sText += "<img src='/images/sunbeach.jpg' width='468' height='60' alt='Sun and Beach Last Minute Deals' border=1></a>";
		sText = "<a href='http://reservations.travelfrogs.com/cruises/MainPage?src=10010904'>";
		sText += "<img src='/images/cruise_sale.jpg' width='468' height='60' alt='Cruise Sale' border=0></a>";

	}
	else if (randNum == 6 || randNum == 2 || randNum == 4 || randNum == 0) 
	{
		sText = "<a href='http://reservations.travelfrogs.com/cruises/MainPage?src=10010904'>";
		sText += "<img src='/images/cruise_sale.jpg' width='468' height='60' alt='Cruise Sale' border=0></a>";


		// sText = "<a href='http://reservations.travelfrogs.com/nexres/start-pages/gateway.cgi?engine=lastmindeals&src=10010904'>";
		// sText += "<img src='http://images.wctravel.com/wct-images/partners/images-banners/lmd_holidays/bestfare_columbus_banner.gif' width='468' height='60' alt='Columbus Day Gateways' border=0></a>";
		// sText = "<a href='http://reservations.travelfrogs.com/cruises/MainPage?src=10010904'>";
		// sText += "<img src='/images/cruise.jpg' width='468' height='60' alt='Cruise Sale' border=0></a>";
	}
	else if (randNum == 1 || randNum == 5 || randNum == 8)
	{
		sText = "<a href='http://www.travelfrogs.com/vacation/'>";
		sText += "<img src='/images/vacation_plan.jpg' width='468' height='60' alt='Try our Vacation Planner' border=0></a>";
		// sText = "<a href='http://reservations.travelfrogs.com/nexres/start-pages/gateway.cgi?engine=lastmindeals&src=10010904'>";
		// sText += "<img src='http://images.wctravel.com/wct-images/partners/images-banners/lmd_holidays/3737_takeoff.gif' width='468' height='60' alt='Labor Day Savings' border=0></a>";

	}
	else
	{

		// sText = "<a href='http://reservations.travelfrogs.com/nexres/start-pages/gateway.cgi?engine=lastmindeals&src=10010904'>";
		// sText += "<img src='http://images.wctravel.com/wct-images/partners/images-banners/lmd_holidays/bestfare_columbus_banner.gif' width='468' height='60' alt='Columbus Day Gateways' border=0></a>";

		sText = "<a href='http://www.travelfrogs.com/vacation/'>";
		sText += "<img src='/images/vacation_plan.jpg' width='468' height='60' alt='Try our Vacation Planner' border=0></a>";
	}

	if (blnAdd == "false") { sText="" }
	
	return sText;
}

var anyopen = "id1";
function clickstay(tdid)
{
	document.getElementById(anyopen).className = "tabOff";
	document.getElementById(tdid).className = "tabOn";
	anyopen=tdid;
}



















