/***************************
cascadingMenu.js 4.2.4
Ryan Tvenge (c) 2011
Enables: tabbing through sublists and animationss
and adds rollover to top-level image on sublist mouseover
***************************/
$(function(){var f=$(".cascadingMenu"),c=f.find("a"),b,e,a,d;f.find("ul ul, .containerMenu").hover(function(){a=$(this);b=$(this).parent().find("img.over:first");e=b.attr("src");d=a.prev("a");if(d.hasClass("current")===true){d.addClass("highlightCurrent")}else{if(b.length>0){b.attr("src",e.replace(/\.(gif|png|jpg)/,"-o.$1"));d.addClass("current")}else{if(a.css("position")==="absolute"){d.addClass("current")}}}},function(){a=$(this);d=a.prev("a");if(d.hasClass("highlightCurrent")){d.removeClass("highlightCurrent")}else{b=a.parent().find("img.over:first");e=b.attr("src");if(b.hasClass("over")===true){b.attr("src",e.replace(/-o\.(gif|png|jpg)/,".$1"));d.removeClass("current")}d.removeClass("current")}});f.find("li").hover(function(){$(this).addClass("menuover")},function(){$(this).removeClass("menuover")});c.blur(function(){$(this).parent("li").removeClass("menuover")});c.focus(function(){$(this).parents("li").addClass("menuover")});f.find("li:has(ul,div.containerMenu) a:last-child").blur(function(){$(this).parents("li").removeClass("menuover")});f.find("li:has(ul,div.containerMenu)").addClass("hasChild");f.find('li > div[fsp="design"]').addClass("containerMenu");f.find("li.long").hover(function(){var l=$(this),k=$(this).find(".containerMenu"),h=k.find("> ul"),j=400,i=l.find("a"),g=h.height()*1.1,m=g/j;l.data("origHeight",i.height());i.addClass("hover");if(m>1){k.css({height:j,overflow:"hidden"});l.mousemove(function(o){var p=l.offset(),n=((o.pageY-p.top)*m)-(l.data("origHeight")*m);if(n>l.data("origHeight")){h.css("top",-n+l.data("origHeight"))}})}},function(){var g=$(this);g.height($(this).data("origHeight")).find("ul").css({top:0}).end().find("a").removeClass("hover")})});$.fn.cascadingMenu=function(c){c=$.extend({animate:false,animateOut:false,animateSpeed:500,easing:"linear"},c);var a=$(this).find("> ul li.hasChild:not(:has(div.containerMenu)) ul, > ul li.hasChild:not(:has(div.containerMenu)) li.hasChild ul, li > div.containerMenu"),b;if(c.animate!==false&&!document.getElementById("FSPpageTitle")){a.each(function(){var d=$(this);d.parent("li").hover(function(){var g="0px",f="0px",e="0px";g=d.css("left");f=d.css("top");e=d.css("right");d.css({left:g,top:f,right:e});if(d.parent("li").hasClass("left")===true||d.parents("li").hasClass("left")===true){d.css({left:"auto",right:"0"})}if(c.animate==="fade"){d.stop(true,true).hide().fadeIn(c.animateSpeed,c.easing)}else{if(c.animate==="slide"){d.stop(true,true).hide().slideDown(c.animateSpeed,c.easing)}}},function(){if(c.animateOut==="fade"){d.stop().fadeOut(150,function(){d.removeAttr("style").show()})}else{if(c.animateOut==="slide"){d.stop().slideUp(150,function(){d.removeAttr("style").show()})}else{d.stop(true,true).removeAttr("style").show()}}})})}};
