﻿


function toggleContent(name, n) {
    var i, t = '', el = document.getElementById(name);
    if (!el.origCont) el.origCont = el.innerHTML;

    for (i = 0; i < n; i++) t += el.origCont;
    el.innerHTML = t;
}

function showSearchHelp(divID, show) {
    var div = document.getElementById(divID);

    if (show == true) {
        div.style.display = "block";
    }
    else {
        div.style.display = "none";
    }
}






/* Helper wrappers */
$.postJSON = function (urlIn, dataIn, callbackIn) {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: urlIn,
        dataType: "json",
        data: dataIn,
        success: callbackIn
    });
};
$.postParams = function (collectionOfParameters) {
    return JSON.stringify(collectionOfParameters);
}





$(function () {
    updateLightBox();

    $("#btnToggleSearchOptions").click(function () {
        $("div.master-search-options-block").slideToggle(function () {
            var img = $("#btnToggleSearchOptions img");
            var src = img.attr("src");
            if (src.search("search_advancedUp.gif") > 0) {
                src = src.replace("search_advancedUp.gif", "search_advanced.gif");
                $.cookie("advancedSearchOpen", "false");
            }
            else {
                src = src.replace("search_advanced.gif", "search_advancedUp.gif");
                $.cookie("advancedSearchOpen", "true");
            }
            img.attr("src", src);
        });
    });

    $("#dialogRegisterInfo").dialog({
        autoOpen: false,
        modal: true,
        buttons: {
            Ok: function () {
                $(this).dialog('close');
            }
        }
    });
    $("#dialogSendToFriend").dialog({
        autoOpen: false,
        modal: true,
        buttons: {
            'Lähetä': function () {


                $.postJSON("/WebServices/Lightbox.asmx/SendLightBox",
                $.postParams({
                    lightboxID: $("select[id*='ddlSelectedLightBox']").val(),
                    emailAddress: $("#friendEmail").val()
                }), null);


                $(this).dialog('close');
            }
        }
    });

    $("#dialogEditLightbox").dialog({
        autoOpen: false,
        bgiframe: false,
        height: 300,
        width: 450,
        modal: true,
        buttons: {
            "Peruuta": function () {
                $(this).dialog('close');
            },
            "Tallenna": function () {

                if ($("#dialogFormMode").val() == "edit") {

                    $.postJSON("/WebServices/Lightbox.asmx/UpdateLightBox",
                $.postParams({
                    lightboxID: $("select[id*='ddlSelectedLightBox']").val(),
                    name: $("input[id*='tbLightBoxName']").val(),
                    notes: $("textarea[id*='tbNotes']").val()
                }), updateLightBox);

                }
                else {
                    $.postJSON("/WebServices/Lightbox.asmx/AddLightBox",
                $.postParams({
                    name: $("input[id*='tbLightBoxName']").val(),
                    notes: $("textarea[id*='tbNotes']").val()
                }), function (data) {
                    //alert(data.d);
                    updateLightBox(data.d);
                });
                }



                $(this).dialog('close');
            }
        }
    });
});




function lightBoxAddImageToBasket(mediaID) {
    $.postJSON("/WebServices/Lightbox.asmx/AddImageToBasket",
    $.postParams({
        mediaID: mediaID,
        lightboxID: $("select[id*='ddlSelectedLightBox']").val()
    }), function () {
        window.location.href = window.location;
    });
}


function lightBoxAddImage(mediaID, deleteFromBasket) {

    //show info for the not logged in users
    if (!$("div[id*='_divBasketContainer']").is("div")) {
        $("#dialogRegisterInfo").dialog("open");
        return false;
    }

    $.postJSON("/WebServices/Lightbox.asmx/AddImage",
    $.postParams({
        mediaID: mediaID,
        lightboxID: $("select[id*='ddlSelectedLightBox']").val(),
        deleteFromBasket: deleteFromBasket
    }), function () {
        if (deleteFromBasket) {
            window.location.href = window.location;
        }
        else {
            updateLightBox();
        }
    });
}

function lightBoxRemoveImage(mediaID) {

    $.postJSON("/WebServices/Lightbox.asmx/RemoveImage",
    $.postParams({ mediaID: mediaID,
        lightboxID: $("select[id*='ddlSelectedLightBox']").val()
    }), updateLightBox);
}

