﻿    function showSearchResult() {
        theForm.submit();
    }
    
    function clearCheckboxes(country) {
        setCheckboxes(country, false);
        document.getElementById("ctl00_SearchBox1_check_all_" + country).checked = true;
    }
    
    function setCheckboxes(country, checked) {
        var areaPanel = document.getElementById(areaPanelprefix + country);
        var checkboxes = areaPanel.getElementsByTagName("input");
        
        var i;
        
        for (i=0; i<checkboxes.length; i++)
            checkboxes[i].checked = checked;
    }
    
    function checkAll(country) {
        var chk = document.getElementById("ctl00_SearchBox1_check_all_" + country).checked;
        clearCheckboxes(country);
        
        doCallback(country, chk ? "" : "0", calStart.getSelectedDate().toLocaleString(), 
            ddlPeriod.get_selectedIndex(), cboVacationStyle.getSelectedItem().get_value());
    }
    
    function enableCheckboxes(country, enable) {/*
        var areaPanel = document.getElementById(areaPanelprefix + country);
        var checkboxes = areaPanel.getElementsByTagName("input");
        
        var i;
        
        for (i=0; i<checkboxes.length; i++)
            checkboxes[i].disabled = !enable;*/
    }
    
    function enableCheckboxesInCurrentCountry(enable) {
        var country = cboCountry.getSelectedItem().get_value();
        
        if (country > 0)
            enableCheckboxes(country, enable);
    }
    
    function enableSearchBar(enable) {
        enableCheckboxesInCurrentCountry(enable);
        
        if (enable) {
            cboCountry.enable();
            ddlPeriod.enable();
        } else {
            cboCountry.disable();
            ddlPeriod.disable();
        }
    }
    
    function setCounter(s) {
        document.getElementById("ctl00_cntLeft_SearchBar1_NavBar2_ctl00_cntLeft_SearchBar1_NavBar2_p1_Callback1").innerHTML = s;
    }
    
    function encodeBool(b) {
        return b ? "1" : "0";
    }

    function doCallback(country, areas, date, period, vacationStyle) {
        /*
        var beach = "999999"; // cboBeach.getSelectedItem().get_value();
        var pool = document.getElementById("ctl00_SearchBox1_chkPool").checked;
        var kpool = document.getElementById("ctl00_SearchBox1_chkKidsPool").checked;
        var air = document.getElementById("ctl00_SearchBox1_chkAircondition").checked;
        var pets = document.getElementById("ctl00_SearchBox1_chkPets").checked;
    
        var props = encodeBool(pool) + encodeBool(kpool) + encodeBool(air) + encodeBool(pets);
        
        Callback1.Callback(country, areas, date, period, vacationStyle, beach, props);*/
    }
    
    function countryChanged(sender, eventArgs) {    /*
        if (lastCountrySel > 0) {
            document.getElementById(areaPanelprefix + lastCountrySel).style.display = "none";
        }*/
        
        var country = sender.getSelectedItem().get_value();
        lastCountrySel = country;
        
        if (country > 0) {
            //clearCheckboxes(country);
           
            //document.getElementById(areaPanelprefix + country).style.display = "block";  
            doCallback(country, "", calStart.getSelectedDate().toLocaleString(), ddlPeriod.get_selectedIndex(), cboVacationStyle.getSelectedItem().get_value());
        } else {
    }

    updateAreas(country);
    }
    
    function getVacationStyleObject(vs) {
        var i;
        
        for (i=0; i<vacationStyleMap.length; i++)
            if (vacationStyleMap[i].id == vs)
                return vacationStyleMap[i];
                
        return null;
    }
    
    function hasCountries(c, vo) {
        var i;
        
        for (i=0; i<vo.countries.length; i++)
            if (vo.countries[i] == c)
                return true;
                
        return false;
    }
    
    function removeEmptyCountries(vs) {
        var vo = getVacationStyleObject(vs);
        var item, i;
        
        cboCountry.beginUpdate();
        
        while (item = cboCountry.getItem(1))
            cboCountry.removeItemAt(1);
        
        for (i=0; i<countries.length; i++)
            if (hasCountries(countries[i].id, vo)) {
                item = new ComponentArt.Web.UI.ComboBoxItem();
                item.set_value(countries[i].id);
                item.set_text(countries[i].name);
                cboCountry.addItem(item);
            }
        
        cboCountry.endUpdate();
        
        cboCountry.selectItemByIndex(0);
    }
    
    function vacationStyleChanged(sender, eventArgs) {
        var vs = sender.getSelectedItem().get_value();
        var country = cboCountry.getSelectedItem().get_value();
        var areas = getSelectedAreas(country);
        
        if (country > 0) {
            doCallback(country, areas != "" ? areas : "0", 
                calStart.getSelectedDate().toLocaleString(), ddlPeriod.get_selectedIndex(), 
                cboVacationStyle.getSelectedItem().get_value());
        }
        
        if (vs > 0)
            removeEmptyCountries(vs);
    }
    
    function propsChanged() {
        var country = cboCountry.getSelectedItem().get_value();
        var areas = getSelectedAreas(country);
        
        if (country > 0) {
            doCallback(country, areas != "" ? areas : "0", calStart.getSelectedDate().toLocaleString(), ddlPeriod.get_selectedIndex(), 
                cboVacationStyle.getSelectedItem().get_value());
        }
    }
    
    function getSelectedAreas(country) {
        if (country == "0")
            return "";
            
        var areaPanel = document.getElementById("dd-areas");
        var checkboxes = areaPanel.getElementsByTagName("input");
        
        var i;
        var areas = "";
        
        for (i=0; i<checkboxes.length; i++) {
            if (checkboxes[i].id.indexOf("check_all") < 0 && checkboxes[i].checked) {
                if (areas != "")
                    areas += ",";

                areas += checkboxes[i].id;
            }
        }
        
        return areas;
    }
    
    function allChecked(country) {
         if (country == "0")
            return false;
            
        var areaPanel = document.getElementById(areaPanelprefix + country);
        var checkboxes = areaPanel.getElementsByTagName("input");
        
        var i;
        var areas = "";
        
        for (i=0; i<checkboxes.length; i++) {
            if (checkboxes[i].id.indexOf("check_all") < 0 && !checkboxes[i].checked)
                return false;
        }
        
        return true;
    }
    
    function areaChanged() {   
        var country = cboCountry.getSelectedItem().get_value();
        var areas = getSelectedAreas(country);
        alert(areas);
        if (country > 0) {
            document.getElementById("ctl00_SearchBox1_check_all_" + country).checked = allChecked(country);
            
            doCallback(country, areas != "" ? areas : "0", calStart.getSelectedDate().toLocaleString(), 
                ddlPeriod.get_selectedIndex(), cboVacationStyle.getSelectedItem().get_value());
        }
    }
    
    function dateChanged(sender, eventArgs) {
        var fromDate = calStart.getSelectedDate();
        PickerFrom.setSelectedDate(fromDate);
        
        var country = cboCountry.getSelectedItem().get_value();
        var areas = getSelectedAreas(country);
        
        if (country > 0) {
            doCallback(country, areas != "" ? areas : "0", fromDate.toLocaleString(), ddlPeriod.get_selectedIndex(), 
                cboVacationStyle.getSelectedItem().get_value());
        }
    }

    function adultsChanged(sender, eventArgs) {
    }

    function childrenChanged(sender, eventArgs) {
    }
        
    function itemExpand(sender, eventArgs) {
        var idx = eventArgs.get_item().get_index();
        var items = NavBar2.get_items();
        
        switch (idx) {
        case 1:
            items.getItem(2).collapse();
            break;
        case 2:
            items.getItem(1).collapse();
            break;
        }
    }
    
    function TimeSpan(days, months, years) {
        this.days = days;
        this.months = months;
        this.years = years;
    }
    
    function dateSubtract(d, span) {
        d.setDate(d.getDate() - span.days);
        d.setMonth(d.getMonth() - span.months);
        d.setFullYear(d.getFullYear() - span.years);
        
        return d;
    }
    
    function dateCopy(d) {
        var copy = new Date();
     
        copy.setDate(d.getDate());
        copy.setMonth(d.getMonth());
        copy.setFullYear(d.getFullYear());   
        
        return copy;
    }
 
    function afterVisibleDateChanged(sender, eventArgs) {
        var vd = sender.get_visibleDate();
        var d = dateCopy(vd);
        d = dateSubtract(d, new TimeSpan(0, 2, 0));
        
        sender.get_disabledDates().selectRange(d, dateSubtract(new Date(), new TimeSpan(1, 0, 0)), false);
    }

    function PickerFrom_OnDateChange(sender, eventArgs)
    {
        var fromDate = PickerFrom.getSelectedDate();
        calStart.setSelectedDate(fromDate);
    }
    
    function ButtonFrom_OnClick(event)
    {
        if (calStart.get_popUpShowing())
        {
            calStart.hide();
        }
        else
        {
            calStart.setSelectedDate(PickerFrom.getSelectedDate());
            calStart.show();
        }
    }

    function ButtonFrom_OnMouseUp(event)
    {
        if (calStart.get_popUpShowing())
        {
            event.cancelBubble=true;
            event.returnValue=false;
            return false;
        }
        else
        {
            return true;
        }
    }
