﻿var wmSearch = "Sök efter tidning";
var urlSearch = "/sok.asp?sok=";
var bitSearch = 0;
var bitRunning = 0;
var intCounter = 0;
var strLastSearch = '';
var strShowing = 'Visar ';
var strOf = ' av ';
var strResult = ' resultat.';

$(document).ready(function () {
    if ($('#txtSearch').val().length == 0) {
        $('#txtSearch').val(wmSearch);
        $('#txtSearch').addClass('watermark');

    }
    $('#txtSearch').keyup(function (event) {
        sbKeyUp(event);
    });
    $('#txtSearch').focus(function () {
        sbFocus();
    });
    $('#txtSearch').blur(function () {
        sbBlur();
    });
    $("body").click(function (e) {
        sbCloseWindow(e);
    });




});
function sbFocus() {
    $('#txtSearch').removeClass('watermark');

    $("#sbResultsHolder").show();
    if ($('#txtSearch').val() == wmSearch) {
        $("#sbSuggestions").show();
        $('#txtSearch').val('');
       
    }
    else {
       
        getSuggestions();
        $("#sbResults").show();
        
    }

    bitSearch = 1;
}
function sbBlur() {
    if ($('#txtSearch').val() == '') {
        $('#txtSearch').val(wmSearch);
        $('#txtSearch').addClass('watermark');
    }
    else {
        $('#txtSearch').removeClass('watermark');
    }
    //$("#sbResultsHolder").hide();
}
function sbKeyUp(event) {
  
    if (event.keyCode == '13') {
        window.location.href = urlSearch + encodeURI($('#txtSearch').val());
        return;
    }
    if (bitRunning == 0)
        runSearch();
}
function sbCloseWindow(e) {
    if (bitSearch == 0)
        return;

    var bit = 0;
    var element = $(e.target).parent();
    while (element.length > 0) {
        if (element.attr('class') == 'divSearch') {
            bit = 1;
            break;
        }
        element = element.parent();
    }
    if (bit == 0) {
        $("#sbResultsHolder").hide();
        $("#sbSuggestions").hide();
        $("#sbResults").hide();

        bitSearch = 0;
    }

}

function getSuggestions() {
    $("#sbSuggestions").hide();
    if ($('#txtSearch').val().length == 0) {
        $("#sbResults").hide();
        $("#sbSuggestions").show();
        return;
    }

    $.ajax({
        type: "POST",
        url: "/service/AjaxService.asmx/ProductSearch",
        data: "strSearch=" + $('#txtSearch').val(),
        dataType: "xml",
        success: parseSuggestions
    });
}
function parseSuggestions(xml) {   
    $("#sbResults").show();
    $("#sbResultsRows").html('');
    $(xml).find("s").each(function () {
        $("#sbResultsRows").append(buildResultRow($(this).attr("i"), $(this).attr("n"), $(this).attr("o"), $(this).attr("d"), $(this).attr("u")));
    });

    $(xml).find("r").each(function () {
        buildResultSum($(this).attr("h"), $(this).attr("s"));
    });
}
function buildResultRow(image, name, offer, text, url) {
    var html='<div class="divSearchDropItem">';
    html += '<a href="/' + url + '">';
    html += '<img src="' + image + '" alt="' + name + '" />';
    html +='</a>';
    html +='<div class="divSearchDropItemText">';
    html += '<a href="/' + url + '"><b>' + name + '</b> <span class="txtOrange">' + offer + '</span> <span>';
    html += text +' »</span></a>';
    html += '</div>';
    html +='</div>';
    return html;
}
function buildResultSum(results, search) {
    var showing = 3;
    if (parseInt(results) < 3) {
        showing = results;
    }
    $("#sbShowing").html('<b>' + strShowing + showing + strOf + results + strResult + '</b>');
    $("#sbAllResults").attr('href', urlSearch + search);
    if (parseInt(showing) == 0) {
        $("#sbShowing").hide();
        $("#sbAllResults").hide();
        $("#sbNoResults").show();
    }
    else {
        $("#sbShowing").show();
        $("#sbAllResults").show();
        $("#sbNoResults").hide();
    }
}

function runSearch() {
    bitRunning = 1;    
   if (++intCounter > 10) {
            intCounter = 0;
            bitRunning = 0;                
        return;
    }
    else {

        if (strLastSearch == $('#txtSearch').val()) {
            getSuggestions();
            intCounter = 0;
        }
        strLastSearch = $('#txtSearch').val();
        setTimeout(function () { runSearch(); }, 500);
    }

    
    
}



