﻿// JScript File

function ValidateCheckInDate(ddlDay, ddlMon, ddlYear, errorMsg)
{
    var checkInDay   = ddlDay.value;
    var checkInMon   = ddlMon.value;
    var checkInYear  = ddlYear.value;
      
    var checkInDate = checkInMon+"/"+checkInDay+"/"+checkInYear;
    
    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/; 
    var matchArray = checkInDate.match(datePat);

    var currDate       = new Date();
   
    var currDay        = currDate.getDate();
    var currMon        = currDate.getMonth()+1;
    var currYear       = currDate.getFullYear();
    var currdateStr    = currMon+"/"+currDay+"/"+currYear;
	    
    var currdatePat    = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;
    var obj;

    if (matchArray == null)
    { 
        alert(errorMsg[0]); ;
        return false; 
    } 

    month = matchArray[1];
    day = matchArray[3]; 
    year = matchArray[4]; 

    if ((month==4 || month==6 || month==9 || month==11) && day==31)
    {
        if (month == 4)
        {
            alert(errorMsg[2].replace("[monthName]", "April"));
            ddlDay.value = 30;
            ddlDay.focus;
            return false;
        }
        if (month == 6)
        {
            alert(errorMsg[2].replace("[monthName]", "June"));
            ddlDay.value = 30;
            ddlDay.focus;
            return false;
        }

	    if (month == 9)
        {
            alert(errorMsg[2].replace("[monthName]", "September"));
            ddlDay.value = 30;
            ddlDay.focus;
            return false;
        }

        if (month == 11)
        {
            alert(errorMsg[2].replace("[monthName]", "November"));
            ddlDay.value = 30;
            ddlDay.focus;
            return false;
        }
    } 

    if (month == 2)
    {
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); 
        
        if (day>29 || (day==29 && !isleap))
        { 
            var strErrMsgFeb = errorMsg[3];
            strErrMsgFeb = strErrMsgFeb.replace("[year]", year);
            strErrMsgFeb = strErrMsgFeb.replace("[day]", day);
            alert(strErrMsgFeb);
            
            if (isleap) ddlDay.value = 29;
            else ddlDay.value = 28;
            ddlDay.focus;
            return false; 
        } 
    } 	
    
    if (Date.parse(currdateStr) > Date.parse(checkInDate))
    {
        alert(errorMsg[1]); 
        
        ddlDay.value = currDay;
        ddlMon.value = currMon;
        ddlYear.value = currYear;
        ddlDay.focus;
        return false;
    }  
    return true;
}

function ValidateCID(ddlDay, ddlMonYear, errorMsg)
{
    var checkInDay      = ddlDay.value;
    var checkInMonYear  = ddlMonYear.value;
    
    var array = checkInMonYear.split(" ");
    
    var checkInMon  = GetMonthNumber(array[0]);
    var checkInYear = array[1];
    
    var checkInDate = checkInMon+"/"+checkInDay+"/"+checkInYear;
    
    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/; 
    var matchArray = checkInDate.match(datePat);

    var currDate       = new Date();
   
    var currDay        = currDate.getDate();
    var currMon        = currDate.getMonth()+1;
    var currYear       = currDate.getFullYear();
    var currdateStr    = currMon+"/"+currDay+"/"+currYear;
    
    var currdatePat    = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;
    var obj;
    
    if (matchArray == null)
    { 
        alert(errorMsg[0]); 
        return false; 
    } 

    month = matchArray[1];
    day = matchArray[3]; 
    year = matchArray[4]; 

    if ((month==4 || month==6 || month==9 || month==11) && day==31)
    {
        if (month == 4)
        {
            alert(errorMsg[2].replace("[monthName]", "April"));
            ddlDay.value = 30;
            ddlDay.focus;
            return false;
        }
        if (month == 6)
        {
            alert(errorMsg[2].replace("[monthName]", "June"));
            ddlDay.value = 30;
            ddlDay.focus;
            return false;
        }

	    if (month == 9)
        {
            alert(errorMsg[2].replace("[monthName]", "September"));
            ddlDay.value = 30;
            ddlDay.focus;
            return false;
        }

        if (month == 11)
        {
            alert(errorMsg[2].replace("[monthName]", "November"));
            ddlDay.value = 30;
            ddlDay.focus;
            return false;
        }
    } 

    if (month == 2)
    {
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); 

        if (day>29 || (day==29 && !isleap))
        { 
            var strErrMsgFeb = errorMsg[3];
            strErrMsgFeb = strErrMsgFeb.replace("[year]", year);
            strErrMsgFeb = strErrMsgFeb.replace("[day]", day);
            alert(strErrMsgFeb);
            
            if (isleap) ddlDay.value = 29;
            else ddlDay.value = 28;
            ddlDay.focus;
            return false; 
        } 
    } 	
    
    if (Date.parse(currdateStr) > Date.parse(checkInDate))
    {
        //alert("Invalid Check In Date."); 
        alert(errorMsg[1]); 
                
        ddlDay.value = currDay;
        ddlDay.focus;
        return false;
    }
    return true;
}

function GetMonthNumber(monthName)
{
    switch(monthName)
    {
        case "Jan" :
            return 1;
        case "Feb":
            return 2;
        case "Mar" :
            return 3;
        case "Apr":
            return 4;     
        case "May":
            return 5;           
        case "Jun":
            return 6;     
        case "Jul":
            return 7;           
        case "Aug":
            return 8;     
        case "Sep":
            return 9;           
        case "Oct":
            return 10;     
        case "Nov":
            return 11;
        case "Dec":
            return 12;              
    } 
}

