var articleBinder_sessionid = '';
var articleBinder_portalid = '';
var articleBinder_userid = '';
var articleBinder_control = '';
var articleBinder_ctx = '';

var articleBinder_cart_control = '';
var articleBinder_cart_ctx = '';
var articleBinder_cart_tmpdir = '';
var articleBinder_cart_pdftemplate = '';
var articleBinder_cart_pdfname = '';


function __articleBinder_post(args, success) {
    jQuery.post('#default.aspx?',
		{ __DNNCAPISCI: articleBinder_control, __DNNCAPISCP: args, __DNNCAPISCT: 0 },
		success);
}

function __articleBinder_cart_post(args, success) {
    jQuery.post('#default.aspx?',
		{ __DNNCAPISCI: articleBinder_cart_control, __DNNCAPISCP: args, __DNNCAPISCT: 0 },
		success);
}


// Init the AJAX functionality
function articleBinder_init(sessionId, portalId, userId, control, ctx) {
    articleBinder_control = control;
    articleBinder_ctx = ctx;
    articleBinder_sessionid = sessionId;
    articleBinder_portalid = portalId;
    articleBinder_userid = userId;
}

// Init the AJAX functionality
function articleBinder_initcart(control, ctx, tmpdir, pdftemplate, pdfname) {
    articleBinder_cart_control = control;
    articleBinder_cart_ctx = ctx;
    articleBinder_cart_tmpdir = tmpdir;
    articleBinder_cart_pdftemplate = pdftemplate;
    articleBinder_cart_pdfname = pdfname;
}

// Update number of items currently in the cart
function articleBinder_updateCartItemCount() {
    var args = "GetCartItemCount|" + articleBinder_sessionid + "|" + articleBinder_portalid + "|" + articleBinder_userid;

    __articleBinder_post(args, __articleBinder_updateCartItemCount_success);
}

// Success jump point of method call 'articleBinder_addItemToCart'
function __articleBinder_updateCartItemCount_success(result) {
    var tmp = result.split('|');

    if (tmp[0] == "OK") {
        var ctrl = jQuery("#" + articleBinder_ctx + "_articleCount");
        ctrl.html(tmp[1]);
    }
}

// Add a new item to the cart
function articleBinder_addItemToCart(categoryId, itemId) {
    var args = "AddItemToCart|" + articleBinder_sessionid + "|" + articleBinder_portalid + "|" + articleBinder_userid + "|" + categoryId + "|" + itemId + "";
    __articleBinder_post(args, __articleBinder_addItemToCart_success);
}

// Success jump point of method call 'articleBinder_addItemToCart'
function __articleBinder_addItemToCart_success(result) {

    var tmp = result.split('|');
    var dialog = jQuery("#pdf-collector-dialog");
    var text = jQuery("#pdf-collector-dialog-text");

    if (tmp[0] == "OK") {
        if (tmp[1] == "False") {
            if (dialog != null) {
                dialog.css("display", "block");
                text.html("Dieser Artikel befindet sich bereits in der PDF Mappe.");
            }
            else {
                alert("Dieser Artikel befindet sich bereits in der PDF Mappe.");
            }
        }
        else {
            // Update items in cart counter on web page
            articleBinder_updateCartItemCount();

            if (dialog != null) {
                dialog.css("display", "block");
                text.html("Inhalt wurde zu &quot;Meine Notizen&quot; hinzugef&uuml;gt.");
            }
            else {
                alert("Artikel wurde zur PDF Mappe hinzugef&uuml;gt.");
            }
        }
    }
    else {
        if (dialog != null) {
            dialog.css("display", "block");
            text.html("Artikel konnte nicht in die PDF Mappe aufgenommen werden. Bitte versuchen Sie es erneut oder laden Sie die aktuelle Seite ggf. neu.");
        }
        else {
            alert("Artikel konnte nicht in die PDF Mappe aufgenommen werden. Bitte versuchen Sie es erneut oder laden Sie die aktuelle Seite ggf. neu.");
        }
    }
}

// closes the dialog
function articleBinder_collectordialog_close() {
    jQuery('#pdf-collector-dialog').css("display", "none");
}

// Removes an item from the cart
function articleBinder_removeItemFromCart(categoryId, itemId) {
    var args = "RemoveItemFromCart|" + articleBinder_sessionid + "|" + articleBinder_portalid + "|" + articleBinder_userid + "|" + categoryId + "|" + itemId + "";

    __articleBinder_post(args, __articleBinder_removeItemFromCart_success);
}

// Success jump point of method call 'articleBinder_removeItemFromCart'
function __articleBinder_removeItemFromCart_success(result, ctx) {
    var tmp = result.split('|');

    if (tmp[0] == "OK") {
        // remove list entry (if list is shown)
        var entry = jQuery("#cartItem_" + tmp[6] + "_" + tmp[7]);

        if (entry != null) {
            entry.remove();
        }

        // Update items in cart counter on web page
        articleBinder_updateCartItemCount();
    }
}

// Removes an item from the cart
function articleBinderCart_createPDFDocument() {
    var args = "CreatePDFDocument|" + articleBinder_sessionid + "|" + articleBinder_portalid + "|" + articleBinder_userid + "|" + articleBinder_cart_tmpdir + "|" + articleBinder_cart_pdftemplate + "|" + articleBinder_cart_pdfname;

    // show download dialog
    var dialog = jQuery("#pdf-cart-dialog");
    var text = jQuery("#pdf-cart-dialog-text");
    var saveas = jQuery("#pdf-cart-dialog-saveas");
    var open = jQuery("#pdf-cart-dialog-open");

    if (dialog != null) {
        dialog.css("display",  "block");

        saveas.css("visibility", "hidden");
        open.css("visibility", "hidden");

        saveas.attr("href", "#");
        open.attr("href", "#");

        text.html("PDF Dokument wird erstellt... bitte warten!");
    }
    __articleBinder_cart_post(args, __articleBinderCart_createPDFDocument_success);
}

function articleBinderCart_downloaddialog_close() {
    jQuery('#pdf-cart-dialog').css("display", "none");
}

// Success jump point of method call 'articleBinderCart_createPDFDocument'
function __articleBinderCart_createPDFDocument_success(result, ctx) {
    var tmp = result.split('|');

    var dialog = jQuery("#pdf-cart-dialog");
    var text = jQuery("#pdf-cart-dialog-text");
    var saveas = jQuery("#pdf-cart-dialog-saveas");
    var open = jQuery("#pdf-cart-dialog-open");

    if (tmp[0] == "OK") {
        // Show message if item is not inside the cart		
        if (tmp[1] == "False") {
            text.html("PDF Dokument konnte nicht erzeugt werden. ");
        }
        else if (tmp[1] == "True") {
            text.html("PDF Dokument wurde erfolgreich erstellt.");
            saveas.css("visibility", "visible");
            open.css("visibility", "visible");

            saveas.attr("href", tmp[2]);
            open.attr("href", tmp[2]);
        }
    }
    else {
        text.html("PDF Dokument konnte nicht erzeugt werden. " + tmp[2]);
    }
}


// General error handler.
function __articleBinder_error(result, ctx) {
    alert("Es ist ein Fehler bei der Datenuebermittlung aufgetreten, bitte versuchen Sie es erneut oder laden Sie die aktuelle Seite ggf. neu.");
}


