var firstShowCheckinDate
var firstShowCheckoutDate = 1

var valueFormat=0;

var getCurrentDate=new Date();
getCurrentDate.setDate(getCurrentDate.getDate());

var currentDate;
var currentMonth=getCurrentDate.getMonth();
var currentYear=getCurrentDate.getFullYear();
//These are two textboxes in which dates will be filled
//var firstDateTextBox='txtDepartureDate';
//var secondDateTextBox='txtReturningDate';
var firstDateTextBox;
var secondDateTextBox;
var previousDateTextBox;
var month=new Array(12);

function getActualDate(dd,mm,yy)
{   
    mm=parseInt(mm,10) + 1;    
    var	endDate	= new Date (yy,mm,1);	
	endDate	= new Date (endDate	- (24*60*60*1000));
	var numDaysInMonth = endDate.getDate();	
	if(mm=="01")
	{	    	    
	    if(parseInt(yy,10) % 4==0)
	        numDaysInMonth=29;
	    else
	        numDaysInMonth=28;
	}
	
	if(currentDate-numDaysInMonth>0)
	{	 
	    currentDate=currentDate-numDaysInMonth;	   
	    currentMonth++;	 
	    if(parseInt(currentMonth,10)>11)
	    {
	        currentMonth="00";
	        currentYear++;	        
	    }
	    if(currentMonth<10)
	        currentMonth="0" + currentMonth;	      
	    getObjSW("arrivalMonthYear").value= currentYear+currentMonth;
	}	
}

function setCutDateMonth()
{   
    cutDateNow=getCurrentDate.getDate();
}

function fillTextBox()
{
    
    var arrMonthYearValue=getObjSW("arrivalMonthYear").value.substring(4,6);
	var depMonthYearValue=getObjSW("departureMonthYear").value.substring(4,6);
	
	
	if(valueFormat=="0")
	{	   
        arrMonthYearValue++;
        depMonthYearValue++;        	
        if(arrMonthYearValue<10)
            arrMonthYearValue="0"+arrMonthYearValue;
        if(depMonthYearValue<10)
            depMonthYearValue="0"+depMonthYearValue;
	}
	
	var day1;
	var month1;
	var year1;
	var day2;
	if(caltype==secondDateTextBox)
	{
	    day1=getObjSW(firstDateTextBox).value.split("/")[1];
	    month1=getObjSW(firstDateTextBox).value.split("/")[0];
	    year1=getObjSW(firstDateTextBox).value.split("/")[2];
	}
	else
	{
	    if(previousDateTextBox!='' && getObjSW(firstDateTextBox).value!='')
	    {	        
	        day1=getObjSW(firstDateTextBox).value.split("/")[1];
	        month1=getObjSW(firstDateTextBox).value.split("/")[0];
	        year1=getObjSW(firstDateTextBox).value.split("/")[2];
	    }
	    else
	    {
	        day1=getObjSW("arrivalDay").value;
	        month1=arrMonthYearValue
	        year1=getObjSW("arrivalMonthYear").value.substring(0,4);
	    }

	}
	if(day1.indexOf("0")!=0 && parseInt(day1,10)<10)
	        day1="0" + day1;
	
    day2=getObjSW("departureDay").value
    if(parseInt(day2,10)<10)
	        day2="0" + day2;	
	getObjSW(firstDateTextBox).value=month1+"/"+day1+"/"+year1;
	
    getObjSW(secondDateTextBox).value=depMonthYearValue+"/"+day2+"/"+getObjSW("departureMonthYear").value.substring(0,4);
    calculate_nights();
}


