 /*
 * jQuery UI Effects 1.8.11
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Effects/
 */
jQuery.effects||function(f,j){function n(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1],
16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return o.transparent;return o[f.trim(c).toLowerCase()]}function s(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return n(b)}function p(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,
a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function q(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in t||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function u(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d=
a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:b in f.fx.speeds?f.fx.speeds[b]:f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}function m(c){if(!c||typeof c==="number"||f.fx.speeds[c])return true;if(typeof c==="string"&&!f.effects[c])return true;return false}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor",
"borderTopColor","borderColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=s(b.elem,a);b.end=n(b.end);b.colorInit=true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var o={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,
0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,
211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},r=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,
d){if(f.isFunction(b)){d=b;b=null}return this.queue("fx",function(){var e=f(this),g=e.attr("style")||" ",h=q(p.call(this)),l,v=e.attr("className");f.each(r,function(w,i){c[i]&&e[i+"Class"](c[i])});l=q(p.call(this));e.attr("className",v);e.animate(u(h,l),a,b,function(){f.each(r,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments)});h=f.queue(this);l=h.splice(h.length-1,1)[0];
h.splice(1,0,l);f.dequeue(this)})};f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,
a):f.effects.animateClass.apply(this,[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.11",save:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.data("ec.storage."+a[b],c[0].style[a[b]])},restore:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.css(a[b],c.data("ec.storage."+a[b]))},setMode:function(c,a){if(a=="toggle")a=c.is(":hidden")?"show":"hide";return a},getBaseline:function(c,
a){var b;switch(c[0]){case "top":b=0;break;case "middle":b=0.5;break;case "bottom":b=1;break;default:b=c[0]/a.height}switch(c[1]){case "left":c=0;break;case "center":c=0.5;break;case "right":c=1;break;default:c=c[1]/a.width}return{x:c,y:b}},createWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent();var a={width:c.outerWidth(true),height:c.outerHeight(true),"float":c.css("float")},b=f("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",
border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);
return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)});return d.call(this,b)},_show:f.fn.show,show:function(c){if(m(c))return this._show.apply(this,arguments);
else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(m(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(m(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),
b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,
a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,
a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==
e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=
g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g))+b},easeOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*a)*Math.sin((a*e-c)*2*Math.PI/g)+d+b},easeInOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e/2)==2)return b+d;g||(g=e*0.3*1.5);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/
h);if(a<1)return-0.5*h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)+b;return h*Math.pow(2,-10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)*0.5+d+b},easeInBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*(a/=e)*a*((g+1)*a-g)+b},easeOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*((a=a/e-1)*a*((g+1)*a+g)+1)+b},easeInOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;if((a/=e/2)<1)return d/2*a*a*(((g*=1.525)+1)*a-g)+b;return d/2*((a-=2)*a*(((g*=1.525)+1)*a+g)+2)+b},easeInBounce:function(c,
a,b,d,e){return d-f.easing.easeOutBounce(c,e-a,0,d,e)+b},easeOutBounce:function(c,a,b,d,e){return(a/=e)<1/2.75?d*7.5625*a*a+b:a<2/2.75?d*(7.5625*(a-=1.5/2.75)*a+0.75)+b:a<2.5/2.75?d*(7.5625*(a-=2.25/2.75)*a+0.9375)+b:d*(7.5625*(a-=2.625/2.75)*a+0.984375)+b},easeInOutBounce:function(c,a,b,d,e){if(a<e/2)return f.easing.easeInBounce(c,a*2,0,d,e)*0.5+b;return f.easing.easeOutBounce(c,a*2-e,0,d,e)*0.5+d*0.5+b}})}(jQuery);
;/*
 * jQuery UI Effects Drop 1.8.11
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Effects/Drop
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function(c){c.effects.drop=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right","opacity"],e=c.effects.setMode(a,d.options.mode||"hide"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a);var f=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var g=d.options.distance||(f=="top"?a.outerHeight({margin:true})/2:a.outerWidth({margin:true})/2);if(e=="show")a.css("opacity",0).css(f,b=="pos"?-g:g);var i={opacity:e==
"show"?1:0};i[f]=(e=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+g;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){e=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
;/*
 * jQuery UI Effects Highlight 1.8.11
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Effects/Highlight
 *
 * Depends:
 *	jquery.effects.core.js
 */
