﻿showMenu = function(s, d) {
    if (s) {
        var m = document.getElementById("sub_" + s.id);
        if (m) {
            ms = $(".dvMenuCx ul");
            for (i = 0; i < ms.length; i++) {
                ms[i].style.display = "none";
            }
            m.style.display = "block";
            $(".dvMenuSx a.selected").removeClass("selected");
        }
        $(s).addClass("selected");
    }
    if (d) {
        $(d).addClass("selected");
    }
}

hideMenuBar = function() {
    $("#content").removeClass("dvMenuShow");
    $("#content").addClass("dvMenuHide");
    goResize();
}
showMenuBar = function() {
    $("#content").removeClass("dvMenuHide");
    $("#content").addClass("dvMenuShow");
    goResize();
}
hideDescrizione = function() {
    $("#dvDescrizione").removeClass("dvDescrizioneShow");
    $("#dvDescrizione").addClass("dvDescrizioneHide");
}
showDescrizione = function() {
    $("#dvDescrizione").removeClass("dvDescrizioneHide");
    $("#dvDescrizione").addClass("dvDescrizioneShow");
}
hideContent = function() {
    $("#dvContent").removeClass("dvContentShow");
    $("#dvContent").addClass("dvContentHide");
}
showContent = function() {
    $("#dvContent").removeClass("dvContentHide");
    $("#dvContent").addClass("dvContentShow");
}

checkRight = function(e) {
    if (!e) var e = window.event;
    var rightclick = false;
    if (e.which) rightclick = (e.which == 3);
    else if (e.button) rightclick = (e.button == 2);
    return rightclick;
}

goResize = function() {
    $(".previousslide img").hide();
    var imgs = $(".activeslide img");
    var img = $(".activeslide img").first();
    $(".dvHoverImg").hide();
    $(".dvDescImg").hide();
    if (img.hasClass("nopreload")) {
        img.attr("isloaded", true);
    }
    if (!img.attr("isloaded")) {
        if (!img.attr("loading")) {
            //var inp = $(".activeslide input");
            //img.attr("src", inp.attr("value"));
            //img.attr("loading", true);
            var m = img.siblings("input.preload").first();
            goPreload(m);
            var im2 = $(".activeslide .imgHover img");
            if (im2.size() > 0) {
                if (!im2.attr("isloaded")) {
                    if (!im2.attr("loading")) {
                        m = im2.siblings("input.preload").first();
                        goPreload(m);
                    }
                }
            }
        }
        //img.bind("load", function() { $(this).removeAttr("loading"); goResize(); });
    }
    else {
        img.hide();
        img.width("auto");
        img.height("auto");
        var imageWidth = img.width();
        var imageHeight = img.height();
        var ratio = imageHeight / imageWidth;
        var screenWidth = $(window).width();
        var screenHeight = $(window).height() - $("#content").height();
        var screenRatio = screenHeight / screenWidth;
        $("#dvDescrizione").css("max-height", screenHeight - 16);
        $("#dvDescrizione").css("bottom", $("#content").height());
        $("#dvContent").css("max-height", screenHeight - 16);
        //alert(screenRatio + " " + ratio + " " + imageWidth + " " + imageHeight + " " + (screenWidth - img.width()) + " " + (screenHeight - img.height()));
        imgs.css('top', 0);
        imgs.css('left', 0);
        var rel = img.attr("rel");
        if (screenRatio > ratio) {
            imgs.height(screenHeight);
            imgs.width(screenHeight / ratio);
            if (rel == "left" || rel == "topleft" || rel == "bottomleft") {
                imgs.css('left', 0);
            }
            else if (rel == "right" || rel == "topright" || rel == "bottomright") {
                imgs.css('left', (screenWidth - img.width()));
            }
            else {
                imgs.css('left', (screenWidth - img.width()) / 2);
            }
        }
        else {
            imgs.width(screenWidth);
            imgs.height(screenWidth * ratio);
            if (rel == "top" || rel == "topleft" || rel == "topright") {
                imgs.css('top', 0);
            }
            else if (rel == "bottom" || rel == "bottomleft" || rel == "bottomright") {
                imgs.css('top', (screenHeight - img.height()));
            }
            else {
                imgs.css('top', (screenHeight - img.height()) / 2);
            }
        }
        img.show();
        imgs.show();
        imgs.parent().height(screenHeight);
        imgs.parent().width(screenWidth);
        $(".dvNavigator .selected").removeClass("selected");
        $("#lnkNav" + document.getElementById("currentImageNumber").value).addClass("selected");
        //alert($(".activeslide .imgHover img").attr("isloaded"));
        $(".activeslide .dvDescImg").show();
        if ($(".activeslide .imgHover img").attr("isloaded")) {
            $(".activeslide .dvHoverImg").show();
        }
    }

}

