
var valueFormat=0;

var getCurrentDate=new Date();
getCurrentDate.setDate(getCurrentDate.getDate());

var currentDate=getCurrentDate.getDate();
var currentMonth=getCurrentDate.getMonth();
var currentYear=getCurrentDate.getFullYear();
var month=new Array(12);

function SetMonth(Language)
{
    if(Language=="F")
    {
        month[0]="janvier"
        month[1]="f"+String.fromCharCode(233)+"vrierss"
        month[2]="mars"
        month[3]="avril"
        month[4]="mai"
        month[5]="juin"
        month[6]="juillet"
        month[7]="ao"+String.fromCharCode(251)+"t"
        month[8]="septembre"
        month[9]="octobre"
        month[10]="novembre"
        month[11]="d"+String.fromCharCode(233)+"cembre"
    }
    else
    {
        month[0]="January"
        month[1]="February"
        month[2]="March"
        month[3]="April"
        month[4]="May"
        month[5]="June"
        month[6]="July"
        month[7]="August"
        month[8]="September"
        month[9]="October"
        month[10]="November"
        month[11]="December"
    }

    var ddlValue="";
	var monthValue="";
    
	for(i=currentMonth;i<12;i++)
	{
	    var arrivalObject=new Option(month[i]+", "+currentYear);
	    var arrivalLength = getObj("arrivalMonthYear").options.length;
	    getObj("arrivalMonthYear").options[arrivalLength]=arrivalObject;
	    
	    if(i<9)
	        monthValue="0"+(i+valueFormat);
	    else
	        monthValue=i+valueFormat;
	        
	    if(valueFormat=="0")
	    {
	       if(i==9)
	            monthValue="09";
	    }
	    
	    ddlValue=currentYear+""+monthValue;
	    getObj("arrivalMonthYear").options[arrivalLength].value=ddlValue;
	}

	for(j=0;j<=currentMonth;j++)
	{
	    var nextYear=currentYear+1;
	    var arrivalObject=new Option(month[j]+", "+nextYear);
	    var arrivalLength = getObj("arrivalMonthYear").options.length;
	    getObj("arrivalMonthYear").options[arrivalLength]=arrivalObject;
       
        if(j<9)
	       monthValue="0"+(j+valueFormat);
	    else
	       monthValue=j+valueFormat;
	    
	    if(valueFormat=="0")
	    {
	       if(j==9)
	            monthValue="09";
	    }
	    
	    ddlValue=nextYear+""+monthValue;
	    getObj("arrivalMonthYear").options[arrivalLength].value=ddlValue;	    
	}
	
	if(currentDate==1)
	    getObj("arrivalMonthYear").remove(getObj("arrivalMonthYear").options.length-1)
	
	var arrivalMonth=getObj("arrivalMonthYear").value.substring(4,6);
	var arrivalYear=getObj("arrivalMonthYear").value.substring(0,4);
	
	fillDay(currentDate,arrivalMonth,arrivalYear,"arrivalDay",31);
	fillDepartureMonth();	
	fillDepartureDate();
	fillTextBox();
	
    init();
}


function fillTextBox()
{
    var arrMonthYearValue=getObj("arrivalMonthYear").value.substring(4,6);
	var depMonthYearValue=getObj("departureMonthYear").value.substring(4,6);
	
	if(valueFormat=="0")
	{
        arrMonthYearValue++;
        depMonthYearValue++;
        	
        if(arrMonthYearValue<10)
            arrMonthYearValue="0"+arrMonthYearValue;
        if(depMonthYearValue<10)
            depMonthYearValue="0"+depMonthYearValue;
	}
	
	getObj("txtchin").value=arrMonthYearValue+"/"+getObj("arrivalDay").value+"/"+getObj("arrivalMonthYear").value.substring(0,4)
    getObj("txtchout").value=depMonthYearValue+"/"+getObj("departureDay").value+"/"+getObj("departureMonthYear").value.substring(0,4)
    getObj("checkin").value=arrMonthYearValue+"/"+getObj("arrivalDay").value+"/"+getObj("arrivalMonthYear").value.substring(0,4)
    getObj("checkout").value=depMonthYearValue+"/"+getObj("departureDay").value+"/"+getObj("departureMonthYear").value.substring(0,4)
    calculate_nights();
}


function emptyControl(controlId)
{
    for(i=1;i<(getObj(controlId).options.length+1);i++)
    {
        getObj(controlId).remove(i-1);
        i=i-1;
    }
}

