﻿var startDate;
var endDate;
var ONEDAY = 3600 * 24 * 1000;
var threeday = ONEDAY + ONEDAY + ONEDAY;

// Hotel
function filterDates1(cal) {
	var date = cal.date;
	startDate = date.getTime()
    
    var day = (date.getDate());
    var month = (date.getMonth()+1);
    var year = (date.getFullYear());
    
    var hidden = getControl("wucSearchBox1_hCheckIn");
    hidden.value = month + "/" + day + "/" + year;
    
    var date2 = fDateAdd("d", 1, hidden.value);
    var g_day = (date2.getDate());
    var g_month = (date2.getMonth()+1);
    var g_year = (date2.getFullYear());
    
    var addDay = g_day.toString().split("");
    var addMonth = g_month.toString().split("");
    if((addDay.length == 1) && (addMonth.length == 1)){getControl("wucSearchBox1_cldCheckOut_DateText").value = "0" + g_day + "/" + "0" + g_month + "/" + g_year;}
    else{
        if (addDay.length == 1){getControl("wucSearchBox1_cldCheckOut_DateText").value = "0" + g_day + "/" + g_month + "/" + g_year;}
        else if(addMonth.length == 1){getControl("wucSearchBox1_cldCheckOut_DateText").value = g_day + "/" + "0" + g_month + "/" + g_year;}
        else{getControl("wucSearchBox1_cldCheckOut_DateText").value = g_day + "/" + g_month + "/" + g_year;}
    }
    var hidden2 = getControl("wucSearchBox1_hCheckOut");
    hidden2.value = g_month + "/" + g_day + "/" + g_year;
    getControl("wucSearchBox1_txtNight").value = fDateDiff("d", hidden.value, hidden2.value);
}
function filterDates2(cal) {
	var date = cal.date;
	endDate = date.getTime()
    
    var day = (date.getDate());
    var month = (date.getMonth()+1);
    var year = (date.getFullYear());
    
    //Hotel
    var t = getControl("wucSearchBox1_txtNight");
    var hidden = getControl("wucSearchBox1_hCheckIn");
    var hidden2 = getControl("wucSearchBox1_hCheckOut");
    hidden2.value = month + "/" + day + "/" + year;
    t.value = fDateDiff("d", hidden.value, hidden2.value);
}

function disallowDateBefore(date) {
	date = date.getTime();
	if ((startDate != null) && (date < (startDate + ONEDAY))) {
		//start date can't be prior to end date
		return true; 
	} 
	var now = new Date().getTime();
	if (date < (now - ONEDAY)) {
		//start date can't be prior to today
		return true;
	}

	//new modify by mr. maslam toheng
	if (getControl("wucSearchBox1_hCheckIn").value != null){
	    var datecheckin = new Date(getControl("wucSearchBox1_hCheckIn").value).getTime();
	    //if (date < (datecheckin - ONEDAY)){
	    if (date < (datecheckin + ONEDAY)){
            return true;
        }
    }
	return false;
}

function disallowDateAfter(date) {
	date = date.getTime();
	//if ((endDate != null) && (date > (endDate - ONEDAY))) {
	//	//end date can't be before start date
	//	return true;
	//} 
	
	var now = new Date().getTime();
	//if (date < (now - ONEDAY)) { /* for datenow */
	if (date < (now - ONEDAY + threeday)) { /* for datenow +3 */
		//end date can't be prior to today
		return true;
	}
	return false;
}

var request;
var response;
//var City = getControl("wucSearchBox1_ddlCity");
//var status = getControl("wucSearchBox1_lblStatus");

