$(function(){
/* ADMIN-PANEL */
$("#adminToolBoxToggler").toggle(function () {
	$("#adminToolBox").slideDown("slow");
},function () {
	$("#adminToolBox").slideUp("slow");
}); 
$("img.resizeAjax").each(function(){
	var theImage	= $(this);
	var originalSrc = theImage.attr("src");
	theImage.attr({"src" : "http://www.smode-resource.se/gfx/icons/ajax-loader.gif"});
	var newWidth 	= theImage.attr("width");
	var theHeight 	= theImage.height();
	$.ajax({
	  type: "GET",
	  url: "/core/coreSrc/ajax/resize-image.asp",
	  data: "width="+newWidth+"&path="+originalSrc+"&height="+theHeight,
	  contentType: "text/html; charset=iso-8859-1",
	  success : function (data) {
			theImage.attr({"src" : data});
		  }
	})
});
$(".colBoxContainer > .top").click(function () {
	var theContentBox 	= $(this).parent().find(".content");
	var theIcon 		= $(this).find(".icon");
	
	if(theContentBox.is(":visible")){
		theContentBox.slideUp("fast");
		if(theIcon.is(".visible")){
			theIcon.removeClass("visible");
		}else{
			theIcon.addClass("visible");
		}
	}else{
		theContentBox.slideDown("fast");
		if(theIcon.is(".visible")){
			theIcon.removeClass("visible");
		}else{
			theIcon.addClass("visible");
		}
	}
});
$(".moduleBoxContainer > .top").toggle(function () {
	$(this).parent().find(".content").slideUp("slow");
},function () {
	$(this).parent().find(".content").slideDown("slow");
}); 
$("input#userNewPassword").val("")
$(".autoEmpty").find("input").focus(function () {$(this).val("");});
$(".ajaxFormLoader").removeClass("ajaxFormLoader");
if($("div.imageSwitcher").is("*")){
var switchImages = $("div.imageSwitcher img");   
switchImages.each(function(index){
	var currentImage = $(switchImages[index]);
	currentImage.hide();
	currentImage.click(function(){
		switchImages.hide();
		if(index==(switchImages.size()-1)){
			$(switchImages[0]).show();
		}else{
			$(switchImages[index+1]).show();					
		}
	});
});
$(switchImages[0]).show();
}
if($(".lightboxGallery").is("*")){
	var thumbs 			= $(".lightboxGallery > img");
	var overlay 		= $("<div class='lightboxOverlay'></div>");
	var container 		= $("<div class='lightboxContainer'></div>");
	var viewPort		= $("<div class='lightboxViewport'></div>");
	var captionBox		= $("<div class='lightboxCaption'></div>");
	var navRow			= $("<div class='lightboxNavigation'></div>");
	var closeBtn		= $("<span class='closeBtn btn'>×</span>");
	var prevBtn			= $("<span class='prevBtn btn'>«</span>");
	var nextBtn			= $("<span class='nextBtn btn'>»</span>");
	var winH			= $(window).height();
	var winW			= $(window).width();
	var currentImage	= 0;
	
	$("body").append(overlay).append(container);
	container.append(navRow).append(viewPort).append(closeBtn).append(captionBox);
	navRow.append(prevBtn).append(nextBtn);
	container.show().css({"top": Math.round((winH-container.outerHeight())/2) + "px","left": Math.round((winW-container.outerWidth())/2) + "px"}).hide();

	thumbs.each(function(index){
	 $(this).click(function(){overlay.css({"opacity" : 0.8, "height" : $(document).height()+"px"}); overlay.add(container).fadeIn("slow"); loadImage(index);});
	 $(this).attr({"image-index": index});
	});

	function loadImage(imageIndex) {
	  container.addClass("loadingImage");
	  
		var newImage = thumbs.eq(imageIndex);	
		var img = new Image();
			img.onload = function() {
			img.style.display = "none";
		
			var maxWidth = winW-20-100;
			var maxHeight = winH-20-200; 
			if(img.width > maxWidth || img.height > maxHeight){
				var ratio = img.width / img.height;
				if(img.height >= maxHeight) {
					img.height = maxHeight;
					img.width = maxHeight*ratio;
				}else{
					img.width = maxWidth;
					img.height = maxWidth*ratio;
				}
			}
			navRow.css({"width" : img.width+"px", "top" : img.height/3 +"px","opacity" : 0.7});
			container.animate({"width": img.width,"height": img.height,"top": Math.round((winH - img.height - 20)/2) + "px","left": Math.round((winW - img.width - 20)/2) + "px"},
								"normal", function(){
									viewPort.append(img);
									$(img).fadeIn("normal",function(){
										captionBox.html((currentImage+1)+" / "+thumbs.size()+"<br/>"+newImage.attr("alt"));
										container.removeClass("loadingImage");
										container.animate({"height": container.height() + captionBox.height() + 30},"fast", function(){
											captionBox.fadeIn("fast",function(){closeBtn.fadeIn("fast",function(){navRow.fadeIn("fast");});});
										});
									});
			});
			
			
		} 
		img.src = newImage.attr("src");
		thumbs.filter(".selected").removeClass("selected");
		newImage.addClass("selected");
		currentImage = parseInt(thumbs.filter(".selected").attr("image-index"));
		$.scrollTo("0px",800);
	}

	closeBtn.add(overlay).click(function(){
		viewPort.children().fadeOut("normal",function(){viewPort.children().remove();});
		overlay.add(container).add(closeBtn).add(captionBox).fadeOut("normal");
	});

	nextBtn.add(prevBtn).click(function(){
		navRow.hide();
		closeBtn.fadeOut("fast",function(){captionBox.fadeOut("fast");});
		viewPort.children().fadeOut("normal",function(){viewPort.children().remove();});
		if($(this).is(".prevBtn")){
			loadImage(currentImage == 0 ? thumbs.size()-1 : currentImage-1);
		}else{
			loadImage(currentImage == (thumbs.size()-1) ? 0 : currentImage+1);
		}
	});
}
$("form#loginForm").keydown(function (event) {
	if(event.keyCode == 13){
		$(this).parent().find("form")[0].submit();
		$(this).parent().html("Loading...").css({height : "60px", padding : "30px"}).addClass("AJAXloading").css("background-color","#fff");
	}
});
	   
$("#swlLoginA").click(function () {
		$(this).parent().parent().parent().find("form")[0].submit();
		$(this).parent().parent().parent().html("Loading...").css({height : "60px", padding : "30px"}).addClass("AJAXloading").css("background-color","#fff");
});

$("input#remind").click(function(){
	var pswBox = $(this).parent().parent().find("div.loginPassword");
	
	if(editionLCID==1053){
		var remindBtnTxt 	= "Begär lösenord";
		var loginBtnTxt		= "Logga in";
	}else{
		var remindBtnTxt 	= "Request password";
		var loginBtnTxt		= "Login";
	}
	
	if($(this).is(":checked")){
		pswBox.slideUp("fast")
		$("#swlLoginA").html(remindBtnTxt);
	}else{
		pswBox.slideDown("fast")
		$("#swlLoginA").html(loginBtnTxt);
	}
});
ajaxRenewSession();
if($("#mainHoverMenu").is('*')){
	$(".menu.level1").superfish({
		hoverClass:    "hover-menu",
		delay:         500,
		animation:     {height:"show"},
		speed:         "fast",
		autoArrows:    true,
		dropShadows:   true,
		disableHI:     false
	});
}
var systemMessage = $(".system-message-container");
if(systemMessage.is('*')){
	var	messageDelay = Math.floor(systemMessage.find(".delay").text())*1000;
    systemMessage.fadeIn("slow");
	setTimeout('clockSystemMessage2010()',1000);
}
$(".system-message-box > .close").click(function(){systemMessage.fadeOut("slow");});
$(".system-message-box > .pause").click(function(){systemMessage.append("<span class='pause-delay'></span>");});
if($("div.systemMessageBox").is('*')){
   $("div.systemMessageBox").fadeIn("slow");
   $("div.systemMessageBox").animate({opacity: 0.7}, 2500);
}
setTimeout('hideSystemMessage()', 3000);
if($("table#mainDataTable").is('*')){
  if($("table#mainDataTable").tablesorter!=undefined){	
	$("table#mainDataTable").tablesorter({
		 widgets: ['zebra']	
	});
   }
}
$("a.toolActivator").toggle(function () {
	$("div.toolTip",this).show("slow");
},function () {
	$("div.toolTip",this).hide("slow");
}); 
$(".helpIcon").toggle(function(){
		$(this).parent().find(".helpBox").slideDown("fast");
	},function(){
		$(this).parent().find(".helpBox").slideUp("slow");			
});
$(".swlUserPicker > input.inputUserAutoComplete").focus(function () {
	if ($(this).val()=="Sök användare här"){
		$(this).val("");
		$(this).parent().find("input.destinationField").val("0");
	}
});
$(".swlUserPicker > input.inputUserAutoComplete").keyup(function () {
  userInputStr 	= this.value;
  userField 	= $(this);
  destField		= userField.parent().find("input.destinationField").attr("id");
  valueField	= userField.attr("id");	  
  
	if(userInputStr.length>2){
		$.ajax({
		url : "/core/coreSrc/ajax/user-picker.asp",
		data : "userSearch="+userInputStr+"&desinationField="+destField+"&valueField="+valueField,
		error : function(data,string) {alert(string);},
		success : function (data) {
			userField.parent().find("div.autoCompleteContainer").slideDown("fast").animate({opacity: "0.8"}, "fast").html(data);
			}		
		});
	}
});
$(".swlUserPicker > input.inputUserAutoComplete").change(function () {
	if ($(this).val().length==0){
		$(this).val("Ingen användare vald");
		$(this).parent().find("input.destinationField").val("0");
	}
	$("div#autoComplete"+$(this).parent().find("input.destinationField").attr("id")).slideUp("slow");		
});
// CASHIER
/* --------------------------------------------------------------------- */
	$(".termsAcceptance").toggle(function(){
			$(".confirmOrder").slideDown("slow");
			$(".termsAcceptance").addClass("accepted");
			$(".confirmTerms").slideUp("fast");
		},function(){
			$(".confirmOrder").slideUp("fast");
			$(".confirmTerms").slideDown("slow");
			$(".termsAcceptance").removeClass("accepted");
	});
	$(".confirmOrder").hover(function(){
			$(this).addClass("hovered");
		},function(){
			$(this).removeClass("hovered");
	});

	$(".confirmOrder").click(function(){
		var theForm			= $("#cashierForm");
		var thePass			= $("#thePass").val();
		var orderID			= $("#orderid").val();
		var orderAmount		= $(".total-cart-sum:first").text();
			orderAmount		= Math.floor(orderAmount.replace(/\D/g,""));
			$("#amount").val(orderAmount);
		var custID			= $("#cust_id").val();
		var custCompany		= $("#cust_company").val();
		var custName		= $("#cust_name").val();
		var custStreet1		= $("#cust_address1").val();
		var custStreet2		= $("#cust_address2").val();
		var custZipCode		= $("#cust_zip").val();
		var custCity		= $("#cust_city").val();
		var custPhone		= $("#cust_phone").val();
		var custEmail		= $("#cust_email").val();
		var payMeth			= $("input[@name='pay_method']:checked").val();
		var actionURL		= "";

		if(orderAmount<1){window.location = "/";}

		if(custName.length<2 || custStreet1.length<2 || custZipCode.length<2 || custCity.length<2 || custEmail.length<2){
			alert("Vänligen ange alla obligatoriska kunduppgifter.");
		}else{

			var dataString 	 = "x="+Math.random(9999);
				dataString 	+= "&orderID=" 				+ orderID;
				dataString 	+= "&orderAmount=" 			+ orderAmount;
				dataString 	+= "&customerID=" 			+ custID;
				dataString 	+= "&customerCompany=" 		+ custCompany;
				dataString 	+= "&customerName=" 		+ custName;
				dataString 	+= "&customerStreet1=" 		+ custStreet1;
				dataString 	+= "&customerStreet2=" 		+ custStreet2;
				dataString 	+= "&customerZipCode=" 		+ custZipCode;
				dataString 	+= "&customerCity=" 		+ custCity;
				dataString 	+= "&customerPhone=" 		+ custPhone;
				dataString 	+= "&customerEmail=" 		+ custEmail;
				dataString 	+= "&paymentMethod=" 		+ payMeth;
				dataString 	+= "&theKey="				+ thePass;

			if(payMeth=="Kortbetalning via Certitrade"){
				actionURL = $("#ct_auth_url").val();
				$("#result_code").val("");
			}else{
				actionURL = $("#retururl").val();
				$("#result_code").val("00");
			}

			$.ajax({
			  type: "GET",
			  url: "/_project/_public/modules/webshop/public/ajax/saveOrder.asp",
			  data: dataString,
			  contentType: "text/html; charset=iso-8859-1",
			  error : function(data,string) {alert(string);},
			  success : function (data) {
					$("#md5code").val(data);			  
					theForm.attr({"action" : actionURL});
					theForm.submit();
				  }
			});

		}
	});
// CART
/* --------------------------------------------------------------------- */
	bindCartEvents()
	function bindCartEvents(){
		$(".removeProduct").bind("click", function(){
			minusProductInCart($(this));
		 })
		$(".emptyCart").bind("click", function(){
			emptyCart($(this));
		 })
	}
	/* ---------------------- */

	function minusProductInCart(productPost){
		var dataString 	= "cartPostID="+productPost.find(".cartPostID").text();
			dataString 	= dataString+"&productID="+productPost.find(".productID").text();
		var orderId 	= $(".currentOrderID").text();
		productPost.hide("fast");
		$.ajax({
		  type: "GET",
		  url: "/_project/_public/modules/webshop/public/ajax/removeProduct.asp",
		  data: dataString,
		  contentType: "text/html; charset=iso-8859-1",
		  error : function(data,string) {alert(string);},
		  success : function (data) {
				reloadCart(orderId);
			  }
		});
	}

	function emptyCart(productPost){
		var orderId 	= $(".currentOrderID").text();
		var dataString 	= "orderId="+orderId;
		productPost.hide("fast");
		$.ajax({
		  type: "GET",
		  url: "/_project/_public/modules/webshop/public/ajax/emptyCart.asp",
		  data: dataString,
		  contentType: "text/html; charset=iso-8859-1",
		  error : function(data,string) {alert(string);},
		  success : function (data) {
				reloadCart(orderId);
			  }
		});
	}

	function reloadCart(order_id){
		var cartSnippet = $(".webshopCart");
		var dataString 	 = "x="+Math.random(9999)+"&orderID="+order_id;
		cartSnippet.fadeOut("fast");
		$.ajax({
		  type: "GET",
		  url: "/_project/_public/modules/webshop/public/ajax/loadCart.asp",
		  data: dataString,
		  contentType: "text/html; charset=iso-8859-1",
		  error : function(data,string) {alert(string);},
		  success : function (data) {
				cartSnippet.html(data).fadeIn("slow");
				bindCartEvents();
			  }
		});
	}

// SELECT MODEL/COLOR/SIZE
/* --------------------------------------------------------------------- */
	bindProductEvents($(this))
	function bindProductEvents(domSpace){
		domSpace.find(".shop-choice").bind("change", function(){
			shopChoice($(this));
		 })
		
		domSpace.find(".addToCartBtn").bind("click", function(){
			addProductToCart($(this));
		 })
		
		domSpace.find(".addToCartBtn").bind("mouseover", function(){
			$(this).addClass("hover");
		 })

		domSpace.find(".addToCartBtn").bind("mouseout", function(){
			$(this).removeClass("hover");
		 })
		
		domSpace.find(".more-icon").bind("click", function(){
			var activatorIcon 	= $(this);
			var firstInfo 		= activatorIcon.parent().find(".first-row");
			var moreInfo 		= activatorIcon.parent().find(".all-row").text();
			activatorIcon.remove();
			firstInfo.append(moreInfo);
		 })

	}
	/* ---------------------- */



	function shopChoice(selectMenu){
		var dataString 	 	= "x="+Math.random(9999)+"&pID="+selectMenu.val();
		var ajaxScript		= selectMenu.parent().find(".ajaxScriptChoice").text();
		selectMenu.parent().find(".addToCartBtn").hide();
		$.ajax({
		  type: "GET",
		  url: ajaxScript,
		  data: dataString,
		  contentType: "text/html; charset=iso-8859-1",
		  error : function(data,string) {window.location="/?";},
		  success : function (data) {
					selectMenu.parent().find(".buttonArea").html(data);
					bindProductEvents(selectMenu.parent());
			  }
		});
  	}

// BUY BUTTON
/* --------------------------------------------------------------------- */
	function addProductToCart(button){
		var ajaxScript		= button.find(".ajaxScriptAdd").text();
		var usrMess			= button.find(".appendMessage").text();
		var checksum		= button.find(".checksum").text();
		var orderId 		= $(".currentOrderID").text();
		var dataString 	 	= "x="+Math.random(9999);
		$(".prodVal",button).each(function(){
			var tempVal = $(this);
			dataString 	+= "&"+tempVal.attr("id")+"="+ tempVal.text();
		})
			dataString 	+= "&checksum="+checksum;

		button.slideUp("fast");
		$.ajax({
		  type: "GET",
		  url: ajaxScript,
		  data: dataString,
		  contentType: "text/html; charset=iso-8859-1",
		  error : function(data,string) {window.location="/?";},
		  success : function (data) {
				reloadCart(orderId);
				button.parent().prepend("<div class=\"addMessage\">"+usrMess+"</div>");
				button.parent().find(".addMessage").fadeOut(10000);
				button.slideDown("slow");
			  }
		});
	}

});