function ResetFilter()
{
    document.getElementById("WUCHotelFilters_chkAllRange").checked = true;
	document.getElementById("WUCHotelFilters_chkInstant").checked = false;
	//document.getElementById("WUCHotelFilters_chkStarRatingAll").checked = false;
	//document.getElementById("WUCHotelFilters_chkStarRatingStar").checked = false;
	//document.getElementById("WUCHotelFilters_chkStarRatingBoutique").checked = false;
	//document.getElementById("WUCHotelFilters_chkStarRatingBudget").checked = false;
	//document.getElementById("WUCHotelFilters_ddlLocation").value = "All";
	document.getElementById("WUCHotelFilters_txtHotelName").value = "";
	document.getElementById("WUCHotelFilters_hdnSliderFlag").value = "0";
	document.getElementById("hSliderX1").value = "0";
	document.getElementById("hSliderX2").value = "184";
}
		

function ValidateQuickSearch()
{
    var ddlDay  = document.getElementById("WUCQuickSearch2_ddlDay");
    var ddlMon  = document.getElementById("WUCQuickSearch2_ddlMon");
    var ddlYear  = document.getElementById("WUCQuickSearch2_ddlYear");
    if (ValidateCheckInDate(ddlDay, ddlMon, ddlYear, ErrorMsgCheckInDate) == true)
    {
        ResetFilter();
        return true;
    }
    return false;
}

function DisableCity()
{
    var objCity  = document.getElementById("WUCQuickSearch2_city");
    var objCityLoading  = document.getElementById("cityLoading");

    objCity.style.display = "none";
    objCityLoading.style.display = "";
} 

function initPreloader()
{
    var objQSPreloader = document.getElementById("qs_preloader");
    var objHFPreloader = document.getElementById("hf_preloader");
    var objHLPreloader = document.getElementById("hl_preloader");
    var left = (f_clientWidth() - 520) / 2;
    var top = (f_clientHeight() / 2)+ 150;
    objQSPreloader.style.left = left;
    objQSPreloader.style.top = top;
    objHFPreloader.style.left = left;
    objHFPreloader.style.top = top;
    objHLPreloader.style.left = left;
    objHLPreloader.style.top = top;
} 

function swapCss()
{
   var skincontrol = document.getElementById("msearch_header");
   var tablemain = document.getElementById("Table_Main");
   var tablemain1 = document.getElementById("Table_Main1");
   var skincontrol1 = document.getElementById("msearch_header1");
   var tablemain2 = document.getElementById("Table_Main2");
   if(skincontrol != null)
   {
        skincontrol.className = 'TblControl SknControlType';
   }
   if(tablemain != null)
   {
        tablemain.classname = 'TblControl';
   }
   if(skincontrol1 != null)
   {
        skincontrol1.className = 'GrdHeader SknControlType';
   }
   if(tablemain1 != null)
   {
        tablemain1.classname = 'TblControl';
   }
   if(tablemain2 != null)
   {
        //alert('2');
        tablemain2.classname = 'TblControl';
   }
}

function showMe(obj)
{

    //var divHotel = document.getElementById("HotelSearch");
    //var divFlight = document.getElementById("FlightSearch");					
    if (obj == 0)
    {
	    //divHotel.style.display = '';
	    //divFlight.style.display = 'none';
    }
    else
    {
	    //divHotel.style.display = '';
	    //divFlight.style.display = 'none';
		var scode = document.getElementById("WUC_QuickSearch_sid").value;
	    if (obj == 1)
	    {
		    //document.getElementById("FH").checked = false;
		    window.location = "http://flight.asiatravel.com/crs.flight/www/Flight.aspx?cc=SIN&scode="+ scode //" + Departure;
	    }else
	    {
		    //document.getElementById("FH").checked = true;
		    window.location = "http://flight.asiatravel.com/crs.flight/www/Flight.aspx?t=fh&cc=SIN&scode="+ scode //" + Departure;
	    }
		
    }
}

function bookinginquiry(strHotelCode,strLanguage)
{	
	var mypage = 'inquiry.aspx?hid=' + strHotelCode + '&lan=' + strLanguage + '&hf=1';
	var myname = 'Booking Inquiry';
	var w = 800;
	var h = 600;
	var scroll = 'no';
	var pos = 'center';
		
	if(pos=="random")
	{
		LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;
		TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;
	}

	if(pos=="center")
	{
		LeftPosition=(screen.width)?(screen.width-w)/2:100;
		TopPosition=(screen.height)?(screen.height-h)/2:100;
	}else if((pos!="center" && pos!="random") || pos==null)
	{
		LeftPosition=0;
		TopPosition=20
	}

	settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
		
	win=window.open(mypage,null,settings);
	return false;		
}

function ShowHideDiv2(divname, duration)
{
    try
    {
        $("#" + divname).show();
        $("#" + divname + '_2').show();

        var head = document.getElementById(divname + '_1');					
    	head.innerHTML = head.innerHTML.replace("[+]","")					

        //$(divname + '_2').show();
        
//        $("#" + divname).animate({"height": "toggle"}, {duration: duration});							
//				
//		var ob = document.getElementById(divname).style;							
//		//ob.display = (ob.display == 'none')?'inline': 'none';		
//		ob.display = 'inline';
//		
//		var head = document.getElementById(divname + '_1');					
//		head.innerHTML = head.innerHTML.replace("[+]","")					
//		
//		var ob2 = document.getElementById(divname + '_2').style;					
//		ob2.display = 'inline';
    }
    catch(e)
    {alert("Error encounter at ShowHideDiv2 : " + e);}
}

