// Labelify
jQuery.fn.labelify=function(settings){settings=jQuery.extend({text:"title",labelledClass:""},settings);var lookups={title:function(input){return $(input).attr("title")},label:function(input){return $("label[for="+input.id+"]").text()}};var lookup;var jQuery_labellified_elements=$(this);return $(this).each(function(){if(typeof settings.text==="string"){lookup=lookups[settings.text]}else{lookup=settings.text}if(typeof lookup!=="function"){return}var lookupval=lookup(this);if(!lookupval){return}$(this).data("label",lookup(this).replace(/\n/g,""));$(this).focus(function(){if(this.value===$(this).data("label")){this.value=this.defaultValue;$(this).removeClass(settings.labelledClass)}}).blur(function(){if(this.value===this.defaultValue){this.value=$(this).data("label");$(this).addClass(settings.labelledClass)}});var removeValuesOnExit=function(){jQuery_labellified_elements.each(function(){if(this.value===$(this).data("label")){this.value=this.defaultValue;$(this).removeClass(settings.labelledClass)}})};$(this).parents("form").submit(removeValuesOnExit);$(window).unload(removeValuesOnExit);if(this.value!==this.defaultValue){return}this.value=$(this).data("label");$(this).addClass(settings.labelledClass)})};

// Global
jQuery(document).ready(function()
{
	// Labelify
	jQuery('input').labelify({
		labelledClass: "labelify"
	});
	

	var msie6 = $.browser == 'msie' && $.browser.version < 7;

	// IE6
	if (msie6)
	{
		jQuery('#top').before('<div class="ie"><div class="ie_close"><a href="#" title="Stäng">Stäng (x)</a></div><div class="ie_text">Du använder en gammal webbläsare. Vi kan inte garantera att vår webbplats fungerar korrekt i din webbläsare. Vi vill därför be dig uppdatera till en nyare webbläsare. Vi rekommenderar att du använder någon av följande moderna webbläsare. <strong>Klicka på någon av webbläsarna nedan för att läsa mer och ladda ner.</strong></div><div class="ie_browsers"><ul><li class="ie_firefox"><a href="http://www.mozilla.com/firefox/" title="Firefox">Firefox</a></li><li class="ie_ie"><a href="http://www.microsoft.com/windows/Internet-explorer/default.aspx" title="Internet Explorer 8">Internet Explorer 8</a></li><li class="ie_safari"><a href="http://www.apple.com/safari/" title="Safari">Safari</a></li><li class="ie_chrome"><a href="http://www.google.com/chrome/" title="Google Chrome">Google Chrome</a></li></ul></div></div>');
		jQuery(".ie_close a").click(function()
		{
			jQuery('.ie').hide();
			return false;
		});
	};
	

	// Fixed cart
	if (!msie6) {
		var top = $('#sidebar_content').offset().top - parseFloat($('#sidebar_content').css('margin-top').replace(/auto/, 0));
		$(window).bind("load, scroll", function(event) {
			var y = $(this).scrollTop();
			
			if (y >= top) {
				$('#sidebar_content').addClass('fixed');
			} else {
				$('#sidebar_content').removeClass('fixed');
			}
		});

		$(document).ready(function(event) {
			var y = $(this).scrollTop();
			
			if (y >= top) {
				$('#sidebar_content').addClass('fixed');
			} else {
				$('#sidebar_content').removeClass('fixed');
			}
		});
	}
	
	
	// Swop images
	$('.small_images a').click(function()
	{
		$('.medium_images .show').removeClass('show').addClass('hide');
		var showImage = jQuery('#medium_' + $(this).attr('id'));
		$(showImage).removeClass('hide').addClass('show');
		return false;
	});
	
	
	// New window
	jQuery('a[rel="new_window"]').each(function() {
		jQuery(this).attr('target', '_blank');
		jQuery(this).attr('title', jQuery(this).attr('title') + ' (Öppnas i nytt fönster)');
	});
	
	
	// Add product to cart
	jQuery('.buy_product_form').submit(function(e)
	{
		var ajax = 'true';
		var product_id = jQuery(this).find("input[name$='product_id']");
		var quantity = jQuery(this).find(".quantity");
		var variant = jQuery(this).find(".variant");
		var submit = jQuery(this).find("input[type='submit']");

		if (variant.is(':visible'))
		{
			var error_variant = jQuery(this).find(".error_variant");

			$(error_variant).hide();
			
			$(variant).live('change', function() {
				$(error_variant).fadeOut('fast');
			});

			if (variant.val() == '')
			{
				var marginLeft = Math.round(($(variant).outerWidth() - $(error_variant).outerWidth()) / 2);
				var marginTop = Math.round($(error_variant).outerHeight() - ($(error_variant).outerHeight() * 2));
				
				$(error_variant).css('margin-top', marginTop).css('margin-left', marginLeft).fadeIn('fast');
				return false;
			};
		};
		
		jQuery.ajax({
			type: "POST", 
			url: "a/cart/?action=add", 
			data: "ajax=" + ajax + "&product_id=" + product_id.val() + "&variant_id=" + variant.val() + "&quantity=" + quantity.val(), 
			beforeSend: function()
			{
				submit.attr('disabled', 'disabled');
			}, 
			success: function(response)
			{
				jQuery('#cart_widget').html(response);
			}, 
			complete: function()
			{
				jQuery('#cart_widget').addClass('highlight');
				jQuery('.newly_added_item').slideDown('fast').animate({ opacity: 1.0 }, 5000).slideUp('fast', function(){
					jQuery('#cart_widget').removeClass('highlight');
				});
				submit.removeAttr('disabled').blur();
				
				if (variant.is(':visible'))
					variant.val($('option:first', variant).val());

				if (quantity.is(':visible'))
					quantity.val($('option:first', quantity).val());
			}
		});
		
		return false;
	});
});