
function updateMe(field, days_forward, days_backwards) {
var field_day_in = document.getElementById("In_Day");
var field_year_in = document.getElementById("In_Year");
var field_month_in = document.getElementById("In_Month");
var field_day_out = document.getElementById("Out_Day");
var field_year_out = document.getElementById("Out_Year");
var field_month_out = document.getElementById("Out_Month");
var field1 = document.getElementById("Output_in");
var field2 = document.getElementById("Output_out");

var object_date_in = new Date(field_year_in.value, field_month_in.value-1,field_day_in.value);
var object_date_out = new Date(field_year_out.value, field_month_out.value-1,field_day_out.value);

var date_in = field_year_in.value+"-"+field_month_in.value+"-"+field_day_in.value;
var date_out = field_year_out.value+"-"+field_month_out.value+"-"+field_day_out.value;

if (field == "in") {
			if (date_out <= date_in) {
				
				var time = object_date_in.getTime();
				
				 time += (Date.DAY)*days_forward; // substract 
				 var date2 = new Date(time);
				 field_day_out.value = date2.print("%d");
				 field_year_out.value = date2.print("%Y");
				 field_month_out.value = date2.print("%m");	
				 }
				 
        } else if  (field == "out") {
			
			if (date_in >= date_out) {
				var time = object_date_out.getTime();
				 time -= (Date.DAY)*days_backwards; // substract 
				 var date2 = new Date(time);
				 field_day_in.value = date2.print("%d");
				 field_year_in.value = date2.print("%Y");
				 field_month_in.value = date2.print("%m");

				}
        }

field1.value = field_year_in.value+"-"+field_month_in.value+"-"+field_day_in.value;
field2.value = field_year_out.value+"-"+field_month_out.value+"-"+field_day_out.value;

nights();
}

function nights () {
	
	var out_nights = document.getElementById("nights");
	
	if (out_nights)	{

	var field_day_in = document.getElementById("In_Day");
	var field_year_in = document.getElementById("In_Year");
	var field_month_in = document.getElementById("In_Month");
	
	

	var field_day_out = document.getElementById("Out_Day");
	var field_year_out = document.getElementById("Out_Year");
	var field_month_out = document.getElementById("Out_Month");
		
	var date_in=new Date();
		date_in.setFullYear(field_year_in.value)
        date_in.setMonth(field_month_in.value-1)
        date_in.setDate(field_day_in.value)
		
		
				
	
	var date_out=new Date();
		date_out.setFullYear(field_year_out.value)
        date_out.setMonth(field_month_out.value-1)
        date_out.setDate(field_day_out.value)
		
		
		
				
	var nights = date_out.getTime() - date_in.getTime();
		
	out_nights.value = Math.round(nights/86400000);
	}
}


function catcalc(cal) {
	
var date = cal.date;
//alert(cal.date);
//alert(cal.params.button.id);
//alert(cal.params.inputField);
var field_day_in = document.getElementById("In_Day");
var field_year_in = document.getElementById("In_Year");
var field_month_in = document.getElementById("In_Month");

var date_in = new Date(field_year_in.value, field_month_in.value, field_day_in.value);

var field_day_out = document.getElementById("Out_Day");
var field_year_out = document.getElementById("Out_Year");
var field_month_out = document.getElementById("Out_Month");

var date_out = new Date(field_year_out.value, field_month_out.value, field_day_out.value);

 	var time = date.getTime()
	
        // use the _other_ field
        var field1 = document.getElementById("Output_in");
		var field2 = document.getElementById("Output_out");
        if (field1 == cal.params.inputField) {
			if (field2.value <=field1.value) {
				 time += (Date.DAY)*2; // substract 
				 var date2 = new Date(time);
				 field2.value = date2.print("%Y-%m-%d");
				}
        } else {
			if (field1.value >=field2.value) {
				 time -= Date.DAY; // substract 
				 var date2 = new Date(time);
				 field1.value = date2.print("%Y-%m-%d");
				}
        }
        
        
		
		
		
//alert (cal.params.button.id);
if (cal.params.button.id=="f_trigger_a") {

	field_day_in.value = date.print("%d");
	field_year_in.value = date.print("%Y");
	field_month_in.value = date.print("%m");
	
	if (date2) {
		field_day_out.value = date2.print("%d");
		field_year_out.value = date2.print("%Y");
	  	field_month_out.value = date2.print("%m");
		}
}

if (cal.params.button.id=="f_trigger_b") {
field_day_out.value = date.print("%d");
field_year_out.value = date.print("%Y");
field_month_out.value = date.print("%m");

	if (date2) {
		field_day_in.value = date2.print("%d");
		field_year_in.value = date2.print("%Y");
	  	field_month_in.value = date2.print("%m");
		}
}

nights();
}

Calendar.setup({

inputField : "Output_in",
//ifFormat : "%m",
button : "f_trigger_a",
onUpdate : catcalc
});
Calendar.setup({
inputField : "Output_out",
//ifFormat : "%m",
button : "f_trigger_b",
onUpdate : catcalc
});
nights();

