var wDet,wCal;

function AssignJSToNextButtons()
{
	var AlternateVal = 0;
	var sName = new String();
	var sRunningName;	
	try
	{		
		var xArr = document.getElementsByTagName('input');		
		for(i=0;i<xArr.length;i++)
		{		
			var x = xArr[i];
			
			if (x!=null && x.name !=null &&  x.type=="submit")
			{			
				if(x.value=="Continue>>")
				{
					x.onclick   = onNextclick;	
					
					sRunningName = x.name.split(':');					
					if (sName != sRunningName[1])					
					{
						AlternateVal = 0;
						sName = sRunningName[1];
					}									
					AlternateVal += 1;					
					if ((AlternateVal % 2) > 0)
					{
						x.className = "buttonStyle1";
					}
					else
					{
						x.className = "buttonStyle2";
					}
				}
			}
		}
	}
	catch(e)
	{
		alert(e);
	}
}
function OpenMyCalendar(pid,cid,ptype)
{
	var tempMonth = document.Form1.DropDownFromMonth[document.Form1.DropDownFromMonth.selectedIndex].value;
	var tempDay = document.Form1.DropDownFromDay[document.Form1.DropDownFromDay.selectedIndex].value;
	var tempYear = document.Form1.DropDownFromYear[document.Form1.DropDownFromYear.selectedIndex].value;
	
	var tArrivalDate = createDate1(tempYear,tempMonth,tempDay);
	
	/*

	if  (document.Form1.ddlEquipment.options[document.Form1.ddlEquipment.selectedIndex].value == "-1")
	{
		alert("Please select an equipment.");
		document.Form1.ddlEquipment.focus();
		return false;
	}
	
	
	if (document.Form1.numpeople.options[document.Form1.numpeople.selectedIndex].value == "-1")
	{
		alert("Please select number of people.");
		document.Form1.numpeople.focus();
		return false;
	}		
	
		
	if (document.Form1.numnights.options[document.Form1.numnights.selectedIndex].value == "-1")
	{
		alert("Please select number of nights.");
		document.Form1.numnights.focus();
		return false;
	}
	
	*/
	
	str = "SiteCalendar.aspx?i="+ pid +"&campid="+ cid +"&p="+ptype+"&equipmentid="+ document.Form1.ddlEquipment.options[document.Form1.ddlEquipment.selectedIndex].value +"&numpeople="+ document.Form1.ddlNumPeople.options[document.Form1.ddlNumPeople.selectedIndex].value+"&numnights="+ document.Form1.ddlNumNights.options[document.Form1.ddlNumNights.selectedIndex].value +"&arrdt="+tArrivalDate;
	wDet = window.open(str,'SiteCalendar','width=700,height=500,resizable=yes,scrollbars');
				
	
}



function showmoreinfo(pid,cid,ptype,plist)
{

	var tempMonth = document.Form1.DropDownFromMonth[document.Form1.DropDownFromMonth.selectedIndex].value;
	var tempDay = document.Form1.DropDownFromDay[document.Form1.DropDownFromDay.selectedIndex].value;
	var tempYear = document.Form1.DropDownFromYear[document.Form1.DropDownFromYear.selectedIndex].value;
	
	//var tArrivalDate = createDate(tempYear,tempMonth,tempDay);
    str = "showcampdetails.aspx?parklist="+plist+"&i="+ pid +"&campid="+ cid +"&p="+ptype+"&equipmentid="+ document.Form1.ddlEquipment.options[document.Form1.ddlEquipment.selectedIndex].value +"&numpeople="+ document.Form1.ddlNumPeople.options[document.Form1.ddlNumPeople.selectedIndex].value+"&numnights="+ document.Form1.ddlNumNights.options[document.Form1.ddlNumNights.selectedIndex].value +"&arrmonth="+tempMonth+"&arrday="+tempDay+"&arryear="+tempYear;
    location.replace(str);
 
}
function showCalendar()
			{
				wCal = window.open('CalendarPopup.aspx?YearField=DropDownFromYear&MonthField=DropDownFromMonth&DayField=DropDownFromDay', 'cal','width=270,height=225,left=270,top=180');
			}			
