function catcalc(cal) {
        var date = cal.date;
        var time = date.getTime()
        
        
        // use the _other_ field
        var field  = document.getElementById("departure_date_show");
        var field2 = document.getElementById("departure_date_value");
        var field3 = document.getElementById("arrival_date_value");
        
        if (field	 == cal.params.inputField) 
        {
        
        } 
        else 
        {		
						
            time2 = time + Date.DAY; 
        }
        var date1 = new Date(time);
        var date2 = new Date(time2);
        field.value = date2.print("%d. %B %Y");
        document.getElementById("departure_date_value").value = date2.print("%Y-%m-%d");
        document.getElementById("arrival_date_value").value 	= date1.print("%Y-%m-%d");
    }
	//input by one-click the button    
		
   Calendar.setup({        
        inputField     :    "arrival_date_show",   // id of the input field
        ifFormat       :    "%d. %B %Y",       // format of the input field    
        timeFormat     :    "24",
        onUpdate       :    catcalc,
        button         :    "trigger_arrival_date",  // trigger for the calendar (button ID)    
        range          : 	[2006, 2010]
    });   
    Calendar.setup({
        inputField     :    "departure_date_show",
        ifFormat       :    "%d. %B %Y",	//"%Y-%m-%d %H:%M",    
        timeFormat     :    "24",
        button         :    "trigger_departure_date",  // trigger for the calendar (button ID)  
        range          : 	[2006, 2010]
    });
    
  //input by one-click the input field
    Calendar.setup2({        
        inputField     :    "arrival_date_show",   // id of the input field
        ifFormat       :    "%d. %B %Y",       // format of the input field    
        timeFormat     :    "24",  
        onUpdate       :    catcalc,        
        range          : 	[2006, 2010]
    });         
    
    Calendar.setup2({
        inputField     :    "departure_date_show",
        ifFormat       :    "%d. %B %Y",	//"%Y-%m-%d %H:%M",    
        timeFormat     :    "24",
        range          : 	[2006, 2010]
    });
   
// added by sailaja
function calNights() {
	var arr_date = document.getElementById('arrival_date_show').value;
	var dep_date = document.getElementById('departure_date_show').value;
	var dep_date_rq = stringToDateMMDDYY(dep_date);
	arr_date = stringToDate(arr_date);
	dep_date = stringToDate(dep_date);
	document.getElementById('departure_date_value').value = dep_date_rq;
	document.getElementById('count_night_show').value = 0;	

	arr_array = new Array();
	dep_array = new Array();

	arr_array = arr_date.split("-");
	dep_array = dep_date.split("-");

	if( parseInt(arr_array[0]) > parseInt(dep_array[0]) ) {
//		alert("1. Departure Date cannot be before the Arrival Date ");
		document.getElementById('count_night_show').value = "";
		document.forms[0].submit();
	} else if( parseInt(arr_array[1]) > parseInt(dep_array[1]) && parseInt(arr_array[0]) == parseInt(dep_array[0]) ) {
//		alert("2. Departure Date cannot be before the Arrival Date ");
		document.getElementById('count_night_show').value = "";
		document.forms[0].submit();
	} else if( parseInt(arr_array[2]) > parseInt(dep_array[2]) && parseInt(arr_array[0]) == parseInt(dep_array[0]) && parseInt(arr_array[1]) == parseInt(dep_array[1]) ) {
//		alert("3. Departure Date cannot be before the Arrival Date ");
		document.getElementById('count_night_show').value = "";
		document.forms[0].submit();
	} else {
		days = 0;
		days = calculateNights(arr_date, dep_date) - 1;
		document.getElementById('count_night_show').value = days;
	}
}

function calculateNights(arr_date, dep_date) {

    arr_array = new Array();
    dep_array = new Array();
    arr_array = arr_date.split("-");
    dep_array = dep_date.split("-");
	if( dep_array[0] > arr_array[0] ) {
		days = 0;
		for( i=parseInt(arr_array[1])+1; i<=12; i++ ) {
			days += daysInMonth( arr_array[0], i );
		}
		for( i=parseInt(arr_array[0])+1; i<dep_array[0]; i++ ) {
			for( j=1; j<=12; j++ ) {
				days += daysInMonth( i, j );
			}	
		}
		for( i=1; i<parseInt(dep_array[1]); i++ ) {
			days += daysInMonth( dep_array[0], i );
		}
		days += ( daysInMonth( arr_array[0], arr_array[1] ) - parseInt(arr_array[2]) ) + 1;
		days += parseInt(dep_array[2]) + 0;
	} else if( dep_array[0] == arr_array[0] ) {
	        days = 0;
        	for( i=parseInt(arr_array[1])+1; i<parseInt(dep_array[1]); i++ ) {
	            days += daysInMonth( arr_array[0], i );
        	}
		if( arr_array[1] != dep_array[1] ) {
		        days += ( daysInMonth( arr_array[0], arr_array[1]) - parseInt(arr_array[2]) ) + 1;
			days += parseInt(dep_array[2]) + 0 ;
		} else {
			days += parseInt(dep_array[2]) - parseInt(arr_array[2]) + 1;
		}
	}
	return days;		
}