nextslide = function() {
    var next = $(".activeslide").next();
    if(next.length == 0) {
        next = $('#supersize .slide').first();
        document.getElementById("currentImageNumber").value = "1";
    }
    else {
        var n = parseInt(document.getElementById("currentImageNumber").value);
        document.getElementById("currentImageNumber").value = (n+1);
    }
    changeslide(next);
}

prevslide = function() {
    var prev = $(".activeslide").prev();
    if(prev.length == 0) {
        prev = $('#supersize .slide').last();
        document.getElementById("currentImageNumber").value = $('#supersize .slide').length;
    }
    else {
        var n = parseInt(document.getElementById("currentImageNumber").value);
        document.getElementById("currentImageNumber").value = (n-1);
    }
    changeslide(prev);
}

gotoslide = function(n) {
    var next = $($('#supersize .slide')[n]);
    document.getElementById("currentImageNumber").value = (n+1);
    changeslide(next);
}

changeslide = function(next) {
    $(".previousslide").removeClass("previousslide");
    var activeSlide = $(".activeslide");
    activeSlide.removeClass("activeslide");
    activeSlide.addClass("previousslide");
    next.addClass("activeslide");
    goResize();
}

function goPreload(m) {
    var repeat = !m;
    if (!m) m = $("input.preload").first();
    if (m.length > 0) {
        m.removeClass("preload");
        m.addClass("preload_done");
        var im = m.siblings("img").first();
        if (im.attr("src") == 'images/blank.gif') {
            im.attr("loading", true);
            im.attr("src", m.attr("value"));
        }
        else if (repeat) {
            goPreload();
        }
    }
}

documentArrowListener = function(e) {
    e = e ? e : window.event;
    var keycode = (e && e.which) ? e.which : e.keyCode; 
    if(keycode == 188 || keycode == 37 || keycode ==100) {
        prevslide();	    
    }
    else if(keycode == 190 || keycode == 39 || keycode == 102) {
        nextslide();	    
    }
}

showHover = function(lnk) {
    if ($("#supersize .activeslide .imgHover").size() > 0) {
        $("#supersize .activeslide .imgMain").hide();
        $("#supersize .activeslide .imgHover").show();
    }
}

hideHover = function(lnk) {
    if ($("#supersize .activeslide .imgHover").size() > 0) {
        $("#supersize .activeslide .imgMain").show();
        $("#supersize .activeslide .imgHover").hide();
    }
}

imgLoadHandler = function() {
    if ($(this).attr("src") == 'images/blank.gif') {
        return false;
    }
    $(this).removeAttr("loading");
    $(this).attr("isloaded", true);
    if (!$(this).hasClass("nopreload")) {
        //alert($(this).attr("src"));
        goPreload();
    }
    if ($(this).parents(".activeslide").size() > 0) {
        //alert("!");
        if ($(this).parent().hasClass("imgHover")) {
            $(".activeslide .dvHoverImg").show();
            //$(this).hide();
        }
        else {
            goResize();
        }
    }
}

$(function() {
    var d = $('#supersize');
    document.getElementById("currentImageNumber").value = "1";
    var el = $($('#supersize .slide')[0]);
    el.addClass("activeslide");
    $("#supersize .slide img").bind("load", imgLoadHandler);
    //$("#supersize .slide img").attr("loading", true); ;
    $(document).bind("scroll", function() {
        return false;
    });
    $(document).bind("keydown", documentArrowListener);
    $(window).bind("resize", function() {
        goResize();
    });
    $(window).bind("load", function() {
        $(".loading").hide();
        goPreload();
        //goResize();
    });
    customMainFn();
});