function onNextclick()
{
	// Check for valid arrival dates //
	var tempMonth = document.Form1.DropDownFromMonth[document.Form1.DropDownFromMonth.selectedIndex].value;
	var tempDay = document.Form1.DropDownFromDay[document.Form1.DropDownFromDay.selectedIndex].value;
	var tempYear = document.Form1.DropDownFromYear[document.Form1.DropDownFromYear.selectedIndex].value;
	var tempNumNights = document.Form1.ddlNumNights[document.Form1.ddlNumNights.selectedIndex].value; 
			
		
	document.Form1.hdnArrDt.value = tempMonth +"/" +tempDay +"/" +tempYear;
	var isCheckDateSuccess = basicCheckDates(document.Form1);
	if (isCheckDateSuccess)
	{
		return checkSearchFormParam(document.Form1);
	}
	else
	{
		return false;
	}
	/*
	if( basicCheckDates(document.Form1))
	{
		if (checkSearchFormParam(document.Form1))
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
	*/
	
}	

function checkSearchFormParam(form)
{
	if (form.ddlEquipment[form.ddlEquipment.selectedIndex].value == "-1")
	{
		alert ("Select an equipment to proceed.");
		form.ddlEquipment.focus();
		return false;
	}
	if (form.ddlNumPeople[form.ddlNumPeople.selectedIndex].value == "-1")
	{
		alert ("Select number of people to proceed.");
		form.ddlNumPeople.focus();
		return false;
	}
	if (form.ddlNumNights[form.ddlNumNights.selectedIndex].value == "-1")
	{
		alert ("Select number of nights to proceed.");
		form.ddlNumNights.focus();
		return false;
	}
	return true;
}
	
function basicCheckDates(form)
{
	
	var eArrivalDate = new Date(g_earliestArrivalDate);
	var eArrivalDateMonthYear = eArrivalDate.getMonth() + 1;
	eArrivalDateMonthYear = eArrivalDateMonthYear + "/" + eArrivalDate.getFullYear();
	var eArrivalDay = eArrivalDate.getDate();
	var tArrivalDate = createDate(eArrivalDateMonthYear,eArrivalDay);
	
	//validate the arrival date
	var isValidDate = validDate(form.hdnArrDt.value);
	var fullDate = form.hdnArrDt.value;
	var dateDiff = compareDates(fullDate, tArrivalDate);
	
	if (isValidDate == -1)
	{
		alert("Not a valid date.\nThe arrival date exceeds the number of days in that month!");
		return false;
	}
	if (dateDiff == 1)
	{
		alert("Arrival date must be greater than or equal to " + tArrivalDate);
		return false;
	}	
	//see if the date is greater than the last checkin date
	var lastBookingDate = new Date(g_lastBookingDate);
	var lastBookingDateMonthYear = lastBookingDate.getMonth() + 1;
	lastBookingDateMonthYear = lastBookingDateMonthYear + "/" + lastBookingDate.getFullYear();
	var lastBookingDay = lastBookingDate.getDate();
	var tlastBookingDate = createDate(lastBookingDateMonthYear,lastBookingDay);
	AllCheckedLastBookingDate = tlastBookingDate

	dateDiff = compareDates(fullDate,tlastBookingDate);
	if (dateDiff == -1)
	{		
		alert("The arrival date cannot be greater than " + AllCheckedLastBookingDate);
		return false;
	}
	return true;
}//end basicCheckDates
//function gets the number of days between date 1 and date 2
function getDaysDiff(date1, date2)
{
	var date1Month = date1.substring(0,date1.indexOf("/"));
	var date1Day = date1.substring(date1.indexOf("/") + 1, date1.lastIndexOf("/"));
	var date1Year = date1.substring(date1.lastIndexOf("/") + 1, date1.length);
	var date2Month = date2.substring(0,date2.indexOf("/"));
	var date2Day = date2.substring(date2.indexOf("/") + 1, date2.lastIndexOf("/"));
	var date2Year = date2.substring(date2.lastIndexOf("/") + 1, date2.length);	
	
	var beginDateObj = new Date(date1Year, date1Month, date1Day);
	var endDateObj = new Date(date2Year, date2Month, date2Day);
	var diff = new Date();
	
	diff.setTime(Math.abs(beginDateObj.getTime() - endDateObj.getTime()));

	var timeDiff = diff.getTime();
	var days = Math.floor(timeDiff / (1000 * 60 * 60 * 24)); 
	return days;
	
	
}
//compares date 1 to date 2 in the format mm/dd/yyyy.  If Date 1 is greater than date 2 it
//returns a -1 if date 1 is less than date 2 it returns a 1 if they are equal a 0 is returned