//function populateCity(){
//    try{
//	    var Country = getOptionsDDL("wucSearchBox1_ddlCountry");
//	    City.selectedIndex = 0;
//	    if(Country.value != '' && Country.value != "COUNTRY" ){return SendRequest(Country.value);}
//	    else{
//		    clearSelect(City);
//		    
//		    var HotelName = getControl("wucSearchBox1_ddlHotelName");
//		    
//		    clearSelect(HotelName);
//		    //status.innerText = "";
//	    }
//	}
//	catch(ex){throw ex;}
//}
function InitializeRequest(){
    try{
	    try{request = new ActiveXObject("Microsoft.XMLHTTP");}
	    catch(Ex){
		    try{request = new ActiveXObject("Microsoft.XMLHTTP");}
		    catch(Ex){request = null;}
	    }
	    if(!request&&typeof XMLHttpRequest != 'undefined'){request = new XMLHttpRequest();}
	}
	catch(ex){throw ex;}
}
//function SendRequest(ID){
//    try{
//        getOptionsDDL("wucSearchBox1_ddlCity").innerText = "Loading...";
//        disableControl("wucSearchBox1_ddlCity",true);

//	    InitializeRequest();
//	    
//	    var url = "http://localhost:1177/Ajax.B2C/PageRequest/ReqCity.aspx?CountryCode="+ID;
//	    request.onreadystatechange = ProcessRequest;
//	    request.open("GET", url, true);
//	    request.send(null);
//	
//		//populateHotel();
//	}
//	catch(ex){throw ex;}
//}
//function ProcessRequest(){
//    try{
//	    if(request.readyState == 4){
//		    if(request.status == 200){
//			    if(request.responseText != ""){
//				    populateList(request.responseText);
//				    getOptionsDDL("wucSearchBox1_ddlCity").innerText = "DESTINATION";
//                    disableControl("wucSearchBox1_ddlCity",false);
//			    }
//			    else{
//				    getOptionsDDL("wucSearchBox1_ddlCity").innerText = "Not Found";
//				    disableControl("wucSearchBox1_ddlCity",true);
//				    clearSelect(City);
//			    }
//		    }
//	    }
//	    return true;
//	}
//	catch(ex){throw ex;}
//}
//function populateList(response){
//    try{
//        if (window.ActiveXObject){
//            var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
//            xmlDoc.async="false";
//            xmlDoc.loadXML(response);
//        }
//        else{
//            var parser=new DOMParser();
//            var xmlDoc=parser.parseFromString(response,"text/xml");
//        }

//        var opt;
//        var CityDataElem = xmlDoc.getElementsByTagName("CityData");
//        var CityElem = CityDataElem[0].getElementsByTagName("TbCITY");

//        clearSelect(City);
//        
//        if(CityDataElem.length > 0){
//            for (var i = 0; i < CityElem.length; i++){
//	            var textNode = document.createTextNode(CityElem[i].getAttribute("CityName"));
//	            appendToSelect(City, CityElem[i].getAttribute("CityId"), textNode);
//            }
//        }
//	}
//	catch(ex){throw ex;}
//}
//function appendToSelect(select, value, content){
//    try{
//	    var opt;
//	    opt = document.createElement("option");
//	    opt.value = value;
//	    opt.appendChild(content);
//	    select.appendChild(opt);
//	}
//	catch(ex){throw ex;}
//}
//function clearSelect(select){
//    select.options.length = 1;
//}

