var litium = {};

litium.templates = {
	smallShoppingCart: (function () {
		var cart = {};
		cart.init = function () {
			$(function () {

				if ($("ul.cartcontent li").length > 0) {
					$("#cartOpenCloseIcon").click(function (e) {
						if (e.target.nodeName !== "A") {
							var cart = $("#shoppingcart .cartcontent");

							$("#cartOpenCloseIcon").toggleClass("open-cart-icon");
							$("#cartOpenCloseIcon").toggleClass("close-cart-icon");

							if (cart.css("display") != "block") {
								$("#shoppingcart").toggleClass("open");
								
								cart.slideDown("fast");
							}
							else {
								cart.slideUp("fast", function () { $("#shoppingcart").toggleClass("open");});
							}
						}
					}).css("cursor", "pointer");
				}
			});
		}
		return cart;
	})(),

	checkout: (function () {
		var cart = {};
		cart.init = function () {
			$(function () {
					$(".checkout-coll").equalizeCols();
				
					$("#checkoutCartSummary").click(function (e) {
						if (e.target.nodeName !== "A") {
							var cart = $("#checkoutCartTable");

							$("#checkoutCartSummaryIcon").toggleClass("open");
							$("#checkoutCartSummaryIcon").toggleClass("closed");

							if (cart.css("display") != "block") {
								
								$("#checkoutCartSummary").toggleClass("closed");

								cart.slideDown("fast", function(){  });

								$("input[id$='m_hiddenFieldIsExpanded']").val("true");
							}
							else {
								cart.slideUp("fast", function () { $("#checkoutCartSummary").toggleClass("closed"); });
								$("input[id$='m_hiddenFieldIsExpanded']").val("false");
							}

						}
					}).css("cursor", "pointer");
			});
		}
		return cart;
	})(),

	loginPanel: (function () {
		var panel = {};
		panel.init = function () {
			$(function () {
				var isVisible = $('div#forgotten-password-panel > input:hidden').val() == 'True'
				if (isVisible)
					$('div#forgotten-password-panel').show();
				else
					$('div#forgotten-password-panel').hide();

				$('a[id$=c_forgottenPasswordLink]').click(function () {
					var fpv = $('div#forgotten-password-panel > input:hidden');
					var fpvValue = fpv.val();

					$('div#forgotten-password-panel').slideToggle("fast");

					if (fpvValue == 'False')
					{ fpv.val('True'); $('input[id$=c_textBoxEmail]').focus(); }
					else
					{ fpv.val('False'); $('input[id$=c_textBoxLoginName]').focus(); }

					return false;
				});
			});
		}
		return panel;
	})(),

	include: (function () {
		var self = {};
		var defaults = { iframeHeight: '600px' };

		self.resize = function (iframe, iframeHeight) {
			try {
				iframe.style.height = iframe.contentWindow.document.body.scrollHeight + 'px';
			} catch (e) {
				iframe.style.height = iframeHeight;
			}
		};

		self.init = function (options) {
			///<summary>
			/// Initialises the resizing of iframes in the document.
			/// Parameters: options: { iframeHeight: height declaration, e.g. '600px' }
			///</summary>
			var i;
			var iframe;
			var iframes = document.getElementsByTagName('iframe');
			var settings = jQuery.extend({}, defaults, options);
			var onloadValue = 'litium.templates.include.resize(this, "' + settings.iframeHeight + '");'

			for (i = 0; iframe = iframes[i]; i++) {
				iframe.setAttribute('onload', onloadValue);
			}
		};

		return self;
	})(),

	orderhistory: (function () {
		var self = {};

		self.init = function (options) {
			///<summary>
			/// Initialises the links to order details.
			///</summary>
			$(document).ready(function () {
				$('table.ordermenu > tbody > tr.order-details').hide();

				$('table.ordermenu > tbody > tr.menu-item').each(function () {
					$(this).children("td").click(function () {
						$(this).parent().toggleClass("selected");
						$(this).parent().next().toggle();
					});
				});
			});

		};

		return self;
	})(),

	education: (function () {
		var self = {};

		self.init = function (options) { };

		self.validateAttendeesForm = function()
		{
			var table = $("#attendeesTable");
			var boxes = table.find("input[type=text]");
			var message = table.find(".required-fields-message");

			var gotEmptyBox = false;
			for(var i = 0; i < boxes.length; i++)
			{
				var box = $(boxes[i]);
				var val = box.val();
				if(val == null || val == "")
				{
					gotEmptyBox = true;
					box.addClass("required-field");
				}
				else
				{
					box.removeClass("required-field");
				}
			}

			if(gotEmptyBox)
				message.show();
			else
				message.hide();
			

			return !gotEmptyBox;
		};

		return self;
	})()
};
