﻿var regID;
var destID;
var catID;
function OnChangeRegion(regionID,regionName)
{
    $("#searcherFil01").val(regionName);
    var lang = $("#hf_lang").val();
    regID = regionID;
    
    if(!regID || regID=="")
        regID = -1;
        
    if(catID==null)
        catID = -1;
    
    var showDest = false;
    if(arguments[2]!=null)
        showDest = arguments[2];
    
    if(sType=="S")
        SearchWS.GetDestinations(lang, regID, catID,OnGetCityListCompleted,OnLoadError,{cat:catID,show:showDest});
    else
        SearchWS.GetOffersDestinations(lang, regID,catID,OnSelectOffersRegionCompleted,OnLoadError,{show:showDest});

    if(ac_ele!=null)
        ac_ele.setOptions({ params: {cat:catID,reg:regID,dest:-1 } });
    
}

function OnGetCityListCompleted(result,parms)
{
    var destEle = $("#ulDest");
    try{
        destEle.empty();
        eval("var obj = " + result);
        if(obj!=null)
        {
            for(i=0;i<obj.length;i++)
                destEle.append("<li class=\""+GetPositionCss(i)+ "\"><a class=\"standard\" href=\"javascript:OnChangeDest("+obj[i].V+",'"+GetCleanName(obj[i].T)+"')\">"+obj[i].T+"</a></li>");

            if(parms.show)
                OpenDest();
            else
                CloseRegion();
        }
    }catch(e){}
}
function GetCleanName(val)
{
    return val.replace("'","\\'");
}
function OnChangeDest(dID,destName)
{
    $("#searcherFil02").val(destName);
    var lang = $("#hf_lang").val();
    destID = dID;
    
    if(dID>0)
        CloseDest();
    
    if(ac_ele!=null)
    {
        ac_ele.setOptions({ params: { cat:catID, reg:regID,dest:destID } });
        ac_ele.currentValue = 'get-the-defaults'+catID+"_"+regID+"_"+destID;
        ac_ele.getSuggestions(ac_ele.currentValue);
    }
}

function RunSearch(view,hotelID)
{
    var hotel_val = $('#'+hotelID).val();
    var url = "";
    if(hotel_val)
    {
        url = "StructureDetail_cs"+hotel_val.split('_')[0]+"_st"+hotel_val.split('_')[1]+".aspx";
    }
    else
    {
        if(destID>0)
            url = view + "_de" + destID + ".aspx";
        else
            if(regID>0)
                url = view + "_re" + regID + ".aspx";
    }
    if(url!="")
        document.location = url;
}

function RunOffersSearch(offID)
{
    var val = $('#'+offID).val();
    var url = "";
    if(val)
    {
        url = "OfferDetail_cs"+val.split('_')[0]+"_st"+val.split('_')[1]+".aspx";
        document.location = url;
    }
    else
    {
        if(catID>0||regID>0||destID>0)
        {
            url = "LastMinute_fsv2_sd2_sr1"+(catID>0?"_op"+catID:"")+(regID>0?"_re"+regID:"")+(destID>0?"_de"+destID:"")+".aspx";
            document.location = url;
        }
    }
}

function OnLoadError(result)
{
    alert(result.get_message());
}

function SelectOffersRegion(regionID,regionName)
{
    regID = regionID;
    $("#searcherFil01").val(regionName);
    var lang = $("#hf_lang").val();
    
    SearchWS.GetOffersDestinations(lang, regID,catID!=null?catID:-1,OnSelectOffersRegionCompleted,OnLoadError,{show:false});
    
}

function OnSelectOffersRegionCompleted(result,c)
{
    var destEle = $("#ulDest");
    try{
        destEle.empty();
        eval("var obj = " + result);
        if(obj!=null)
        {
            for(i=0;i<obj.length;i++)
                destEle.append("<li class=\""+GetPositionCss(i)+ "\"><a class=\"standard\" href=\"javascript:SelectOffersDestination("+obj[i].V+",'"+GetCleanName(obj[i].T)+"')\">"+obj[i].T+"</a></li>");

            if(c.show)
                OpenDest();
            else
                CloseRegion();
        }
    }catch(e){}
}