function SendToSearchHotel(){
    
    var Country = getOptionsDDL('wucSearchBox1_ddlCountry');
    var City = getOptionsDDL('wucSearchBox1_ddlCity');
    var hotel = getOptionsDDL('wucSearchBox1_ddlHotelName');
    //var CheckIn = getControl('wucSearchBox1_hCheckIn');
    //var CheckOut = getControl('wucSearchBox1_hCheckOut');
    //var CheckOut2 = getControl('wucSearchBox1_cldCheckOut_DateText');
   
    //var check_in = getControl('wucSearchBox1_txtCheckIn');
    //var check_out = getControl('wucSearchBox1_txtCheckOut');
    var check_in = getControl('wucSearchBox1_cldCheckIn_DateText');
    var check_out = getControl('wucSearchBox1_cldCheckOut_DateText');       
    var h_check_in = getControl('wucSearchBox1_hCheckIn');
    var h_check_out = getControl('wucSearchBox1_hCheckOut');
    var ref = getControl('wucSearchBox1_txtRefer');    
        
    if ((Country.value == "COUNTRY" || Country.value == "")){
        alert("Please choose country");
        focusControl('wucSearchBox1_ddlCountry');
        return false;
    }
    else if((City.value == "DESTINATION")||(City.value == "")){
        alert("Please choose city");
        focusControl('wucSearchBox1_ddlCity');
        return false;
    }
    else if(check_in.value==""){
        alert("Please insert checkout date");
        focusControl('wucSearchBox1_txtCheckIn');
        return false;
    }
    else if(check_out.value == ""){
        alert("Please insert checkout date");
        focusControl('wucSearchBox1_txtCheckOut');
        return false;
    }
    else if(!isDate(check_in.value,"d/M/yyyy")&&!isDate(check_in.value,"dd/MM/yyyy")){
        alert("Checkin date string doesn\'t match (dd/MM/yyyy) format!");
        focusControl('wucSearchBox1_txtCheckIn');
        return false;
    }
    else if(!isDate(check_out.value,"d/M/yyyy")&&!isDate(check_out.value,"dd/MM/yyyy")){
        alert("Checkout date string doesn\'t match (dd/MM/yyyy) format!");
        focusControl('wucSearchBox1_txtCheckOut');
        return false;
    }
    else{
        /*var d_in = new Date(check_in.value);//parseDate(check_in.value);
        v_check_in = formatDate(d_in,'MM/dd/yyyy');
        getControl("wucSearchBox1_hCheckIn").value = v_check_in;
        
        var d_out = new Date(check_out.value);//parseDate(check_out.value);
        v_check_out = formatDate(d_out,'MM/dd/yyyy');
        getControl("wucSearchBox1_hCheckOut").value = v_check_out;*/
        
        /*var d_in = new Date(check_in.value);
        v_check_in = d_in.dateFormat("mm/dd/yyyy");
        h_check_in.value = v_check_in;
        
        var d_out = new Date(check_out.value);
        v_check_out = d_out.dateFormat("mm/dd/yyyy");
        h_check_out.value = v_check_out;*/
        /* var d_in = new Date(check_in.value);
        var in_day = d_in.getDate();
        var in_month = d_in.getMonth()+1;
        var in_year = d_in.getFullYear();
        h_check_in.value = in_month + "/" + in_day + "/" + in_year;
        
        var d_out = new Date(check_out.value);
        var out_day = d_out.getDate();
        var out_month = d_out.getMonth()+1;
        var out_year = d_out.getFullYear();
        h_check_out.value = out_month + "/" + out_day + "/" + out_year;*/
        
        var night_no;
        var s_check_in = check_in.value.toString().split("/");
        if(s_check_in.length > 1){
            h_check_in.value = s_check_in[1] + "/" + s_check_in[0] + "/" + s_check_in[2];
        }
        var s_check_out = check_out.value.toString().split("/");
        if(s_check_out.length > 1){
            h_check_out.value = s_check_out[1] + "/" + s_check_out[0] + "/" + s_check_out[2];
        }
        night_no = fDateDiff("d", h_check_in.value, h_check_out.value)

        if (night_no <= 0){
            alert("Check-out date must be later than Check-in date.");
            focusControl('wucSearchBox1_txtCheckOut');
            return false;
        }
        if (night_no >= 1 && night_no <= 120){
            //return true;
        }
        else{
            alert("Number of nights must be between 1 and 120.");
            focusControl('wucSearchBox1_txtCheckOut');
            return false;
        }

        var url = "http://localhost:2676/Ajax.B2C/Loading.aspx?";
        url += "country=" + Country.value + "&";
        url += "city=" + City.value + "&";
        url += "cityzone=ALL ZONE&";
        url += "hotel=" + hotel.value + "&";
        //url += "rating=ALL CATEGORIES&";
        url += "checkin=" + h_check_in.value + "&";
        url += "checkout=" + h_check_out.value + "&";
        url += "night=" + night_no + "&";
        //url += "maxprice=Maximum price per night&";
        if(ref.value == ''){
            url += "tabmode=0";
        }
        else{
            url += "tabmode=0&";
            url += "aff=" + ref.value;
        }
        //alert(url);
        window.parent.location.href = url;
    }
}

