var fading = false;
function ShowNextNavigationLevel(ParentElementID, LevelToShow) {
	if (fading) {
		return;
	}
    fading = true;	
	$("#"+ParentElementID+" ul.level-"+LevelToShow).fadeIn("slow");
	fading = false;
}

var hideNavi = function() {
	//console.log("hideNavi");
	$("#main-navigation").removeClass("active");
   $("#main-navigation ul.level-two").hide();
   if($("#main-navigation").hasClass("sale-mode")) {
      $("#main-navigation ul#level-one").css("height", "25px");
      $("#sale-vertical").css("height", "66px").css('overflow', 'hidden');
   }         
   else if($("#main-navigation").hasClass("brand-mode")) {
      $("#main-navigation ul#level-one").css("height", "25px");
   }
   $("#main-navigation ul#level-one").css("height", "auto");   
   $("#main-navigation ul#level-one li").removeClass("active");
   $("#content-wrapper").unbind("mouseover", hideNavi);
};


function HandleNavigationItemChange(ElementID, NextLevel, element) {
   //console.log("HandleNavigationItemChange");
   $("#main-navigation ul#level-one").css("height", "399px");
   $("#sale-vertical").css("height", "438px");
   
   
   if($("#main-navigation").hasClass("active") == false) {
      $("#main-navigation").addClass("active");
      $("#content-wrapper").bind("mouseover", hideNavi);
   }
	
   if(NextLevel == "two") {
      $("ul.level-four").hide();
      $("ul.level-three").hide();
      $("#main-navigation ul#level-one li").removeClass("active");
      $("#main-navigation ul.level-two").css("z-index", "3");
      
      switch(ElementID) {
         case "left-navi":
         	$('#' + ElementID).addClass('active');
            $("#level-two-left").css("z-index", "5");
            break;
         case "center-navi":
         	$('#' + ElementID).addClass('active');
            $("#level-two-center").css("z-index", "5");
            break;
         case "right-navi":
         	$('#' + ElementID).addClass('active');
            $("#level-two-right").css("z-index", "5");
            break;
      }
      
      if($("#main-navigation").hasClass("sale-mode") == false && $("#main-navigation").hasClass("brand-mode") == false) {
         $("ul.level-two").hide();
         $("#main-navigation .level-two li").css("border-bottom", "none");
         $("#"+ElementID+" ul.level-"+NextLevel).show();
      }
      else {
         $("#main-navigation .level-two li").css("border-bottom", "none");
         $("#main-navigation ul.level-two").show();
      }
      return;
   }
   
   if(NextLevel == "three") {
      
      $("#main-navigation ul.level-two").css("z-index", "3");
      $("#"+ElementID).parent().css("z-index", "5");
      
      $("ul.level-four").stop(true, true);
      $("ul.level-four").hide();
      $("ul.level-three").stop(true, true);
      $("ul.level-three").hide();
      $("#main-navigation .level-two li a").css("border-bottom", "none").css('font-weight', 'normal');
      $(element).css("border-bottom", "1px solid #000").css('font-weight', 'bold');
      $("#"+ElementID+" ul.level-"+NextLevel).fadeIn("slow");
      return;
   }
   
   if(NextLevel == "four") {
      
      $("ul.level-four").stop(true, true);
      $("ul.level-four").hide();
      $("#main-navigation .level-three li a").css("border-bottom", "none").css('font-weight', 'normal');
      $(element).css("border-bottom", "1px solid #000").css('font-weight', 'bold');

      $("#"+ElementID+" ul.level-"+NextLevel).fadeIn("slow");
      return;
   }	
}

function AddUrlSaleFilter() {
   UrlAddition = "?filter[sale]=1";
   
   $("#main-navigation ul li a").each(function () {
      this.href = this.href+UrlAddition;
   }); 
}

