﻿/// <reference name="MicrosoftAjax.js" />
/// <reference path="../Services/SiteService.asmx" />
/// <reference path="jquery-vsdoc.js" />
/// <reference path="jquery.query-2.1.7.js" />

var txt, q;

jQuery(document).ready(function() {
    q = jQuery.query.get("text");
    if (q.length > 0) {
        jQuery("#searchtext").val(q);
        startsearch();
    } else jQuery("#searchtext").focus();
    prepare();
    jQuery("#aspnetForm").submit(function() {
        startsearch();
        return false;
    });
});

function prepare() {
    jQuery("#catselector").html("<center><img src=\"TempSite/progress.gif\" /><br>Ждите... <br />Загрузка опций...</center>");
    SiteService.GetMusorCategories(s_getcat, f_failed);
}

function s_getcat(result) {
    jQuery("#catselector").html(result);
}
function getlentaitem(id, iswin) {
    if (iswin) {
        window.location = "http://www.calabonga.com/DetailView.aspx?id=" + id;
    }
    else {
        jQuery("#io" + id).addClass("wait");
        jQuery("#io" + id).html("ждите <img src=\"TempSite/progress.gif\" /> ...");
        SiteService.GetMusorItem(id, s_musor, f_failed, "#message" + id);
    }
    return false;
}
function s_musor(result, userContext) {
    jQuery(userContext).html(result);
}
function startsearch() {
    txt = jQuery("#searchtext");
    if (txt.val().length != 0) {
        if (txt.val().length > 2) {
            var idx = 0;
            var id = jQuery("input:checked");
            if (id.val() > 0) idx = id.val();
            jQuery("#searchresult").html("<center><img src=\"TempSite/progress.gif\" /> Ждите... Идёт поиск \"<b>" + txt.val() + "\"</b></center>");
            SiteService.SearchMusor(txt.val(), idx, s_search, f_failed);
        }
        else {
            alert("Чтобы не превысить максимально допустимый размер возвращаемых данных, пожалуйста введите не менее 3 символов в строке запроса.");
            jQuery("#searchtext").focus();
        }
    } else {
        alert("Введите ключевое слово для поиска!");
        jQuery("#searchtext").focus();
    }
}

function s_search(result) {
    jQuery("#searchresult").html(result);
}
function f_failed(error) {
    var stackTrace = error.get_stackTrace();
    var message = error.get_message();
    var statusCode = error.get_statusCode();
    var exceptionType = error.get_exceptionType();
    var timedout = error.get_timedOut();
    var mess = "<b>" + message + "</b><br/>" +
            "Код: <b>" + statusCode + "</b>";
    if ((message.indexOf('maxJsonLength') > 0) || (stackTrace.length == 0)) {
        jQuery("#searchresult").html("<center style=\"color:red;\">Поиск по запросу \"<b>" + jQuery("#searchtext").val() + "</b>\" вернулось слишком большое количество данных.<br />Попробуйте оптимизировать запрос, например, выбрав конкретную категорию,<br />чтобы уменьшить количество<br />возвращаемых данных и повторите попытку.</center>");
    }
    else {
        jQuery("#searchresult").html("<center><div class=\"UpdatePrograss\"><strong>ОШИБКА!</strong><br />Код ошибки: " + mess + "</div></center>");
    }
}

if (typeof (Sys) !== "undefined") Sys.Application.notifyScriptLoaded();