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 = '';

// 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;

    dnn.xmlhttp.doCallBack(articleBinder_control, args, __articleBinder_updateCartItemCount_success, articleBinder_ctx, __articleBinder_error, null);
}

// Success jump point of method call 'articleBinder_addItemToCart'
function __articleBinder_updateCartItemCount_success(result, ctx)
{	
	var tmp = result.split('|');

	if (tmp[0] == "OK")
	{
		var ctrl = dnn.dom.getById(articleBinder_ctx + "_articleCount", null);
		ctrl.innerHTML = 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 + "";

    dnn.xmlhttp.doCallBack(articleBinder_control, args, __articleBinder_addItemToCart_success, articleBinder_ctx, __articleBinder_error, null);
}

// Success jump point of method call 'articleBinder_addItemToCart'
function __articleBinder_addItemToCart_success(result, ctx)
{	
	var tmp = result.split('|');
	var dialog = dnn.dom.getById("pdf-collector-dialog", null);
	var text = dnn.dom.getById("pdf-collector-dialog-text", null);

	if (tmp[0] == "OK")
	{
		if (tmp[1] == "False")
		{
			if (dialog != null)
			{	
				dialog.style.display = "block";
				text.innerHTML = "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.style.display = "block";
				text.innerHTML = "Artikel wurde zur PDF Mappe hinzugef&uuml;gt.";
			}
			else
			{
				alert("Artikel wurde zur PDF Mappe hinzugef&uuml;gt.");
			}
		}
	}
	else
	{
		if (dialog != null)
		{	
			dialog.style.display = "block";
			text.innerHTML = "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.");
		}
	}
}

function articleBinder_collectordialog_close()
{
	dnn.dom.getById('pdf-collector-dialog', null).style.display = "none";
}

// Removes an item from the cart
function articleBinder_removeItemFromCart(categoryId, itemId)
{
	var args = "RemoveItemFromCart|" + articleBinder_sessionid + "|" + articleBinder_portalid + "|" + articleBinder_userid + "|" + categoryId + "|" + itemId + "";

    dnn.xmlhttp.doCallBack(articleBinder_control, args, __articleBinder_removeItemFromCart_success, articleBinder_ctx, __articleBinder_error, null);
}

// 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 = dnn.dom.getById("cartItem_" + tmp[6] + "_" + tmp[7], null);

		if (entry != null)
		{
			dnn.dom.removeChild(entry);
		}

		// 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 = dnn.dom.getById("pdf-cart-dialog", null);
	var text = dnn.dom.getById("pdf-cart-dialog-text", null);
	var saveas = dnn.dom.getById("pdf-cart-dialog-saveas", null);
	var open = dnn.dom.getById("pdf-cart-dialog-open", null);
	
	if (dialog != null)
	{	
		dialog.style.display = "block";
		
		saveas.style.visibility = "hidden";
		open.style.visibility = "hidden";
		
		saveas.setAttribute("href", "#");
		open.setAttribute("href", "#");
		
		text.innerHTML = "PDF Dokument wird erstellt... bitte warten!";
	}
  dnn.xmlhttp.doCallBack(articleBinder_cart_control, args, __articleBinderCart_createPDFDocument_success, articleBinder_cart_ctx, __articleBinder_error, null);
}

function articleBinderCart_downloaddialog_close()
{
	dnn.dom.getById('pdf-cart-dialog', null).style.display = "none";
}

// Success jump point of method call 'articleBinderCart_createPDFDocument'
function __articleBinderCart_createPDFDocument_success(result, ctx)
{	
	var tmp = result.split('|');

	var dialog = dnn.dom.getById("pdf-cart-dialog", null);
	var text = dnn.dom.getById("pdf-cart-dialog-text", null);
	var saveas = dnn.dom.getById("pdf-cart-dialog-saveas", null);
	var open = dnn.dom.getById("pdf-cart-dialog-open", null);

	if (tmp[0] == "OK")
	{
		// Show message if item is not inside the cart		
		if (tmp[1] == "False")
		{
			text.innerHTML = "PDF Dokument konnte nicht erzeugt werden. ";
		}
		else if (tmp[1] == "True")
		{
			text.innerHTML = "PDF Dokument wurde erfolgreich erstellt.";
			saveas.style.visibility = "visible";
			open.style.visibility = "visible";
			
			saveas.setAttribute("href", tmp[2]);
			open.setAttribute("href", tmp[2]);
		}
	}
	else
	{
		text.innerHTML = "PDF Dokument konnte nicht erzeugt werden. " + tmp[2];
	}
}


// General error handler.
function __articleBinder_error(result, ctx)
{
	alert("Es ist ein Fehler bei der Daten&uuml;bermittlung aufgetreten, bitte versuchen Sie es erneut oder laden Sie die aktuelle Seite ggf. neu.");
}

