
$(document).ready(function() {

    if ($('#mycarousel').length > 0) {

		$('#mycarousel').jcarousel({
			visible: 4,
			scroll : 4,

			buttonNextHTML: null,
			buttonPrevHTML: null,

			auto: 6,
			wrap: 'last',
			initCallback: mycarousel_initCallback

		});
    }

    if ($("#search_field").length > 0) {

	$("#search_field").autocomplete('/custom/shop/ajaxHelper.php', {
	    matchContains: true,
	    minChars: 0,
	    extraParams: {
		action: 3
	    },
	    highlight: false

	}).result(function(event, data, formatted) {

	    location.href = '/' + data[1];
		
	});

    }
    
    if ($("#sortandfilter").length > 0) {
		$("#sortandfilter select[name='sort']").change(filterCategory);
		$("#sortandfilter select[name='man']").change(filterCategory);
		$("#sortandfilter input[name='stock']").click(filterCategory);

    }

    $(".shop_front_button a").click(addToCart);
    $("#PROD_info_buybutton a").click(addToCart);
    $(".rel_prod_buylink a").click(addToCart);
	$(".search_div_7_button a").click(addToCart);

    if ($.jGrowl) {
		$.jGrowl.defaults.position = "center";
		$.jGrowl.defaults.life = 4000;
		$.jGrowl.defaults.closer = false;
    }

    $("#PROD_info_thumbs a").click(switchImage);


    $("#productimage_link").click( function() {
		
		var object = $("#imagegallery a.selected");

		if (object.length == 1) {
			$(object).get(0).onclick();

		}

		return false;
		
    });
	/*
	$("#persnr4button").click(function() {
		
		
		if ($("#persnr4").val().length > 0) {
			
			updateAddress($("#persnr4").val());
		}
		
	});

	$("#persnr5button").click(function() {
		
		if ($("#persnr5").val().length > 0) {
			
			updateAddress($("#persnr5").val());
		}
		
	});
	*/
	
    if ($("#persnr4").length > 0) {

		$("#persnr4").blur(updateAddress);
    }

    if ($("#persnr5").length > 0) {

		$("#persnr5").blur(updateAddress);
    }
	
    $("#PROD_info_link a").click(showMore);

	$("#PROD_info_headers div a").click(showSpecification);


    var interval = setInterval(keepSession, 60000*5);


});

function mycarousel_initCallback(carousel) {
    // Disable autoscrolling if the user clicks the prev or next button.
    carousel.buttonNext.bind('click', function() {
        carousel.startAuto(0);
    });

    carousel.buttonPrev.bind('click', function() {
        carousel.startAuto(0);
    });

    // Pause autoscrolling if the user moves with the cursor over the clip.
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
}


function externalLinks() {
    if (!document.getElementsByTagName) return;
    var anchors = document.getElementsByTagName("a");
    for (var i=0; i<anchors.length; i++) {
	var anchor = anchors[i];
	if (anchor.getAttribute("href") &&
	    anchor.getAttribute("rel") == "external")
	    anchor.target = "_blank";
    }
	
}


function filterCategory() {

    var sort	= 0;
    var man		= 0;
    var stock	= 0;

    sort = $("#sortandfilter select[name='sort']").val();

    man = $("#sortandfilter select[name='man']").val();

    if ($("#sortandfilter input[name='stock']").attr('checked')) {
		stock = 1;
    } else {
		stock = 0;
    }

    window.location.search = '?sort=' + sort + '&man=' + man + '&stock=' + stock;
}


function addToCart() {
    var href = $(this).attr('href');
    var query = href.substring(href.lastIndexOf('?')+1).split('&');

    var querystring = new Object();

    for (var i = 0; i < query.length; i++) {

	var temp = query[i].split('=');
	querystring[temp[0]] = temp[1];

    }
	
	try {
		snoobiCart.add (
			{
				itemId: querystring.value,
				name: $(this).attr('title'),
				price: $(this).attr('rel'),
				currency: "SEK",
				amount: "1"
			});
	}catch(e){ 

	}

    $.post('/custom/shop/ajaxHelper.php',
    {
		action: querystring.action,
		type:	querystring.type,
		value:	querystring.value
    },
    function(data) {
		$("#BODY_cart_text span").html(data.sum);
		var string = '<b>' + data.string + '</b><br/>' + data.product + '<br/>' ;
		//var test = Math.round(Math.random());


		if ($.jGrowl) {
			$.jGrowl(string, {
			sticky: false
			});
		}
    },

    'json');

    return false;
}

function removeFromCart(artno, product, price, qty) {
	try {
		snoobiCart.remove (
			{
				itemId: artno,
				name: product,
				price: parseInt(price.replace(/[^0-9]/g, '')),
				currency: "SEK",
				amount: qty
			});
	}catch(e){ 

	}
}

function switchImage(event) {
	
    var first	= $(this).attr('href').substring(0, $(this).attr('href').lastIndexOf('_')+1);
    var last	= $("#productimage_link").attr('href').substring($("#productimage_link").attr('href').lastIndexOf('_')+1);

    var imglast = $("#productimage_link img").attr('src').substring($("#productimage_link img").attr('src').lastIndexOf('_')+1);

    $("#productimage_link img").attr('src', first + imglast);

    $("#productimage_link").attr('href', first + last);


    $("#PROD_info_thumbs a").each(
	function (intIndex){

	    $(this).removeClass('selected');
			
	});


    $(this).addClass('selected');
    var selectedind = 0;

    $("#PROD_info_thumbs a").each(
	function (intIndex){
	    if($(this).hasClass('selected')) {
			selectedind = intIndex;
			return false;
			//$(this).removeClass('selected');
	    }

	});


    $("#imagegallery a").each(
	function (intIndex){

	    $(this).removeClass('selected');

	});

    $("#imagegallery a").each(
	function (intIndex) {
	    //console.log('i ' + intIndex + ' : ' + $(this).attr('href'));
	    if (intIndex == selectedind) {
			$(this).addClass('selected');
			//console.log('Found: ' + intIndex);
			return false;

	    }
	}
	);

    $(this).addClass('selected');
	
    return false;
}

function updateAddress() {

     if ($(this).val().length > 0) {

		$.post('/custom/shop/ajaxHelper.php',
		{
			action: 2,
			type:	1,
			value:	$(this).val()
		},
		function(data) {
			if (data.name != '') {
				$("#bname").html(data.name);
				$("#baddress2").html(data.address2);
				$("#bpostaddress").html(data.postaddress);
			}
		},

		'json');

	}


}

function keepSession() {
    $.ajax({
	type: "GET",
	data: ({
	    action : 99
	}),
	url: '/custom/shop/ajaxHelper.php',
	cache: false

    });

}

function showMore() {
    $("#PROD_moreinfo_text").toggle();
    return false;
}

function showSpecification() {
	
	$("#PROD_info_details").toggle();
	$("#PROD_info_facts").toggle();
	$("#PROD_info_headers div").each(function(intIndex) {
		if ($(this).hasClass('PROD_info_header')) {
			$(this).removeClass('PROD_info_header');
			$(this).addClass('PROD_info_header_off');
		} else {
			$(this).removeClass('PROD_info_header_off');
			$(this).addClass('PROD_info_header');
		}
	});
	
	return false;
}