function fillDay(startDate,month,year,controlId,endDate)
{
    for(i=startDate;i<=endDate;i++)
	{
        var chdate=new Date(year,month-valueFormat,i);
        if(i==chdate.getDate())
	    {
	         var optionObject=new Option(i);      
	         var optionRank = getObj(controlId).options.length;         
	         getObj(controlId).options[optionRank]=optionObject;         
	         getObj(controlId).options[optionRank].value=i;
	    }
	}
}

function SetArrivalMonthYear()
{    
    fillArrivalDate();
    fillDepartureMonth();	
	fillDepartureDate();
	fillTextBox();
}

function SetDepartureMonthYear()
{
    fillDepartureDate();
    fillTextBox();
}

function SetDepartureDate()
{
    fillTextBox();
}

function SetArrivalDate()
{
    fillDepartureMonth();	
	fillDepartureDate();
	fillTextBox();
}

function fillArrivalDate()
{
    var arrivalDayValue=getObj("arrivalDay").value;
    
    emptyControl("arrivalDay");
    
    var arrivalYear=getObj("arrivalMonthYear").value.substring(0,4);
	var arrivalMonth=getObj("arrivalMonthYear").value.substring(4,6);
	
	var arrivalDate=1;
	
	if(getObj("arrivalMonthYear").selectedIndex==0)
	    arrivalDate=currentDate;
	
	var endArrivalDate=31;
	if(currentDate!=1)
	{
	    if(getObj("arrivalMonthYear").selectedIndex==getObj("arrivalMonthYear").options.length-1)
	        endArrivalDate=currentDate-1;
    }

	fillDay(arrivalDate,arrivalMonth,arrivalYear,"arrivalDay",endArrivalDate);
	
	var chdate=new Date(arrivalYear,arrivalMonth-valueFormat,arrivalDayValue);
	var chkDate=1;
	if(arrivalDayValue==chdate.getDate())
	    chkDate=arrivalDayValue;
		  
	getObj("arrivalDay").value=chkDate;
	
	if(getObj("arrivalMonthYear").selectedIndex==0)
	{
	    if(chkDate<currentDate)
	        getObj("arrivalDay").selectedIndex=0;
    }
    
    if(getObj("arrivalMonthYear").selectedIndex==getObj("arrivalMonthYear").options.length-1)
    {
        if(chkDate>(currentDate-1))
	        getObj("arrivalDay").selectedIndex=0;
    }
}

function fillDepartureMonth()
{
    var dayValue=getObj("arrivalDay").value;
    var yearValue=getObj("arrivalMonthYear").value.substring(0,4);
	var monthValue=getObj("arrivalMonthYear").value.substring(4,6);
	
    emptyControl("departureMonthYear");
    
    var monthSubStr=monthValue.substring(0,1);
    if(monthSubStr=="0")
        monthValue=monthValue.substring(1,2);
        
    if(getObj("arrivalMonthYear").selectedIndex!=getObj("arrivalMonthYear").options.length-1)
    {  
        if(getObj("arrivalDay").selectedIndex==getObj("arrivalDay").options.length-1)
            monthValue++;
    } 
    else
    {
        if((currentDate==1) && (getObj("arrivalMonthYear").selectedIndex==getObj("arrivalMonthYear").options.length-1))
        {
            if(getObj("arrivalDay").selectedIndex==getObj("arrivalDay").options.length-1)
                monthValue++;
        }
    }
      
    if(yearValue==currentYear)
    {
        for(i=monthValue;i<12;i++)
	    {
	        var departureObject=new Option(month[i]+", "+currentYear);
	        var departureLength = getObj("departureMonthYear").options.length;
	        getObj("departureMonthYear").options[departureLength]=departureObject;
    	    
	        if(i<9)
	            monthValue="0"+(parseInt(i)+parseInt(valueFormat));
	        else
	            monthValue=parseInt(i)+parseInt(valueFormat);
    	        
	        if(valueFormat=="0")
	        {
	           if(i==9)
	                monthValue="09";
	        }
    	    
	        ddlValue=currentYear+""+monthValue;
	        getObj("departureMonthYear").options[departureLength].value=ddlValue;
	    }
    
	    for(j=0;j<=currentMonth;j++)
	    {
	        var nextYear=currentYear+1;
	        var departureObject=new Option(month[j]+", "+nextYear);
	        var departureLength = getObj("departureMonthYear").options.length;
	        getObj("departureMonthYear").options[departureLength]=departureObject;
           
            if(j<9)
	           monthValue="0"+(parseInt(j)+parseInt(valueFormat));
	        else
	           monthValue=parseInt(j)+parseInt(valueFormat);
    	    
	        if(valueFormat=="0")
	        {
	           if(j==9)
	                monthValue="09";
	        }
    	    
	        ddlValue=nextYear+""+monthValue;
	        getObj("departureMonthYear").options[departureLength].value=ddlValue;
	    } 
	} 
	else
	{
	    for(j=monthValue;j<=currentMonth;j++)
	    {
	        var nextYear=currentYear+1;
	        var departureObject=new Option(month[j]+", "+nextYear);
	        var departureLength = getObj("departureMonthYear").options.length;
	        getObj("departureMonthYear").options[departureLength]=departureObject;
           
            if(j<9)
	           monthValue="0"+(parseInt(j)+parseInt(valueFormat));
	        else
	           monthValue=parseInt(j)+parseInt(valueFormat);
    	    
	        if(valueFormat=="0")
	        {
	           if(j==9)
	                monthValue="09";
	        }
    	    
	        ddlValue=nextYear+""+monthValue;
	        getObj("departureMonthYear").options[departureLength].value=ddlValue;
	    }
	} 
}