function AdjustSaleBox() {
	if(!$("#main-navigation").hasClass("sale-mode")) {
		return;
		//adjust box
		$("#sale-vertical").css("right", "360px");
		$("#sale-link-inactive").css('display', 'none');
		$("#sale-link-active").css('display', 'block');
		$("#sale-link-active").addClass('active');
		//$("#sale-vertical a").append("<span style='display:block;font-size:0.7em;margin-top:20px;'>[-]</span>");
		//turn brand logos red
		$("#brand-logos-top ul li a").css("background-position", "top left");
		$("#brand-logos-top ul li a.active").css("background-position", "bottom right");
		//turn brand selection logos red
      $("#brand-logos-top").css("right", "0px");
      $("#main-navigation").addClass("sale-mode");
      
      if($("#main-navigation").hasClass("brand-mode")) {
         // add sale filter to existing brand filter
         
         BrandLogoID = $("#brand-logos-top ul li a.active").attr("id");
         BrandID = GetBrandIDFromLogoName(BrandLogoID);
         
         ShowNaviItemsWithDiscountedArticlesForThisBrand(BrandID);
      }
      else {
         ShowNaviItemsWithDiscountedArticles();
      }
	}
	else {
	   
	   Url = window.location.href;

	   if($("#brand-logos-top").hasClass("clicked")) {
         UrlAddition = "filter[reset_sale]=1&filter[brand_reset]=1";
      }
	   else {
   	   UrlAddition = "filter[reset_sale]=1";
   	}
	   
	   if(Url.indexOf("?") != -1) {
	      CleanUrl = Url.substring(0, Url.indexOf("?"));
	   }
	   else if(Url.indexOf("#") != -1) {
	      CleanUrl = Url.substring(0, Url.indexOf("#"));
	   }
	   else {
	      CleanUrl = Url;
	   }

   		Url = CleanUrl+"?"+UrlAddition;
   	
	   window.location.href = Url;
	   return false;
	}
	
}

function ShowNaviItemsWithDiscountedArticles() {
   $("#main-navigation").load("/ajax/index.php", function(){
      $("#main-navigation").addClass("sale-mode");
      //AddUrlSaleFilter();
      $("#main-navigation ul.level-two").show();
   });
}

function ToggleBrandLogoColor(BrandID) {
   
   if($("#brand-logos-top").hasClass("active") == false) {
      $("#brand-logos-top").addClass("active");
      $("#brand-logos-top").bind("mouseout", function () {
         $("#brand-logos-top").removeClass("active");
         if($("#main-navigation").hasClass("sale-mode")) {
            $("#brand-logos-top ul li a").css("background-position", "top left");
            $("#brand-logos-top ul li a.active").css("background-position", "bottom right");
         }
         else {
            $("#brand-logos-top ul li a").css("background-position", "top left");
            $("#brand-logos-top ul li a.active").css("background-position", "bottom left");
         }
         $("#brand-logos-top").unbind("mouseout");
      });
   }
   
   //check what mode we're in
   if($("#main-navigation").hasClass("sale-mode")) {
      $("#brand-logos-top ul li a").css("background-position", "top left");
      $("#brand-logos-top ul li a.active").css("background-position", "bottom right");
      $("#"+BrandID).css("background-position", "bottom right");
   }
   else {
      $("#brand-logos-top ul li a").css("background-position", "top left");
      $("#brand-logos-top ul li a.active").css("background-position", "bottom left");
      $("#"+BrandID).css("background-position", "bottom left");
   }
}

