﻿$(document).ready(function() {
    $(".pnlRicercaAvanzata .searchTitolo").val("Titolo");
    $(".pnlRicercaAvanzata .searchAutore").val("Autore");
    $(".pnlRicercaAvanzata .searchISBN").val("ISBN");
    
    $(".pnlRicercaAvanzata input").click(function() { $(this).val(""); });
    $(".pnlRicercaAvanzata .searchAutore").blur(function() {
        if ($(this).val() == "")
            $(this).val("Autore");
    });
    $(".pnlRicercaAvanzata .searchISBN").blur(function() {
        if ($(this).val() == "")
            $(this).val("ISBN");
    });
});

function resetRA() {
    $(".pnlRicercaAvanzata .searchTitolo").val("Titolo");
    $(".pnlRicercaAvanzata .searchAutore").val("Autore");
    $(".pnlRicercaAvanzata .searchISBN").val("ISBN");
    $(".pnlRicercaAvanzata .searchMaterie").val("Materia");
    $("#ctl00_ucRicercaCatalogo1_searchMaterie_VAL").val("");
    $(".pnlRicercaAvanzata .searchMarchio").val("");
}

function openPnlRA() {
    $('.pnlRicercaAvanzata').slideToggle();
    if ($('.searchAvanzata').attr("src").indexOf("On") == -1)
        $('.searchAvanzata').attr("src", "/img/btn_cerca_avanzataOn.jpg")
    else
        $('.searchAvanzata').attr("src", "/img/btn_cerca_avanzata.jpg")
}

function advancedSearch() {
    var qStr = "";
    var TITOLO = $(".pnlRicercaAvanzata .searchTitolo").val();
    var AUTORE = $(".pnlRicercaAvanzata .searchAutore").val();
    var ISBN = $(".pnlRicercaAvanzata .searchISBN").val();
    var IDMAT = $("#ctl00_ucRicercaCatalogo1_searchMaterie_VAL").val();
    var CE = $(".pnlRicercaAvanzata .searchMarchio").val();
    //alert(AUTORE + "," + ISBN + "," + MATERIA + "," + CE);
    if (AUTORE != "" && AUTORE != "Autore")
        qStr += "&AUTORE=" + AUTORE;
    if (ISBN != "" && ISBN != "ISBN")
        qStr += "&ISBN=" + ISBN;
    if (IDMAT != "")
        qStr += "&IDMAT=" + IDMAT;
    if (CE != "" && CE != undefined)
        qStr += "&CE=" + CE;
    if (TITOLO != "" && TITOLO != "Titolo")
        qStr += "&srcCat=" + TITOLO;
    else
        qStr += "&srcCat=";

    //alert(qStr);
    location.href = "/Risultati-ricerca.aspx?typeRic=ADV" + qStr;
}

