$(function() {

	

	// Hide the headers if no products found next to them

	if (!($("#CompatibleProductsHeader").next().is(".ProductList"))) { $("#CompatibleProductsHeader").hide(); }

	if (!($("#SimilarProductsHeader").next().is(".ProductList"))) { $("#SimilarProductsHeader").hide(); }

	

	// Crossselling carousel at productpage and in cart

	if ($("#CrossSaleProducts div.Product").length) {

		var CrossSaleHeaderText;

		if ($("#CartTable").length) { CrossSaleHeaderText = "Näitä tuotteita ostaneet ostivat myös..."} else { CrossSaleHeaderText = "Tämän tuotteen ostaneet ostivat myös..."}

		$("#CrossSaleScroller").css("overflow","hidden").before('<h2 class="BoxHeader Center">' + CrossSaleHeaderText + '</h2><span id="ScrollToPrev" style="display: none;"><span class="Icon"></span>Edelliset</span><span id="ScrollToNext"><span class="Icon"></span>Seuraavat</span>');

		$("#CrossSaleProducts").css("width","2304px");

		var $prev = $('#ScrollToPrev'), $next = $('#ScrollToNext'), $scp = $('#CrossSaleScroller');

		$scp.serialScroll({

			items: '.Product',

			prev: '#ScrollToPrev',

			next: '#ScrollToNext',

			axis: 'x',

			duration: 350,

			force: true,

			step: 3,

			exclude: 2,

			cycle: false,

			onBefore: function(e,elem,$pane,$items,pos) {

				$prev.add($next).fadeIn(250);

				if (pos==0) {

					$prev.fadeOut(250);

				} else if (pos==$items.length-3) {

					$next.fadeOut(250);

				}

			}				

		});

		$(document).keyup(function(e) {

			switch (e.keyCode) {

				case 39:

					$scp.trigger('next');

					break;

				case 37:

					$scp.trigger('prev');

					break;

			}

		});

	}



	// Ajax messages which are fixed on top of page via CSS

	$.ajaxSetup({ cache: false });

	$('<p id="AjaxMsg"></p>').insertAfter("#Container");

	$('#AjaxMsg').ajaxStart(function() { $(this).slideDown(250); });

	$('#AjaxMsg').ajaxStop(function() { $(this).slideUp(250); });



	// Adding products to cart with ajax and refreshing of the minicart-tag (some things IE6-disabled)

	if ($("#ProductBuy").length) {

		$(".BuyForm").submit(function(event) {

			$("#AjaxMsg").text("Lisätään tuote ostoskoriin"); 

			$(".AddToCart",".BuyForm").attr("disabled","disabled").children("span").text("Lisätään…");

			$(this).ajaxSubmit(function() {

				$("#ProductAddedNotification").slideUp(250, function() { $(this).remove(); });

				if (!($.browser.msie && parseInt($.browser.version)==6)) {

					$.get("/interface/MiniCart", function(minicart) {

						$(".AddToCart",".BuyForm").attr("disabled","").children("span").text("Lisää ostoskoriin");

						$("#PageHeader").after('<div class="Notification Success" id="ProductAddedNotification"><p>Tuote ' + ProductName + ' lisättiin ostoskoriin onnistuneesti.</p><p><a href="/">Palaa etusivulle</a>, <a href="/cart/">näytä ostoskori</a> tai <a href="/checkout/">siirry kassalle</a>.</div>');

						$("#ProductAddedNotification").slideDown(250);

						$("#MiniCartWrapper").html(minicart).slideDown(250);

					});

					$("#MiniCartWrapper").slideUp(250);

				} else {

					$(".AddToCart",".BuyForm").attr("disabled","").children("span").text("Lisää ostoskoriin");

					$("#PageHeader").after('<div class="Notification Success" id="ProductAddedNotification"><p>Tuote ' + ProductName + ' lisättiin ostoskoriin onnistuneesti.</p><p><a href="/">Palaa etusivulle</a>, <a href="/cart/">näytä ostoskori</a> tai <a href="/checkout/">siirry kassalle</a>.</div>');

					$("#ProductAddedNotification").slideDown(250);

				}

			});

			event.preventDefault();

		});

	}

	





	// Categorynavigation openers

	$("ul.Categories li:has(> ul)").addClass("Openable").each(function() {

		if ($(this).hasClass("Current")) {

			$(this).prepend('<span class="NavOpener Opened" title="Piilota alakategoriat">-</span>');

		} else {

			$(this).prepend('<span class="NavOpener" title="Näytä alakategoriat">+</span>');

		}

		$("> .NavOpener", this).click(function() {

			$(this).next("a").next("ul").slideToggle(300);

			if ($(this).text() == "-" ) {

				$(this).text("+").attr("title","Näytä alakategoriat");

			} else {

				$(this).text("-").attr("title","Piilota alakategoriat");

			}

			$(this).toggleClass("Opened")

		});

	});



	// Productimageswapper via clik on thumbnail or changing the variation and the other way aroung

	if ($("#ProductImages").length) {

		$("#CurrentProductImage").prepend($('<span id="ImgLoader">Ladataan...</span>').hide());

		if ($("#ProductBuy .BuyFormVariationSelect").length) {

			$(".BuyFormVariationSelect select").change(function(event, triggered) {

				if (triggered==undefined) {

					var vName = $("option:selected", this).text();

					var vSplit = vName.split("(");

					var vTrim = vSplit[0].replace(/^[ \t]+|[ \t]+$/,"").toLowerCase();

					$("#ProductThumbnails li a").each(function() {

						var title = $(this).attr("title");

						var href = $(this).attr("href");

						var iTrim = title.replace(/^[ \t]+|[ \t]+$/,"").toLowerCase();

						var iSubstr = iTrim.substr(0,vTrim.length);

						var vSubstr = vTrim.substr(0,iTrim.length);

						if (iSubstr==vSubstr) {

							var triggered = true;

							$(this).trigger("click", triggered);

							return false;

						}

					});

				}

			});

			$("#ProductThumbnails li a").click(function(event, triggered) {

				event.preventDefault();

				var title = $(this).attr("title");

				var href = $(this).attr("href");

				var src = $("#CurrentProductImage img").attr("src");

				var sizeArr = src.split("/");

				var targetSize = sizeArr[2];

				var tnSrc = href.split("/");

				var targetImg = tnSrc[3];

				var newImg = "/tuotekuvat/"+targetSize+"/"+targetImg;

				SwapImg(newImg,href,title);

				if (triggered==undefined) {

					var iTrim = title.replace(/^[ \t]+|[ \t]+$/,"").toLowerCase();

					$(".BuyFormVariationSelect select option").each(function() {

						var vName = $(this).text();

						var vSplit = vName.split("(");

						var vTrim = vSplit[0].replace(/^[ \t]+|[ \t]+$/,"").toLowerCase();

						var iSubstr = iTrim.substr(0,vTrim.length);

						var vSubstr = vTrim.substr(0,iTrim.length);

						if (vSubstr==iSubstr) {

							var triggered = true;

							$(this).attr("selected","selected");

							return false;

						}

					});

				}

			});

			$("#ProductBuy .BuyFormVariationSelect select").trigger("change");

		} else {

			$("#ProductBuy .BuyFormVariationRadio input").click(function(event, triggered) {

				if (triggered==undefined) {

					var vName = $(this).parent("label").text();

					var vTrim = vName.replace(/^[ \t]+|[ \t]+$/,"").toLowerCase();

					$("#ProductThumbnails li a").each(function() {

						var iTrim = $(this).attr("title").replace(/^[ \t]+|[ \t]+$/,"").toLowerCase();

						var iSubstr = iTrim.substr(0,vTrim.length);

						var vSubstr = vTrim.substr(0,iTrim.length);

						if (iSubstr==vSubstr) {

							var triggered = true;

							$(this).trigger("click", triggered);

							return false;

						}

					});

				}

			});

			$("#ProductThumbnails li a").click(function(event, triggered) {

				event.preventDefault();

				var title = $(this).attr("title");

				var href = $(this).attr("href");

				var src = $("#CurrentProductImage img").attr("src");

				var sizeArr = src.split("/");

				var targetSize = sizeArr[2];

				var tnSrc = href.split("/");

				var targetImg = tnSrc[3];

				var newImg = "/tuotekuvat/"+targetSize+"/"+targetImg;

				SwapImg(newImg,href,title);

				if (triggered==undefined) {

					var iTrim = title.replace(/^[ \t]+|[ \t]+$/,"").toLowerCase();

					$("#ProductBuy .BuyFormVariationRadio input").each(function() {

						var vName = $(this).parent("label").text();

						var vTrim = vName.replace(/^[ \t]+|[ \t]+$/,"").toLowerCase();

						var iSubstr = iTrim.substr(0,vTrim.length);

						var vSubstr = vTrim.substr(0,iTrim.length);

						if (vSubstr==iSubstr) {

							var triggered = true;

							$(this).trigger("click", triggered);

							return false;

						}

					});

				}

			});

			if ($("#ProductBuy .BuyFormVariationRadio").length) { $("#ProductBuy .BuyFormVariationRadio input:checked").trigger("click"); }

		}

	}



});



// Imageswapperscript

function SwapImg(i,href,title) {

	if ($("#CurrentProductImage img").attr("src") != i) {

		$("#CurrentProductImage img").fadeOut(200, function() {

			$("#ImgLoader").fadeIn(100, function() {

				$("#CurrentProductImage img").attr("src",i).load(function() {

					$("#ImgLoader").fadeOut(100, function() {

						$("#CurrentProductImage img").fadeIn(200);

					});

				}).each(function() {

					if (this.complete && $.browser.msie) {

						$(this).trigger("load");

					}

				});

			});

		});

		$("#ProductImageCaption").html(title);

		$("#CurrentProductImage img").attr("alt",title);

		$("#CurrentProductImage").attr("title",title);

		$("#CurrentProductImage").attr("href",href); 

	}

}
