(function($){

	$.fn.delay = function(millis,callBack){
		var object = $(this);
		$.extend(object,{callBack:callBack});
		return window.setTimeout(function() {
			object.callBack();
			return object;
		}, millis);
	};
	
	jQuery.fn.label = function(){
		return $(this).each(function(){
			var label		= $(this);
			var element     = label.siblings('input#'+label.attr('for')+',textarea#'+label.attr('for'));
			if(element.length>=1 && !label.hasClass('skip-label')){
				label.parents('fieldset').addClass('has-js');
				
				element.focus(function(){
					label.hide();
				});
				
				element.change(function(){
					if($.trim(element.val()) > 0){
		  			    label.hide();
					}
				});
				
				element.blur(function(){
					if($.trim(element.val()).length <= 0){
		  			    label.show();
					}
				});
				
				if( $.trim(element.val()).length > 0 ){
		            label.hide();
				}
			}
		});
	}
	
	jQuery.fn.video = function(){
		return $(this).each(function(){
			var link        = $(this);
			var video       = link.attr('href');
			var showing		= false;
			
			link.click(function(e){
				e.preventDefault();
				if(!showing){
					showing = true;
					var flashvars = {
						video : video,
						share : window.location.href
					};
					var params = {
						bgcolor: "ffffff",
						menu: "false",
						allowscriptaccess: "always",
						allowfullscreen: "true"
					};
					var attributes = null;
					swfobject.embedSWF("/assets/flash/VideoPlayer.swf", "video-overlay-content", "472", "265", "9.0.28", null, flashvars, params, attributes);
					$('#video-overlay').fadeIn('normal',function(e){
						link.hide();	
					});
				}else{
					showing = false;
					$('#video-overlay').fadeOut('normal',function(e){
						link.show();
						$(this).html('<div id="video-overlay-content"></div>');
					});
				}
			});
		});
	}

})(jQuery)

function video_close(){
	$('div.tools-color-video a.video').click();
}