function searchOpere(INITELEM, TITOLO, AUTORE, MATERIA, LVL, AREA, MARCHIO, ISBN, ABS) {
    var NELEM = elencoOpereJSON.NELEM;
    elencoOpereJSON.TITOLO = TITOLO;

    if ($("#DataContainer .EleSchOpera").length > 0) {
        if ($(".SearchLoading").length < 1) {
            var divVelina = document.createElement("div");
            $(divVelina).css("width", $("#DataContainer").width());
            $(divVelina).css("height", $("#DataContainer").height() + 40);
            $(divVelina).css("position", "absolute");
            $(divVelina).css("z-index", "500");
            $(divVelina).css("background", "#fff");
            $(divVelina).css("margin-left", 15);
            $(divVelina).css("display", "none");
            $(divVelina).addClass('SearchLoading');

            var loader = document.createElement("img");
            $(loader).attr("src", "/img/ajax-loader.gif");
            $(loader).css("margin-left", ($("#DataContainer").width() / 2) - 33);
            $(loader).css("margin-top", ($("#DataContainer").height() / 2) - 33);

            $(divVelina).append(loader);

            $("#DataContainer").before(divVelina);
        }
        $(".SearchLoading").fadeIn();
    }


    $.post("/Search/searchOpere", { NELEM: NELEM, INITELEM: INITELEM, TITOLO: TITOLO, AUTORE: AUTORE, MATERIA: MATERIA, LVL: LVL, AREA: AREA, MARCHIO: MARCHIO, ISBN: ISBN, ABS: ABS }, function(data) {
        searchOpere_CallBack(data);
    }, "json");
}
function searchOpere_CallBack(response) {
    if (response.esito != 1) {
        alertDiv(response.errore);
        return;
    }
    $("#DataContainer *").remove();
    if (response.Schede.length == 0) {
        var divNoelem = document.createElement("div");
        $(divNoelem).addClass("NoEleSchOpera");
        $(divNoelem).append("Nessuna opera trovata");
        $("#DataContainer").append(divNoelem);
    }
    else {
        var divPre = document.createElement("div");
        $(divPre).addClass("PreRisultati");
        $(divPre).append("Opere trovate: " + response.TOTELEM);
        $("#DataContainer").append(divPre);
    }
    
    
    for (i = 0; i < response.Schede.length; i++) {
        var divOpera = document.createElement("div");
        $(divOpera).addClass("EleSchOpera");
        var divData = document.createElement("div");
        $(divData).addClass("data");
        var h2 = document.createElement("h2");
        $(h2).html(response.Schede[i].TITOLO);
        var p1 = document.createElement("p");
        var strP1 = "Autore <strong>" + response.Schede[i].AUTORE + "</strong><br />Casa editrice <strong>" + response.Schede[i].DESCRMARCHIO + "</strong>";
        $(p1).html(strP1);
        var p2 = document.createElement("p");
        var appoMat="";
        for (j=0;j<response.Schede[i].MATERIE.length;j++)
        {
            appoMat+=response.Schede[i].MATERIE[j] + ", ";
        }
        appoMat=appoMat.substr(0,appoMat.length-2);
        var appoLVL="";
        for (j=0;j<response.Schede[i].LVLSCUOLA.length;j++)
        {
            appoLVL+=response.Schede[i].LVLSCUOLA[j] + ", ";
        }
        appoLVL=appoLVL.substr(0,appoLVL.length-2);
        var strP2 = "Disciplina <strong>" + appoMat + "</strong><br />Ciclo scolastico <strong>" + appoLVL + "</strong>";
        $(p2).html(strP2);
        var divCopertina = document.createElement("div");
        $(divCopertina).addClass("copertina");
        var divSx = document.createElement("div");
        $(divSx).addClass("sx");
        var divDx = document.createElement("div");
        $(divDx).addClass("dx");
        
        var imgCop = document.createElement("img");
        $(imgCop).attr("src", "/DownloadFile.aspx?id=" + response.Schede[i].COPERTINA);
        //$(imgCop).attr("src", "/dwn/OPERE/COPERTINE/caperitina.jpg");
        var qString = "&IDLVL=" + elencoOpereJSON.LVL + "&IDAREA=" + elencoOpereJSON.AREA + "&IDMAT=" + elencoOpereJSON.MATERIA + "&INITELEM=" + response.INITELEM;
        $(imgCop).addClass("clickable");
        $(imgCop).addClass("ImgCop");
        if (response.Schede[i].SCHEDAOPERAESTERNA != "") {
            $(imgCop).attr("lnk", response.Schede[i].SCHEDAOPERAESTERNA);
            $(imgCop).click(function() {
                if ($(this).attr("lnk").substring(0, 7) == "http://") {
                    window.open($(this).attr("lnk"));
                }
                else {
                    window.open("http://" + $(this).attr("lnk"));
                } 
            });
        }
        else {

            $(imgCop).attr("idOpera", response.Schede[i].IDOPERA);
            $(imgCop).attr("qString", qString);
            $(imgCop).click(function() {
                location.href = "/Scheda-opera.aspx?id=" + $(this).attr("idOpera") + $(this).attr("qString");
            });
        }
        var divTop = document.createElement("div");
        $(divTop).addClass("top");
        var divBottom = document.createElement("div");
        $(divBottom).addClass("bottom");
        if (response.Schede[i].CHECKNOVITA) {
            if (response.Schede[i].ANNONOVITA>2009) {
                var imgNov = document.createElement("img");
                $(imgNov).attr("src", "/img/bottone_novita_" + response.Schede[i].ANNONOVITA + ".gif");
                $(divTop).append(imgNov);
            }
        }
        if (response.Schede[i].LIBRODIGITALE && response.Schede[i].LIBRODIGITALE!=0) {
            var imgDig = document.createElement("img");
            $(imgDig).attr("src", "/img/Libro_DIG_" + response.Schede[i].LIBRODIGITALE + "_pic.gif");
            /*$(imgDig).attr("width", 70);
            $(imgDig).attr("height", 73);*/
            $(divTop).append(imgDig);
        }
        var aSc = document.createElement("a");

        if (response.Schede[i].SCHEDAOPERAESTERNA != "") {
            if (response.Schede[i].SCHEDAOPERAESTERNA.substring(0, 7) == "http://") {
                $(aSc).attr("href", response.Schede[i].SCHEDAOPERAESTERNA);
            }
            else {
                $(aSc).attr("href", "http://" + response.Schede[i].SCHEDAOPERAESTERNA);
            }
            
            $(aSc).attr("target", "_blank");
        }
        else {
            $(aSc).attr("href", "Scheda-opera.aspx?id=" + response.Schede[i].IDOPERA + qString);
        }
        $(aSc).html("scheda");
        
        $(divData).append(h2);
        $(divData).append(p1);
        $(divData).append(p2);
        
        $(divSx).append(imgCop);
        
        $(divBottom).append("Vai alla ");
        $(divBottom).append(aSc);
        
        $(divDx).append(divTop);
        $(divDx).append(divBottom);
        
        $(divCopertina).append(divSx);
        $(divCopertina).append(divDx);
        
        $(divOpera).append(divData);
        $(divOpera).append(divCopertina);
        
        $("#DataContainer").append(divOpera);

        var copertina = $(divOpera).find(".ImgCop");
        
        var wCop = $(copertina).width();
        var hCop = $(copertina).height();
        

        var rappo = hCop / wCop;
        
        var newW = 150 / rappo;
        if (newW < 1)
            $(copertina).width(125);
        else
            $(copertina).width(newW);

        $(copertina).height(150);
        if ($(copertina).width() == 0 || $(copertina).width() > 127) 
            $(copertina).width(120);
            
        
        if ((i+1)%3 == 0){
            if (i+1 != response.Schede.length){                              
                $("#DataContainer").append("<div class=\"EleOrizontalDivider\"></div>");
            }
        }
        else{
            $("#DataContainer").append("<div class=\"EleVerticalDivider\"></div>");
        }
    }
    $("#DataContainer").append("<br class=\"clear\" />");

    var nav = buildNav(response.INITELEM, response.TOTELEM, response.NELEM);
    $("#DataContainer").append(nav);
    
    $(".SearchLoading").fadeOut();
}
function buildNav(currentIndex, totRec, nElem) {
    var nPag = 5;
    //alert(nElem);
    if (parseInt(totRec) > parseInt(nElem)) {
        
        var totPag = Math.ceil(totRec / nElem);
        var currentPage = currentIndex / nElem;

        var currentPages;
        if (totPag > nPag)
            currentPages = nPag;
        else
            currentPages = totPag;

        //currentPages++;

        var startPage = 0;
        var endPage = currentPages;
        var deltaPag = 0;

        if (currentPage > currentPages / 2) {
            startPage = currentPage - parseInt(currentPages / 2);
            endPage = startPage + currentPages;
            if (endPage > totPag - parseInt(currentPages / 2)) {
                deltaPag = currentPage - parseInt(totPag - Math.ceil(currentPages / 2));
                if (deltaPag > 0) {
                    startPage = startPage - deltaPag;
                    endPage = endPage - deltaPag;
                }
            }
        }

        var PrevIndex = parseInt(currentIndex) - parseInt(nElem);
        var NextIndex = parseInt(currentIndex) + parseInt(nElem);
        var LastIndex = (totPag - 1) * parseInt(nElem);

        var divNav = document.createElement("div");
        $(divNav).addClass("ElencoOpereNav");


        if (currentIndex > 0) {
            var firstA = document.createElement("a");
            $(firstA).addClass("frec");
            $(firstA).attr("href", "javascript:searchOpere(0, '" + elencoOpereJSON.TITOLO + "', '" + elencoOpereJSON.AUTORE + "', '" + elencoOpereJSON.MATERIA + "', '" + elencoOpereJSON.LVL + "','" + elencoOpereJSON.AREA + "', '" + elencoOpereJSON.MARCHIO + "', '" + elencoOpereJSON.ISBN + "', '" + elencoOpereJSON.ABS + "');");
            $(firstA).html("&laquo;");
            $(divNav).append(firstA);

            var prevA = document.createElement("a");
            $(prevA).addClass("frec");
            $(prevA).attr("href", "javascript:searchOpere(" + PrevIndex + ", '" + elencoOpereJSON.TITOLO + "', '" + elencoOpereJSON.AUTORE + "', '" + elencoOpereJSON.MATERIA + "', '" + elencoOpereJSON.LVL + "','" + elencoOpereJSON.AREA + "', '" + elencoOpereJSON.MARCHIO + "', '" + elencoOpereJSON.ISBN + "', '" + elencoOpereJSON.ABS + "');");
            $(prevA).html("&lsaquo;");
            $(divNav).append(prevA);
        }

        for (i = startPage; i < endPage; i++) {
            if (i == currentPage) {
                var pagA = document.createElement("p");
                $(pagA).html(i + 1);
            }
            else {
                var pagA = document.createElement("a");
                $(pagA).attr("href", "javascript:searchOpere(" + i * parseInt(nElem) + ", '" + elencoOpereJSON.TITOLO + "', '" + elencoOpereJSON.AUTORE + "', '" + elencoOpereJSON.MATERIA + "', '" + elencoOpereJSON.LVL + "','" + elencoOpereJSON.AREA + "', '" + elencoOpereJSON.MARCHIO + "', '" + elencoOpereJSON.ISBN + "', '" + elencoOpereJSON.ABS + "');");
                $(pagA).html(i + 1);
            }
            $(divNav).append(pagA);
        }

        if (NextIndex < totRec) {
            var nextA = document.createElement("a");
            $(nextA).addClass("frec");
            $(nextA).attr("href", "javascript:searchOpere(" + NextIndex + ", '" + elencoOpereJSON.TITOLO + "', '" + elencoOpereJSON.AUTORE + "', '" + elencoOpereJSON.MATERIA + "', '" + elencoOpereJSON.LVL + "','" + elencoOpereJSON.AREA + "', '" + elencoOpereJSON.MARCHIO + "', '" + elencoOpereJSON.ISBN + "', '" + elencoOpereJSON.ABS + "');");
            $(nextA).html("&rsaquo;");
            $(divNav).append(nextA);

            var lastA = document.createElement("a");
            $(lastA).addClass("frec");
            $(lastA).attr("href", "javascript:searchOpere(" + LastIndex + ", '" + elencoOpereJSON.TITOLO + "', '" + elencoOpereJSON.AUTORE + "', '" + elencoOpereJSON.MATERIA + "', '" + elencoOpereJSON.LVL + "','" + elencoOpereJSON.AREA + "', '" + elencoOpereJSON.MARCHIO + "', '" + elencoOpereJSON.ISBN + "', '" + elencoOpereJSON.ABS + "');");
            $(lastA).html("&raquo;");
            $(divNav).append(lastA);
        }
        
        return divNav;
    }
    else
        return "";
}
function doSearchISBNweb() {
    var ISBN = $(".TXTcercaISBN").val();
    ISBN = trim(ISBN);

    var myRegExp = /[-]/g;
    ISBN = ISBN.replace(myRegExp, '');

    if (!(IsInteger(ISBN))) {
        alertDiv("Formato del codice ISBN non valido!");
        return;
    }
    $.post("/Search/searchISBNweb", { ISBN: ISBN }, function(data) {
        searchISBNweb_CallBack(data);
    }, "json");
}
function searchISBNweb() {
    if ($(".risorseWeb-menuSx").length > 0) {
        $(".risorseWeb-menuSx").slideUp("slow", function(data) {
            doSearchISBNweb();
        });
    }
    else {
        doSearchISBNweb();
    }
}
function searchISBNweb_CallBack(response) {
    $(".risorseWeb-menuSx").remove();

    var div = document.createElement("div");
    $(div).addClass("risorseWeb-menuSx");

    if (response.idopera != "" && response.esito == 1) {

        if (response.linkEsternoDoc != "") {
            var aSch = document.createElement("a");
            $(aSch).html("Sei un docente");
            if (response.linkEsternoDoc.substring(0, 7) == "http://") {
                $(aSch).attr("href", response.linkEsternoDoc);
            }
            else {
                $(aSch).attr("href", "http://" + response.linkEsternoDoc);
            }
            
            $(aSch).attr("target", "_blank");
            $(div).append(aSch);
            $(div).append('<br />');
        }
        else if (response.docente != "") {
                var aDoc = document.createElement("a");
                $(aDoc).html("Sei un docente");
                $(aDoc).attr("href", "/estensioneWeb.aspx?ID=" + response.docente);
                $(div).append(aDoc);
                $(div).append('<br />');
        }

        if (response.linkEsternoStud != "") {
            var aSch = document.createElement("a");
            $(aSch).html("Sei uno studente");
            if (response.linkEsternoStud.substring(0, 7) == "http://") {
                $(aSch).attr("href", response.linkEsternoStud);
            }
            else {
                $(aSch).attr("href", "http://" + response.linkEsternoStud);
            }
            $(aSch).attr("target", "_blank");
            $(div).append(aSch);
            $(div).append('<br />');
        }
        else if (response.studente != "") {
                var aStu = document.createElement("a");
                $(aStu).html("Sei uno studente");
                $(aStu).attr("href", "/estensioneWeb.aspx?ID=" + response.studente);
                $(div).append(aStu);
                $(div).append('<br />');
        }



        if (response.linkEsternoDoc == "" && response.docente == "" && response.linkEsternoStud == "" && response.studente == "" ) {
            if (response.linkEsterno == "") {
                $(div).append("Nessun materiale trovato per <br /><em>\"" + response.keyword + "\"</em><br />");
            }
            else {
                var aSch = document.createElement("a");
                $(aSch).html("Vai alle risorse web");
                if (response.linkEsterno.substring(0, 7) == "http://") {
                    $(aSch).attr("href", response.linkEsterno);
                }
                else {
                    $(aSch).attr("href", "http://" + response.linkEsterno);
                }
                $(aSch).attr("target", "_blank");
                $(div).append(aSch);
                $(div).append('<br />');
            }
        }
    }
    else {
        $(div).append("Nessun materiale trovato per <br /><em>\"" + response.keyword+"\"</em><br />");
    }
    $(".searchRW").append(div);
    $(".risorseWeb-menuSx").hide();
    $(".risorseWeb-menuSx").slideDown("slow");
    
 }

