var opacityLow = 0.2;
var opacityHigh = 0.8;
var mouseEnterHeader = function(evt) {
	//freeze mouseenter handler until mouse leave action has finished
	//this should avoid queueing effects
	jQuery("#header").unbind("mouseenter");

	//header 'increase opacity' animation
	jQuery("#header-background").animate({
		opacity: opacityHigh
	}, 500);
};

var mouseLeaveHeader = function(evt) {
	//freeze mouseleave handler until mouse leave action has finished
	jQuery("#header").unbind("mouseleave");
	
	//close all menu lists before sliding up
	//jQuery("#lookmenu").hide();
	jQuery("#categorymenulist").hide();

	//set header to collapsed size (will only take effect on expanded header)
	jQuery("#header").css({ height: 67});
	
	//header 'slide up + opacity fit' animation
	//note: if header is not expanded, the slide up animation will not be performed
	jQuery("#header-background").animate({
		height: 67,
		opacity: opacityLow
	}, 500, function () {
		//once the menu has slid up, restore both mouse handlers
		jQuery("#header").bind("mouseenter", mouseEnterHeader);
		jQuery("#header").bind("mouseleave", mouseLeaveHeader);

		if((navigator.platform.indexOf("iPad") != -1) || (navigator.platform.indexOf("iPod") != -1) || (navigator.platform.indexOf("iPhone") != -1)) {
			jQuery('body').unbind('click');
		}
	});
};

var slideDownHeader = function(evt) {
	//header 'slide down + opacity increase' animation
	jQuery("#header-background").animate({
		height: 182,
		opacity: opacityHigh
	}, 500, function () {
		//set header to expanded size
		jQuery("#header").css({ height: 182});
		jQuery("#categorymenulist").show();

		if((navigator.platform.indexOf("iPad") != -1) || (navigator.platform.indexOf("iPod") != -1) || (navigator.platform.indexOf("iPhone") != -1)) {
			jQuery("body").bind("click", function (evt) {
				mouseLeaveHeader(evt);
			});
		}
	});
};

/* footer hover effects*/

var mouseEnterFooter = function(evt) {
	jQuery("#footer").unbind("mouseenter");
	//footer 'increase opacity' animation
	jQuery('#footer-background').animate({
		opacity: opacityHigh
	}, 500);
};


var mouseLeaveFooter = function(evt) {
	jQuery("#footer").unbind("mouseleave");
	
	//footer 'reduce opacity' animation
	jQuery('#footer-background').animate({
		opacity: opacityLow
	}, 500, function() {
		jQuery("#footer").bind("mouseenter", mouseEnterFooter);
	});
	jQuery("#footer").bind("mouseleave", mouseLeaveFooter);
};

jQuery(document).ready(function() {
	
	/*** header background bindings ***/
	
	jQuery("#header").bind("mouseenter", mouseEnterHeader);
	jQuery("#header").bind("mouseleave", mouseLeaveHeader);
		
	/*** header top link binding ***/
	
	
	if((navigator.platform.indexOf("iPad") != -1) || (navigator.platform.indexOf("iPod") != -1) || (navigator.platform.indexOf("iPhone") != -1)) {
			jQuery("#shop-link").bind("click", function (evt) {
				evt.preventDefault();
				slideDownHeader(evt);
			});
	}
	else {
		jQuery("#shop-link").bind("mouseenter", function (evt) {
			slideDownHeader(evt.relatedTarget.id);
		});
	}
	
	jQuery("#shop-link").bind("mouseleave", function (evt) {
		if(evt.relatedTarget != null && evt.relatedTarget.id == "header") {
			jQuery("#categorymenulist").stop(true,false).hide();
			jQuery("#header-background").stop(true,false).animate({height: 67}, 500);
		}
	});
	jQuery("#categorymenulist").bind("mouseleave",function(evt){
		jQuery("#categorymenulist").stop(true,false).hide();
		jQuery("#header-background").stop(true,false).animate({height: 67}, 500);
	})

	jQuery("#look-link").bind("mouseenter", function (evt) {
		jQuery("#categorymenulist").stop(true,false).hide();
		jQuery("#header-background").stop(true,false).animate({height: 67}, 500);
	});
	jQuery("#blog-link").bind("mouseenter", function (evt) {
		jQuery("#categorymenulist").stop(true,false).hide();
		jQuery("#header-background").stop(true,false).animate({height: 67}, 500);
	});
	/*** header look link binding ***/
	/*
	jQuery("#look-link").bind("mouseenter", function (evt) {
		jQuery("#categorymenulist").hide();
		slideDownHeader(evt.relatedTarget.id);
		jQuery("#lookmenu").show();
	});

	jQuery("#look-link").bind("mouseleave", function (evt) {
		jQuery("#categorymenulist").hide();
		if(evt.relatedTarget != null && evt.relatedTarget.id == "header") {
			jQuery("#lookmenu").hide();
		}
	});
	*/
	//footer bindings
	jQuery("#footer").bind("mouseenter", mouseEnterFooter);
	jQuery("#footer").bind("mouseleave", mouseLeaveFooter);
});

