var selectedHotelLocationID = "-1";

function formatItem(row) 
{
    return row[0];
}

function selectItemForHotel(li) 
{
    selectedHotelLocationID = li.extra[0];
}

$(document).ready(function()
{   
    $("#txtAirFrom,#txtAirTo,#txtVacFrom,#txtCarLocation").autocomplete(
        "/DesktopModules/Common/AutoSuggest.aspx",
        {
            minChars:3,
            lineSeparator:"~",                   
            width:300,
            cacheLength:30,
            delay:200,
            formatItem:formatItem  
        }
    );   
    
    $("#txtVacTo").autocomplete(
        "/DesktopModules/Common/AutoSuggest.aspx",
        {
            minChars:3,
            lineSeparator:"~",                   
            width:300,
            cacheLength:1,
            delay:200,
            formatItem:formatItem,   
            extraParams:{t:"V"}
        }
    );
    
    $("#txtHotDest").autocomplete(
        "/DesktopModules/Common/AutoSuggest.aspx",
        {
            minChars:3,
            lineSeparator:"~",                   
            width:300,
            cacheLength:30,
            delay:200,           
            extraParams:{t:"H"},
            onItemSelect:selectItemForHotel
        }
    );

    $("#txtHotDest").keydown(function()
        {
            var evnt = window.event;
	        if (evnt.keyCode)
	        {
	            var keyCode = evnt.keyCode;
	        }
	        else if (evnt.which)
	        {
	            var keyCode = evnt.which;
	        }
	        if(keyCode >= 32 && keyCode <= 127 || keyCode == 8)
	        {
                selectedHotelLocationID = "-1";
            }
        }
    );

    var fromDate = new Date();
    var toDateDate = new Date();
	
    fromDate.setDate(fromDate.getDate() + 14);
    toDateDate.setDate(toDateDate.getDate() + 21);
	
    setDate("txtAirDepDate", fromDate);
    setDate("txtAirRetDate", toDateDate);
	
    setDate("txtHotInDate", fromDate);
    setDate("txtHotOutDate", toDateDate);
	
    setDate("txtCarPickDate", fromDate);
    setDate("txtCarDropDate", toDateDate);
	
    setDate("txtVacDepDate", fromDate);
    setDate("txtVacRetDate", toDateDate);	
    setDate("txtVacInDate", fromDate);
    setDate("txtVacOutDate", toDateDate);
    
    toggleTabs();
});

function updateDate(selectFrom, changeThis)
{
    try
    {
        firstDate = new Date($("#" + selectFrom).val());
        secondDate = new Date($("#" + changeThis).val());
        if(firstDate > secondDate)
        {
            $("#" + changeThis).val((firstDate.getMonth() + 1) + "/" + firstDate.getDate() + "/" + firstDate.getFullYear());
        }
    }
    catch(ex)
    {
    }
}

function getAirportCode(elementID)
{
	var strUrl = "/DesktopModules/Fareportal/Modules/Flight/AirportCode.aspx?frm=Form&textbox=" + elementID;
	window.open(strUrl,"AirportPicker","toolbar=no,status=no,resizable=no,scrollbars=yes,width=650,height=700,top=100,left=100");
}

function getElement(elementID)
{
	return document.getElementById(elementID);
}

function toggleVisisble(elementID)
{
    if (getElement(elementID).style.display == "none")
    {
        getElement(elementID).style.display = "";
    }
    else
    {
        getElement(elementID).style.display = "none";
    }
}

function setDate(elementID, dateToUse)
{
    try
    {
	getElement(elementID).value = (dateToUse.getMonth() + 1) + "/" + dateToUse.getDate() + "/" + dateToUse.getFullYear();
    }
    catch(err)
    {
    }
}

function hideElement(elementID)
{
    try
    {
	    getElement(elementID).style.display = "none";
    }
    catch(err)
    {
    }
}

function toggleTabs()
{
    hideElement("tabAir");
    hideElement("tabCar");
    hideElement("tabHot");
    hideElement("tabVac");

	if (getElement("rbCar").checked)
	{		
		getElement("tabCar").style.display = "";		
	}
	else if (getElement("rbHot").checked)
	{		
		getElement("tabHot").style.display = "";		
	}
	else if (getElement("rbVac").checked)
	{		
		getElement("tabVac").style.display = "";
	}
	else
	{
        getElement("tabAir").style.display = "";		
	}	
}

var searchStr;

function searchAir()
{
    searchStr = "/Default.aspx?tabid=2300";
    
    searchStr += "&from=" + getElement("txtAirFrom").value 
                  + "&fromDt=" + getElement("txtAirDepDate").value
                  + "&fromTm=" + getElement("ddlAirDepTime").value 
                  + "&to=" + getElement("txtAirTo").value
                  + "&toDt=" + getElement("txtAirRetDate").value 
                  + "&toTm=" + getElement("ddlAirRetTime").value
                  + "&rt=" + getElement("rbAirRT").checked 
                  + "&ad=" + getElement("ddlAirAdults").value
                  + "&ch=" + getElement("ddlAirChildren").value 
                  + "&se=" + getElement("ddlAirSeniors").value
                  + "&class=" + getElement("ddlAirClass").value;
                  
    location.href = searchStr;
}

function searchHot()
{
    searchStr = "/Default.aspx?tabid=2300";
    
    searchStr += "&to=" + getElement("txtHotDest").value 
                  + "&fromDt=" + getElement("txtHotInDate").value
                  + "&toDt=" + getElement("txtHotOutDate").value 
                  + "&ad=" + getElement("ddlHotR1Adults").value
                  + (selectedHotelLocationID != '-1' ? "&lid=" + selectedHotelLocationID : "")
                  + "&ht=";
                  
    location.href = searchStr;
}

function searchCar()
{
    searchStr = "/Default.aspx?tabid=2300";
    
    searchStr += "&to=" + getElement("txtCarLocation").value 
                  + "&fromDt=" + getElement("txtCarPickDate").value
                  + "&fromTm=" + getElement("ddlCarPickTime").value + getElement("ddlCarPickAMPM").value
                  + "&toDt=" + getElement("txtCarDropDate").value
                  + "&toTm=" + getElement("ddlCarDropTime").value + getElement("ddlCarDropAMPM").value
                  + "&cr=Default";
                  
    location.href = searchStr;
}

function searchVac()
{
    searchStr = "/Default.aspx?tabid=3994";
       
    var rooms = 1;
    
    if(getElement("ddlVacR2Adults").value > 0)
    {
        rooms = 2;
    }
        
    searchStr += "&from=" + getElement("txtVacFrom").value 
                + "&to=" + getElement("txtVacTo").value 
                + "&dep=" + getElement("txtVacDepDate").value 
                + "&ret=" + getElement("txtVacRetDate").value
                + "&svc=" + getElement("ddlVacClass").value 
                + "&rm=" + rooms
                + "&r1a=" + getElement("ddlVacR1Adults").value;
                 
    if(rooms == 2)
    {
        searchStr += "&r2a=" + getElement("ddlVacR2Adults").value;
    }
    
    if(getElement("cbVacPartialHotel").checked)
    {
        searchStr += "&cin=" + getElement("txtVacInDate").value + "&cout=" + getElement("txtVacOutDate").value;
    }     
    
    location.href = searchStr;
}