$(document).ready(function() {


	/* Scroll to page top */
	$("a.scrolltop").hover(function() {
		$(this).animate({
			top: "-25px"
		},80);
	}, function() {
		$(this).animate({
			top: "-20px"
		},160);
	});


	$('a.scrolltop').click(function(){
		$('html, body').animate({scrollTop:0}, 'slow');
		return false;
	});


	/* clouds */
	for (var i = 0; i < 2; ++i) {
		$("#spnCloudHolder").append("<div class=\"cloud c1\"></div>");
	}
	for (var i = 0; i < 2; ++i) {
		$("#spnCloudHolder").append("<div class=\"cloud c2\"></div>");
	}
	for (var i = 0; i < 2; ++i) {
		$("#spnCloudHolder").append("<div class=\"cloud c3\"></div>");
	}
	StartWindForClouds();


	/* blog posts - cycle plugin */
	$('#post_container').cycle({
		fx: 'scrollUp',
		timeout: 5500,
		speed: 400,
		pager: "ul.post_nav",
		cleartype:  1
	});


	/* forms styling */
	$('.checkbox').checkbox();
	$('.selectbox').SelectCustomizer();
	textReplacement($('input#search_encyclopedias'));
	textReplacement($('input#search_box'));
	textReplacement($('input#outofstock_sms_text'));
	textReplacement($('input#outofstock_email_text'));

	
/*TELESCOPE*/
/* slider - focal range */
	$(function() {
		$("#telescope_focal").slider({
			range: true,
			min: 400,
			max: 4000,
			step: 10,
			values: [400, 4000],
			slide: function(event, ui) {
				$("#telescope_focal_min").val(ui.values[0] + ' mm');
				$("#telescope_focal_max").val(ui.values[1] + ' mm');
				$("span.focal_min").html(ui.values[0] + ' mm');
				$("span.focal_max").html(ui.values[1] + ' mm');
			}
		});
		$("#telescope_focal_min").val($("#telescope_focal").slider("values", 0) + ' mm');
		$("#telescope_focal_max").val($("#telescope_focal").slider("values", 1) + ' mm');
		$("span.focal_min").html($("#telescope_focal").slider("values", 0) + ' mm');
		$("span.focal_max").html($("#telescope_focal").slider("values", 1) + ' mm');
	});
	
	
	
	/* slider - lens diameter range */
	$(function() {
		$("#telescope_diameter").slider({
			range: true,
			min: 70,
			max: 400,
			values: [70, 400],
			slide: function(event, ui) {
				$("#telescope_diameter_min").val(ui.values[0] + ' mm');
				$("#telescope_diameter_max").val(ui.values[1] + ' mm');
				$("span.diameter_min").html(ui.values[0] + ' mm');
				$("span.diameter_max").html(ui.values[1] + ' mm');
			}
		});
		$("#telescope_diameter_min").val($("#telescope_diameter").slider("values", 0) + ' mm');
		$("#telescope_diameter_max").val($("#telescope_diameter").slider("values", 1) + ' mm');
		$("span.diameter_min").html($("#telescope_diameter").slider("values", 0) + ' mm');
		$("span.diameter_max").html($("#telescope_diameter").slider("values", 1) + ' mm');
	});
	/* slider - price range */
	$(function() { 
		$("#telescope_pris").slider({ 
			range: true,
			min: 1000,
			max: 120000,
			step: 1000,
			values: [1000, 120000],
			slide: function(event, ui) {
				$("#telescope_pris_min").val(ui.values[0] + ' kr');
				$("#telescope_pris_max").val(ui.values[1] + ' kr');
				$("span.pris_min").html(ui.values[0] + ' kr');
				$("span.pris_max").html(ui.values[1] + ' kr');
			}
		});
		$("#telescope_pris_min").val($("#telescope_pris").slider("values", 0) + ' kr');
		$("#telescope_pris_max").val($("#telescope_pris").slider("values", 1) + ' kr');
		$("span.pris_min").html($("#telescope_pris").slider("values", 0) + ' kr');
		$("span.pris_max").html($("#telescope_pris").slider("values", 1) + ' kr');
		
	});
		/* binocular search:  replacing the submit button with an <a>-element (for styling purposes) */
	$("#binocular_submit1").click(function () {
		$("form#binocular_search1").submit();
	});
/*TELSCOPE END*/	


	/* slider - magnification range */
	$(function() {
		$("#binocular_magnification").slider({
			range: true,
			min: 2,
			max: 25,
			values: [2, 25],
			slide: function(event, ui) {
				$("#binocular_magnification_min").val(ui.values[0] + ' x');
				$("#binocular_magnification_max").val(ui.values[1] + ' x');
				$("span.magnification_min").html(ui.values[0] + ' x');
				$("span.magnification_max").html(ui.values[1] + ' x');
			}
		});
		$("#binocular_magnification_min").val($("#binocular_magnification").slider("values", 0) + ' x');
		$("#binocular_magnification_max").val($("#binocular_magnification").slider("values", 1) + ' x');
		$("span.magnification_min").html($("#binocular_magnification").slider("values", 0) + ' x');
		$("span.magnification_max").html($("#binocular_magnification").slider("values", 1) + ' x');
	});

	/* slider - lens diameter range */
	$(function() {
		$("#binocular_lensdiameter").slider({
			range: true,
			min: 20,
			max: 100,
			values: [20, 100],
			slide: function(event, ui) {
				$("#binocular_lensdiameter_min").val(ui.values[0] + ' mm');
				$("#binocular_lensdiameter_max").val(ui.values[1] + ' mm');
				$("span.lensdiameter_min").html(ui.values[0] + ' mm');
				$("span.lensdiameter_max").html(ui.values[1] + ' mm');
			}
		});
		$("#binocular_lensdiameter_min").val($("#binocular_lensdiameter").slider("values", 0) + ' mm');
		$("#binocular_lensdiameter_max").val($("#binocular_lensdiameter").slider("values", 1) + ' mm');
		$("span.lensdiameter_min").html($("#binocular_lensdiameter").slider("values", 0) + ' mm');
		$("span.lensdiameter_max").html($("#binocular_lensdiameter").slider("values", 1) + ' mm');
	});

	/* slider - price range */
	$(function() {
		$("#binocular_price").slider({
			range: true,
			min: 0,
			max: 25000,
			step: 100,
			values: [300, 25000],
			slide: function(event, ui) {
				$("#binocular_price_min").val(ui.values[0] + ' kr');
				$("#binocular_price_max").val(ui.values[1] + ' kr');
				$("span.price_min").html(ui.values[0] + ' kr');
				$("span.price_max").html(ui.values[1] + ' kr');
			}
		});
		$("#binocular_price_min").val($("#binocular_price").slider("values", 0) + ' kr');
		$("#binocular_price_max").val($("#binocular_price").slider("values", 1) + ' kr');
		$("span.price_min").html($("#binocular_price").slider("values", 0) + ' kr');
		$("span.price_max").html($("#binocular_price").slider("values", 1) + ' kr');
	});
	/* slider - price range AJAX*/



	/* binocular search:  replacing the submit button with an <a>-element (for styling purposes) */
	$("#binocular_submit").click(function () {
		$("form#binocular_search").submit();
	});



	/* filter/sorting page:  button for loading next products  */
	fadeoutbuttonTimeout = null;
	loadnextproductsTimeout = null;
	$("a.button_loadnext").click(function() {
		$(this).addClass("active");
		var linktitle=$(this).attr('tabindex');
		if (linktitle==30){


			fadeoutbuttonTimeout = window.setTimeout(function() {
				$("a.button_loadnext").fadeOut("fast");
			}, 1500);
			loadnextproductsTimeout = window.setTimeout(function() {
				$("div.nextproducts1").fadeIn("fast");

			}, 1700);
		}else 	if (linktitle==40){


			fadeoutbuttonTimeout = window.setTimeout(function() {
				$("a.button_loadnext").fadeOut("fast");
			}, 1500);
			loadnextproductsTimeout = window.setTimeout(function() {
				$("div.nextproducts2").fadeIn("fast");

			}, 1700);
		}
		else 	if (linktitle==50){


			fadeoutbuttonTimeout = window.setTimeout(function() {
				$("a.button_loadnext").fadeOut("fast");
			}, 1500);
			loadnextproductsTimeout = window.setTimeout(function() {
				$("div.nextproducts3").fadeIn("fast");

			}, 1700);
		} else 	if (linktitle==60){
			

			fadeoutbuttonTimeout = window.setTimeout(function() {
				$("a.button_loadnext").fadeOut("fast");
			}, 1500);
			loadnextproductsTimeout = window.setTimeout(function() {
				$("div.nextproducts4").fadeIn("fast");

			}, 1700);
		} else 	if (linktitle==70){

		
			fadeoutbuttonTimeout = window.setTimeout(function() {
				$("a.button_loadnext").fadeOut("fast");
			}, 1500);
			loadnextproductsTimeout = window.setTimeout(function() {
				$("div.nextproducts5").fadeIn("fast");

			}, 1700);
		} 
		else 	if (linktitle==80){

		
			fadeoutbuttonTimeout = window.setTimeout(function() {
				$("a.button_loadnext").fadeOut("fast");
			}, 1500);
			loadnextproductsTimeout = window.setTimeout(function() {
				$("div.nextproducts6").fadeIn("fast");

			}, 1700);
		}
		else 	if (linktitle==90){

		
			fadeoutbuttonTimeout = window.setTimeout(function() {
				$("a.button_loadnext").fadeOut("fast");
			}, 1500);
			loadnextproductsTimeout = window.setTimeout(function() {
				$("div.nextproducts7").fadeIn("fast");

			}, 1700);
		}
			else 	if (linktitle==100){

		
			fadeoutbuttonTimeout = window.setTimeout(function() {
				$("a.button_loadnext").fadeOut("fast");
			}, 1500);
			loadnextproductsTimeout = window.setTimeout(function() {
				$("div.nextproducts8").fadeIn("fast");

			}, 1700);
		}
		else 	if (linktitle==110){

		
			fadeoutbuttonTimeout = window.setTimeout(function() {
				$("a.button_loadnext").fadeOut("fast");
			}, 1500);
			loadnextproductsTimeout = window.setTimeout(function() {
				$("div.nextproducts10").fadeIn("fast");

			}, 1700);
		}

		else {
			/* just an example of prefered animation when nex products loads (needs an actual ajax call) */
			fadeoutbuttonTimeout = window.setTimeout(function() {
				$("a.button_loadnext").fadeOut("fast");
			}, 1500);
			loadnextproductsTimeout = window.setTimeout(function() {
				$("div.nextproducts").fadeIn("fast");

			}, 1700);
		}

		return false;
	});




	/* product page - spesifications expand/hide */
	$('a.all_spesifications').toggle(
	function() {
		$("dl.specifications_list.full").slideDown("fast");
		$(this).html("Vis f&aelig;rre spesifikasjoner");
		$(this).addClass("minus");
		return false;
	},
	function(){
		$("dl.specifications_list.full").slideUp("fast");
		$(this).html("Vis flere spesifikasjoner");
		$(this).removeClass("minus");
		return false;
	});

	$('a.all_moretechnical').toggle(

	function() {
		$("dl.moretechnical_list.full").slideDown("fast");
		$(this).html("Yttligere teknisk info");
		$(this).addClass("minus");
		return false;
	},
	function(){
		$("dl.moretechnical_list.full").slideUp("fast");
		$(this).html("Yttligere teknisk info");
		$(this).removeClass("minus");
		return false;
	});


	/* product page - product image switching. note: thumb image and main image must have the same class for this to work */
	$("ul.thumbs li a").click(function() {

		$("ul.thumbs li a").parent().removeClass("active");
		$(this).parent().addClass("active");

		var img_class = $(this).attr("class");

		$(".product_img_container .product_img a").filter(function() {
			if ($(this).attr("class") == img_class) {
				if ($(this).attr("class") == "active") {
					return false;
				}
				else {
					$(".product_img_container .product_img a").fadeOut("slow");
					$(this).fadeIn("slow");
					$(".product_img_container .product_img a").removeClass("active");
					$(this).addClass("active");
				}
			}
		});

		return false;

	});




	/* product page - product out of stock notice modal window */

	$("a#outofstock_link").click(function() {
		if ($("#outofstock_modal").hasClass("hidden")){
			$("#outofstock_modal").removeClass("hidden");
			return false;
		}
		else {
			$("#outofstock_modal").addClass("hidden");
			return false;
		}
	});

	$("#outofstock_close").click(function() {
		$("#outofstock_modal").addClass("hidden");
		return false;
	});

	$("#outofstock_sms_text").focus(function() {
		$("#outofstock_sms_radio").attr("checked", true);
	});
	$("#outofstock_email_text").focus(function() {
		$("#outofstock_email_radio").attr("checked", true);
	});





	/* checkout process - shows/hides custom delivery adress field */
	/*
	$("label#delivery_adress_checkbox").load(function() {
	if($(this).children(".checkbox").is(":checked")){
	$("div#delivery_adress").removeClass("hidden");
	}
	else {
	$("div#delivery_adress").addClass("hidden");
	}
	});
	*/
	$("label#delivery_adress_checkbox").click(function(){
		if($("label#delivery_adress_checkbox").children(".checkbox").is(":checked")){

			$("[name=is_shipping_address]").attr('checked');

			$("div#delivery_adress").removeClass("hidden");
		}
		else {
			$("div#delivery_adress").addClass("hidden");
		}

	});

	if($("label#delivery_adress_checkbox").children(".checkbox").is(":checked")){
		$("div#delivery_adress").removeClass("hidden");
	}
	else {
		$("div#delivery_adress").addClass("hidden");
	}

	$("label#delivery_adress_checkbox span.jquery-checkbox").click(function() {
		if($(this).siblings(".checkbox").is(":checked")){
			$("div#delivery_adress").removeClass("hidden");
		}
		else {
			$("div#delivery_adress").addClass("hidden");
		}
	});



	/* register new user - shows/hides custom company field if the customer is representing a company */
	$("label#company_info_checkbox").click(function() {
		if($(this).children(".checkbox").is(":checked")){
			$("div#company_info").removeClass("hidden");
		}
		else {
			$("div#company_info").addClass("hidden");
		}
	});
	/*$("label#company_info_checkbox").click(function(){
	if($("label#company_info_checkbox").children(".checkbox").is(":checked")){

	$("[name=register_represent_company]").attr('checked');

	$("div#company_info").removeClass("hidden");
	}
	else {
	$("div#company_info").addClass("hidden");
	}

	});
	if($("label#company_info_checkbox").children(".checkbox").is(":checked")){
	$("div#company_info").removeClass("hidden");
	}
	else {
	$("div#company_info").addClass("hidden");
	}
	*/
	$("label#company_info_checkbox span.jquery-checkbox").click(function() {
		if($(this).siblings(".checkbox").is(":checked")){
			$("div#company_info").removeClass("hidden");
		}
		else {
			$("div#company_info").addClass("hidden");
		}
	});

/* my account - button overlay */
	$("li#myaccount").hover(function() {
		$("div.button_overlay").css({ visibility: "visible" });
		$(".button_b.myaccount").addClass('active');
	},
	function() {
		$("div.button_overlay").css({ visibility: "hidden" });
		$(".button_b.myaccount").removeClass('active');
	});

});


/* clouds settings */
var cloudMaxWidth = 185;
function StartWindForClouds() {
	$(".cloud").each(function(i) {
		$(this).css("left", +RandomNumber(15, screen.width - cloudMaxWidth) + "px").css("top", +RandomNumber(10, 170) + "px");
		AniateCloud(this);
	});
}

function AniateCloud(_obj) {
	var tmpLeft = $(_obj).css("left").replace("px", "");
	var docWidth = screen.width;

	var newLeft = "15";
	if (tmpLeft > (docWidth / 2)) {
		newLeft = 15;
	}
	else {
		newLeft = docWidth - cloudMaxWidth;
	}

	$(_obj).slideDown("slow");
	$(_obj).animate({ "left": newLeft + "px" }, RandomNumber(5, 8) * 18000, "linear", function() { new AniateCloud(_obj); });
}
function RandomNumber(min, max) {
	var rnd = Math.floor((max - (min - 1)) * Math.random()) + min;
	return rnd;
}