function SelectOffersDestination(dID,destName)
{
    $("#searcherFil02").val(destName);
    var lang = $("#hf_lang").val();
    //SearchWS.GetOffers(lang, regID, dID,catID!=null?catID:-1,OnSelectOffersCompleted,OnLoadError);
    destID = dID;
    
    if(dID>0)
        CloseOfferDest();
    
    if(ac_ele!=null)
    {
        ac_ele.setOptions({ params: { cat:catID, reg:regID,dest:destID } });
        ac_ele.currentValue = 'get-the-defaults'+catID+"_"+regID+"_"+destID;
        ac_ele.getSuggestions(ac_ele.currentValue);
    }
}

function OnSelectOffersCompleted(result,c)
{
    var destEle = $("#ulOffer");
    try{
        destEle.empty();
        eval("var obj = " + result);
        if(obj!=null)
        {
            for(i=0;i<obj.length;i++)
                destEle.append("<li class=\""+((i % 2 == 0)?"unoli":"dueli")+ "\"><a class=\"standard\" href=\"javascript:SelectOffer('"+obj[i].V+"','"+GetCleanName(obj[i].T)+"')\">"+obj[i].T+"</a></li>");

            OpenOffers();
        }
    }catch(e){}
}

function SelectOffer(key,name)
{
    var keys = key.split('_');
    document.location = "OfferDetail_cs"+keys[1]+"_st"+keys[0]+".aspx";
}

function GetPositionCss(index)
{
    if (index == 0 || index % 3 == 0)
        return "unoli";
    else
        if ((index - 1) % 3 == 0)
            return "dueli";
        else
            return "treli";
}

function OpenRegion()
{
    $('#searcherFil01').val("");
	$('#searcherFil02,#searcherFil03,#searcherFil04').css('borderBottom', '#cfd0d2 1px solid');
	$('#searcherFil01').css('borderBottom','1px solid #ffffff');
	
	ShowElement('Fil01','imgRegClose','ulRegion','imgDestOpen','imgCalOpen','imgOffOpen');
	HideElement('Fil02','imgRegOpen','imgDestClose','imgCalClose','imgOffClose','ulDest','ulCat');
	
	try{
	    ac_ele.hide();
	}catch(e){}
}


function CloseRegion()
{	
    HideElement('Fil01','imgRegClose');
    ShowElement('imgRegOpen');
	$('#searcherFil01').css('borderBottom','#cfd0d2 1px solid');
	if($('#searcherFil01').val()=="")
	{
	    if(regID>0||regID==null)
	    {
	        regID = -1;
	        
	        OnChangeRegion(-1,'',false);
	    }
	}
}

function OpenDest()
{
    $('#searcherFil02').val("");
    $('#searcherFil01,#searcherFil03,#searcherFil04').css('borderBottom','#cfd0d2 1px solid');
	$('#searcherFil02').css('borderBottom','1px solid #ffffff');
	
	ShowElement('Fil01','imgRegOpen','ulDest','imgDestClose','imgCalOpen','imgOffOpen');
	HideElement('Fil02','imgRegClose','imgDestOpen','imgCalClose','imgOffClose','ulRegion','ulCat');
	try{
	    ac_ele.hide();
	}catch(e){}
}


function CloseDest()
{	
    $('#searcherFil02').css('borderBottom','#cfd0d2 1px solid');
    HideElement('Fil01','imgDestClose');
	ShowElement('imgDestOpen');
	
	if($('#searcherFil02').val()=="")
	{
	    if(destID>0)
	        destID = -1;
	        
	    if(regID>0)
	        OnChangeDest(-1,'');
	}
}

