
function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}


function xgbs_get_date(action, form){
	var action
	var form

	var f = document.forms[form]
	if (action == 'nights'){
		if (nights && !isInteger(f.tbNights.value)){
			alert( gTLNG_DATA["fill_in_reservation_number"] );
			f.tbNights.value = '';
			return false;
		}
	}

	if (f.tbDateFrom.value == '' && f.tbDateTo.value == ''){
		return false;
	}
	var oneMinute 	= 60 * 1000  // milliseconds in a minute
	var oneHour 	= oneMinute * 60
	var oneDay 		= oneHour * 24
	var oneWeek 	= oneDay * 7

	var months = new Array(12)
	months[0]="01"
	months[1]="02"
	months[2]="03"
	months[3]="04"
	months[4]="05"
	months[5]="06"
	months[6]="07"
	months[7]="08"
	months[8]="09"
	months[9]="10"
	months[10]="11"
	months[11]="12"

	var check_in 		= f.tbDateFrom.value
	var check_out 		= f.tbDateTo.value
	var nights 			= f.tbNights.value
	var in_year 		= check_in.substring(6,10);
	var in_month 		= check_in.substring(3,5);
	var in_day 			= check_in.substring(0,2);
	var out_year 		= check_out.substring(6,10);
	var out_month 		= check_out.substring(3,5);
	var out_day 		= check_out.substring(0,2);
/*
	if (f.check_in.value && !isDate(in_year,in_month,in_day)){
		alert('false');
	}
*/
	if (nights && !isInteger(nights)){
		nights = 0;
	}

	if (action == 'nights'){
			if (!nights){
				alert( gTLNG_DATA["fill_in_reservation_number"] );
				f.tbNights.value = '';
				return false;
			}
    		var check_in_date 	= new Date(in_month+"/"+in_day+"/"+in_year);
    		check_in_date.setHours(12)
    		var check_out_date 	= new Date(out_month+"/"+out_day+"/"+out_year);
    		check_out_date.setHours(12)
    		var check_in_time 	= (check_in_date.getTime() + (2 * 3600000))
    		var check_out_time 	= (check_out_date.getTime() + (2 * 3600000))


			if (!isNaN(check_in_date)){
	    		var check_out_date 	= new Date(check_in_time + (oneDay * nights))
	    		var out_day			= String(check_out_date.getDate());
	    		var out_month		= months[check_out_date.getMonth()];
	    		var out_year		= String(check_out_date.getFullYear());

	    		if (out_day.length == 1){
	    			var out_day = "0"+out_day
	    		}
	    		f.tbDateTo.value = out_day+"-"+out_month+"-"+out_year;

			}
			else if (!isNaN(check_out_date)){
	    		var check_in_date 	= new Date(check_out_time - (oneDay * nights))
	    		var in_day			= String(check_in_date.getDate());
	    		var in_month		= months[check_in_date.getMonth()];
	    		var in_year			= String(check_in_date.getFullYear());
	    		if (in_day.length == 1){
	    			var in_day = "0"+in_day
	    		}
    			f.tbDateFrom.value = in_day+"-"+in_month+"-"+in_year;

			}
		}
	if (action == 'dates'){

    		var check_in_date 	= new Date(in_month+"/"+in_day+"/"+in_year);
    		check_in_date.setHours(12)
    		var check_out_date 	= new Date(out_month+"/"+out_day+"/"+out_year);
    		check_out_date.setHours(12)
    		var check_in_time 	= (check_in_date.getTime() + (2 * 3600000))
    		var check_out_time 	= (check_out_date.getTime() + (2 * 3600000))

    		if (isNaN(check_out_date) && check_in_date && !isNaN(check_in_date) && nights){
    			var check_out_date = new Date((check_in_time + oneDay * nights))
	    		var out_day			= String(check_out_date.getDate());
	    		var out_month		= months[check_out_date.getMonth()];
	    		var out_year		= String(check_out_date.getFullYear());
	    		if (out_day.length == 1){
	    			var out_day = "0"+out_day
	    		}
    			f.tbDateTo.value = out_day+"-"+out_month+"-"+out_year;
    		}
    		else if (isNaN(check_in_date) && check_out_date && !isNaN(check_out_date) && nights){
    			var check_in_date = new Date((check_out_time - oneDay * nights));
	    		var in_day			= String(check_in_date.getDate());
	    		var in_month		= months[check_in_date.getMonth()];
	    		var in_year			= String(check_in_date.getFullYear());
	    		if (in_day.length == 1){
	    			var in_day = "0"+in_day
	    		}
    			f.tbDateFrom.value = in_day+"-"+in_month+"-"+in_year;
    		}
    		else {

    			var nights	= ((check_out_time - check_in_time) / oneDay)
    			var nights	= Math.round(nights)
    			if (!isInteger(nights) || isNaN(nights)){
    				nights = '';
    			}

    			f.tbNights.value = nights;
    		}

	}
}
