/**
 * @author johannes at polyester dot se
 */
$(document).ready(function() {

	$("#main div.preloader").hide();
	$("#write-comment label, #order-client-info label, fieldset label").overlabel();
	
	$("#top-menu ul img, #show-cart-button, #products-menu img, #product-tip-link img, #order-confirm-button").each(function() {
		var self = $(this);
		var originalSrc = self.attr('src'); // initial src
		var extension = self.attr("src").substr(self.attr("src").length-3,3);
		var hoverSrc = self.attr("src").substr(0,self.attr("src").length - 8) + '-on.' + extension;
		self.hover(function(){
			$(this).attr('src', hoverSrc);
		}, function(){
			$(this).attr('src', originalSrc);
		});
	});

	$("#main .js-hover").hover(
		function () {
			$(this).addClass('hover');
		}, 
		function () {
			$(this).removeClass('hover');
		}
	);

	$("#main div.product-list ul li").hover(
		function () {
			$(this).addClass('hover');
			$(this).find("form").fadeIn(100);
		}, 
		function () {
			$(this).removeClass('hover');
			$(this).find("form").fadeOut(400);
		}
	);

	$("#main div.product-list ul li.sold").hover(
		function(){
		$(this).find("img.sold").fadeIn(100).animate({
			top: "-=3px"
		}, 100).animate({
			top: "+=3px"
		}, 100).animate({
			top: "-=3px"
		}, 100).animate({
			top: "+=3px"
		}, 100).animate({
			top: "-=3px"
		}, 100).animate({
			top: "+=3px"
		}, 100);
	}
	);

	$("#main div.product-list ul li.reserved").hover(
		function(){
		$(this).find("img.reserved").fadeIn(100).animate({
			top: "-=3px"
		}, 100).animate({
			top: "+=3px"
		}, 100).animate({
			top: "-=3px"
		}, 100).animate({
			top: "+=3px"
		}, 100).animate({
			top: "-=3px"
		}, 100).animate({
			top: "+=3px"
		}, 100);
	}
	);
	
	$("#start div.left ul li.anim").hover(
		function(){
		$(this).find("img.anim").fadeIn(100).animate({
			top: "-=3px"
		}, 100).animate({
			top: "+=3px"
		}, 100).animate({
			top: "-=3px"
		}, 100).animate({
			top: "+=3px"
		}, 100).animate({
			top: "-=3px"
		}, 100).animate({
			top: "+=3px"
		}, 100);
	}
	);
	
	
	$("#main div.product div.image-navigation a").click(function(){
		return false;
	});
	
	$("#product-tip-link").toggle(
		function () {
			$("#tip-a-friend-form").show();
		},
		function () {
			$("#tip-a-friend-form").fadeOut('fast');
		}
	);

	
	
	$("#main div.product div.image-navigation a img").each(function(){
		var self = $(this);
		var link = self.parent();
		/*
		var originalSrc = self.attr('src'); // initial src
		var hoverSrc = self.attr("src").substr(0,self.attr("src").length - 8) + '-on.gif';
		var activeSrc = self.attr("src").substr(0,self.attr("src").length - 8) + '-active.gif';
		*/
		var hoverClass = "on";
		var activeClass = "active";
		var normalClass = "off";

		var change2Image = self.parent().attr("href");
		self.hover(function(){
			if (self.parent().hasClass(activeClass)) {
				return false;
			}
			link.addClass(hoverClass);
		}, function(){
			if (self.parent().hasClass(activeClass)) {
				return false;
			}
			link.removeClass(hoverClass);
		});
		self.click(function(){
			if (self.parent().hasClass(activeClass)) {
				return false;
			}
			$("#image-navigation-preloader").show();
			link.parent().find("a").removeClass(activeClass).removeClass(hoverClass);
			link.addClass(activeClass);
			$("#main div.product div.product-image img")
				.attr("src", change2Image)
				.load(function(){
					$("#image-navigation-preloader").hide();
			});
			return false;
		});
	});

	$("#products-menu a").toggle(
		function () {
			$("#products-menu-categories").fadeIn('fast');
		},
		function () {
			$("#products-menu-categories").fadeOut('fast');
		}
	);

	function clearForm(form)
	{
    	$(":input", form).each(function()
    	{
    		var type = this.type;
    		var tag = this.tagName.toLowerCase();
     		if (type == 'text')
     		{
     			this.value = "";
     		}
    	});
	};

	$("#shopmycart").validate({
		errorContainer: $("#warnings"),
		errorPlacement: function(error, element) {
			error.appendTo("#warnings");
		},
		rules: {
			email: {
				required: true,
				email: true
			},
			email_confirm: {
				required: true,
				equalTo: "#input-email"
			},
			acceptfaq:
			{
				required: true
			},
			name: "required",
			street: "required",
			zipcode: "required",
			city: "required"
		},
		messages:
		{
			email: "- Email är obligatoriskt<br />",
			acceptfaq: "- Du måste godkänna köpvilkoren<br />",
			name: "- Namn är obligatoriskt<br />",
			street: "- Gatuadress är obligatoriskt<br />",
			zipcode: "- Postnummer är obligatoriskt<br />",
			city: "- Postort är obligatoriskt<br />",
			email_confirm: {
				required: "- Ange email två gånger<br />",
				equalTo: "- Båda emailfälten måste vara identiska<br />"
			}
		}
	});
	
	
	$("#tipfriend").validate({
		errorContainer: $("#errormsg"),
		errorPlacement: function(error, element) 
		{
			error.appendTo("#errormsg");
		},
		rules:	{
			name: "required",
			email: 
			{
				required: true,
				email: true
			}
		},
		messages:
		{
			name: "- Namn är obligatoriskt<br />",
			email: "- Email är obligatoriskt<br />"
		},
		submitHandler: function(form)
		{
			$.post('cartaction.php', $("#tipfriend").serialize(), function(data)
			{
					$("#tip-a-friend-form").fadeOut('slow', function()
					{
						clearForm("#tipfriend");
						$("#tip-a-friend-form").fadeIn('slow');
						
					});
			});
		}
	});
	
	$("#newsletter").validate({
			debug: false,
			errorContainer: $("#errormsg"),
			errorPlacement: function(error, element) 
			{
				error.appendTo("#errormsg");
			},
			rules:	{
					email:
						{
							required: true,
							email: true
						}
					},
			messages:
			{
				email: "- Email är obligatoriskt"
			},
			submitHandler: function(form)
			{
				$.post('cartaction.php', $("#newsletter").serialize(), function(data)
				{
					$("#tip-a-friend-form").fadeOut('slow', function()
					{
						$("#test").fadeIn('slow');
					});
				});
			}
	});
		
					
				
	
/*
	$("#products-menu a").click(function(){
		var cat = $("#products-menu-categories");
		if (cat.)

		$("#products-menu-categories").slideDown('fast');
		return false;
	});
*/

/*
	$("#top-menu ul img").bind("mouseenter",function(){
		var self = $(this); 
		
		var mdata = self.metadata();
		if (mdata.hoverImage) {
			
		} else {
			if (self.attr("src").substr(-7,3) == 'off') {
				var newSrc = self.attr("src").substr(0,self.attr("src").length - 7);
				var newSrc = newSrc + "on.gif";
				self.attr("src", newSrc); 
			}
		}
	}).bind("mouseleave",function(){
	});
*/		

});

var newwin = null;

function doPopup() 
{
	newwin = window.open('payment.php', 'paywin', 'scrollbars,status,width=550,height=600');
	newwin.focus();
	return true;
}

function show_hide(show, hide)
{
	document.getElementById(show).style.display="block";
	document.getElementById(hide).style.display="none";
}