function CloseOfferDest()
{	
    $('#searcherFil02').css('borderBottom','#cfd0d2 1px solid');
    HideElement('Fil01','imgDestClose');
	ShowElement('imgDestOpen');
	
	if($('#searcherFil02').val()=="")
	{
	    if(destID>0||destID==null)
	        destID = -1;
	        
	    if(regID>0)
	        SelectOffersDestination(-1,"");
	    
	}
}
function OpenOffers()
{
    $('#searcherFil01,#searcherFil02,#searcherFil03').css('borderBottom','#cfd0d2 1px solid');
	$('#searcherFil04').css('borderBottom','1px solid #ffffff ');
	
	ShowElement('Fil02','imgRegOpen','imgDestOpen','imgCalOpen','imgOffClose');
	HideElement('Fil01','imgRegClose','imgDestClose','imgCalClose','imgOffOpen');
}
function CloseOffers()
{	
    $('#searcherFil04').css('borderBottom', '#cfd0d2 1px solid');
    HideElement('Fil02','imgOffClose');
	ShowElement('imgOffOpen');
}

function OpenCat()
{
    $('#searcherFil03').val("");
    $('#searcherFil01,#searcherFil02,#searcherFil04').css('borderBottom', '#cfd0d2 1px solid');
	$('#searcherFil03').css('borderBottom','1px solid #ffffff ');
	
	ShowElement('Fil01','imgRegOpen','imgDestOpen','imgCalClose','imgOffOpen','ulCat');
	HideElement('Fil02','imgRegClose','imgDestClose','imgCalOpen','imgOffClose','ulRegion','ulDest');
	try{
	    ac_ele.hide();
	}catch(e){}
}

function CloseCat()
{	
    $('#searcherFil03').css('borderBottom', '#cfd0d2 1px solid');
    HideElement('Fil01','imgCalClose');
	ShowElement('imgCalOpen');
	
	if($('#searcherFil03').val()=="")
	{
	    if(catID>0)
	        catID = -1;
	        
	    OnChangeCat(catID,'',false);
	}
}
function OnChangeCat(cID,cName,showReg)
{
    $("#searcherFil03").val(cName);
    var lang = $("#hf_lang").val();
    catID = cID;
    
    if(!catID || catID=="")
        catID = -1;
    
    SearchWS.GetRegions(lang, catID,OnGetRegionsCompleted,OnLoadError,{cat:catID,show:showReg});
    
    if(sType=="S")
        SearchWS.GetDestinations(lang, -1, catID,OnGetCityListCompleted,OnLoadError,{cat:catID,show:false});
    else
        SearchWS.GetOffersDestinations(lang, -1,catID,OnSelectOffersRegionCompleted,OnLoadError,{show:false});
    
    if(ac_ele!=null)
        ac_ele.setOptions({ params: {cat:catID,reg:-1,dest:-1 } });
    
}

function OnGetRegionsCompleted(result,c)
{
    var rEle = $("#ulRegion");
    try{
        rEle.empty();
        eval("var obj = " + result);
        if(obj!=null)
        {
            for(i=0;i<obj.length;i++)
                rEle.append("<li class=\""+GetPositionCss(i)+ "\"><a class=\"standard\" href=\"javascript:void(0);\" onclick=\"OnChangeRegion("+obj[i].V+",'"+GetCleanName(obj[i].T)+"')\">"+obj[i].T+"</a></li>");

            if(c.show)
                OpenRegion();
        }
    }catch(e){}
}

function SelectOffersCat(cID,cName)
{
    $("#searcherFil03").val(cName);
    var lang = $("#hf_lang").val();
    SearchWS.GetOffersRegions(lang, cID,OnGetOffersRegionCompleted,OnLoadError,{show:false});
    catID = cID;
}

function OnGetOffersRegionCompleted(result,c)
{
    var rEle = $("#ulRegion");
    try{
        rEle.empty();
        eval("var obj = " + result);
        if(obj!=null)
        {
            for(i=0;i<obj.length;i++)
                rEle.append("<li class=\""+GetPositionCss(i)+ "\"><a class=\"standard\" href=\"javascript:SelectOffersRegion("+obj[i].V+",'"+GetCleanName(obj[i].T)+"')\">"+obj[i].T+"</a></li>");

            if(c.show)
                OpenRegion();
            else
                CloseCat();
        }
    }catch(e){}
}