function fillDepartureDate()
{
    emptyControl("departureDay");
    var departureYear=getObj("departureMonthYear").value.substring(0,4);
	var departureMonth=getObj("departureMonthYear").value.substring(4,6);
	var arrivalYear=getObj("arrivalMonthYear").value.substring(0,4);
	var arrivalMonth=getObj("arrivalMonthYear").value.substring(4,6);
	var dayValue=parseInt(getObj("arrivalDay").value)+1;
	
	var chdate=new Date(departureYear,departureMonth-valueFormat,dayValue)
	if(dayValue!=chdate.getDate())
	    dayValue=1;
    if(departureMonth!=arrivalMonth)
       dayValue=1; 
    
    if((departureMonth==arrivalMonth) && (arrivalYear!=departureYear))
       dayValue=1; 
          
    var endDepartureDate=31;
	if(getObj("departureMonthYear").selectedIndex==getObj("departureMonthYear").options.length-1)
        endDepartureDate=currentDate;
    
	fillDay(dayValue,departureMonth,departureYear,"departureDay",endDepartureDate);
}

/***************************************************************************************************/
// For TextBox //

function SetCheckInDate()
{
    try
    {
        var chin=getObj("txtchin").value;
        var chin_array=chin.split("/");
        var chkInMonthlength=chin_array[0].length;
        var chkInDaylength=chin_array[1].length;
        var chkInYearlength=chin_array[2].length;
        
        var chkInMonth=chin_array[0];
        if(chkInMonthlength==1)
            chkInMonth=0+""+chin_array[0];

        var chkInDate=chin_array[1];
        if(chkInDaylength!=1)
        {
            if(chin_array[1].substring(0,1)==0)
                chkInDate=chin_array[1].substring(1,2);
        }
        
        var chkInYear=chin_array[2];
        if(chkInYearlength==1)
            chkInYear=200+""+chin_array[2];
        else
        {
            if(chkInYearlength==2)
                chkInYear=20+""+chin_array[2];
            else
            {
               if(chkInYearlength==3)
                   chkInYear=2+""+chin_array[2];
            }
        }
        
        var arrMonthYearValue=getObj("arrivalMonthYear").value ;  
        var arrDayValue=getObj("arrivalDay").value;
        var arrMonthValue=arrMonthYearValue.substring(4,6);
        var depMonthValue=getObj("departureMonthYear").value.substring(4,6);
       
        if(valueFormat=="0")
        {
            chkInMonth--;
            if(chkInMonth<10)
                chkInMonth=0+""+chkInMonth;
        }
        var chkInMonthYearValue=chkInYear+chkInMonth;
        
        getObj("arrivalMonthYear").value=chkInMonthYearValue;
        fillArrivalDate();
        getObj("arrivalDay").value=chkInDate;
       
        if((getObj("arrivalMonthYear").value == "")||(getObj("arrivalDay").value==""))
        {
            alert('Please enter valid Check In Date');
            getObj("arrivalMonthYear").value=arrMonthYearValue;
            fillArrivalDate();
            getObj("arrivalDay").value=arrDayValue;
         }
         fillDepartureMonth();	
	     fillDepartureDate();
    }
   catch(ex)
   {
        alert('Please enter valid Check In Date in "mm/dd/yyyy" format');
   }
   finally
   {
        fillTextBox();
   }
}


