
function setupDays()
{
    document.write('<input name="date_sel" type="text" id="date_sel" class="split-date no-transparency range-low-2008-03-06 range-high-2010-03-28 lang-en" style="display:none;" />');
    document.write('<div class="gullArrival"><div class="gullArrivalTitle">Arrival:</div><select class="gullDays" id="date_sel_dd" name="date_sel_dd_Day">');
    var todaysDate = new Date();

    for (var counter = 1; counter<=31;counter++)
    {
        document.write('<option ')  
        document.write('value="' + counter + '"')
        if (counter == parseInt(todaysDate.getDate())) 
	        {
		        document.write(' selected');
		       // document.SpecialOfferFrm.date_sel.value =  counter;
	        }
        document.write('>' + counter )
        document.write('</option>')
    }
    document.write('</select> ')
}
    
function setupMonthYear()
{
    var todaysDate = new Date();
    document.write('<select class="gullMonthYear"  name="date_sel_mm" id="date_sel_mm">')
    var m_names = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");

    for (var yearCounter = todaysDate.getFullYear(); yearCounter<2012; yearCounter++ )
    {
	    if(yearCounter == todaysDate.getFullYear())
	    {
		    for (var monthCounter = todaysDate.getMonth()+1; monthCounter<=12;monthCounter++)
		    {
			    document.write('<option ')
			    document.write('value="' + yearCounter +'|'+ ((monthCounter+= "").length < 2 ? "0" + monthCounter : monthCounter) + '"')
			    if ((monthCounter == parseInt(todaysDate.getMonth()+1)) && (yearCounter == parseInt(todaysDate.getFullYear())))
				    {
					    document.write(' selected="selected"')
					    //document.GullDirectSearchfrm.date_sel.value =  yearCounter +'|'+ ((monthCounter+= "").length < 2 ? "0" + monthCounter : monthCounter);
				    }
			    document.write('>' + m_names[monthCounter-1] + '-' + yearCounter)
			    document.write('</option>')
		    }
	    }
	    else
	    {
		    for (var monthCounter = 1; monthCounter<=12;monthCounter++)
		    {
			    document.write('<option ')
			    document.write('value="' + yearCounter +'|'+ ((monthCounter+= "").length < 2 ? "0" + monthCounter : monthCounter) + '"')

			    if ((monthCounter == parseInt(todaysDate.getMonth()+1)) && (yearCounter == parseInt(todaysDate.getFullYear())))
				    {
					    document.write(' selected="selected"');
					    //document.GullDirectSearchfrm.date_sel.value =  yearCounter +'|'+ ((monthCounter+= "").length < 2 ? "0" + monthCounter : monthCounter);
				    }
			    document.write('>' + m_names[monthCounter-1] + '-' + yearCounter)
			    document.write('</option>')
		    }
	    }
    }
    document.write('</select> ')
    
    var str=document.forms['SpecialOfferFrm'].date_sel_mm.value;
    //var str=document.SpecialOfferFrm.date_sel_mm.value;
	var myStr = str.split("-")
	//hidden controls to hold selected year and month from split function
	document.write('<input type="hidden" name="hdnSelectedMonth" value="' + myStr[0] + '" />')
	document.write('<input type="hidden" name="hdnSelectedYear" value="' + myStr[1] + '" />')
	document.write('<input name="date_sel_fd_but" type="button" id="date_sel_fd_but" class="gullCalendar" /></div>');
	//document.write('&nbsp;<img src="http://www.resireland.com/inc/cal.gif" alt="Calendar" style="Cursor:hand;" ONCLICK="JavaScript:createCalendar(document.SpecialOfferFrm.hdnSelectedMonth.value, document.SpecialOfferFrm.hdnSelectedYear.value)" >')
}


function Search(strAffiliateID,strProviderID,strPremID,strURL,strNumAdults,strNumNights) 
{
    var gullYear = document.forms['SpecialOfferFrm'].date_sel.value;
	var myStr = document.forms['SpecialOfferFrm'].date_sel_mm.value.split("|");
	var gullYear = myStr[0];
	var gullMonth = myStr[1];
	
	//if(isValidDate(document.forms['SpecialOfferFrm'].date_sel_dd.value,document.forms['SpecialOfferFrm'].hdnSelectedMonth.value-1,document.forms['SpecialOfferFrm'].hdnSelectedYear.value))
	if(isValidDate(document.forms['SpecialOfferFrm'].date_sel_dd.value,gullMonth-1,gullYear))
	{
		var deepLink

		deepLink = strURL;
		deepLink = deepLink + '?affiliateid=' + strAffiliateID	;
		deepLink = deepLink + '&ProvID=' + strProviderID;
		deepLink = deepLink + '&PremisesCode=' + strPremID;
		deepLink = deepLink + '&AffiliatevisitID=' + '1';
		deepLink = deepLink + '&selNumAdults=' + strNumAdults 	;
		deepLink = deepLink + '&selNumChildren=0';
		deepLink = deepLink + '&selNumInfants=0';
		deepLink = deepLink + '&selArriveMonth=' + gullMonth ;
		deepLink = deepLink + '&selArriveYear=' + gullYear;
		deepLink = deepLink + '&selArriveDay=' + document.forms['SpecialOfferFrm'].date_sel_dd.value;
		deepLink = deepLink + '&selNumNights=' + strNumNights ;
		deepLink = deepLink + '&isAdvanced=' + '1';
		deepLink = deepLink + '&hdnAction=' + 'search';
		window.parent.location = deepLink;
	}
}

function SplitIntoHiddenControls()
	{
		var str=document.SpecialOfferFrm.selMonthYear.value;
		var myStr = str.split("-")
		//hidden controls to hold selected year and month from split function
		document.forms['SpecialOfferFrm'].hdnSelectedMonth.value=myStr[0];
		document.forms['SpecialOfferFrm'].hdnSelectedYear.value=myStr[1];
	}

function isValidDate(day,month,year)
	{
		/*
		Purpose: return true if the date is valid, false otherwise

		Arguments: day integer representing day of month
		month integer representing month of year
		year integer representing year

		Variables: dteDate - date object

		*/
		var dteDate;
		var todaysDateTime;
		todaysDateTime = new Date();

		//set up a Date object based on the day, month and year arguments
		//javascript months start at 0 (0-11 instead of 1-12)
		//dteDate=new Date(year,month,day,"23","59","59");
		dteDate=new Date(year,month,day,"23","59","59");
		
		if (dteDate>=todaysDateTime)
		{
			/*
			Javascript Dates are a little too forgiving and will change the date to a reasonable guess if it's invalid. We'll use this to our advantage by creating the date object and then comparing it to the details we put it. If the Date object is different, then it must have been an invalid date to start with...
			*/
			return ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));

		}
		else
		{
			return false;			
		}
	}