﻿//Check Date Format.
function checkdate(chk_in_date, chk_out_date) {
    var validformat = /^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
    var returncheckin = false;
    var returncheckout = false;
    if (!validformat.test(chk_in_date.value))
        alert("Please select Check In date.")
    else { //Detailed check for valid date ranges
        var monthfield = chk_in_date.value.split("/")[0]
        var dayfield = chk_in_date.value.split("/")[1]
        var yearfield = chk_in_date.value.split("/")[2]
        var dayobj = new Date(yearfield, monthfield - 1, dayfield)
        if ((dayobj.getMonth() + 1 != monthfield) || (dayobj.getDate() != dayfield) || (dayobj.getFullYear() != yearfield))
            alert("Invalid Day, Month, or Year range detected. Please correct checkin date.")
        else
            returncheckin = true
    }
    if (returncheckin == false) {
        txtcheckindate.select()
        return returncheckin;
    }
    //return returncheckin

    if (!validformat.test(chk_out_date.value))
        alert("Please select Check Out date.")
    else { //Detailed check for valid date ranges
        var monthfield = chk_out_date.value.split("/")[0]
        var dayfield = chk_out_date.value.split("/")[1]
        var yearfield = chk_out_date.value.split("/")[2]
        var dayobj = new Date(yearfield, monthfield - 1, dayfield)
        if ((dayobj.getMonth() + 1 != monthfield) || (dayobj.getDate() != dayfield) || (dayobj.getFullYear() != yearfield))
            alert("Invalid Day, Month, or Year range detected. Please correct checkout date.")
        else
            returncheckout = true;
    }
    if (returncheckout == false) {
        txtcheckoutdate.select()
        return returncheckout;
    }

    var checkinDate = new Date(chk_in_date.value);
    var checkoutDate = new Date(chk_out_date.value);
    var currentDate = new Date();
    var diffCheckInOut;
    var diffCurrentCheckINOUT;

    //Check Current Date And Check In Date.
    //diffCurrentCheckINOUT = Math.floor((checkinDate.getTime() - currentDate.getTime()) / 1000 * 60 * 60 * 24)
    
//    if (diffCurrentCheckINOUT < 0) {
//        alert("Check In Date must be greater or equal Current Date");
//        return false;
//    }

    //Check CheckIn Date And CheckOut Date
    diffCheckInOut = Math.floor((checkoutDate.getTime() - checkinDate.getTime()) / 1000 * 60 * 60 * 24)
    if (diffCheckInOut <= 0) {
        alert("Check Out Date must be greater than Check In Date");
        return false;
    }
    //Check Positive No for Adults
    if (!chkPositiveNum(document.form1.txtadult, "Adults")) {
        return false;
    }
    //Check Positive No for Children
    if (!chkPositiveNum(document.form1.txtChildren, "Children")) {
        return false;
    }
	//Check Positive No for Children
    if (!chkPositiveNum(document.form1.txtRooms, "No. of Room")) {
        return false;
    }

    return true;
}

//set checkout date
function SetCheckOutDate() {
    var dtCheckIn = new Date(document.getElementById('chk_in_date').value);
    //var dtCheckOut = document.getElementById('txtcheckoutdate');
    var one_day = 1000 * 60 * 60 * 24;
    var dtCheckOut = new Date(Math.ceil(dtCheckIn.getTime() + one_day));

    var month = eval(dtCheckOut.getMonth() + 1);
    if (month.toString().length == 1) {
        month = "0" + month;
    }
    var day = dtCheckOut.getDate();
    if (day.toString().length == 1) {
        day = "0" + day;
    }
    //alert(month + "/" + day + "/" + dtCheckOut.getFullYear());
    document.getElementById('chk_out_date').value = month + "/" + day + "/" + dtCheckOut.getFullYear();
}


function chkPositiveNum(obj, fieldtitle) {
    if (chkNum(obj, fieldtitle)) {
        if (eval(obj.value) < 0) {
            alert("Please enter Positive Integer.")
            obj.select();
            return false;
        }
        return true;
    }
    return false;
}

function chkNum(obj, fieldtitle) {
    obj.value = alltrim(obj.value);
    var str = obj.value;
    if (str.length == 0) {
        alert("Please Enter " + fieldtitle + ".");
        obj.select();
        return false;
    }
    var exp = new RegExp("[^0-9\-]");

    if (str.match(exp)) {
        alert("Please Enter Valid Number.");
        obj.select();
        return false;
    }
    return true;
}

function alltrim(str) {
    var ch;
    var rstr;
    var i = 0;
    while (true) {
        ch = str.substring(i, i + 1);
        if (ch != " ")
            break;
        i++;
    }
    str = str.substring(i, str.length);
    i = str.length;
    while (true) {
        ch = str.substring(i, i - 1);
        if (ch != " ")
            break;
        i--;
    }
    str = str.substring(0, i);
    return (str);
}