function updateLightBox(lightboxID) {
    var lightboxIDtoUpdate = $("select[id*='ddlSelectedLightBox']").val();
    if (lightboxID != undefined && lightboxID.length == 36) {
        lightboxIDtoUpdate = lightboxID;
    }

    $.postJSON("/WebServices/Lightbox.asmx/GetHtml",
    // Parameters
            "{'lightboxID':'" + lightboxIDtoUpdate + "'}",
    // On xhr success
    function (data) {

        $("div[id*='lightboxContainer']").html(data.d);
        registerLightboxScripts();
    }
);
}


function showLightbox() {
    $("#lightboxActions ul").css("display", "none");
    $("div[id*='lightboxContainer']").animate({ height: 185 }, 500);
    $(this).text("Sulje");
    $(this).addClass("toggleLightBoxOpened");
    $(this).removeClass("toggleLightBoxClosed");
    lightboxIsOpen = true;
    $.cookie("lightboxIsOpen", "true");
}
function hideLightbox() {
    $("#lightboxActions ul").css("display", "none");
    $("div[id*='lightboxContainer']").animate({ height: 20 }, 500);
    $(this).text("Avaa");
    $(this).removeClass("toggleLightBoxOpened");
    $(this).addClass("toggleLightBoxClosed");
    lightboxIsOpen = false;
    $.cookie("lightboxIsOpen", "false");
}

function registerLightboxScripts() {
    if ($.cookie("lightboxIsOpen") != "true") {
        $(".toggleLightBox").toggle(showLightbox, hideLightbox);
    }
    else {
        $(".toggleLightBox").toggle(hideLightbox, showLightbox);
        $(".toggleLightBox").text("Sulje");
        //$(".toggleLightBox").toggle("hide");
    }

    $("#btnLightboxActions").click(function () {
        //$("#lightboxActions ul").slideToggle(function () {
        $("#lightboxActions ul").fadeToggle(400, function() {
            var obj = $("#btnLightboxActions");
            if (obj.hasClass("btnLightboxActionsOpened")) {
                obj.removeClass("btnLightboxActionsOpened");
                obj.addClass("btnLightboxActionsClosed");
            }
            else {
                obj.addClass("btnLightboxActionsOpened");
                obj.removeClass("btnLightboxActionsClosed");
            }
        });
    });
   
    $("#btnMoveImagesToBasket").click(function () {
        $.postJSON("/WebServices/Lightbox.asmx/MoveLightboxToBasket",
        $.postParams({ lightboxID: $("select[id*='ddlSelectedLightBox']").val() }),
        function () {
            window.location.href = window.location;
        });
    });


    $("#btnSendLightbox").click(function () {
        $("#dialogSendToFriend").dialog("open");
        $("#lightboxActions ul").css("display", "none");
    });


    $("#btnEdit").click(function () {
        showLightboxEditor("edit");
        $("#lightboxActions ul").css("display", "none");
    });

    $("#btnNew").click(function () {
        showLightboxEditor("new");
        $("#lightboxActions ul").css("display", "none");
    });

    $("select[id*='ddlSelectedLightBox']").change(updateLightBox);


    $("#btnDelete").click(function () {
        if (!confirm("Valopöytä ja sen kaikki kuvat poistetaan"))
            return;


        $.postJSON("/WebServices/Lightbox.asmx/DeleteLightBox",
        "{'lightboxID':'" + $("select[id*='ddlSelectedLightBox']").val() + "'}", function () {

            // Reset lightbox dropdown before the update
            $("select[id*='ddlSelectedLightBox'] option:first").attr("selected", "selected");

            updateLightBox();
        });
        $("#lightboxActions ul").css("display", "none");
    });

}

function showNotLoggedInInfo() {
    $("#dialogRegisterInfo").dialog("open");
}


function showLightboxEditor(mode) {
    $("#dialogFormMode").val(mode);

    $.postJSON("/WebServices/Lightbox.asmx/GetEditor", "{'lightboxID':'" + $("select[id*='ddlSelectedLightBox']").val() + "'}", function (msg) {
        $('#dialogEditLightbox').html(msg.d);
        $('#dialogEditLightbox').dialog('open');

        if (mode == "new") {
            $('#dialogEditLightbox *').val("");
        }
    });
}
