// JavaScript Document
function check_out_date(){
  var month =0;
  var day = 0;
  var year = 0; 
 
  var in_month = 0;
  var in_day = 0;
  var in_year = 0;
  
  var check_out = document.getElementById("check_out").value;
  var check_in  = document.getElementById("check_in");
  
  
  if (check_out.replace(/^\s+|\s+$/g, '') != ''){
    
  var fp = check_out.indexOf("-");
  var lp = check_out.lastIndexOf("-");
    
  day = check_out.substring(0,fp);
  month = check_out.substring(fp+1,lp);
  year = check_out.substring(lp+1, check_out.length);
 
  }// end of check_out is not null
    
  if (check_in.value.replace(/^\s+|\s+$/g, '') == ''){ // check in data is null
  
    check_in.value =  Daydefore_check_out_day(month,day,year);
  
  }else
  {
  	var in_fp = check_in.value.indexOf("-");
   	var in_lp = check_in.value.lastIndexOf("-");
    
 	var in_day = check_in.value.substring(0,in_fp);
   	var in_month = check_in.value.substring(in_fp+1,in_lp);
   	var in_year = check_in.value.substring(in_lp+1, check_in.value.length);
   	
  
    today =  new Date();
    out_datetime = new Date(year,month-1,day);
    in_datetime = new Date(in_year,in_month-1,in_day); 
    
    var between1 = daysBetween(today,in_datetime);
    var between2 = daysBetween(today,out_datetime);
    
    
    if ( between1 >= between2 ){
      document.getElementById("check_in").value = Daydefore_check_out_day(month,day,year);
     } 
     
  }
}
function check_in_date(){

  var month =0;
  var day = 0;
  var year = 0; 
  
  var out_month = 0;
  var out_day = 0;
  var out_year = 0;
  
  
  var check_in = document.getElementById("check_in").value;
  var check_out  = document.getElementById("check_out");
  
  if (check_in.replace(/^\s+|\s+$/g, '') != ''){
  
    var fp = check_in.indexOf("-");
   	var lp = check_in.lastIndexOf("-");
   	
 	day = check_in.substring(0,fp);
   	month = check_in.substring(fp+1,lp);
   	year = check_in.substring(lp+1, check_in.length);
 
   }// end of check out is not null

  if (check_out.value.replace(/^\s+|\s+$/g, '') == ''){ // check out data is null
 
    check_out.value = Dayafter_check_in_day(month,day,year);
    
  }else
   { 
    var out_fp = check_out.value.indexOf("-");
   	var out_lp = check_out.value.lastIndexOf("-");
    
    out_day = check_out.value.substring(0,out_fp);
   	out_month = check_out.value.substring(out_fp+1,out_lp);
   	out_year = check_out.value.substring(out_lp+1, check_out.value.length);
   	
  
    var today =  new Date();
    var in_datetime = new Date(year,month-1,day);
    var out_datetime = new Date(out_year,out_month-1,out_day); 
    
    var between1 = daysBetween(today,in_datetime);
    var between2 = daysBetween(today,out_datetime);
    
    if ( between1 >= between2 ){
      document.getElementById("check_out").value = Dayafter_check_in_day(month,day,year);
      }
   } 
  
  
}
function Dayafter_check_in_day(month,day,year){
    
    var check_out_day = "";
   	var check_in_date = new Date(year,month-1,day);
    var d_month = check_in_date.getMonth();;
   if (day == '31'){
         if (( d_month == '00' ) || ( d_month == '02' ) || ( d_month == '04' ) || (d_month == '06' ) ||( d_month == '07' ) || ( d_month == '09' )){
          check_in_date.setDate(1);
          check_in_date.setMonth(check_in_date.getMonth()+1);
          check_in_date.setFullYear(year);
         } 
         if (d_month == '11'){
          check_in_date.setDate(1);
          check_in_date.setFullYear(check_in_date.getFullYear()+1);
          check_in_date.setMonth(0);
         }  
   }else if (day == '30') {
        if (( d_month == '03' ) || ( d_month == '05' ) || ( d_month == '08' ) || (d_month == '10')) {
		  check_in_date.setDate(1);
          check_in_date.setMonth(check_in_date.getMonth()+1);
          check_in_date.setFullYear(year);
          }else
          {
          check_in_date.setDate(check_in_date.getDate()+1);
          check_in_date.setMonth(check_in_date.getMonth()); 
          check_in_date.setFullYear(year);
          }
  }else if ((day == '29') && (isLeapYear (year)) && (d_month == '01') ) {
	      check_in_date.setDate(1);
          check_in_date.setMonth(check_in_date.getMonth()+1); 
          check_in_date.setFullYear(year);
  }else if ((day == '28') && (!(isLeapYear (year))) && (d_month == '01') ) {
	      check_in_date.setDate(1);
          check_in_date.setMonth(check_in_date.getMonth()+1); 
          check_in_date.setFullYear(year);     
  }else{
	      check_in_date.setDate(check_in_date.getDate()+1);
	      check_in_date.setMonth(check_in_date.getMonth()); 
          check_in_date.setFullYear(year);
  }    
 
   var ck_day = check_in_date.getDate();
   var ck_month = check_in_date.getMonth();   
   var ck_year = check_in_date.getFullYear();
    
   var s_day = "";
   var s_month = "";

   switch (ck_day) {
      case 1: s_day = "01"; break;
      case 2: s_day = "02"; break;
      case 3: s_day = "03"; break;
      case 4: s_day = "04"; break;
      case 5: s_day = "05"; break;
      case 6: s_day = "06"; break;
      case 7: s_day = "07"; break;
      case 8: s_day = "08"; break;
      case 9: s_day = "09"; break;
      default:
            s_day = ck_day;
   } 
 
  
    switch ( ck_month ) {
      case 0: s_month = "01"; break;
      case 1: s_month = "02"; break;
      case 2: s_month = "03"; break;
      case 3: s_month = "04"; break;
      case 4: s_month = "05"; break;
      case 5: s_month = "06"; break;
      case 6: s_month = "07"; break;
      case 7: s_month = "08"; break;
      case 8: s_month = "09"; break;
      case 9: s_month = "10"; break;
      case 10: s_month = "11"; break;
      case 11: s_month = "12"; break;
      default:
         s_month = ck_month;
   } 
   // check_out_day = s_month +"/"+ s_day + "/" + ck_year;
    
    check_out_day = s_day +"-"+ s_month + "-" + ck_year;
    
    return check_out_day;
}
function Daydefore_check_out_day(month,day,year){
  
   var check_in_day ="";
   var s_day = "";
   var s_month = "";
   var s_year = "";
   var d_day = 0;
   var d_month = 0;
   var d_year = 0;
   
  if (day == '01'){
      if( month == '01' ) {//january
		 d_day = 31;
         d_month = 12;
         d_year = year - 1;
	 } else if(( month == '02' ) ||(month == '04')|| (month == '06') || (month == '08') || (month == '09') || (month == '11') ){
		d_day = 31;
        d_month = month -1;
        d_year = year;
	 } else if( (month =='05') || (month == '07') ||(month == '10')|| (month == '12')  ) {
		d_day = 30;
        d_month = month -1;
        d_year = year;
	 }  else if( month == '03' ) {
	   		  if (isLeapYear (year))
       		   {d_day = 29;
       			d_month = month -1;
       			d_year = year;
       		}else
       			{d_day =28;
       			 d_month = month -1;
       			 d_year= year;
       			}
	 }//end of month ==03	 
     }else{ //end of day ==01
        d_day = day -1;
        d_month = month;
        d_year = year;
    }
   
   switch (d_day) {
      case 1: s_day = "01"; break;
      case 2: s_day = "02"; break;
      case 3: s_day = "03"; break;
      case 4: s_day = "04"; break;
      case 5: s_day = "05"; break;
      case 6: s_day = "06"; break;
      case 7: s_day = "07"; break;
      case 8: s_day = "08"; break;
      case 9: s_day = "09"; break;
      default:
            s_day = d_day;
   }
    
   
  switch ( d_month ) {
      case 1: s_month = "01"; break;
      case 2: s_month = "02"; break;
      case 3: s_month = "03"; break;
      case 4: s_month = "04"; break;
      case 5: s_month = "05"; break;
      case 6: s_month = "06"; break;
      case 7: s_month = "07"; break;
      case 8: s_month = "08"; break;
      case 9: s_month = "09"; break;
      default:
         s_month = d_month;
   } 
    s_year = d_year;
    
   // check_in_day = s_month+"/" + s_day +"/"+ s_year;
    check_in_day = s_day +"-" + s_month + "-" + s_year;
    return check_in_day;
}
function isLeapYear (year)
{
   if (((year % 4)==0) && ((year % 100)!=0) || ((year % 400)==0))
      return (true);
   else
      return (false);
}
function getday(){   
		var dt_date = new Date();
		var dt_year = dt_date.getFullYear();
		var dt_month = dt_date.getMonth();
		var dt_day = dt_date.getDate();
		if (dt_month >12)  dt_month = 0;	
		var d1= Dayafter_check_in_day(dt_month+1,dt_day,dt_year);
  		document.getElementById("check_in").value = d1;      
		var fp = d1.indexOf("-");
      	var lp = d1.lastIndexOf("-");
      	var day_1 = d1.substring(0,fp);
      	var month_1 = d1.substring(fp+1,lp);
      	var year_1 = d1.substring(lp+1, d1.length);
      	var d2 = Dayafter_check_in_day(month_1,day_1,year_1);
        document.getElementById("check_out").value = d2;       
}
function   getcheck_in_out_day(){
      var  day = document.getElementById("day").value;
      var  month = document.getElementById("month").value;
      var  depart_day = document.getElementById("depart_day").value;
      var  depart_month = document.getElementById("depart_month").value;
    
      var dt_date = new Date();
      var dt_month = dt_date.getMonth();
      var year = dt_date.getFullYear();
      
      dt_date.setFullYear(dt_date.getFullYear()+1);
      var newyear = dt_date.getFullYear();
      if ( (day >= 1) && (day <=31)  ){ 
         if (  month >= dt_month ){
             document.getElementById("check_in").value =   day + "-" + month + "-" + year;
             if (depart_month >= dt_month)
                 document.getElementById("check_out").value =  depart_day + "-" + depart_month + "-" + year;
             else
                 document.getElementById("check_out").value =  depart_day + "-" + depart_month + "-" + newyear;
             }
         else{
             document.getElementById("check_in").value =  day + "-" + month + "-" + newyear;
             document.getElementById("check_out").value =  depart_day + "-" + depart_month + "-" + newyear;
         }
      }
      else{
          getday();
          set_check_in_daymonth();
          set_check_out_daymonth();
      }

}
function daysBetween(date1, date2) {
    // The number of milliseconds in one day
    var ONE_DAY = 1000 * 60 * 60 * 24
    // Convert both dates to milliseconds
    var date1_ms = date1.getTime()
    var date2_ms = date2.getTime()
    // Calculate the difference in milliseconds
    var difference_ms = Math.abs(date1_ms - date2_ms)
    // Convert back to days and return
    return Math.round(difference_ms/ONE_DAY)
}