﻿/// <reference name="MicrosoftAjax.js" />
/// <reference path="../Services/SiteService.asmx" />
/// <reference path="jquery-vsdoc.js" />

var pageindex = 0;
var pagesize = 10;
var delid = 0;
var ediid = 0;
var tmp;

jQuery(document).ready(function () {
    jQuery("#add").bind("click", function () {
        jQuery("#add").hide();
        var categories = jQuery("#adddiv").data("categories");
        if (categories != null) {
            jQuery("#adddiv").slideDown(function () {
                jQuery("#adddiv").html(categories);
                bindaddcancel();
                jQuery("#adddiv").show();
            });
        }
        else {
            jQuery("#adddiv").slideDown(function () {
                jQuery("#adddiv").html("<center><img src=\"TempSite/progress.gif\" /><br>Ждите... <br />загрузка категорий...</center>");
                SiteService.GetLentaCagories(null, suca, faia);
            });
        }
        return false;
    });
    jQuery("#lenta").html("<div class=\"wm\" style=\"padding:10px;\"><center><img src=\"TempSite/progress.gif\" /><br /><br />Ждите... идет загрузка...</center></div>");
    jQuery("<span class=\"small\">[показывать: <a href=\"#\" onclick=\"loaddata(0,5,0);\">5</a> <a href=\"#\" onclick=\"loaddata(0,10,0);\">10</a> <a href=\"#\" onclick=\"loaddata(0,20,0);\">20</a> <a href=\"#\" onclick=\"loaddata(0,50,0);\">50</a>]</span>").appendTo("#t");
    loaddata(pageindex, pagesize, null);
});

function suca(result) {
    jQuery("#adddiv").data("categories", result);
    jQuery("#adddiv").html(result);
    bindaddcancel();
}

function bindaddcancel() {
    jQuery("#bcancel").bind("click", function () {
        jQuery("#adddiv").slideUp();
        jQuery("#adddiv").hide();
        jQuery("#add").show();
    });
    jQuery("#badd").click(function () {
        var cat = jQuery("select#cat");
        var txt = jQuery("#txtadd");
        if (cat.val() > -1) {
            if (txt.val().length != 0) {
                jQuery("#adddiv").html("<center><img src=\"TempSite/progress.gif\" /><br>Ждите... <br />отправка на сайт...</center>");
                SiteService.LentaAdd(null, cat.val(), txt.val(), sucan, fai);
            } else {
                alert("Введите текст мусора!");
            }
        } else { alert("Выберите категорию мусора!"); }
    });
}
// -------------- lenta --------------------
function getlentaitem(id, iswin) {
    if (iswin) {
        window.open("http://www.calabonga.com/lentaview.aspx?id=" + id, id, "menubar=no,location=yes,resizable=no,scrollbars=yes,status=yes,width=500,height=400");
    }
    else {
        var mes = jQuery("#message" + id);
        jQuery("#io" + id).addClass("wait");
        jQuery("#io" + id).html("ждите <img src=\"TempSite/progress.gif\" /> ...");
        SiteService.GetLentaItem(id, sucitem, failitem, "#message" + id);
    }
    return false;
}
function sucitem(result, userContext) {
    jQuery(userContext).html(result);
}
function failitem(error) {
    jQuery(userContext).html("Блять... ошибка...");
}