function daysInMonth( year, month ) {
	if( month == "1" || month == "3" || month == "5" || month == "7" || month == "8" || month == "10" || month == "12" ) {
		return 31;
	} else if( month == "2" ) {
		if( year % 4 == 0 )
			return 29;
		else
			return 28;
	} else 
		return 30;
}

function stringToDate(str) {
	tmp_array = new Array();
	tmp_array = str.split(" ");
	if( tmp_array.length == 1 ) {	
		return tmp_array[0];
	} else {
		str = "";
		for(i=0; i<tmp_array.length; i++) {
			if( tmp_array[i] != "") {
				if( str == "" ) 
					str = tmp_array[i].substring(0,2);
				else
					str += "-"+tmp_array[i];
			}
		}
		tmp_array = null;
		str = formatDate(str);
		return str;
	}
}

function stringToDateMMDDYY(str) {
        tmp_array = new Array();
        tmp_array = str.split(" ");
        if( tmp_array.length == 1 ) {
                return tmp_array[0];
        } else {
                str = "";
                for(i=0; i<tmp_array.length; i++) {
                        if( tmp_array[i] != "") {
                                if( str == "" )
                                        str = tmp_array[i].substring(0,2);
                                else
                                        str += "-"+tmp_array[i];
                        }
                }
                tmp_array = null;
                str = formatDateMMDDYY(str);
                return str;
        }
}

function formatDate(tmpstr) {
	tmp_array = new Array();
	tmp_array = tmpstr.split("-");
	tmpstr = tmp_array[2]+"-";
	if( tmp_array[1] == "January" || tmp_array[1] == "Januar" ) 
		tmpstr += "1";		
	else if( tmp_array[1] == "February" || tmp_array[1] == "Februar" )
		tmpstr += "2";
	else if( tmp_array[1] == "March" || tmp_array[1] == "März" )
		tmpstr += "3";
	else if( tmp_array[1] == "April" )
		tmpstr += "4";
	else if( tmp_array[1] == "May" || tmp_array[1] == "Mai" )
		tmpstr += "5";
	else if( tmp_array[1] == "June" || tmp_array[1] == "Juni" )
		tmpstr += "6";
	else if( tmp_array[1] == "July" || tmp_array[1] == "Juli" )
		tmpstr += "7";
	else if( tmp_array[1] == "August" )
		tmpstr += "8";
	else if( tmp_array[1] == "September" )
		tmpstr += "9";
	else if( tmp_array[1] == "October" || tmp_array[1] == "Oktober" )
		tmpstr += "10";
	else if( tmp_array[1] == "November" )
		tmpstr += "11";
	else if( tmp_array[1] == "December" || tmp_array[1] == "Dezember" )
		tmpstr += "12";
	tmp = new Array();
	tmp = tmpstr.split("-");
	if(tmp[1]=="") tmpstr += "3";
	vars = tmp_array[0].replace(/^[0]+/g,"");
	tmpstr += "-"+vars;
	return tmpstr;
}

function setNightsToOne() {
	document.getElementById('count_night_show').value = 1;
}

function formatDateMMDDYY(tmpstr) {
        tmp_array = new Array();
        tmp_array = tmpstr.split("-");
        tmpstr = tmp_array[2]+"-";
        if( tmp_array[1] == "January" || tmp_array[1] == "Januar" )
                tmpstr += "01";
        else if( tmp_array[1] == "February" || tmp_array[1] == "Februar" )
                tmpstr += "02";
        else if( tmp_array[1] == "March" || tmp_array[1] == "März" )
                tmpstr += "03";
        else if( tmp_array[1] == "April" )
                tmpstr += "04";
        else if( tmp_array[1] == "May" || tmp_array[1] == "Mai" )
                tmpstr += "05";
        else if( tmp_array[1] == "June" || tmp_array[1] == "Juni" )
                tmpstr += "06";
        else if( tmp_array[1] == "July" || tmp_array[1] == "Juli" )
                tmpstr += "07";
        else if( tmp_array[1] == "August" )
                tmpstr += "08";
        else if( tmp_array[1] == "September" )
                tmpstr += "09";
        else if( tmp_array[1] == "October" || tmp_array[1] == "Oktober" )
                tmpstr += "10";
        else if( tmp_array[1] == "November" )
                tmpstr += "11";
        else if( tmp_array[1] == "December" || tmp_array[1] == "Dezember" )
                tmpstr += "12";
        tmp = new Array();
        tmp = tmpstr.split("-");
        if(tmp[1]=="") tmpstr += "03";
        vars = tmp_array[0];
        tmpstr += "-"+vars;
        return tmpstr;
}
