// jQuery goodness in here
$(document).ready(function () {

	// Select all links that contains lightbox in the attribute rel and convert to lightbox
	$('a[rel*=lightbox]').lightBox();

	// If the subnav column is empty
	if (!$("#content-column").children().contents().length > "") {

		// Set the inner content area to 100% width by adding a pre-defined CSS class
		$("#content-container").addClass("wide");
		$("#content-inner").addClass("wide");
		$("#crumb-trail").addClass("wide");

	}

	// Assign formatting classes to grid elements
	// For three row grids, select the middle column and apply class "spacer" to add margins
	$("div.grid-row-three-col div:nth-child(2)").addClass("spacer");

	// Hide spacer on top nav last child (x-browser)
	$("div#top-nav ul.nav li:last-child div.top-nav-node-spacer").css("display", "none");

	// CactuShop Hacks

	// Reduce size of category Menu
	$("div.subnav div.corner-body div#categorymenu, div.subnav div.corner-body ul.nav").each(function () {

		var subNavHeight = $(this).parent().height();
		$(this).parent().css({
			"height": (parseInt(subNavHeight) - 10) + "px"
		});

	});

	if (!$("div.subnav div.corner-body div#categorymenu ul li").hasClass("selected")) {

		$("div.subnav div.corner-body div#categorymenu").parent().parent().css("display", "none");

	}

	// Hide bottom corner if last item is selected
	if ($("div.subnav div.corner-body div#categorymenu ul li:last-child").hasClass("selected")) {

		$("div.subnav div.corner-body div#categorymenu").css("margin-bottom", "10px");
		$("div.subnav div.corner-body div#categorymenu ul li:last-child").parent().parent().parent().parent().children("div.corner-base").addClass("nav-selected");

	}

	// Hide bottom corner if last item is selected
	if ($("div.subnav div.corner-body ul.nav li:last-child").hasClass("selected")) {

		$("div.subnav div.corner-body ul.nav").parent().parent().children("div.corner-base").css("display", "none");

	}

	// Set parent selected class in order to hide selected state
	$("div.subnav div.corner-body ul li.selected ul li").each(function () {

		if ($(this).hasClass("selected")) {

			$(this).parent().parent().addClass("parent-selected");

		}

	});

	// Set parent selected class in order to hide selected state
	if (!($("div#container.root-page-shop div.subnav div.corner-body ul li").hasClass("parent-selected"))) {

		$("div#container.root-page-shop div.subnav div.corner-head").addClass("nav-selected");

	}

	// Set parent selected class in order to hide selected state
	if ($("div#minibasket div.subnav h2").length > 0) {

		$("div#minibasket div.subnav div.corner-head").addClass("nav-selected");

	}

	// Replace product page magnifying glass
	$("div#productimage img[src*=zoom.png]").wrap('<div class="zoom-box" />');
	$("div#productimage img[src*=zoom.png]").addClass("zoom-icon").attr("src", "/images/layout/search-button.png");
	$("div#productimage br").remove();
	$("div#productimage a").replaceText(/Large View/ig, "");
	$("div#productimage div.zoom-box img").after("Large View");

	// Add Quanity heading to product page
	$("div.boxinset.addtobasket").prepend("<label class=\"optiontitle\"><strong>Quantity</strong></option>");
	$("div.boxinset.addtobasket select").addClass("quantity-select");
	$("div.boxinset.addtobasket input").addClass("quantity-add").attr("value", "");

	// Remove value for Checkout button
	$("input#btnCheckout").attr("value", "");

	// Replace price input 
	// $("div.prices span.inctax span.pricevalue").replaceWith("&pound; <input type=\"text\" class=\"inctax\" name=\"txtPrice1\" value=\"" + $("div.prices span.inctax span.pricevalue").text().replace("£", "") + "\" id=\"txtPrice1\" readonly=\"readonly\">");

	// Generate grid for category page
	if ($("div.category div.subcategories").length > 0) {

		// Find subcategories
		var subcategories = $("div.category div.subcategories");

		// Set corner style variables
		var cornerHead = "<div class=\"corner-head\"><div class=\"corner-head-left\"></div><div class=\"corner-head-right\"></div></div>";
		var cornerBody = "<div class=\"corner-body\"></div>";
		var cornerBase = "<div class=\"corner-base\"><div class=\"corner-base-left\"></div><div class=\"corner-base-right\"></div></div>";

		// Create extension divs
		$("div#content-inner").append("<div id=\"content-inner-extra\"><div class=\"category grid-two-col\"></div></div>");
		$("div#content-inner-extra div.category").html(subcategories);

		// Set classes for grid elements
		subcategories.children("div.subcategory").addClass("grid-row-panel");
		subcategories.children("div.subcategory:even").addClass("even");
		subcategories.children("div.subcategory:odd").addClass("odd");
		subcategories.children("div.subcategory").each(function () {

			// Add corner elements
			$(this).prepend(cornerHead).append(cornerBase);
			$(this).children("div.box").wrap(cornerBody);

			// Prepend Image to beginning of panel
			var thumbLink = $(this).find("img.subcategory_image").parent();
			$(this).find("div.pad").prepend(thumbLink);

			// Replace strong with H2
			var headerContent = $(this).find("strong").html();
			$(this).find("strong").replaceWith("<h2>" + headerContent + "</h2>")

		});

	}

	// Generate grid for Product list page
	if ($("div.category div.products").length > 0) {

		// Find subcategories
		var products = $("div.category div.products");

		// Set corner style variables
		var cornerHead = "<div class=\"corner-head\"><div class=\"corner-head-left\"></div><div class=\"corner-head-right\"></div></div>";
		var cornerBody = "<div class=\"corner-body\"></div>";
		var cornerBase = "<div class=\"corner-base\"><div class=\"corner-base-left\"></div><div class=\"corner-base-right\"></div></div>";

		// Create extension divs
		$("div#content-inner").append("<div id=\"content-inner-extra\"><div class=\"category grid-two-col\"></div></div>");
		$("div#content-inner-extra div.category").html(products);

		// Set classes for grid elements
		products.children("div.product").addClass("grid-row-panel");
		products.children("div.product:even").addClass("even");
		products.children("div.product:odd").addClass("odd");
		products.children("div.product").each(function () {

			// Add corner elements
			$(this).prepend(cornerHead).append(cornerBase);
			$(this).children("div.box").wrap(cornerBody);

			// Prepend Image to beginning of panel
			var thumbLink = $(this).find("a img").parent();
			$(this).find("div.pad").prepend(thumbLink);

			// Remove strapline link
			var strapline = $(this).find("em.strapline").text();
			$(this).find("em.strapline").replaceWith("<em class=\"strapline\">" + strapline + "</em>");

		});

	}

	// Remove strapline 
	if ($("div#content-column div#minibasket").length > 0) {

		// Use tinysort to move to the end of parent container
		$("div#content-column div#minibasket").tsort({ place: "end" });

	}


});