function ToggleNaviItemsForThisBrand(BrandID) {
   
   $("#brand-logos-top").addClass("clicked");
   
   if($("#"+BrandID).hasClass("active")) {
      //deactivate brand navigation and return
      $("#"+BrandID).removeClass("active");
      $("#main-navigation").removeClass("brand-mode");
      $("#main-navigation ul.level-two").hide();
      if(!$("#main-navigation").hasClass("sale-mode")) {
         if($("#brand-logos-top").hasClass("resetted")) {
            window.location.reload();
         }
         else {
            Url = window.location.href;
            UrlAddition = "?filter[brand_reset]=1";
            
            if(Url.indexOf("?") != -1) {
               CleanUrl = Url.substring(0, Url.indexOf("?"));
            }
            else if(Url.indexOf("#") != -1) {
               CleanUrl = Url.substring(0, Url.indexOf("#"));
            }
            else {
               CleanUrl = Url;
            }

            Url = CleanUrl+UrlAddition;
            
            window.location.href=Url;
         }
      }
      else {
         ShowNaviItemsWithDiscountedArticles();
      }
      return;
   }
   
   $("#brand-logos-top ul li a").removeClass("active");
   if($("#main-navigation").hasClass("sale-mode")) {
      $("#brand-logos-top ul li a").css("background-position", "top left");
      $("#"+BrandID).css("background-position", "bottom right");
   }
   else {
      $("#brand-logos-top ul li a").css("background-position", "top left");
      $("#"+BrandID).css("background-position", "bottom left");
   }
   
   BrandCode = 0;
   
   switch(BrandID) {
      case 'arcterix-logo':
         BrandCode = 123000131;
         break;
      case 'peak-performance-logo':
         BrandCode = 123000101;
         break;
      case 'icebreaker-logo':
         BrandCode = 123000139;
         break;
      case 'the-north-face-logo':
         BrandCode = 123000132;
         break;
   }
   
   $("#"+BrandID).addClass("active");
	//adjust main navigation
	$("#main-navigation").addClass("brand-mode");
	
	if($("#main-navigation").hasClass("sale-mode")) {
	   // add brand filter to existing sale filter
	   ShowNaviItemsWithDiscountedArticlesForThisBrand(BrandCode);
	}
	else {
	   ShowNaviItemsWithArticlesForThisBrand(BrandCode);
	}
	
	$('#main-content').load("/ajax/index.php", {ajax_action:"get_brand_logo", brand_id:BrandCode});
	
}

function GetBrandIDFromLogoName(LogoName) {
   switch(LogoName) {
      case 'arcterix-logo':
         BrandCode = 123000131;
         break;
      case 'peak-performance-logo':
         BrandCode = 123000101;
         break;
      case 'icebreaker-logo':
         BrandCode = 123000139;
         break;
      case 'the-north-face-logo':
         BrandCode = 123000132;
         break;
   }
   return BrandCode;
}


function ShowNaviItemsWithArticlesForThisBrand(BrandCode) {
   $("#main-navigation").load("/ajax/index.php", {'BrandID' : BrandCode}, function(){
      $("#main-navigation").addClass("brand-mode");
      //AddUrlBrandFilter(BrandCode);
      $("#main-navigation ul.level-two").show();
   });
}

function ShowNaviItemsWithDiscountedArticlesForThisBrand(BrandCode) {
   $("#main-navigation").load("/ajax/index.php", {'BrandID' : BrandCode, 'Sale' : '1'}, function(){
      //AddUrlBrandAndSaleFilter(BrandCode);
      $("#main-navigation ul.level-two").show();
   });
}

function UpdateDropDownSize(Value) {
	$('#featureLevel_0 > option').each(function() {
        if(this.text == Value) {
           this.selected = true;
           onFeatureChangeHandler(this);
        }
     }); 
}

$().ready(function() {
	$('#brand-logos-top a').click(function() {		
		ToggleNaviItemsForThisBrand(this.id);
		return false;
	});
	
	$('#main-navigation').mouseleave(function(){
		$("#main-navigation").removeClass("active");
		$("#main-navigation ul.level-two").hide();
		if($("#main-navigation").hasClass("sale-mode")) {
			$("#main-navigation ul#level-one").css("height", "25px");
			$("#sale-vertical").css("height", "66px").css('overflow', 'hidden');
		}         
		else if($("#main-navigation").hasClass("brand-mode")) {
		   $("#main-navigation ul#level-one").css("height", "25px");
		}
		$("#main-navigation ul#level-one").css("height", "auto");   
		$("#main-navigation ul#level-one li").removeClass("active");
	});
	
	$("#sale-vertical").mouseenter(function(){
		if($("#main-navigation").hasClass("sale-mode")) {
			HandleNavigationItemChange('left-navi', 'two', $("#left-navi a"));
		}
	});
	
	$("#sale-vertical").mouseleave(function(){
		if($("#main-navigation").hasClass("sale-mode")) {
			$("#main-navigation ul#level-one").css("height", "25px");
			$("#sale-vertical").css("height", "66px").css('overflow', 'hidden');
		}
	});
});