﻿/// <reference path="../jquery-1.4.1-vsdoc.js" />
/// <reference path="../GeneralFunctions.js" />
/// <reference path="../jquery.selectboxes.min.js" />
/// <reference path="../jquery.scrollTo-min.js" />

function PerformFreeTextSearch() {
    ShowProgress();
    UpdateFreeTextSearchCriterias(true);
}

function SetupFreeTextSearch() {

    $(document).ready(function() {
        //Load all categories
        CategoryLoadAllChk('#divChkSimCategory', 'chkSimCategory', 'ShowSearchResultCountFreeText();', true, 6, "float:left;", false, true);
        //Add control events

        //var data = "Core Selectors Attributes Traversing Manipulation CSS Events Effects Ajax Utilities".split(" ");
        $("#txtAddress").autocomplete(root + "Webservices/AuctionAddresses.ashx");
        $("#txtAddress").result(findValueCallback).next().click(function() {
            $(this).prev().search();
        });
        $('#txtAddress').live('keyup', function() {

            //if ($(this).val().length >= 0) {
            ShowSearchResultCountFreeText();
            //};
        });
        $('#txtZipCodeFrom').live('keyup', function() {
            if ($(this).val().length == 4) {
                if ($('#txtZipCodeTo').val().length == 0) {
                    $('#txtZipCodeTo').val($(this).val());
                }
                ShowSearchResultCountFreeText()
            };
        });
        $('#txtZipCodeTo').live('keyup', function() { if ($(this).val().length >= 4) { ShowSearchResultCountFreeText() }; });

        $("#txtCity").autocomplete(root + "Webservices/AuctionCities.ashx");

        $('#txtCity').live('keyup', function() {  ShowSearchResultCountFreeText() });
        //Fire funktion when item has been selected
        $("#txtCity").result(findValueCallback).next().click(function() {
            $(this).prev().search();
        });
    DisplayFreeTextSearchValues();
    });
}
//Loads the existing search criterias and show the values
function DisplayFreeTextSearchValues() {

    auctionproxy.invoke("LoadFreeTextSearchCriterias", {}, function(result) {
        var searchCriterias = result;
        if (searchCriterias != null) {
            //Show Category
            SetSelectedCheckBoxesByValues("chkSimCategory", result.Categories);
            //Show values
            $('#txtAddress').val(result.Address);
            if (result.ZipCodeFrom!=0) $('#txtZipCodeFrom').val(result.ZipCodeFrom);
            if (result.ZipCodeTo!=0) $('#txtZipCodeTo').val(result.ZipCodeTo);
            $('#txtCity').val(result.City);
        }
        ShowSearchResultCountFreeText();
    });
}

///When a value has been selected
function findValueCallback(event, data, formatted) {
    ShowSearchResultCountFreeText();
}
	

function LoadAutoAuctionCompleteValues(method, control) {
    var returnvalue = ''
    auctionproxy.invoke("LoadAddresses", {
        searchString: $(control).val()
    },
      function(result) {
          var data = result.split("|");
          $(control).autocomplete(data);
      }
      );
    return returnvalue;
}
//Updates the freetext search criterias
function UpdateFreeTextSearchCriterias(performSearch) {
    auctionproxy.invoke("UpdateFreeTextSearchCriterias", {
        address: $('#txtAddress').val(),
        zipCodeFrom: $('#txtZipCodeFrom').val(),
        zipCodeTo: $('#txtZipCodeTo').val(),
        city: $('#txtCity').val(),
        categories: GetSelectedCheckBoxValues("chkSimCategory"),
        sortExpression: $("input:radio[name='rdoSortColumn']:checked").val(),
        sortDirection: "ASC",
        performSearch: performSearch
    },
      function(result) {
          $("input[id$='_btnFreeTextSearch']").val("SØG [" + result + "]");
          if (performSearch) {
              PerformSearch('auction/pages/searchresult.aspx?tab=' + $("input:radio[name='rdoFreeShowType']:checked").val());
          }
      }
      );
}
//Shows the freetext search criterias
function ShowFreeTextSearchCriterias() {
    auctionproxy.invoke("LoadSearchCriterias", {}, function(result) {
        var searchCriterias = result;
        if (searchCriterias != null) {
            $('#txtAddress').val(GetCleanValue(result.Address));
            $('#txtZipCodeFrom').val(GetCleanValue(result.ZipCodeFrom));
            $('#txtZipCodeTo').val(GetCleanValue(result.ZipCodeTo));
            $('#txtCity').val(GetCleanValue(result.City));
            $('#txtStreetName').val(GetCleanValue(result.StreetName));
            SetSelectedCheckBoxesByValues("chkSimCategory", result.Categories);
        }
    });

}
function ShowSearchResultCountFreeText() {
    UpdateFreeTextSearchCriterias(false);
}