/*global evt, event, jQuery, $, $$, xmlhttp, alert, blur, clearInterval, clearTimeout, close, closed, confirm, console, Debug, defaultStatus, document, focus, frames, getComputedStyle, getElementTextNS, history, Image, length, location, moveBy, moveTo, name, navigator, onblur, onerror, onfocus, onload, onresize, onunload, open, opener, opera, Option, parent, print, prompt, resizeBy, resizeTo, screen, scroll, scrollBy, scrollTo, self, setInterval, setTimeout, status, top, window, XMLHttpRequest */


/* ! Pseudo Filter engine */


function showFilterResults(event){
	event.preventDefault();

	jQuery(this).parent().parent().children("li").removeClass("current");
	jQuery(this).parents("li").addClass("current");
	
	/* ! get link value */
	var filterID = jQuery(this).attr("id");
	
	/* ! hide all catalog product then show only filter result */
	jQuery(".catalog .product-list > li").removeClass("alpha").hide();
	
	jQuery(".catalog .product-list > li[class*="+filterID+"]").fadeIn("normal");

// Start Paginatore
	$("li[class*="+filterID+"]:gt(5)").hide();
	for(var i=1;i < 6;i++){
	  $("li[class*="+filterID+"]:eq("+i+")").show();
	}
	$("ul.navigation-result li ul li[class=current]").attr("class","");
	$("ul.navigation-result li ul li:eq(1)").attr("class","current");

	$("ul.navigation-result li ul li").hide();
	var lastPage = Math.ceil($("li[class*="+filterID+"]").length / 6);
	$("ul.navigation-result li ul li:gt(0):lt("+lastPage+")").attr("filterId",filterID).show().bind("click", function(){
		var filterID = $(this).attr("filterId");
		var page = $(this).find("a").html();
		
		$("ul.navigation-result li ul li[class=current]").attr("class","");
		$(this).attr("class","current");
		$("li[class*="+filterID+"]").hide();
		for(var i=(6*(page-1));i < ((6*page));i++){
		  $("li[class*="+filterID+"]:eq("+i+")").show();
		}
		return false;
	});
// End Paginatore	
	
}

/* ! Two kinds of filter, based on filter type, either Category name, either category points*/
/* --> filterSelector1 (ex : category points) // --> filterSelector2 (ex : category name) */

function showFilterSelector(event){
	event.preventDefault();
	
	jQuery(this).parent().parent().children("li").removeClass("current");
	jQuery(this).parents("li").addClass("current");
		
	var toggleTarget = this.hash;
	
	jQuery("ul[id^=filterSelector]").hide();
	jQuery(toggleTarget).fadeIn("normal");
	
	jQuery(toggleTarget+" > li.current a").trigger("click");
}





/* ! Suggestion Search -  Step 1 */
/* ! lookin for input text value */
function lookup(event) {
	var myInputLength = event.target.value.length;
	var myInputValue = event.target.value;
	var siblingBlock = jQuery(this).siblings(".suggestionsLayer");
	
	if(myInputLength === 0) {
		jQuery(siblingBlock).slideUp("fast"); // Hide the suggestions box
		} else if(myInputLength >=3){
			jQuery.post("ajax/suggestions.html", {queryString: ""+myInputValue+""}, function(data) { // Do an AJAX call
			jQuery(siblingBlock).html(data); // Fill the suggestions box
			jQuery(siblingBlock).find("a").click(function(eventClick){
				eventClick.preventDefault();
				var myLinkValue = jQuery(this).text();
				event.target.value = myLinkValue;
				jQuery(siblingBlock).slideUp("fast");
			});
			
			jQuery(siblingBlock).slideDown("fast"); // Show the suggestions box
		});
	}
}
/* ! Hide Suggestion Layer on blur */
function toggleSuggestionsLayer(){
	jQuery(".suggestionsLayer").slideUp("fast");
}

