
/*****************************************************************************************************************
If you have any problem in this Java Script then contact me on sohanraj_gupta@yahoo.co.in 
******************************************************************************************************************/

var length;
var valueformat=0;

var arrLength;
var depLength;

function SetMonth(Language)
{
	SMcurrdate = new Date();
    SMcurrdate.setDate(SMcurrdate.getDate());
    if(Language=="F")
    {
        var month=new Array(12)
        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
    {
        var month=new Array(12)
        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 SMmonth=0;
 
	var monthyear="";
	var ddlvalue=""

	SMmonth=SMcurrdate.getMonth();
	SMyear=SMcurrdate.getFullYear();


	for(i=SMmonth;i<12;i++)
	{
	    var optionObject1=new Option(month[i]+", "+SMyear)
	    var optionObject2=new Option(month[i]+", "+SMyear) 
	  
	    var optionRank1 = getObj("arrivalMonthYear").options.length
	    var optionRank2 = getObj("departureMonthYear").options.length
	    
	    getObj("arrivalMonthYear").options[optionRank1]=optionObject1
	    getObj("departureMonthYear").options[optionRank2]=optionObject2
	    
	    if(i<9)
	    {
	        ddlvalue="0"+(i+valueformat)
	       
	    }
	    else
	    {
	        ddlvalue=i+valueformat
	        
	    }
	    if(valueformat=="0")
	    {
	       if(i==9)
	        {
	            ddlvalue="0"+(i+valueformat)
	       
	        } 
	    }
	    
	    monthyear=SMcurrdate.getFullYear()+""+ddlvalue;
	
	    getObj("arrivalMonthYear").options[optionRank1].value=monthyear
	    getObj("departureMonthYear").options[optionRank2].value=monthyear
	    
	}
	//SMmonth=SMcurrdate.getMonth()+1;
	for(j=0;j<=SMmonth;j++)
	{
	    SMnyear=SMcurrdate.getFullYear()+1
	   
	    var optionObject1=new Option(month[j]+", "+SMnyear)
	    var optionObject2=new Option(month[j]+", "+SMnyear)
	    
	    var optionRank1 = getObj("arrivalMonthYear").options.length
	    var optionRank2 = getObj("departureMonthYear").options.length
	    
	    getObj("arrivalMonthYear").options[optionRank1]=optionObject1
	    getObj("departureMonthYear").options[optionRank2]=optionObject2
        if(j<9)
	    {
	       ddlvalue="0"+(j+valueformat)
	    }

	    else
	    {
	     ddlvalue=j+valueformat
	    }
	    
	    if(valueformat=="0")
	    {
	       if(j==9)
	        {
	            ddlvalue="0"+(j+valueformat)
	       
	        } 
	    }
	    
	    monthyear=SMcurrdate.getFullYear()+1+""+ddlvalue;
	    getObj("arrivalMonthYear").options[optionRank1].value=monthyear
	    getObj("departureMonthYear").options[optionRank2].value=monthyear
	    
	}
	SetDate()
	

	
	init();
	
	var AMvalue=getObj("arrivalMonthYear").value.substring(4,6);
	var DMvalue=getObj("departureMonthYear").value.substring(4,6);
	
	if(valueformat=="0")
	{
        AMvalue++;
        DMvalue++;	
        if(AMvalue<10)
        {
            AMvalue="0"+AMvalue;
        }
        if(DMvalue<10)
        {
            DMvalue="0"+DMvalue;
        }
	}
	
	getObj("txtchin").value=AMvalue+"/"+getObj("arrivalDay").value+"/"+getObj("arrivalMonthYear").value.substring(0,4)
    getObj("txtchout").value=DMvalue+"/"+getObj("departureDay").value+"/"+getObj("departureMonthYear").value.substring(0,4)
	calculate_nights();
}

function SetDate()
{

    SDcurrdate = new Date();    
    SDcurrdate.setDate(SDcurrdate.getDate());
   
	var SDday=0;
	SDday=SDcurrdate.getDate();
	
	var SDayear=getObj("arrivalMonthYear").value.substring(0,4)
	var SDamonth=getObj("arrivalMonthYear").value.substring(6,4)
	var Aday=getObj("arrivalDay").value;
	var Dday=getObj("departureDay").value
	var AMIndex=getObj("arrivalMonthYear").selectedIndex
	var DMIndex=getObj("departureMonthYear").selectedIndex
	var SDDyear=getObj("departureMonthYear").value.substring(0,4)
	var SDDmonth=getObj("departureMonthYear").value.substring(6,4)

    if(AMIndex!=0)
    {
	    var SDday=1
    }

    for(l=1;l<getObj("arrivalDay").options.length+1;l++)
    {
        getObj("arrivalDay").remove(l-1)
        l=l-1
    }
    for(l=1;l<getObj("departureDay").options.length+1;l++)
    {      
        getObj("departureDay").remove(l-1)
        l=l-1
    }

    for(j=SDday;j<=31;j++)
	{
        var chdate=new Date(SDayear,SDamonth-valueformat,j)
        if(j==chdate.getDate())
	    {
	         var AoptionObject=new Option(j)       
	         var AoptionRank = getObj("arrivalDay").options.length         
	         getObj("arrivalDay").options[AoptionRank]=AoptionObject	         
	         getObj("arrivalDay").options[AoptionRank].value=j
	    }
 
	}
	 
	length=getObj("arrivalDay").options.length

//	CompareDate('1')
	
	var DMIndex=getObj("departureMonthYear").selectedIndex
	var SDDyear=getObj("departureMonthYear").value.substring(0,4)
	var SDDmonth=getObj("departureMonthYear").value.substring(6,4)
	
    if(DMIndex!=AMIndex)
    {SDday=1}

    for(i=SDday;i<=31;i++)
	{
        var chDdate=new Date(SDDyear,SDDmonth-valueformat,i)
        
        if(i==chDdate.getDate()){
	         var DoptionObject=new Option(i)
	         var DoptionRank = getObj("departureDay").options.length
	         getObj("departureDay").options[DoptionRank]=DoptionObject
	         getObj("departureDay").options[DoptionRank].value=i
	    }

	} 
    if(AMIndex==12){

    currdate = new Date();    
    var day= currdate.getDate();


    for(l=1;l<getObj("arrivalDay").options.length+1;l++){
        getObj("arrivalDay").remove(l-1)
        l=l-1
    }
    for(l=1;l<getObj("departureDay").options.length+1;l++){      
        getObj("departureDay").remove(l-1)
        l=l-1
    }

    for(k=1;k<day;k++){
        var chDdate=new Date(SDDyear,SDDmonth-valueformat,k)
        if(k==chDdate.getDate()){
            var AoptionObject=new Option(k)
            var AoptionRank = getObj("arrivalDay").options.length
            getObj("arrivalDay").options[AoptionRank]=AoptionObject
            getObj("arrivalDay").options[AoptionRank].value=k
        }
    }
    for(l=1;l<=day;l++){
        var chDdate=new Date(SDDyear,SDDmonth-valueformat,l)
        if(l==chDdate.getDate())
        {
            var AoptionObject=new Option(l)
            var AoptionRank = getObj("departureDay").options.length
            getObj("departureDay").options[AoptionRank]=AoptionObject
            getObj("departureDay").options[AoptionRank].value=l
        }
    }
}
if(Aday!="")
	{
        getObj("arrivalDay").value=Aday
        getObj("departureDay").value=Dday
        if(getObj("arrivalDay").value!=Aday)
        {
            getObj("arrivalDay").selectedIndex=0
            
        }
    }
//getObj("arrivalDay").value=Aday

	getObj("departureDay").value=Dday
    CompareDate('1')
   

}

function SetDateD(DDate)
{
//alert(getObj("departureDay").value)

    SDcurrdate = new Date();    
    SDcurrdate.setDate(SDcurrdate.getDate());
    
	var SDday=0;
	SDday=SDcurrdate.getDate();
	
	var SDayear=getObj("departureMonthYear").value.substring(0,4)
	var SDamonth=getObj("departureMonthYear").value.substring(6,4)
	
	var ARRmonth=getObj("arrivalMonthYear").value.substring(6,4) 
//	if(valueformat=="0")
//	{SDamonth++}

if(DDate==1)
{
    getObj("departureMonthYear").selectedIndex=getObj("arrivalMonthYear").selectedIndex;
 
}
	var Dday=getObj("departureDay").value;
    var SAindex=getObj("arrivalMonthYear").selectedIndex
	var AMIndex=getObj("departureMonthYear").selectedIndex
//	alert('raj')
    if(AMIndex!=0)
    {
	    var SDday=1
    }

    for(l=1;l<getObj("departureDay").options.length+1;l++)
    {      
        getObj("departureDay").remove(l-1)
        l=l-1
    }
 for(j=SDday;j<=31;j++)
	{
        var chdate=new Date(SDayear,SDamonth-valueformat,j)
        if(j==chdate.getDate())
	    {	       
	         var DoptionObject=new Option(j)
	         var DoptionRank = getObj("departureDay").options.length
	     // alert(DoptionRank)
	         getObj("departureDay").options[DoptionRank]=DoptionObject
	         getObj("departureDay").options[DoptionRank].value=j
	         
	    }
 
	}
	
	if(SAindex==AMIndex)
	{
       arrLength=length-1;
	   if(getObj("arrivalDay").selectedIndex!=arrLength)
	   {
	     
              for(l=1;l<getObj("departureDay").options.length+1;l++)
              {      
                   getObj("departureDay").remove(l-1)
                   l=l-1
              }
	
              for(j=SDday;j<=31;j++)
              {
                  
                  var chdate=new Date(SDayear,ARRmonth-valueformat,j)
                  if(j==chdate.getDate())
                  {
             	      var DoptionObject=new Option(j)
	                   var DoptionRank = getObj("departureDay").options.length
	                   getObj("departureDay").options[DoptionRank]=DoptionObject
	                   getObj("departureDay").options[DoptionRank].value=j
	              }
	          }
//          }
      
	        var value=getObj("arrivalDay").value
	        value++
	        getObj("departureDay").value=value
	     
	    }
	    else
        {
//    alert('244')
            getObj("departureMonthYear").selectedIndex=getObj("departureMonthYear").selectedIndex+1;
//             if(getObj("departureMonthYear").selectedIndex==1)
//                {

    var SDyear=getObj("departureMonthYear").value.substring(0,4)
	var SDmonth=getObj("departureMonthYear").value.substring(6,4)
	
                  for(l=1;l<getObj("departureDay").options.length+1;l++)
                     {      
                      getObj("departureDay").remove(l-1)
                      l=l-1
                     }
                for(j=1;j<=31;j++)
	                {
                      var chdate=new Date(SDyear,SDmonth-valueformat,j)
                      if(j==chdate.getDate())
	                  {	       
	                    var DoptionObject=new Option(j)
	                   var DoptionRank = getObj("departureDay").options.length
	                   getObj("departureDay").options[DoptionRank]=DoptionObject
	                   getObj("departureDay").options[DoptionRank].value=j
	         
	                }
 
	             }

         }
	}
	
	if(AMIndex==12)
	{

        currdate = new Date();    
        var day= currdate.getDate();
        
        var SDDyear=getObj("departureMonthYear").value.substring(0,4)
	    var SDDmonth=getObj("departureMonthYear").value.substring(6,4)
        
        for(l=1;l<getObj("departureDay").options.length+1;l++)
        {      
            getObj("departureDay").remove(l-1)
            l=l-1
        }

        for(l=1;l<=day;l++)
        {
            var chDdate=new Date(SDDyear,SDDmonth-valueformat,l)
            if(l==chDdate.getDate())
            {
                var AoptionObject=new Option(l)
                var AoptionRank = getObj("departureDay").options.length
                getObj("departureDay").options[AoptionRank]=AoptionObject
                getObj("departureDay").options[AoptionRank].value=l
            }
        }
            var value=getObj("arrivalDay").value
	        value++
	        getObj("departureDay").value=value
    }
}



function CompareDate(CDate)
{
    var ddf=getObj("arrivalDay").value;
    var ddt=getObj("departureDay").value;
   
    if ((ddf)<10)
    {
        ddf=("0"+ddf);
    }
    if ((ddt)<10)
    {
        ddt=("0"+ddt);
    }
    var AMvalue=getObj("arrivalMonthYear").value.substring(4,6);
	var DMvalue=getObj("departureMonthYear").value.substring(4,6);
	
	if(valueformat=="0")
	{
        AMvalue++;
        DMvalue++;	
	}
    
	var dt1=AMvalue + "/" + ddf + "/" + getObj("arrivalMonthYear").value.substring(0,4);
	var dt2=DMvalue + "/" + ddt + "/" + getObj("departureMonthYear").value.substring(0,4);


	dtStartDate = new Date(dt1); 
	dtEndDate = new Date(dt2); 
	
	var today = new Date();

        var arrdayindex=getObj("arrivalDay").selectedIndex;
		var arrLength=getObj("arrivalDay").value
		
		var arrmonth=getObj("arrivalMonthYear").selectedIndex;
        
        
        arrdayindex++
        arrday++
        
	    if (dtEndDate.getTime() <= dtStartDate.getTime())
		{
			
			if(length==arrdayindex)
		    {
		        arrmonth++
                getObj("departureMonthYear").selectedIndex=arrmonth    
                
                        
          	}
		    else
		    {
		        getObj("departureMonthYear").value = getObj("arrivalMonthYear").value;
		        getObj("departureDay").value = arrday;
		    }SetDateD(CDate)
		    
		}

	 if(CDate!=2)
	 {
		 SetDateD(CDate)
     }
	 
        if (dtStartDate.getTime() < (today.getTime() - 86400000))
		   {
		      var arrday=getObj("arrivalDay").value
		      if(length==arrdayindex)
		       {
		         arrmonth++
                 getObj("departureMonthYear").selectedIndex=arrmonth           
            
		    }
		    else
		    {
		        arrday++
		        getObj("departureMonthYear").value = getObj("arrivalMonthYear").value;
		        getObj("departureDay").value = arrday;
		    }
		}
	   
	if (dt1 == '')
		{
		    alert('Please specify a Check In Date.');
		}
	if (dt2 == '')
		{
		    alert('You must enter a Check Out Date');
		}
		
}

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
		{
		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;
			}
		}
		
	}