(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&&
this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
;

/*
 * ------------------------------------------------------------------------------------------------------------------
 *
 * KAN Malmo AB
 *
 * Duni eCommerce project © 2011
 *
 * ------------------------------------------------------------------------------------------------------------------
*/

$(function () {

	/* Grouping three or more elements requires the following: */
	window.setTimeout(function () {
		if ($("#enticer-area").length)
			groupElementsAndCall(".enticers", ".enticer", 3, equalHeight);
		if ($(".entrances").length)
			groupElementsAndCall(".entrances ", ".entrance a", 2, equalHeight);
		if ($(".intro-enticers").length)
			groupElementsAndCall(".intro-enticers", ".intro-enticer", 2, equalHeight);
		if ($(".no-carousel").length)
			groupElementsAndCall(".no-carousel .carousel-items", ".carousel-item", 5, equalHeight);
		if ($("body").hasClass("ir"))
			groupElementsAndCall("div.columns", "div.column", 3, equalHeight);
	}, 100);

	/* Content togglers */
	initConentTogglers();

	/* Secondary sub menus */
	initSubMenus();

	/* Quarternary menu */
	initQuaternaryMenu();

	/* Init Enticer links */
	initEnticerLinks();

	/* Filter */
	initFilterOptions();

	/* Shadowbox */
	initShadowbox();

	/* AddThis - put this last! */
	initAddThis();

	/* Tooltips */
	initTooltips();

	/* Checkout form */
	initFormToggling();

});

function initConentTogglers(){
	//Toggle functionality
	$(".content-toggler a").click(function () {
		$link = $(this);
		$parent = $link.closest(".content-toggler");
		$element_to_toggle = $($parent.data("element"));
		$element_to_toggle_parent = $element_to_toggle.parent();
		$element_to_scroll_to = $($parent.data("scroll-to"));
		if ($element_to_toggle_parent.hasClass("open")) {
			$element_to_toggle_parent.removeClass("open");
			$parent.find("a.open").show();
			$parent.find("a.close").hide();
			$element_to_toggle.slideUp(500, "easeInOutQuart");
		}
		else {
			$element_to_toggle_parent.addClass("open");
			$parent.find("a.open").hide();
			$parent.find("a.close").show();
			$element_to_toggle.slideDown(500, "easeInOutQuart");
			if ($element_to_scroll_to.length)
				scrollTo($element_to_scroll_to);
		}
		return false;
	});
	//Also make #inspiration-banner act as a toggling trigger
	$("#inspiration-banner").click(function () {
		var $parent = $(this).parent();
		$parent.find(".content-toggler a:visible").trigger("click");
		return false;
	});
}

function scrollTo($element) {
	var margin_top = parseInt($element.css("margin-top"));
	if (isNaN(margin_top))
		margin_top = 0;
	$("html,body").animate({ scrollTop: $element.offset().top - margin_top }, 750, "easeInOutQuart");
}

function initSubMenus() {
	//Sub menus toggles on click
	$("#secondary-navigation li.sub > a").click(function(){
		$parent = $(this).parent();
		if ($parent.hasClass("open"))
		{
			$("#secondary-navigation li").removeClass("open");
			$("#secondary-navigation .sub-menu").slideUp(100);
		}
		else
		{
			$("#secondary-navigation li").removeClass("open");
			$("#secondary-navigation .sub-menu").slideUp(100);
			$parent.addClass("open");
			$parent.find(".sub-menu").slideDown(100);
		}
		return false;
	});
	
	//Close sub on any click..
	$(document).click(function(){
		$("#secondary-navigation li").removeClass("open");
		$("#secondary-navigation .sub-menu").slideUp(100);
	});
	//..but only when clicked outside it
	$("#secondary-navigation li.sub .sub-menu").click(function(e) {
		e.stopPropagation(); //Stops event bubbling, to prevent the click event bound to 'document'
	});

	//Make short sub as wide as its parent
	$("#secondary-navigation li.sub").each(function () {
		var $sub = $(this);
		var $subWrapper = $sub.find(".sub-menu");
		var $uls = $sub.find("ul");
		if ($uls.length == 1) {
			var $container = $sub.find(".sub-menu");
			if ($container.width() < $sub.find("a").width()) {
				$container.find("ul:first").width($sub.find("a:first-child").width());
			}
		}
	});
}

function initQuaternaryMenu() {
	$("#quaternary-navigation a").click(function() {
		var $parent = $(this).parent();
		
		//Select the current tab
		$("#quaternary-navigation li").removeClass("selected");
		$parent.addClass("selected");
		
		//Show the right block
		var index = $parent.index();
		$(".content-blocks .content-block").removeClass("selected");
		$(".content-blocks .content-block").eq(index).addClass("selected");
		
		return false;
	});
}

function initFilterOptions() {
	//Save it's initial height
	$("#filter-options").data("height", $("#filter-options").outerHeight());
	
	//Filter categories
	$("#filter-header ul a").click(function() {
		var $link = $(this);
		
		//Toggle option groups
		if ($link.hasClass("selected"))
		{
			$("#filter-options").slideUp(200, "easeOutQuad");
			$link.removeClass("selected");
		}
		else
		{
			$("#filter-header ul a").removeClass("selected");		
			$link.addClass("selected");
	
			$("#filter-options ul").hide();
			$("#filter-options").slideDown(200, "easeOutQuad");

			var $filter_group = $("#filter-options").find("." + $link.attr("rel"));
			$filter_group.show();
	
			//Grow container if needed
			var filter_group_height = $filter_group.outerHeight();
			var animate_to = (filter_group_height > $("#filter-options").data("height")) ? filter_group_height : $("#filter-options").data("height")
			$("#filter-options").stop().animate({ height: animate_to }, 200, "easeOutQuad");
		}	
		return false;
	});

	//Select which filter
	$("#filter-options ul a").click(function() {
		$("#filter-summary").slideDown(200, "easeOutQuad");
		var $link = $(this);
		var filter_type = $link.closest("ul").attr("class");
		var filter_value = $link.data("value");
		var filter_content = $link.text();
		setFilterOption(filter_type, filter_value, filter_content);
		return false;
	});
	
	//Remove a filter
	$("#filter-summary li span").live("click", function(){
		var $filter = $(this).parent();
		$filter.effect("drop", 175, function(){
			$filter.remove();
			if ($("#filter-summary li").length == 0)
				$("#filter-summary").slideUp(200, "easeOutQuad");
			//HACK BY CAPGEMINI
			getFilteredProducts();
			//END HACK
		});
	});
}

function setFilterOption(type, value, content) {
	//Create the html element
	var $filter = $(document.createElement("li")).addClass(type).css({ display: "none" });
	var em = $(document.createElement("em")).addClass(type + " " + value).attr("title", value).html(content).appendTo($filter);
	var span = $(document.createElement("span")).html("[x]").appendTo($filter);

	if ($("#filter-summary li." + type).length > 0) 
    {
        if (value.substring(value.length - 1, value.length) == "+")
        {
            value = value.slice(0, -1); //Remove last char
        }
		var $current_filter = $("#filter-summary li." + type);
		if ($("#filter-summary li ." + value).length > 0)
		{
			//Highlight already existing selected
			$current_filter.stop().css({ backgroundColor: "#fff" }).effect("highlight", 500);
		}
		else
		{
			//Replace current filter
			$current_filter.fadeOut(150, function(){
				$current_filter.remove();
				$("#filter-summary ul").append($filter);
				$filter.delay(50).effect("highlight", 500).fadeIn(150);
				//HACK BY CAPGEMINI
				getFilteredProducts();
				//END HACK
			});			
		}
	}
	else
	{
		//Add filter
		$("#filter-summary ul").append($filter);
		$filter.effect("highlight", 500).fadeIn(150);
		//HACK BY CAPGEMINI
		getFilteredProducts();
		//END HACK
	}
}


function initEnticerLinks() {
	$(".buyable").click(function (event) {
		if(event.target.nodeName != "A")
			window.location = $(this).find("h2 a").attr("href");
	});

	$(".intro-enticer").click(function(event)
	{
		event.stopPropagation();
		event.preventDefault();

		var enticerLink = $(this).find("a:first");
		var target = enticerLink.attr("target");

		if($.trim(target) != "")
		{
			window.open(enticerLink.attr("href"), target);
		}
		else
		{
			window.location = enticerLink.attr("href");
		}
	});
}

function initShadowbox() {
	if (jQuery().colorbox) {
		$("a[rel='popup-link']").colorbox({ inline: true, href: $(this).attr("href"), opacity: 0.5, initialWidth: 0, initialHeight: 0, width: 630, current: false });

		$(".popup-navigation li a").click(function () {
			var wrapperElement = $(this).parents("div.popup");
			var tabIndex = $(wrapperElement).find("li").index($(this).parent("li"));
			$(wrapperElement).find(".popup-content .grid-blocks").hide();
			$(wrapperElement).find(".popup-content .grid-blocks:eq(" + tabIndex + ")").show();
			$(wrapperElement).find(".popup-navigation li").removeClass("current").eq(tabIndex).addClass("current");
			$.colorbox.resize();
		});
		$(".popup .close-button").click(function () {
		    if ($(this).parent("#account-confirmation").length) {
		        window.location.reload();
		    }
		    else if ($(this).parent("#forgot-password").length)
            {
            	$("#forgotPasswordConfirmation").hide();
		        $("#forgotPasswordSection").show();
		    }
            else if ($(this).parent("#email-shopping-list").length)
            {
                EnableMailButton();
            }
		    $.colorbox.close();
		});
		$("#cboxClose").click(function () {
		    if ($(this).parent("#account-confirmation").length) {
		        window.location.reload();
		    }
		    else if ($(this).parent("#forgot-password").length) {
		        $("#forgotPasswordConfirmation").hide();
		        $("#forgotPasswordSection").show();
		    } else if ($("#email-shopping-list").length)
            {
                EnableMailButton();
            }
		    $.colorbox.close();
		});

		$("#popup-register-button").click(function () {
			$(".popup-navigation li a").eq(1).trigger("click");
		});
	}
}

function initAddThis() {
	var addThisToolbox = document.getElementById("addThisToolbox");
	if (addThisToolbox === null)
		return;

	addthis_config = {
		pubid: "duni",
		services: "facebook,twitter,google,email",
		icon_size: 32,
		ui_508_compliant: true,
		ui_click: true,
		compact_button: true
	};
	//Don't change below
	$.getScript("http://s7.addthis.com/js/250/addthis_widget.js#domready=1", function(){
		var services = addthis_config.services.split(",");
		for (var s in services) {
			addThisToolbox.innerHTML += '<a class="addthis_button_'+services[s]+' addthis_'+addthis_config.icon_size+'x'+addthis_config.icon_size+'_style"></a>';
		}
		var button_class = addthis_config.compact_button ? "addthis_button_compact" : "addthis_button";
		addThisToolbox.innerHTML += '<a class="'+ button_class +' addthis_'+addthis_config.icon_size+'x'+addthis_config.icon_size+'_style"></a>'
		$("#addThisToolbox").addClass("addthis_toolbox addthis_default_style");
		addthis.toolbox("#addThisToolbox");
	});
}

function equalHeight(elements, next_element_selector) {
	var next_element_height = 0;
	var element_height = 0;
	var maxHeight = 0;
	var property = jQuery.browser.msie && jQuery.browser.version < 7 ? 'height' : 'min-height';

	$(elements).each(function () {
		element = $(this);
		element_height = element.height();

		if (next_element_selector === undefined) {
			//Normal calculation. Compares all elements of the same selector
			//Just calculate, don't set the new height since we have to do it after we know the tallest.
			maxHeight = (element_height > maxHeight) ? element_height : maxHeight;
		}
		else {
			//Compares all selected elements with ONLY the next element (2nd parameter)
			next_element = element.next(next_element_selector);
			next_element_height = next_element.height();
			maxHeight = (element_height > next_element_height) ? element_height : next_element_height;

			//Set the elements' height
			next_element.css(property, maxHeight + 'px');
			element.css(property, maxHeight + 'px');
		}
	});

	//Set all elements to the same height (maxHeight)
	if (next_element_selector === undefined) {
		$(elements).each(function () {
			$(this).css(property, maxHeight + 'px');
		});
	}
}

function groupElementsAndCall(parent, elements, group_by, func_to_call) {

	$(parent).each(function () {

		var childElements = $(this).find(elements);
		var groups = Math.ceil(childElements.length / group_by);

		//Weird math, but it's correct :)
		var sliceStart = -group_by, slideEnd = 0;

		for (var i = 0; i < groups; i++) {

			//"Calculate" where to slice
			sliceStart += group_by;
			slideEnd += group_by;

			//This slice contains the grouped elements!
			var slice = childElements.slice(sliceStart, slideEnd);

			//Do what you need
			func_to_call(slice);

		} //End for

	});  //End parent grouping

}

function initTooltips() {
	$("#tooltip-close").live("click", function () {
		$("#tooltip").fadeOut(200);
		return false;
	});
}

function showTooltip(element, messageToShow) {
	var $tooltip = $("#tooltip");
	var $element = $(element);
	var tipHTML = $("#" + $element.attr("data-content") + " ." + messageToShow).html();

	var elementOffset = $element.offset();
	var elementW = $element.outerWidth();
	var elementH = $element.outerHeight();

	$tooltip.css({ left: "-9999px", top: "-9999px" }).addClass(messageToShow).find("span").html(tipHTML);
	var tooltipW = $tooltip.outerWidth();
	var tooltipH = $tooltip.outerHeight();

	var yOffset = (messageToShow == "action") ? -38 : 10;
	var leftOffset = parseInt(elementOffset.left.toFixed(0)) + (elementW / 2) - (tooltipW / 2);
	var topOffset = parseInt(elementOffset.top.toFixed(0)) - tooltipH - yOffset;

	if (leftOffset <= 0)
		leftOffset = 15;

	$("#tooltip").css({ left: leftOffset + "px", top: topOffset + "px" }).fadeIn(200);

	if (!$("#tooltip").hasClass("action"))
		window.setTimeout(function () { $("#tooltip").fadeOut(200); }, 5000);
}


function initFormToggling() {
	$("input:radio.toggler").change(function () {
		$this = $(this);
		var $elements_to_toggle = $("." + $this.attr("data-toggle-key"));
		$(".toggleable").hide();
		$elements_to_toggle.show();
	});
	$("input:checkbox.toggler").change(function () {
		$this = $(this);
		var $elements_to_toggle = $("." + $this.attr("data-toggle-key"));
		if ($this.is(":checked"))
			$elements_to_toggle.show();
		else
			$elements_to_toggle.hide();
	});
}