var is_home = false;
var login_active = false;
/*
var is_home = false;

function setAutoComplete() {
	if(!jQuery(".suggestionsLayer").length) return false;
		jQuery("#punto1, #punto2").each(function() {
		// this file maybe a PHP file accepting URL parameters, taken from the input 
		var serchfile = "ajax/suggestions.html";
		var active = 0;
		var showLayer = true;
		var suggestionLayer = jQuery(this).siblings(".suggestionsLayer");
		var thisLength = jQuery(this).val().length;
		
		// KEYDOWN
		jQuery(this).bind("keydown", function(event){
			var myInputLength = event.target.value.length;
			
			if (myInputLength >= 3) {
				switch (event.keyCode) {
					case 38: // up
						event.preventDefault();
						moveSelect(-1);
						break;
					case 40: // down
						event.preventDefault();
						moveSelect(1);
						break;
					case 13: // return
						event.preventDefault(); 
						jQuery(suggestionLayer).find("li.current a").trigger("click");
						break;
				}
			}
			
			thisLength = jQuery(this).val().length;
		});	
		
		// KEYUP
		jQuery(this).bind("keyup", function(event){
			
			var myInputLength = event.target.value.length;
			var myInputValue = event.target.value;
			console.log(myInputValue);

			if(myInputLength === 0) {
				showLayer = true;
				jQuery(suggestionLayer).slideUp("fast"); // Hide the suggestions box
			} else if(myInputLength >=3 && thisLength != myInputLength && showLayer == true){
				active = 0;
				jQuery.post(serchfile, {queryString: ""+myInputValue+""}, function(data) { // Do an AJAX call
					jQuery(suggestionLayer).find(".suggestionsLayerContent").html(data); // Fill the suggestions box
					jQuery(suggestionLayer).find(".suggestionsLayerContent").find("li a").click(function(eventClick){
						eventClick.preventDefault();
						var myLinkValue = jQuery(this).find(".heading").text();
						event.target.value = myLinkValue;
						jQuery(suggestionLayer).slideUp("fast");
					});
					if (jQuery(suggestionLayer).find(".suggestionsLayerContent").find("li").length) {
						jQuery(suggestionLayer).slideDown("fast"); // Show the suggestions box
					}
				});
			}
		});
		
		function moveSelect(step) {
			var lis = $("li", suggestionLayer);
			if (!lis || lis.length == 0) return false;

			active += step;
			 //loop through list
			if (active < 0) {
				active = lis.size();
			} else if (active > lis.size()) {
				active = 0;
			}
			lis.removeClass("current");
			$(lis[active-1]).addClass("current");
		}
		
		jQuery(this).bind("blur", function(){
			jQuery(suggestionLayer).slideUp("fast");
		});

		jQuery(".suggestionsLayer .btCloseSearch a").bind("click", function(){
			jQuery(this).parents(".suggestionsLayer").slideUp("fast");
			showLayer = false;
			jQuery(this).trigger("focus");
			return false;
		});
	});
}
*/

