﻿//***********************************************************************************Advanced search**************************************************************************************//
//sets up the advanced search

function SetupAdvancedSearch() {
    $(document).ready(function() { //load all regions
    
        RegionsLoadAllChk('#divChkRegions', 'chkRegions', 'RegionChanged();', 'RegionChanged();');
        //load kommuner by firering the regionchanged event
        //RegionChanged();
        //Load all categories
        CategoryLoadAllChk('#divAdvCategory', 'chkAdvCategory', '', true, 6, "float:left;", false, false);
        //Load zipcode info
        ZipCodesAddToSelect('#selZipCodeFrom', zipCodesList);
        ZipCodesAddToSelect('#selZipCodeTo', zipCodesList);
        var format = 'dd-mm-yy';

        //Setup datepickers
        $("#StatstidendeTo,#StatstidendeFrom,#fromDate,#toDate").datepicker({ dateFormat: format, changeMonth: true, changeYear: true, showButtonPanel: true   });
      
        ShowExistingSearchValues();
        resizeContent();
    });
}
//when a new region has been changed
function RegionChanged() {
    //clean out the select box:
    $('#selAdvKommune').removeOption(/./);
    $('#selAdvKommune').sortOptions();
    $('#selAdvKommune').children().remove();
    if ((null != GetSelectedCheckBoxValues("chkRegions")) && ('' != GetSelectedCheckBoxValues("chkRegions"))) {
        KommuneLoadByRegionsSelect('#selAdvKommune', GetSelectedCheckBoxValues("chkRegions"), false);
    }
    //resetSelectBox('selAdvKommune');
}
function CopySelectedKommuner(options) {
    $(options).each(function() {
        if (!$('#selAdvSelectedKommuner').containsOption($(this).val())) {
            $('#selAdvSelectedKommuner').addOption($(this).val(), $(this).text(), false);
        }
    });
    resetSelectBox('selAdvSelectedKommuner');
}
function PerformAdvancedSearch(performSearch) {
    ShowProgress();
    auctionproxy.invoke("UpdateAdvancedSearchCriterias", { lbNr: 0,
        areaSizeFrom: $('#txtAreaSizeFrom').val(),
        areaSizeTo: $('#txtAreaSizeTo').val(),
        buildingSizeFrom: $('#txtBuildingSizeFrom').val(),
        buildingSizeTo: $('#txtBuildingSizeTo').val(),
        categories: GetSelectedCheckBoxValues("chkAdvCategory"),
        commercialSizeFrom: $('#txtCommercialSizeFrom').val(),
        commercialSizeTo: $('#txtCommercialSizeTo').val(),
        kommuner: GetSelectedListBoxValues('#selAdvSelectedKommuner'),
        fromDate: $('#fromDate').datepicker("getDate"),
        propertyValueTo: $('#txtPropertyValueTo').val(),
        propertyValueFrom: $('#txtPropertyValueFrom').val(),
        regions: GetSelectedCheckBoxValues("chkRegions"),
        toDate: $('#toDate').datepicker("getDate"),
        statstidendeFrom: $('#StatstidendeFrom').datepicker("getDate"),
        statstidendeTo: $('#StatstidendeTo').datepicker( "getDate" ),
        zipCodeFrom: $('#selZipCodeFrom').val(),
        zipCodeTo: $('#selZipCodeTo').val(),
        withSoOnly: $('#chkWithSoOnly').is(':checked'),
        secondAuctionsOnly: $('#chkSecondAuctionsOnly').is(':checked'),
        sortExpression: "",
        sortDirection: "",
        performSearch: performSearch
    }, function(result) {
        if (performSearch) {
            PerformSearch('auction/pages/searchresult.aspx?time=' + Date() + '&tab=' + $("input:radio[name='rdoAdvShowType']:checked").val() + '&SearchType=3');
        }
    });
}

// Loads the existing search criterias and show the values
function ShowExistingSearchValues() {
    auctionproxy.invoke("LoadAdvancedSearchCriterias", {}, function(result) {
        var searchCriterias = result;
        if (searchCriterias != null) {
            // Set dates $("#,#,#fromDate,#toDate"
            if (result.FromDate > 0) $('#fromDate').datepicker("setDate", GetDateValue(result.FromDate))
            if (result.ToDate > 0) $('#toDate').datepicker("setDate", GetDateValue(result.ToDate))
            if (result.StatstidendeFrom > 0) $('#StatstidendeFrom').datepicker("setDate", GetDateValue(result.StatstidendeFrom))
            if (result.StatstidendeTo > 0) $('#StatstidendeTo').datepicker("setDate", GetDateValue(result.StatstidendeTo))
            $('#txtAreaSizeFrom').val(GetCleanValue(result.AreaSizeFrom));
            $('#txtAreaSizeTo').val(GetCleanValue(result.AreaSizeTo));
            $('#txtBuildingSizeFrom').val(GetCleanValue(result.BuildingSizeFrom));
            $('#txtBuildingSizeTo').val(GetCleanValue(result.BuildingSizeTo));
            $('#txtCommercialSizeFrom').val(GetCleanValue(result.CommercialSizeFrom));
            $('#txtCommercialSizeTo').val(GetCleanValue(result.CommercialSizeTo));
            $('#txtPropertyValueTo').val(GetCleanValue(result.PropertyValueTo));
            $('#txtPropertyValueFrom').val(GetCleanValue(result.PropertyValueFrom));
            $('#selZipCodeFrom').val(GetCleanValue(result.ZipCodeFrom));
            $('#selZipCodeTo').val(GetCleanValue(result.ZipCodeTo));
            SetSelectedCheckBoxesByValues("chkAdvCategory", result.Categories);
            SetSelectedCheckBoxesByValues("chkRegions", result.Regions);
            $('#chkWithSoOnly').attr("checked", result.WithSoOnly);
            $('#chkSecondAuctionsOnly').attr("checked", result.SecondAuctionsOnly);

            // Load selected kommuner
            if ((null != result.Kommuner) && ('' != result.Kommuner)) {

                // Hack: Load all kommuner
                KommuneLoadByRegionsSelect('#selAdvKommune', '', false);

                // Set the selected kommune values
                SetSelectedListBoxValues('#selAdvKommune', result.Kommuner);

                // Copy the selected options
                CopySelectedKommuner($('#selAdvKommune').selectedOptions());

                // Hack: Clear list
                $('#selAdvKommune').children().remove();
            }
            
            // Load kommuner
            if ((null != result.Regions) && ('' != result.Regions)) {

                KommuneLoadByRegionsSelect('#selAdvKommune', result.Regions, false);
            }
        }
    });
}