jQuery(document).ready(function(){
    //Get our elements for faster access and set overlay width
    var div = jQuery('.catalog-previews');
	var ul = jQuery('.catalog-previews-slider');
	
    //Remove scrollbars
    div.css({overflow: 'hidden'});

    //Get menu width
    var divWidth = div.width();
    var ulWidth = ul.width();

    //define scroll detection and interval
    var scrolling = false;
    var scrollint = null;
    
    //When user move mouse over menu
    div.mousemove(function(e){
    	var mouse_x_div = e.pageX - div.offset().left;
  
    	//only scroll, if mouse is in the left or right 20%
		if((mouse_x_div < (divWidth * 0.2)) || (mouse_x_div > (divWidth * 0.8))) {
			//scroll handling left
			if(mouse_x_div < (divWidth * 0.2)) {
				if(scrolling == false) {
					scrolling = true;
					
					window.clearInterval(scrollint);
		    		scrollint = window.setInterval(function() {
		    			div.scrollLeft(div.scrollLeft()-3);
		    		} ,20);
				}
			}

			//scroll handling right
			if(mouse_x_div > (divWidth * 0.8)) {
				if(scrolling == false) {
					scrolling = true;
					
					window.clearInterval(scrollint);
		    		scrollint = window.setInterval(function() {
		    			div.scrollLeft(div.scrollLeft()+3);
		    		} ,20);
				}
			}	  
		} else {
			//stop scrolling
			window.clearInterval(scrollint);
			scrolling = false;
		}
    });
});

// mainmenu-link
jQuery(document).ready(function(){
	jQuery('.mainMenuButton').click(function () {
		// Google Tracking
		_gaq.push(['_trackEvent', 'MainMenu', 'Open', 'Open the main menu on the look']);
		jQuery('#main-menu-container').animate({top:'0px',opacity:1},2000);
	});
	jQuery('#mainMenuCloseButton').click(function () {
		_gaq.push(['_trackEvent', 'MainMenu', 'Close', 'Open the main menu on the look']);
		jQuery('#main-menu-container').animate({top:'640px',opacity:0},2000);
	});

	jQuery('.mainmenu-link').click(function () {
		var id = this.id;
		id.match(/mainmenu-link-(\d+)/);
		var count = RegExp.$1;
		_gaq.push(['_trackEvent', 'MainMenu', 'ClickEntry', 'Open the '+count+' link']);
		jQuery('#main-menu-container').animate({top:'640px'});
		//Reverts: Fixes white bg issue on a small window with scroll bars; chanage to #FFF and 1.0
		//jQuery('.lookpageslideroverlay').css({background:'#000000', opacity:'0.5'});
		jQuery('#look-slider').data('jcarousel').scroll(jQuery.jcarousel.intval(count));
	});
});

