// ****************************************************************
// *    Author: Minh Hung         Date:   17/03/2010
// *    Description: Set current date auto for object Date, Month, Year 
// *	Para id date, id month, id year, flag 0 month is number: 1 month char
// ****************************************************************
function SetCurrDateAuto(idD, idM, idY, Flag){
	var Today= new Date();
	var Day = Today.getDate() ;
	var Month = Today.getMonth()+1;
	var Year = Today.getFullYear();
	var aryM = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
	var arrMonth = ['January','February','March','April','May','June','July','August','September','October','November','December'];
	var choose=0;
	// set date
	var objD = document.getElementById(idD);
	while (objD.options.length) {
		objD.remove(0);
	}
	if (objD.nodeName == "SELECT"){
		var i;
		var itemCount =0;// objM.childNodes.length - 1;//number of item in the combobox
		for (i = 1; i < 31; i++){
			opt = new Option(i);
			opt.value =  i;
			objD.options[itemCount] = opt;
			if(i==Day) choose=i-1;
			itemCount++;
		}
		objD.options.selectedIndex=choose;
	}

	//set month
	var objM = document.getElementById(idM);
	while (objM.options.length) {
		objM.remove(0);
	}
	if (objM.nodeName == "SELECT"){
		var i;
		var itemCount =0;// objM.childNodes.length - 1;//number of item in the combobox
		for (i = 1; i <= 12; i++){
			if(i==Month) choose=i-1;
			opt = new Option(Flag==1?arrMonth[i-1]:i);
			opt.value =  i;
			objM.options[itemCount] = opt;
			itemCount++;
		}
		objM.options.selectedIndex=choose;
	}
	
	//set year
	var objY = document.getElementById(idY);
	while (objY.options.length) {
		objY.remove(0);
	}
	
	if (objY.nodeName == "SELECT"){
		var i;
		var itemCount =0;// objM.childNodes.length - 1;//number of item in the combobox
		for (i = Year; i < (Year+2); i++){
			opt = new Option(i);
			opt.value =  i;
			objY.options[itemCount] = opt;
			if(i==Year) choose=itemCount;
			itemCount++;
		}
		objY.options.selectedIndex=choose;
	}
}

function Isdate(datevalue){// mm/dd/yyyy
	var mo, day, yr;
    var entry = datevalue;
    var reLong = /\b\d{1,2}[\/-]\d{1,2}[\/-]\d{4}\b/;
    var reShort = /\b\d{1,2}[\/-]\d{1,2}[\/-]\d{2}\b/;
    var valid = (reLong.test(entry)) || (reShort.test(entry));
    if (valid) {
        var delimChar = (entry.indexOf("/") != -1) ? "/" : "-";
        var delim1 = entry.indexOf(delimChar);
        var delim2 = entry.lastIndexOf(delimChar);
        mo = parseInt(entry.substring(0, delim1), 10);
        day = parseInt(entry.substring(delim1+1, delim2), 10);
        yr = parseInt(entry.substring(delim2+1), 10);
        // handle two-digit year
        if (yr < 100) {
            var today = new Date();
            // get current century floor (e.g., 2000)
            var currCent = parseInt(today.getFullYear() / 100) * 100;
            // two digits up to this year + 15 expands to current century
            var threshold = (today.getFullYear() + 15) - currCent;
            if (yr > threshold) {
                yr += currCent - 100;
            } else {
                yr += currCent;
            }
        }
        var testDate = new Date(yr, mo-1, day);
        if (testDate.getDate() == day) {
            if (testDate.getMonth() + 1 == mo) {
                if (testDate.getFullYear() == yr) {
                    // fill field with database-friendly format
                    //fld.value = mo + "/" + day + "/" + yr;
                    return true;
                } else {
                    alert("There is a problem with the year.");
                }
            } else {
                alert("There is a problem with the month.");
            }
        } else {
            alert("There is a problem with the date.");
        }
    } else {
        alert("Incorrect date format as mm/dd/yyyy.");
    }
    return false;
	
}

function CheckCurrentDate(datevalue){ // mm/dd/yyyy
	//month date, year
	var inD = new Date(datevalue);
	var d = new Date();
	var TodayDate = d.getDate();
	var ThisMonth = d.getMonth()+1;
	var ThisYear = d.getFullYear();
	var currentdate = (d.getMonth()+1)+"/"+d.getDate()+"/"+d.getFullYear();
	var curD = new Date(currentdate);
	if(inD<curD) {
		return false;
	}else{
		return true;
	}
}

function CompareDate(indate, outdate, numday){
	var ONE_DAY = 1000 * 60 * 60 * 24;
	var inD = new Date(indate);
	var outD = new Date(outdate);
	var difference = ((outD - inD)/ONE_DAY);
	if(difference>=numday){
		return true;
	}else{
		return false;	
	}
}

function LandCheckDateValue(){
	var date=document.getElementById('DepartMonth').value+'/'+document.getElementById('DepartDate').value+'/'+document.getElementById('DepartYear').value;
	if (!CheckCurrentDate(date)){
		alert('Departure date is incomplete');
		return false;
	}
	if (!Isdate(date)){
		return false;
	}
	var dateout=document.getElementById('ReturnMonth').value+'/'+document.getElementById('ReturnDate').value+'/'+document.getElementById('ReturnYear').value;
	if (!CompareDate(date, dateout, 0)){
		alert('Return date must be is incomplete');
		return false;
	}
}