/* ! Toggle Content based on href value (ex:#grid) */
function toggleHandlerLevel0(event){
	event.stopPropagation();
	event.preventDefault();
	var toggleTarget = this.hash;
	var targetFromURL = window.location.hash;
	var pagename = location.href;
	pagename=pagename.substr(pagename.lastIndexOf("/")+1).split(/[?#]/)[0];
	if(!is_home)
	{
		jQuery(this).removeClass("toggle");
		jQuery(toggleTarget).animate({
			"opacity": "toggle",
			"height": "toggle"
		}, 200, "swing");
		var linkClass = jQuery(this).hasClass("hidden");

		switch (linkClass) {
			case false:
				jQuery(this).addClass("hidden");
				break;
			case true:
				jQuery(this).removeClass("hidden");
		}
		
		/* ! Hide select on main_nav opening */
		if (jQuery.browser.msie && jQuery.browser.version < 7) {
			if (toggleTarget === "#subsection-nav1" && linkClass) {
				jQuery("form.side_selectBloc select, #search_map .apertura select").show();
			}
			else {
				if (toggleTarget === "#subsection-nav1" && !linkClass) {
					jQuery("form.side_selectBloc select, #search_map .apertura select").hide();
				}
			}
		}
	}
}


/* ! Toggle e-coupon Content based on href value (ex:#grid), only on mouseover */
function toggleCouponsHandler(event){
	event.stopPropagation();
	event.preventDefault();
	var toggleTarget = this.hash;
	var allItemsIdentifier = jQuery(this).parent().hasClass("allItems");
	
	jQuery(".coupon-items").hide();
	
	if(allItemsIdentifier){
		jQuery(".coupon-items").fadeIn("normal");
	}else{
		
		jQuery(toggleTarget).fadeIn("normal");
	}
	
	jQuery(this).parents("ul").children("li").removeClass("current");
	jQuery(this).parent().addClass("current");
	

}

function displayInviaSpesamica(event){
	jQuery(".inviaComplete").fadeIn("normal");

}

// ! select unselect all radios
function selectAllRadios(event){
	event.stopPropagation();
	event.preventDefault();
	jQuery(".stdSelectorCoupon .btSelectAll a").children("span").text("UNSELECT ALL");
	jQuery(".box .coupon-items .product-input input:checkbox:visible").attr("checked", true);
}

function unSelectAllRadios(event){
	event.stopPropagation();
	event.preventDefault();
	jQuery(".stdSelectorCoupon .btSelectAll a").children("span").text("SELECT ALL");
	jQuery(".box .coupon-items .product-input input:checkbox:visible").attr("checked", false);
}

/* ! Toggle Content based on href value (ex:#grid), only on mouseover */
function toggleHoverHandlerLevel0(event){
	event.stopPropagation();
	event.preventDefault();
	var toggleTarget = this.hash;
	jQuery("li.hover ul").hide();
	jQuery(toggleTarget).fadeIn("slow");
	jQuery(this).parents("ul").mouseleave(function() { jQuery(toggleTarget).hide(); });
}

/* ! Show Content  based on href value (ex:#grid) */
function showHandlerLevel0(event) {
	event.stopPropagation();
	event.preventDefault();
	var toggleTarget = this.hash;
	//change current z-index property to fit with IE
	var targetFromURL = window.location.hash;
	if ( toggleTarget == "#pop-login"){
		jQuery("#pop-welcome").stop().fadeOut("fast");
	}	
	
	//Hide all current tooltip before showing a new one
	jQuery("[id^='pop-list-']").hide();
	jQuery(toggleTarget).fadeIn("fast");
}

/* ! Show Content  based on field value (ex:#grid) */
function showSecondaryStores(event) {
	
	jQuery(this).focus(function(){
		
		alert("bite");
	})
	
	
	var inputValue = jQuery(this).children("input:first").val();
	// ! define digits range
	var regZipCode = new RegExp(/^[0-9]{2,5}$/);
	var matchZipCode= inputValue.match(regZipCode);
	switch(matchZipCode){
		case null:
			// Load or display Error message (AJAX)
			jQuery(this).parent().find(".text").addClass("error");
			//jQuery(this).closest(".box-selections").find("div").fadeIn("fast");
		break;
		default:
			//Hide all current tooltip before showing a new one
			// Load Secondary Store List (AJAX)
			jQuery(this).parent().find(".text").removeClass("error");
			jQuery(this).closest(".box-selections").find("div").fadeIn("fast");
		break;
	}
	return false;
}

/* ! Hide Content  based on href value (ex:#grid) */
function hideHandlerLevel0(event) {
	event.stopPropagation();
	event.preventDefault();
	var toggleTarget = this.hash;
	if(toggleTarget.indexOf("pop-welcome")!=-1)setCookie("pop-welcome",true);
	var targetFromURL = window.location.hash;
	jQuery(toggleTarget).stop().fadeOut("fast");
}

/* ! Show for 3s. then hide Welcome/login pop content, base on href value */
function welcomeHandler(event) {
	event.stopPropagation();
	event.preventDefault();
	var toggleTarget = this.hash;
	var targetFromURL = window.location.hash;

	jQuery(toggleTarget).fadeIn("slow").animate({"border":"0"}, 3000).fadeOut("fast");
}

/* ! Show tooltip */
function showTooltip(event) {
	event.stopPropagation();
	event.preventDefault();
	var toggleTarget = this.hash;
	var targetFromURL = window.location.hash;

	var relativeX = event.pageX - jQuery(toggleTarget).width() - event.data.decalX;
	var relativeY = event.pageY -	jQuery(toggleTarget).height() - event.data.decalY;
	
	jQuery(toggleTarget).css({'left': relativeX, 'top':relativeY});
	jQuery(toggleTarget).fadeIn("slow").animate({"border":"0"}, 5000).fadeOut("fast");
}

/* ! add to list ajax simulation*/
function addToListsAJAX(event){
	event.stopPropagation();
	event.preventDefault();
	var eventIdentifier = jQuery(this);
	var URLTarget = jQuery(this).attr("href");
	var PIDReference = jQuery(this).attr("rel");
	
	jQuery.ajax({
		type: "POST",
		url: URLTarget,
		data: PIDReference,
		beforeSend: function(){
			jQuery(".tempError").remove();
			jQuery(".tempSuccess").remove();
			jQuery(".tempLoading").remove();
			jQuery(eventIdentifier).after("<img src='core/media/img/ajax-loader.gif' class='tempLoading' alt='ajax-loader' />");
	   },
		success: function(msg){
			alert( "Success - Data Saved: " + msg );
			jQuery(".tempError").remove();
			jQuery(".tempSuccess").remove();
			jQuery(".tempLoading").remove();
			jQuery(eventIdentifier).after("<img src='core/media/img/ajax-success.gif' class='tempSuccess' alt='ajax-loader' />");
		},
		error: function(msg){
			alert( "Error - Data Not Saved" );
			jQuery(".tempError").remove();
			jQuery(".tempSuccess").remove();
			jQuery(".tempLoading").remove();
			jQuery(eventIdentifier).after("<img src='core/media/img/ajax-error.gif' class='tempError' alt='ajax-loader' />");
		}
	});
}

/* ! Toggle tabs */
// Tab buttons are li a
// Tab panels are xx.tab
function toggleTabs(event) {
	event.stopPropagation();
	event.preventDefault();
	// Remove class 'current' from all other li and add to parent li
	var TabControls=jQuery(this).parents("ul").children("li");
	jQuery(TabControls).removeClass("current");
	jQuery(this).parent("li").addClass("current");
	// Hides all tab panels and shows the hashed one
	var TabPanels=jQuery(this.hash).siblings(".tab");
	jQuery(TabPanels).hide();
	jQuery(this.hash).show();
	// Do we really want to remove the outline ? It may have to go...
	jQuery(this).blur();
}

/* ! Fire popin on href value (ex:#grid) */
/* SYLVAIN : AI CHANGE DATATYPE de xml en http. jQuery(this).html() ne fonctionne pas en xml */
function popinHandler(event) {

	event.preventDefault();
	var popinHref = jQuery(this).attr("href").split("#")[0];
	var popinHash = jQuery(this).attr("hash");
	if (popinHash === "") {
		popinHash = "#popinContent";
	}
	
	jQuery("body").append("<div id='popin'></div><div id='loading' alt='Loading'><span>caricamento</span></div><div id='popinData'></div>");
		jQuery("#popin, #popinData").css({opacity: 0});
		
		var windowHeight = jQuery(window).height();
		var loaderPosition = (windowHeight - jQuery("#loading").height()) /2;
		jQuery("#loading").css("margin-top",loaderPosition);  
		
		jQuery("#popinData, #loading").css("top", jQuery(window).scrollTop());
		
		jQuery("#popin").animate({opacity: 0.6}, 200, "swing",function(){

			// HIDE selects for IE6
			if (typeof document.body.style.maxHeight === "undefined") {
				jQuery(".container_16 select").css("visibility","hidden");
			}
			jQuery.ajax({
				type: "GET",
				url: popinHref,
				dataType: "html",
				processData: "false",
				error: function(XMLHttpRequest, textStatus, errorThrow) {
				},
				success: function(XMLHttpRequest, textStatus) {
					jQuery(XMLHttpRequest).find(popinHash).each(function(){
						var dataFilter = jQuery(this);					
						jQuery("#popinData").append(dataFilter);
						jQuery("#popinData").find(popinHash).prepend("<a id='chiudiPopIn' href='#popinData' class='closePopin'>Chiudi</a>");
						
						if(windowHeight>jQuery("#popinData").find(popinHash).height()){
							var popinPosition = (windowHeight - jQuery("#popinData").find(popinHash).height()) /2;
							jQuery("#popinData").find(popinHash).css("margin-top",popinPosition);
						}
						
					});
					
				},
				complete: function(XMLHttpRequest, textStatus){
					jQuery("#popinData").animate({opacity: 1}, 200, "swing");
					jQuery("#loading").remove();
					jQuery("body").addClass("popinActiveBody");
				}
			});
		
		});
		
}

function ajaxLoadSL(event){
	var hrefValue = event.target.href;
	var hrefHash = event.target.hash;
	var subHREF = hrefValue.substring(0,  hrefValue.indexOf("#"));
	var globalIdentifier = jQuery(this); 
	
	jQuery.ajax({
		type: "POST",
		url: subHREF,
		dataType:"xml",
		ifModified:false,
		error: function(XMLHttpRequest, textStatus, errorThrown) {
		},
		success: function(XMLHttpRequest, textStatus) {
			console.log(XMLHttpRequest+" "+textStatus);
			jQuery(XMLHttpRequest).find(hrefHash).each(function(){
				var dataFilter = jQuery(this).html();
				jQuery("#test").append(dataFilter);
			});
		},
		complete: function(XMLHttpRequest, textStatus){
			jQuery("#popinData").animate({opacity: 1}, 200, "swing");
			}
		});
		
	event.preventDefault();
	event.stopPropagation();
}

function toggleDirections(event) {
	event.stopPropagation();
	event.preventDefault();
	jQuery(this.hash).siblings().hide();
	jQuery(this.hash).show();
	jQuery("#getSearchDirections").toggle();
}

// ! clear input
function removeValueField(){
	var inputDefaultValue = jQuery(this).attr("defaultValue");
	if (jQuery(this).attr("value") === inputDefaultValue) {
		jQuery(this).attr("value","");
	}
	jQuery(this).bind("blur", function(){
		if (!jQuery(this).attr("value")) {
			jQuery(this).attr("value",inputDefaultValue);
		}	
	});
}

// ! start cookie management
function getCookie(name){
	var arg=name+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen) {
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;
	}
	return null;
}

function getCookieVal(offset) {
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function setCookie(name,val){
	var splitted = document.domain.split(".");
	var dominio = "errore";
    if(splitted.length>1){
    	dominio = splitted[splitted.length-2] + "." + splitted[splitted.length-1];
    } else {
    	dominio = splitted[splitted.length-1];
    }
	var argv=setCookie.arguments;
	var argc=setCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=dominio;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=name+"="+escape(val)+ ((expires==null) ? "" : ("; expires="+expires.toGMTString()))+ ((path==null) ? "" : ("; path="+path))+ ((domain==null) ? "" : ("; domain="+domain))+ ((secure==true) ? "; secure" : "");
}

function removeCookie(name){
	var exp=new Date();
	exp.setTime (exp.getTime() - 100000);
	var cval=getCookie(name);
	document.cookie=name+"="+cval+"; expires="+exp.toGMTString(); 
}
// ! end of cookie management

function searchInputBehavior(obj) {
	var searchTxt="";
	jQuery(obj).click(function() {
		searchTxt=jQuery(this).val();
		jQuery(this).val("");
	});
	jQuery(obj).blur(function() {
		if(jQuery(this).val()=="") {
			jQuery(this).val(searchTxt);
		}
	});
}

function handleNews() {
	jQuery("p#news").html(jQuery(this).parent().html());
}
// ! init timer global variable to contain setinterval for news
var timer;

// ! newsticker behavior : move elements one step forward
function newsTicker(newsElt){	
	var currentItem = newsElt.find(".current");
	var indexCurrent = jQuery(newsElt).find(" > li").index(jQuery(currentItem));
	indexCurrent += 1;
	var controlLength = newsElt.find("> li").length;
	if (indexCurrent >= controlLength) {
		indexCurrent = 0;
	}
	jQuery(newsElt).find("> li:eq("+indexCurrent+") a").trigger("click");		
}
// ! set the setinterval for the newsticker
function runNews(){
	jQuery("ul[id*=news-remote]").each(function(){
		var newsElt = jQuery(this);			
		timer = setInterval(function(){
			newsTicker(newsElt);
		}, 5000);
	});
}

function highlightCurrent(event) {
	event.preventDefault();

	var Controllers=jQuery(this).parents("ul").children("li");
	jQuery(Controllers).removeClass("current");
	jQuery(this).parents("li[class!=next][class!=previous][class!=more]").addClass("current");
}

function setCarrousel() {
	
	// Class Reg
	var classReg = new RegExp(/^carrouselDisplay/);
	var classReg2 = new RegExp(/^alphaRow/);
	
	jQuery("div[class*=carrouselDisplay]").each(function(){
		var visibleItems=4;
		var carrousel = jQuery(this);
		
		var eltClass = jQuery(this).attr("class").split(" ");
		eltClass = jQuery.grep(eltClass, function(txt){
			return (classReg.test(txt));
	    });
		
		switch (eltClass[0]) {
			case "carrouselDisplay3Pdt":
				visibleItems = 3;
				break;
			case "carrouselDisplayTxt":
				visibleItems = 1;
				break;
			case "carrouselDisplay7Pdt":
				visibleItems = 7;
				break;
			case "carrouselDisplay5Pdt":
				visibleItems = 5;
				break;
		}
		
		if (visibleItems < jQuery(this).find(" > ul >li").length) {
		
			// Carousel Controller
			if (!jQuery(this).siblings(".boxHeading").find(".remote").length) {
				jQuery(this).siblings(".boxHeading").append("<ul class=\"remote\"></ul>");
			}
			
			var itemNum = jQuery(this).find(" > ul >li").length;
			itemNum = Math.ceil(itemNum / visibleItems);
			var controllerList = "";
			
			for (var i = 0; i < itemNum; i++) {
			
				controllerList += "<li><a class=\"" + parseInt(i + 1, 10) + "\" ><span>" + parseInt(i + 1, 10) + "</span></a></li>";
			}
			jQuery(this).siblings(".boxHeading").find(".remote").prepend("<li class=\"previous\"><a><span>Previous Product line</span></a>" + controllerList + "</li><li class=\"next\"><a><span>Next Product line</span></a></li>");
			jQuery(this).addClass("carrousel_active");
			jQuery(this).siblings(".boxHeading").find(".remote .1").parent().addClass("current");
			
			
			// Carousel Display
			jQuery(this).jCarouselLite({
				btnNext: jQuery(this).siblings(".boxHeading").find(".remote li.next a"),
				btnPrev: jQuery(this).siblings(".boxHeading").find(".remote li.previous a"),
				visible: visibleItems,
				scroll: visibleItems,
				speed: 800,
				afterEnd: function(a){
					jQuery(carrousel).siblings(".boxHeading").find(".remote .current").removeClass("current");
					var alphaClass = jQuery(a[0]).attr("class").split(" ");
					alphaClass = jQuery.grep(alphaClass, function(txt){
						return (classReg2.test(txt));
					});
					
					alphaClass = alphaClass[0].split("alphaRow")[1];
					
					jQuery(carrousel).siblings(".boxHeading").find(".remote ." + alphaClass).parent().addClass("current");
				},
				btnGo: jQuery(this).siblings(".boxHeading").find(".remote li:not([class*=previous]):not([class*=next]):not([class*=more]) a")
			});
		}			
	});
}

function initPdtCarrousel(){
	jQuery(".stdCarrouselContainer").each(function() {
		
		var itemNum = jQuery(this).find(" > ul >li").length;
		itemNum = Math.ceil(itemNum / 4);
		var controllerList = "";
		
		for (var i = 0; i < itemNum; i++) {
			controllerList += "<li><a class=\"" + parseInt(i + 1, 10) + "\" ><span>" + parseInt(i + 1, 10) + "</span></a></li>";
		}
		
		jQuery(this).after("<div class=\"stdCarrouselController\"><ol>"+controllerList+"</ol></div>");
		jQuery(this).siblings(".stdCarrouselController").find(".1").parent().addClass("active");
		jQuery(this).find(">ul").addClass("activeCarrousel");
		
		var carrousel = jQuery(this);
		jQuery(this).jCarouselLite({
			visible:4,
			scroll:4,
			speed:800,
			afterEnd: function(a){
				jQuery(carrousel).siblings(".stdCarrouselController").find(".active").removeClass("active");
				var indexCurrent = jQuery(carrousel).find("ul > li").index(jQuery(a));
				indexCurrent = indexCurrent/4-1;
				jQuery(carrousel).siblings(".stdCarrouselController").find("li:eq("+indexCurrent+")").addClass("active");
			},
			btnGo: jQuery(this).siblings(".stdCarrouselController").find("a")

		});
	});
	
}

jQuery(document).ready(function () {
	// ! run code when DOM is ready
// setCarrousel("#carrousel-1");
	// ! init headings toggle 
	jQuery("a[id*=toggle]").live("click", toggleHandlerLevel0);
	
	// ! init headings, mouseover only
	jQuery("a[id*=hover]").live("mouseover", toggleHoverHandlerLevel0);
	
	// ! init links show handler 
	jQuery("a[id*=show]").live("click", showHandlerLevel0);
	
	 // ! Show secondary store list (need to use ajax to extract store list, based on postal code value)   
	jQuery(".extract form").bind("submit", showSecondaryStores);
	
	
	// ! init links show handler
	 jQuery("a[class*=close]").live("click", hideHandlerLevel0);
	 jQuery("a[class*=closPopIn]").bind("click", hideHandlerLevel0);
	
	// ! init Welcome Message handler - run once
	jQuery("a#show-welcome").one("click",welcomeHandler);
	
	// ! show tooltips and errortips
	jQuery("a[id*=show-infotip]").bind("click",{decalX:-15, decalY:60},showTooltip);
	jQuery("a[id*=show-errortip]").bind("click",{decalX:-90, decalY:60},showTooltip);
	
	// ! show tabs, add/remove style "current"
	jQuery("a[id*=controltab]").live("click", toggleTabs);
	
	// ! handle news controller 
	jQuery("ul[id*=news-remote] a").bind("click", handleNews);
	
	// ! Highlight current li a
	jQuery("ul[id*=news-remote] a").bind("click", highlightCurrent);
	
	
	// ! Fires Carrousels
	setCarrousel();
	initPdtCarrousel();

	// ! input gives suggestions when a certain number of letters are typed
	//setAutoComplete();
	/* ! Add Search Suggestions */
	jQuery("#punto1, #punto2").bind("keyup", lookup);
	jQuery("#punto1, #punto2").bind("blur", toggleSuggestionsLayer);

	// ! Popins
	jQuery("a[class*=popin]").bind("click", popinHandler);
	jQuery("a.closePopin, a.removePopin").live("click", function(){
		jQuery("#popin, #popinData").remove();
		if (typeof document.body.style.maxHeight === "undefined") {
			jQuery(".container_16 select").css("visibility", "visible");
		}
		jQuery("body").removeClass("popinActiveBody");
		return false;
	});
	
	// ! init add to list/Wish link (AJAX)
	jQuery(".addToList, .addToWish").live("click", addToListsAJAX);
	
	// ! search input : clic = memorize text, blur = (restore previous text if empty)
	searchInputBehavior("#searchField, .search input:text, #numero, #location_searchField");

	// ! storelocator : click search, get directions
	jQuery("#submitDirections").bind("click", toggleDirections);
	jQuery("#getSearchDirections").bind("click", toggleDirections);
		
	// ! Print
	jQuery(".stdPopinDisplay .btPrint a").live("click", function(){
		window.print();
		return false;
	});
	
	
	/* ! show filter selector */
	jQuery("a[class^=filterLevel]").bind("click", showFilterSelector );
	
	/* ! trigger filter selector, based on active filter (current class) */
	jQuery(".catalog_filter li.current a").trigger("click");
	
	
	/* ! Display filter results based on filter value (filter1SelectorN, filter2SelectorN)*/
	
	jQuery("a[id^=filter1Selector], a[id^=filter2Selector]").bind("click", showFilterResults);
	
	
	/* ! Display filter results based on filter value (filter1SelectorN, filter2SelectorN)*/
	
	jQuery(".tabNavigationList > li > a").bind("click", toggleCouponsHandler);
	
	/* nivia spesamica, display more fields on focus */
	jQuery(".spesAmica_fid #numero").bind("focus", displayInviaSpesamica);
	
	
	// ! Select all Coupons
	jQuery(".stdSelectorCoupon:not(.omegaSelectorCoupon) .btSelectAll a").toggle(selectAllRadios, unSelectAllRadios);

	jQuery(".omegaSelectorCoupon .btSelectAll a").bind("click", function(){
		event.preventDefault();
		event.stopPropagation();
		jQuery(".stdSelectorCoupon:not(.omegaSelectorCoupon) .btSelectAll a").trigger("click");
	
	})
	
	/* Modifica controllo Search */
	var valueFormSearch = jQuery("#searchField").val()
	jQuery("#submitSearch").attr('disabled', true);
	jQuery("#searchField").keyup(
			function(  ){
				if( jQuery.trim(jQuery("#searchField").val()) != "" && jQuery("#searchField").val() != valueFormSearch){
					jQuery("#submitSearch").removeAttr('disabled');
				} else {
					jQuery("#submitSearch").attr('disabled', true);

				}
			}
			);
	/* fine Modifica */
	
});

jQuery(window).load(function (event) {
	// ! run code when All media loaded	
	
	// ! fire headings toggle
	jQuery("a[class*=toggle]").trigger("click");
	jQuery("li[class*=hover] ul").hide();
	
	// ! fire welcome message
	if(!getCookie("pop-welcome"))jQuery("a#show-welcome").trigger("click");
	
	// ! News Auto
	runNews();
	
	
	jQuery("#news").bind("mouseover",function(){		
		clearInterval(timer);
	});
	// ! out : relaunch ticker
	jQuery("#news").bind("mouseout",function(){
		runNews();
	});
	
});