jQuery(document).ready(function(){
	jQuery(".lookProduct").bind("click", function(event){
		event.preventDefault();
		var obj = event.target;
		var href = jQuery(obj).attr('href');
		app.quickView.show({url:href, source: 'quickview'});
		
		//delay so that gallery images can load and int. smoothDivScroll on Slide 1 Exp. Story 
		setTimeout ("simplyScroll()",2800); 
	});

	jQuery(".halfCarouselPopover").bind("click", function(event){
		event.preventDefault();
		var obj = event.target;
		var href = jQuery(obj).attr('href');
		app.quickView.show({url:href,source:'quickview',width:1092,height:532});
	});
	
	jQuery(".blogPrint").bind("click", function(event){
		event.preventDefault();
		var obj = event.target;
		var href = jQuery(obj).attr('href');
		app.quickView.show({url:href, source: 'quickview'});
	});
	
	jQuery(".videoPopover").bind("click", function(event){
		event.preventDefault();
		var obj = event.target;
		var href = jQuery(obj).attr('href');
		app.quickView.show({url:href,source:'quickview',width:900,height:520,dialogClass:'quickviewVideo'});
	});
});

jQuery(document).ready(function(){
	function getBackground(jqueryElement) {// Is current element's background color set?
    	opacityLow = 0.5;
	    var color = jqueryElement.css("background-color");
	    
	    if ((color !== 'rgba(0, 0, 0, 0)') && (color !== 'transparent')) {
		    if ( (color == 'rgb(255, 255, 255)') || (color = '#FFFFFF') || (color = "#FFF") ){// is background color white?
		    	jQuery("#header-background").css({opacity: opacityLow});
		    	jQuery("#footer-background").css({opacity: opacityLow});
		    	//alert('background is white, opacity changed');
		    }
	    }
	    
	    if (jqueryElement.is("body")) {
	        return false;
	    } else {// call getBackground with parent item
	        return getBackground(jqueryElement.parent());
	    }
	}

	getBackground(jQuery("#content"));
	
	jQuery('.mainMenuButton').bind("click",function(){
    	opacityLow = 0.5;
    	jQuery("#header-background").animate({opacity: opacityLow},2000);
    	jQuery('#footer-background').animate({opacity: opacityLow},2000);
    	//jQuery('.lookpageslideroverlay').css({background:'#FFFFFF', opacity:'1.0'});
    	jQuery('#lookMenuBackgroundPanel').fadeIn(2000);
    	menuSliderWidth();
	});
	jQuery('#mainMenuCloseButton').bind('click',function(){
    	opacityLow = 0.2;
    	jQuery("#header-background").animate({opacity: opacityLow},2000);
    	jQuery('#footer-background').animate({opacity: opacityLow},2000);
    	//jQuery('.lookpageslideroverlay').css({background:'#000000', opacity: opacityLow});
    	jQuery('#lookMenuBackgroundPanel').fadeOut(2000);
    });
	jQuery('.category-preview').bind('click',function(){
    	opacityLow = 0.2;
    	jQuery("#header-background").animate({opacity: opacityLow},2000);
    	jQuery('#footer-background').animate({opacity: opacityLow},2000);
    	jQuery('#lookMenuBackgroundPanel').fadeOut(2000);
	});
});

function showTheLookMainMenu() // used in the look when there is no slide requested
{
	jQuery('#lookMenuBackgroundPanel').fadeIn(0);
	menuSliderWidth();
	jQuery('#main-menu-container').css({top:'0px', opacity:'1.0'});
	//opacityLow = 0.5;
	//jQuery("#header-background").css({opacity: opacityLow}); 
	//jQuery('#footer-background').css({opacity: opacityLow}); 

	
}

function simplyScroll()	{
	jQuery("div#makeMeScrollable").smoothDivScroll({ 
		scrollStep: 30, 
		scrollInterval: 25
	});
};