function suc(result) {
    jQuery(document).scrollTop(0);
    SiteService.GetReklama(sucr, fair);
    SiteService.GetQuestion(sucq, faiq);
    SiteService.GetFactRandom(sucf, faif);
    jQuery("#lenta").html(result);
    if (jQuery("#adddiv").size() > 0) {
        jQuery("#adddiv").slideUp();
        jQuery("#adddiv").html("");
        jQuery("#add").show();
    }
}
function loaddata(pn, ps, pl) {
    pageindex = pn;
    pagesize = ps;
    if (pl == null) {
        jQuery("div[id='pgr']").html("<center><img src=\"TempSite/progress.gif\" /><br />Ждите... переключаю страницу...</center>");
    } else if (pl > 0) {
        jQuery("#item" + pl).html("<center><div class=\"wm\"><img src=\"TempSite/progress.gif\" /><br>Ждите... <br />идет удаление этого мусора...</div></center>");
    } else if (pl == 0) {
        jQuery("#adddiv").html("<center><img src=\"TempSite/progress.gif\" /><br>Ждите... <br />идет обновление ленты...</center>");
    }
    SiteService.GetLenta(pageindex, pagesize, suc, fai);
}
function fai(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 = "Stack Trace: " + stackTrace + "<br/>" +
        "Service Error: " + message + "<br/>" +
        "Status Code: " + statusCode + "<br/>" +
        "Exception Type: " + exceptionType + "<br/>" +
        "Timedout: " + timedout;
    jQuery("#lenta").html("У-у-упс! Ошибка получения данных с ленты... нажмите <a href=\"#\" onclick=\"loaddata(0,10,0);return false;\">[Обновить]</a><br />Код ошибки: " + mess);
}
function edititem(id) {
    if (confirm("Хотите отредактировать мусор №" + id + "?")) {
        ediid = id;
        tmp = jQuery("#item" + ediid).html();
        jQuery("#item" + ediid).html("<center><div class=\"wm\"><img src=\"TempSite/progress.gif\" /><br>Ждите... <br />переключаю режим просмотра...</div></center>");
        SiteService.GetLentaCagories(ediid, suce, fai);
    }
}
function deleteitem(id) {
    if (confirm("В натуре удалить этот мусор №" + id + "?")) {
        delid = id;
        SiteService.LentaDelete(id, sucd, fai);
        loaddata(pageindex, pagesize, id);
    }
}
function suce(result) {
    jQuery("a[id^='editlink']").hide();
    jQuery("a[id^='dellink']").hide();
    jQuery("#item" + ediid).html(result).addClass("wm").css("padding", "10px");
    jQuery("#bedit").click(function () {
        var cat = jQuery("select#cat");
        var txt = jQuery("#txtadd");
        if (cat.val() > -1) {
            if (txt.val().length != 0) {
                jQuery("#item" + ediid).html("<center><img src=\"TempSite/progress.gif\" /><br>Ждите... <br />отправка на сайт...</center>");
                tmp = null;
                SiteService.LentaAdd(ediid, cat.val(), txt.val(), sucan, fai);
            } else {
                alert("Введите текст мусора!");
            }
        } else { alert("Выберите категорию мусора!"); }
    });
    jQuery("#bcanc").click(function () {
        jQuery("#item" + ediid).html(tmp).removeClass("wm").css("padding", "");
        jQuery("a[id^='editlink']").show();
        jQuery("a[id^='dellink']").show();
    });
}
function sucd(result) {
    jQuery("#adddiv").html(result);
}
function sucan(result) {
    if (result) {
        //jQuery("#add").show();
        loaddata(pageindex, pagesize, 0);
    }
}
function faia(error) {
    jQuery("#add").hide();
    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 = "Stack Trace: " + stackTrace + "<br/>" +
        "Service Error: " + message + "<br/>" +
        "Status Code: " + statusCode + "<br/>" +
        "Exception Type: " + exceptionType + "<br/>" +
        "Timedout: " + timedout;
    jQuery("#adddiv").html("<center>У-у-упс! Не могу загрузить категории... Попробуйте пожалуйста позже.</center><br /><div style='font-size:9px;color:#ccc;'><b>Код ошибки:</b><br />" + mess + "</div>");
}
// ------------ rekl ----------
function sucr(rekl) {
    jQuery("#reklitem").html(rekl);
}
function fair(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 = "Stack Trace: " + stackTrace + "<br/>" +
        "Service Error: " + message + "<br/>" +
        "Status Code: " + statusCode + "<br/>" +
        "Exception Type: " + exceptionType + "<br/>" +
        "Timedout: " + timedout;
    jQuery("#reklitem").html("<center>простите, не могу загрузить баннер.<br />Код ошибки:" + mess + "</center>");
}
// ------------ quiz ----------
function sucq(fact) {
    jQuery("#quizitem").html(fact);
}
function faiq(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 = "Stack Trace: " + stackTrace + "<br/>" +
        "Service Error: " + message + "<br/>" +
        "Status Code: " + statusCode + "<br/>" +
        "Exception Type: " + exceptionType + "<br/>" +
        "Timedout: " + timedout;
    jQuery("#quizitem").html("<center>простите, не могу загрузить вопрос.<br />Код ошибки:" + mess + "</center>");
}
function getanswer(e) {
    var t = jQuery("#anstrue").attr("name")
    if (e == t) {
        alert("Да, это правильный ответ!");

    } else {
        alert("Нет, это Вы ошиблись...");
    }
    jQuery("#ta").text("Правильный ответ: " + t);
    jQuery("input[id^=ans]").attr("disabled", "disabled");

}
// ------------ facts ----------
function sucf(fact) {
    jQuery("#factbody").html(fact);
}
function faif(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 = "Stack Trace: " + stackTrace + "<br/>" +
        "Service Error: " + message + "<br/>" +
        "Status Code: " + statusCode + "<br/>" +
        "Exception Type: " + exceptionType + "<br/>" +
        "Timedout: " + timedout;
    jQuery("#factbody").html("<center>простите, не могу загрузить факт.<br />Код ошибки:" + mess + "</center>");
}
function nextfact() {
    jQuery("#factbody").html("<center><img src=\"TempSite/progress.gif\" /> ждите... загрузка факта...</center>");
    SiteService.GetFactRandom(sucf, faif);
}

function likeit(v, id) {
    jQuery("#vote" + id).html("<img src=\"TempSite/progress.gif\" /> ждите...");
    SiteService.LentaItemVote(id, v, s_vote, f_vote, "#vote"+id);
}
function s_vote(result, userContext) {
    jQuery(userContext).html(result);
}
function f_vote(error, userContext) {
    jQuery(userContext).html(error);
}

if (typeof (Sys) !== "undefined") Sys.Application.notifyScriptLoaded();