// Load Hotels
var request3;
var response3;
//var HotelName = getControl("wucSearchBox1_ddlHotelName");

//function populateHotel(){
//    try{
//	    var Country3 = getOptionsDDL("wucSearchBox1_ddlCountry");	    
//	    var City3 = getOptionsDDL("wucSearchBox1_ddlCity");	    	    	   	    
//	    	         
//	    HotelName.selectedIndex = 0;	    
//	    if((City3.value != "" && City3.value != "DESTINATION")){return SendRequest3(Country3.value, City3.value);}
//	    else{
//		    clearSelect3(HotelName);		    
//		    //status.innerText = "";
//	    }
//	}
//	catch(ex){throw ex;}
//}

//function SendRequest3(CountryCode, CityId){
//    try{
//        getOptionsDDL("wucSearchBox1_ddlHotelName").innerText = "Loading...";
//        disableControl("wucSearchBox1_ddlHotelName",true);	    	    	    

//	    InitializeRequest3();	    	    
//	    
//	    var url3 = "http://localhost:1177/Ajax.B2C/PageRequest/ReqHotelName.aspx?CountryCode="+CountryCode+"&CityId="+CityId;	    
//	    request3.onreadystatechange = ProcessRequest3;
//	    request3.open("GET", url3, true);
//	    request3.send(null);			
//	}
//	catch(ex){throw ex;}
//}

//function InitializeRequest3(){
//    try{
//	    try{request3 = new ActiveXObject("Microsoft.XMLHTTP");}
//	    catch(Ex){
//		    try{request3 = new ActiveXObject("Microsoft.XMLHTTP");}
//		    catch(Ex){request3 = null;}
//	    }
//	    if(!request3&&typeof XMLHttpRequest != 'undefined'){request3 = new XMLHttpRequest();}
//	}
//	catch(ex){throw ex;}
//}

//function clearSelect3(select){
//    select.options.length = 1;
//}

//function ProcessRequest3(){
//    try{
//	    if(request3.readyState == 4){
//		    if(request3.status == 200){
//			    if(request3.responseText != ""){				                      			    
//                    populateList3(request3.responseText);
//			        getOptionsDDL("wucSearchBox1_ddlHotelName").innerText = "ALL HOTELS";
//                    disableControl("wucSearchBox1_ddlHotelName",false);
//			    }
//			    else{				    			    
//				    getOptionsDDL("wucSearchBox1_ddlHotelName").innerText = "ALL HOTELS";
//                    disableControl("wucSearchBox1_ddlHotelName",false);
//			        clearSelect3(HotelName);
//			    }
//		    }
//	    }
//	    return true;
//	}
//	catch(ex){throw ex;}
//}

//function populateList3(response3){
//    try{
//        if (window.ActiveXObject){
//            var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
//            xmlDoc.async="false";
//            xmlDoc.loadXML(response3);
//        }
//        else{
//            var parser=new DOMParser();
//            var xmlDoc=parser.parseFromString(response3,"text/xml");
//        }
//               
//        var opt;
//	    var HotelNameDataElem = xmlDoc.getElementsByTagName("HotelNameData");
//	    var HotelNameElem = HotelNameDataElem[0].getElementsByTagName("TbHOTEL");

//        clearSelect3(HotelName);               
//        
//        if(HotelNameDataElem.length > 0){
//	        for (var i = 0; i < HotelNameElem.length; i++){
//                var textNode = document.createTextNode(HotelNameElem[i].getAttribute("HotelName"));
//		        appendToSelect3(HotelName, HotelNameElem[i].getAttribute("ServiceId"), textNode);
//	        }
//	    }
//	}
//	catch(ex){throw ex;}
//}

//function appendToSelect3(select, value, content){
//    try{
//	    var opt;
//	    opt = document.createElement("option");
//	    opt.value = value;
//	    opt.appendChild(content);
//	    select.appendChild(opt);
//	}
//	catch(ex){throw ex;}
//}