if(typeof jQuery != "undefined"){
	$(document).ready(function() {

		$('body').addClass('has-js');

		$('#wl-contact').show();

		// Legger til knapper for huskeliste og print på en produktside
		$('div.tools-standard').show();
		$('div.tools-standard').append('<a href="#" class="wishlist rs">Legg til huskeliste</a><a href="#" class="print rs">Skriv ut</a>');

		// Legger til knapper for e-post og utskrift på huskeliste
		$('div.tools-wishlist').show();
		$('div.tools-wishlist').append('<a href="#" class="print rs">Skriv ut</a>');

		// JS for å legge til produkt til ønskelisten via AJAX
		$('div.tools-standard a.wishlist').click(function(e) {
			e.preventDefault();
			if (!$(this).hasClass('wished')) {
				$.getJSON('/Public/Act/wishlist.add.aspx', { pid: $('p.db-id').text() }, function(data) {
					//                $.getJSON('act/wishlist.add.asp', { pid: $('p.db-id').text() }, function(data) {
					if (data.status) {
						$('div.tools-standard a.wishlist').addClass('wished').html('Lagt til huskelisten!').css('cursor', 'default').css('opacity', '0.5');
						var cnt = parseInt($('#prod-cnt').text(), 10) + 1;
						$.highlightFade.defaults.speed = 800;
						$('#prod-cnt').text(cnt).parents('a').highlightFade('#BE3533');
					} else {
						alert('Beklager, vi klarte ikke legge\nproduktet til din ønskeliste.\n\nVennligst prøv igjen.');
					}
				});
			}
		});

		$('a.print').click(function(e) {
			e.preventDefault();
			window.print();
		});
		$('div.tools-color-video a.video').video();

		$('.rs').prepend('&rsaquo; ');

		// JS for å fjerne produkt fra ønskelisten via AJAX
		$('ul.product-list a.rs').click(function(e) {
			var $this = $(this);
			e.preventDefault();
			$.getJSON('/Public/Act/Wishlist.remove.aspx', { pid: $this.attr('rel') }, function(data) {
				if (data.status) {

					var cnt = parseInt($('#prod-cnt').text(), 10) - 1;
					$('#prod-cnt').text(cnt);
					$this.parent('li').hide('slow', function() { $this.parent('li').remove() });

				} else {
					alert('Beklager, vi klarte ikke fjerne\nproduktet fra din ønskeliste.\n\nVennligst prøv igjen.');
				}
			});
		});

		$('#send-email input.submit').click(function(e) {
			e.preventDefault();
			var sender = $('#send_email_from').val();
			var recipient = $('#send_email_to').val();
			var producturl = $('#send_email_url').val();

			var subject = 'Akkurat det du behøver?';
			var body = 'Hei!\nJeg var på bohus.no – og fant noe jeg tror du kan være interessert i.\n' + producturl + '\n\nEr det ikke noe sånt du leter etter?';

			var _result = false;

			$.ajax({
				type: 'POST',
				url: '/Public/WS/EmailHandler.asmx/TipAFriend',
				data: "{'emailsender':'" + sender + "', 'emailrecipient':'" + recipient + "', 'subject':'" + subject + "', 'body':'" + body + "'}",
				contentType: 'application/json; charset=utf-8',
				dataType: 'json',
				success: function(data) {
					var reply;

					switch (data.d) {
						case 'missingfields':
							reply = 'Ett eller fler felt er ikke fylt inn riktig';
							break;

						case 'error':
							reply = 'Beklager, det oppsto en feil. Vennligst forsøk igjen.';
							break;

						default:
							reply = 'Tipset ble sendt';
							_result = true;
							break;
					}

					$('#send-email .error').text(reply);
					if (_result) {
						$('#send_email_from').val('');
						$('#send_email_to').val('');
						setTimeout('$("#send-email .error").text("")', 1500);
						setTimeout('$("div.tools a.email").siblings("div#send-email").hide("slow")', 1500);
					}
				},
				error: function(xhr) {
				}
			});

		});

		$('#send-email input.wl-submit').click(function(e) {
			e.preventDefault();

			var sender = $('#send_email_from').val();
			var recipient = $('#send_email_to').val();
			var comment = $('#send_message_text').val();
			var products = $.cookie("wishlist");
			var subject = 'Huskeliste';

			var _result = false;

			$.ajax({
				type: 'POST',
				url: '/Public/WS/EmailHandler.asmx/SendWishList',
				data: "{'emailsender':'" + sender + "', 'emailrecipient':'" + recipient + "', 'subject':'" + subject + "', 'comment':'" + comment + "', 'products':'" + products + "'}",
				contentType: 'application/json; charset=utf-8',
				dataType: 'json',
				success: function(data) {
					var reply;

					switch (data.d) {
						case 'missingfields':
							reply = 'Ett eller fler felt er ikke fylt inn riktig';
							break;

						case 'error':
							reply = 'Beklager, det oppsto en feil. Vennligst forsøk igjen.';
							break;

						default:
							reply = 'Tipset ble sendt';
							_result = true;
							break;
					}

					$('#send-email .error').text(reply);
					if (_result) {
						$('#send_email_from').val('');
						$('#send_email_to').val('');
						$('#send_message_text').val('');
						setTimeout('$("#send-email .error").text("")', 1500);
						setTimeout('$("div.tools a.email").siblings("div#send-email").hide("slow")', 1500);
					}
				},
				error: function(xhr) {
				}
			});

		});

		// Setter labels
		$("div#send-email fieldset label").label();

		$("fieldset#wlform label").label();
		$("fieldset#search label").label();
		$("fieldset#pressform label").label();
		$("fieldset#clubform label").label();
		$("fieldset#contactform label").label();
		$("fieldset.newsletter label").label();


		// Fine selectboxer
		$('fieldset#contactform select').sSelect({ ddMaxHeight: '200px' });
		$('fieldset#clubform select').sSelect({ ddMaxHeight: '200px' });
		$('fieldset#wlform select').sSelect({ ddMaxHeight: '200px' });

		// styling av filter- og sorteringsnedtrekkslister på gruppenivå
		$('#ctl00_MainRegion_VendorList').uniform();
		if (!$.cookie("storeid") || $.cookie("storeid").length < 1) {
			$('#ctl00_MainRegion_SortOrderList').hide(); // skjuler prissortering hvis det ikke er valgt varehus
		} else {
			$('#ctl00_MainRegion_SortOrderList').uniform();
		}
		$('#filter-container').css('position', 'relative');
		$('#uniform-ctl00_MainRegion_VendorList').css(
			{ 'position': 'absolute', 'right': '0' }
		);
		$('#uniform-ctl00_MainRegion_SortOrderList').css(
			{ 'position': 'absolute', 'right': '200px' }
		);
		// -->
		
		$('fieldset#contactform div.newListSelected').click(function(e) {
			$('fieldset#contactform div.contacttype').css('z-index', '20');
			$('fieldset#contactform div.storelist').css('z-index', '20');
			$(this).parents('div').css('z-index', '21');
		});

		// Fikser issue i IE med ukjent bredde på element i toppmeny
		$('#header div.menu').css('width', $('#header div.menu ul').width());

		// Starter slideshows
		$('div.three-products .slideshow').slideshow({ x: 10, y: 84 }, { x: 39, y: 84 });
		$('div#campaign .slideshow').slideshow({ x: 10, y: 140 }, { x: 119, y: 140 });
		$('div.product .slideshow').slideshow({ x: 10, y: 140 }, { x: 79, y: 140 });

		// Tabber på produktsiden
		$("div.product div.tab h2 span.text").click(function(e) {
			e.preventDefault();
			var parent_tab = $(this).parents('div.tab');
			if (!$(parent_tab).hasClass('tab-active')) {
				$('div.product div.tabs div').removeClass('tab-active');
				$('div.product div.tabs').animate(
				{ height: (parent_tab.find('div.tab-content').height() + parseInt(parent_tab.find('div.tab-content').css('top'))) },
				'normal',
				'swing',
				function(e) {
					parent_tab.addClass('tab-active');
				}
			);
			}
		});
		$('div.product div.tab-info h2 span.text').click();

		// Tabber på søkeresultatsiden
		$('div.search-result ul.tabs li a').click(function(e) {
			e.preventDefault();
			var parent_tab = $(this).parents('li');
			var is_products = parent_tab.hasClass('products');
			if (!$(parent_tab).hasClass('active')) {
				$('div.search-result ul.tabs li').removeClass('active');
				if (is_products) {
					$('div.search-result div.articles').slideUp('fast');
					$('div.search-result ul.products').slideDown('normal', function(e) {
						$('div.search-result div.PagingContainer').fadeIn();
					});
				} else {
					$('div.search-result ul.products').slideUp('fast');
					$('div.search-result div.PagingContainer').hide();
					$('div.search-result div.articles').slideDown();
				}
				parent_tab.addClass('active');
			}
		});

		// Klikk på send på e-post knapper
		$('div.tools a.email').click(function() {
			if ($(this).siblings('div#send-email').is(":hidden")) {
				$(this).siblings('div#send-email').show();
			} else {
				$(this).siblings('div#send-email').hide();
			}
			return false;
		})






	})
}