function SetCheckOutDate()
{
    try
    {
        var chOut=getObj("txtchout").value;
        var chOut_Array=chOut.split("/");
        var chkOutMonthlength=chOut_Array[0].length;
        var chkOutDaylength=chOut_Array[1].length;
        var chkOutYearlength=chOut_Array[2].length;
        
        var chkOutMonth=chOut_Array[0];
        if(chkOutMonthlength==1)
            chkOutMonth=0+""+chOut_Array[0];

        var chkOutDate=chOut_Array[1];
        if(chkOutDaylength!=1)
        {
            if(chOut_Array[1].substring(0,1)==0)
                chkOutDate=chOut_Array[1].substring(1,2);
        }
        
        var chkOutYear=chOut_Array[2];
        if(chkOutYearlength==1)
            chkOutYear=200+""+chOut_Array[2];
        else
        {
            if(chkOutYearlength==2)
                chkOutYear=20+""+chOut_Array[2];
            else
            {
               if(chkOutYearlength==3)
                   chkOutYear=2+""+chOut_Array[2];
            }
        }
        
        var depMonthYearValue=getObj("departureMonthYear").value ;  
        var depDayValue=getObj("departureDay").value;
        var depMonthValue=getObj("departureMonthYear").value.substring(4,6);
       
        if(valueFormat=="0")
        {
            chkOutMonth--;
            if(chkOutMonth<10)
                chkOutMonth=0+""+chkOutMonth;
        }
        var chkOutMonthYearValue=chkOutYear+chkOutMonth;
        
        getObj("departureMonthYear").value=chkOutMonthYearValue;
        fillDepartureDate();
        getObj("departureDay").value=chkOutDate;
       
        if((getObj("departureMonthYear").value == "")||(getObj("departureDay").value==""))
        {
            alert('Please enter valid Check Out Date');
            getObj("departureMonthYear").value=depMonthYearValue;
            fillDepartureDate();
            getObj("departureDay").value=depDayValue;
        }
    }
   catch(ex)
   {
        alert('Please enter valid Check Out Date in "mm/dd/yyyy" format');
   }
   finally
   {
        fillTextBox();
   }
}

function calculate_nights()
{
	var startdate= new Date();
	startdate.setTime(Date.parse(getObj("txtchin").value));	
	
	var numberdays = getObj("txtNights").value;
    var msPerDay = (24 * 60 * 60 * 1000);
	var enddate = new Date();
	enddate.setTime(Date.parse(getObj("txtchout").value));	

	var nights = ((enddate - startdate) / msPerDay);
	 getObj("txtNights").value=nights;
	var nights = Math.round(nights);
	
	if (nights < 1)
		alert('Your From Date must be before your To Date');
	else if (isNaN(nights))
		{getObj("txtNights").value = '';}
	else
		{getObj("txtNights").value = nights;}
}	
	
function calculate_departuredate()
{
	var startdate= new Date();
	startdate.setTime(Date.parse(getObj("txtchin").value));	

	var numberdays = getObj("txtNights").value;
	if(numberdays==0)
	{
	    getObj("txtNights").value=1;
        numberdays=1;
	}
	if(numberdays=="")
	    getObj("txtNights").value=1;
   
    if (isNaN(numberdays))
	{
		alert('You must enter a number in the Nights field.');
		getObj("txtNights").value=1;
	}
	else
	{
	    if (numberdays>365)
	    {
		    alert('You must enter date within 365 days.');
		    getObj("txtNights").value=1;
	    }
	    else
	    {
		    var msPerDay = (24 * 60 * 60 * 1000);
		    var enddate = new Date();
		    enddate.setTime(startdate.getTime() + (msPerDay * numberdays));	
		    endday = enddate.getDate();
		    endmonth = enddate.getMonth();
		    endyear = enddate.getYear();
    		
		    if ((endyear  <  200)   &&   (endyear  >  100))
			    var endyear = endyear + 1900;
		    if (endyear  <  100)
			    var endyear = endyear + 2000;
		    if (endmonth == 12)
			    var endmonth = 1;
		    else
			    var endmonth = (endmonth + 1);
		    if (endday  <  10)
			    var endday = '0' + Number(endday);
		    if (endmonth  <  10)
			    var endmonth = '0' + Number(endmonth);
		    if (endmonth  <  10)
			    var endmonth = '0' + Number(endmonth);
		    if (getObj("txtchin").value != '')
			    getObj("txtchout").value = endmonth + '/' + endday + '/' + endyear;
		}
	}
		
}