function compareDates(date1,date2)
{
	var date1Month = date1.substring(0,date1.indexOf("/"));
	var date1Day = date1.substring(date1.indexOf("/") + 1, date1.lastIndexOf("/"));
	var date1Year = date1.substring(date1.lastIndexOf("/") + 1, date1.length);
	var date2Month = date2.substring(0,date2.indexOf("/"));
	var date2Day = date2.substring(date2.indexOf("/") + 1, date2.lastIndexOf("/"));
	var date2Year = date2.substring(date2.lastIndexOf("/") + 1, date2.length);	
	
	if(parseInt(date1Year) > parseInt(date2Year)){return -1;}
	if(parseInt(date1Year) < parseInt(date2Year)){return 1;}
	if(parseInt(date1Year) == parseInt(date2Year))
	{
		if(parseInt(date1Month) > parseInt(date2Month)){return -1;}
		if(parseInt(date1Month) < parseInt(date2Month)){return 1;}
		if(parseInt(date1Month) == parseInt(date2Month))
		{
			if(parseInt(date1Day) > parseInt(date2Day)){return -1;}
			if(parseInt(date1Day) < parseInt(date2Day)){return 1;}
			if(parseInt(date1Day) == parseInt(date2Day)){return 0;}
		}
	}
	
}//end compareDates

//check the validity of the date
function checkDateExists(dateMonthYear,dateDay)
{
	//build date
	var fullDate = createDate(dateMonthYear, dateDay);
	//see if date is valid
	var isDateValid = validDate(fullDate);
	return isDateValid;
	
}


/*
this function will check to see if the date selected is 
actually a valid date.  this function only checks to see if the
day falls within the month
*/
function validDate(isValidDate)
{
	var dateMonth = isValidDate.substring(0,isValidDate.indexOf("/"));
	var dateDay = isValidDate.substring(isValidDate.indexOf("/") + 1, isValidDate.lastIndexOf("/"));
	var dateYear = isValidDate.substring(isValidDate.lastIndexOf("/") + 1, isValidDate.length);
	var intDays = 0;
	
	if(dateMonth == 1 || dateMonth == 3 || dateMonth == 5 || dateMonth == 7 || dateMonth == 8 || dateMonth == 10 || dateMonth == 12)
	{
		intDays = 31;
	}
	
	if(dateMonth == 4 || dateMonth == 6 || dateMonth == 9 || dateMonth == 11)
	{	
		intDays = 30;	
	}
	
	if(dateMonth == 2)
	{
		var isLeapYear = checkYear(dateYear);
		//if the value of isLeapYear is 1 then it is a leap year
		if(isLeapYear == 1)
		{
			intDays = 29;
		//no leap year
		}else{
			intDays = 28;
		}
	}
	
	if(dateDay > intDays)
	{
		//not valid day in the month
		return -1;
	}else{
		//valid day
		return 0;
	}
	
}

function createDate1(dateYear,dateMonth, dateDay)
{
	
	var retDate = dateMonth + "/" + dateDay + "/" + dateYear;
	return retDate;
}

/*this function takes two strings and creates a date*/
function createDate(monthYear, dayOfMonth)
{
	var dateMonth = monthYear.substring(0,monthYear.indexOf("/"));
	var dateDay = dayOfMonth;
	var dateYear = monthYear.substring(monthYear.indexOf("/") + 1,monthYear.length);
	var retDate = dateMonth + "/" + dateDay + "/" + dateYear;
	return retDate;
}

function checkYear(year) 
{ 
	return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) ? 1 : 0;
}

		

		
		