function emptyControl(controlId)
{
    for(i=1;i<(getObjSW(controlId).options.length+1);i++)
    {
        getObjSW(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 = getObjSW(controlId).options.length;         
	         getObjSW(controlId).options[optionRank]=optionObject;         
	         getObjSW(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=getObjSW("arrivalDay").value;    
    emptyControl("arrivalDay");
    
    var arrivalYear=getObjSW("arrivalMonthYear").value.substring(0,4);
	var arrivalMonth=getObjSW("arrivalMonthYear").value.substring(4,6);	
	var arrivalDate=1;
	
	if(getObjSW("arrivalMonthYear").selectedIndex==0)
	    arrivalDate=currentDate;
	
	var endArrivalDate=31;
	if(currentDate!=1)
	{
	    if(getObjSW("arrivalMonthYear").selectedIndex==getObjSW("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;
		  
	getObjSW("arrivalDay").value=chkDate;
	
	if(getObjSW("arrivalMonthYear").selectedIndex==0)
	{
	    if(chkDate<currentDate)
	        getObjSW("arrivalDay").selectedIndex=0;
    }
    
    if(getObjSW("arrivalMonthYear").selectedIndex==getObjSW("arrivalMonthYear").options.length-1)
    {
        if(chkDate>(currentDate-1))
	        getObjSW("arrivalDay").selectedIndex=0;
    }
}

function fillDepartureMonth()
{
    var dayValue=getObjSW("arrivalDay").value;
    var yearValue=getObjSW("arrivalMonthYear").value.substring(0,4);
	var monthValue=getObjSW("arrivalMonthYear").value.substring(4,6);
	
    emptyControl("departureMonthYear");
    
    var monthSubStr=monthValue.substring(0,1);
    if(monthSubStr=="0")
        monthValue=monthValue.substring(1,2);
        
    if(getObjSW("arrivalMonthYear").selectedIndex!=getObjSW("arrivalMonthYear").options.length-1)
    {  
        if(getObjSW("arrivalDay").selectedIndex==getObjSW("arrivalDay").options.length-1)
            monthValue++;
    } 
    else
    {
        if((currentDate==1) && (getObjSW("arrivalMonthYear").selectedIndex==getObjSW("arrivalMonthYear").options.length-1))
        {
            if(getObjSW("arrivalDay").selectedIndex==getObjSW("arrivalDay").options.length-1)
                monthValue++;
        }
    }
      
    if(yearValue==currentYear)
    {
        for(i=monthValue;i<12;i++)
	    {
	        var departureObject=new Option(month[i]+", "+currentYear);
	        var departureLength = getObjSW("departureMonthYear").options.length;
	        getObjSW("departureMonthYear").options[departureLength]=departureObject;
    	    
	        if(i<9)
	            monthValue="0"+(parseInt(i,10)+parseInt(valueFormat,10));
	        else
	            monthValue=parseInt(i,10)+parseInt(valueFormat,10);
    	        
	        if(valueFormat=="0")
	        {
	           if(i==9)
	                monthValue="09";
	        }
    	    
	        ddlValue=currentYear+""+monthValue;
	        getObjSW("departureMonthYear").options[departureLength].value=ddlValue;
	    }
    
	    for(j=0;j<=parseInt(currentMonth,10);j++)
	    {
	        var nextYear=currentYear+1;
	        var departureObject=new Option(month[j]+", "+nextYear);
	        var departureLength = getObjSW("departureMonthYear").options.length;
	        getObjSW("departureMonthYear").options[departureLength]=departureObject;
           
            if(j<9)
	           monthValue="0"+(parseInt(j,10)+parseInt(valueFormat,10));
	        else
	           monthValue=parseInt(j,10)+parseInt(valueFormat,10);
    	    
	        if(valueFormat=="0")
	        {
	           if(j==9)
	                monthValue="09";
	        }
    	    
	        ddlValue=nextYear+""+monthValue;
	        getObjSW("departureMonthYear").options[departureLength].value=ddlValue;
	    } 
	} 
	else
	{
	    for(j=monthValue;j<=parseInt(currentMonth,10);j++)
	    {
	        var nextYear=currentYear+1;
	        var departureObject=new Option(month[j]+", "+nextYear);
	        var departureLength = getObjSW("departureMonthYear").options.length;
	        getObjSW("departureMonthYear").options[departureLength]=departureObject;
           
            if(j<9)
	           monthValue="0"+(parseInt(j,10)+parseInt(valueFormat,10));
	        else
	           monthValue=parseInt(j,10)+parseInt(valueFormat,10);
    	    
	        if(valueFormat=="0")
	        {
	           if(j==9)
	                monthValue="09";
	        }
    	    
	        ddlValue=nextYear+""+monthValue;
	        getObjSW("departureMonthYear").options[departureLength].value=ddlValue;
	    }
	} 
}



/***************************************************************************************************/
// For TextBox //

function SetCheckInDate()
{
    try
    {
       
        var chin=getObjSW(firstDateTextBox).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=getObjSW("arrivalMonthYear").value ;  
        var arrDayValue=getObjSW("arrivalDay").value;
        var arrMonthValue=arrMonthYearValue.substring(4,6);
        var depMonthValue=getObjSW("departureMonthYear").value.substring(4,6);
       
        if(valueFormat=="0")
        {
            chkInMonth--;
            if(chkInMonth<10)
                chkInMonth=0+""+chkInMonth;
        }
        var chkInMonthYearValue=chkInYear+chkInMonth;
        
        getObjSW("arrivalMonthYear").value=chkInMonthYearValue;        
        fillArrivalDate();
        getObjSW("arrivalDay").value=chkInDate;
       
        if((getObjSW("arrivalMonthYear").value == "")||(getObjSW("arrivalDay").value==""))
        {
            alert('Please enter valid Check In Date');
            getObjSW("arrivalMonthYear").value=arrMonthYearValue;
            fillArrivalDate();
            getObjSW("arrivalDay").value=arrDayValue;
         }
         fillDepartureMonth();	
	     fillDepartureDate();
    }
   catch(ex)
   {
        alert('Please enter valid Check In Date in "mm/dd/yyyy" format');
   }
   finally
   {
        alert("SetCheckInDate");
        fillTextBox();
   }
}


function SetCheckOutDate()
{
    try
    {
        var chOut=getObjSW(secondDateTextBox).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=getObjSW("departureMonthYear").value ;  
        var depDayValue=getObjSW("departureDay").value;
        var depMonthValue=getObjSW("departureMonthYear").value.substring(4,6);
       
        if(valueFormat=="0")
        {
            chkOutMonth--;
            if(chkOutMonth<10)
                chkOutMonth=0+""+chkOutMonth;
        }
        var chkOutMonthYearValue=chkOutYear+chkOutMonth;
        
        getObjSW("departureMonthYear").value=chkOutMonthYearValue;
        fillDepartureDate();
        getObjSW("departureDay").value=chkOutDate;
       
        if((getObjSW("departureMonthYear").value == "")||(getObjSW("departureDay").value==""))
        {
            alert('Please enter valid Check Out Date');
            getObjSW("departureMonthYear").value=depMonthYearValue;
            fillDepartureDate();
            getObjSW("departureDay").value=depDayValue;
        }
    }
   catch(ex)
   {
        alert('Please enter valid Check Out Date in "mm/dd/yyyy" format');
   }
   finally
   {
        alert('SetCheckOutDate');
        fillTextBox();
   }
}

function calculate_nights()
{
//	var startdate= new Date();
//	startdate.setTime(Date.parse(getObjSW(firstDateTextBox).value));	
//	
//	var numberdays = getObjSW("txtNights").value;
//    var msPerDay = (24 * 60 * 60 * 1000);
//	var enddate = new Date();
//	enddate.setTime(Date.parse(getObjSW(secondDateTextBox).value));	

//	var nights = ((enddate - startdate) / msPerDay);
//	 getObjSW("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))
//		{getObjSW("txtNights").value = '';}
//	else
//		{getObjSW("txtNights").value = nights;}
}	
	
function calculate_departuredate()
{
	var startdate= new Date();
	startdate.setTime(Date.parse(getObjSW(firstDateTextBox).value));	

	var numberdays = getObjSW("txtNights").value;
	if(numberdays==0)
	{
	    getObjSW("txtNights").value=1;
        numberdays=1;
	}
	if(numberdays=="")
	    getObjSW("txtNights").value=1;
   
    if (isNaN(numberdays))
	{
		alert('You must enter a number in the Nights field.');
		getObjSW("txtNights").value=1;
	}
	else
	{
	    if (numberdays>365)
	    {
		    alert('You must enter date within 365 days.');
		    getObjSW("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 (getObjSW(firstDateTextBox).value != '')
			    getObjSW(secondDateTextBox).value = endmonth + '/' + endday + '/' + endyear;
		}
	}
		
}