
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 get_date(check_in, check_out, nights, action) {
	
	if (action == 'nights'){
		
		if (nights && !isInteger(nights.value)){
	
			alert('Моля въведете коректен брой нощувки!');
			nights.value = '';
			return false;
		}
	}

	if (check_in.value == '' && check_out.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 _nights 		= nights.value;
	var in_year 		= check_in.value.substring(6,10);
	var in_month 		= check_in.value.substring(3,5);
	var in_day 			= check_in.value.substring(0,2);
	var out_year 		= check_out.value.substring(6,10);
	var out_month 		= check_out.value.substring(3,5);
	var out_day 		= check_out.value.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('Моля въведете коректен брой нощувки!');
				nights.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
	    		}
	    		check_out.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
	    		}
    			check_in.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
	    		}
    			check_out.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
	    		}
    			check_in.value = in_day+"-"+in_month+"-"+in_year;
    		}
    		else {
    			var _nights	= Math.round((check_out_time - check_in_time) / oneDay);
    			if (!isInteger(_nights) || isNaN(_nights)){
    				_nights = '';
    			}

    			nights.value = _nights;
    		}

	}
}
