// $Id: nice_menus.js,v 1.10.2.6 2008/08/04 23:45:51 add1sun Exp $ // We need to do some browser sniffing to weed out IE 6 only // because only IE6 needs this hover hack. if (document.all && !window.opera && (navigator.appVersion.search("MSIE 6.0") != -1) && $.browser.msie) { function IEHoverPseudo() { $("ul.nice-menu li.menuparent").hover(function(){ $(this).addClass("over").find("> ul").show().addShim(); },function(){ $(this).removeClass("over").find("> ul").removeShim().hide(); } ); // Add a hover class to all li for CSS styling. Silly naming is done // so we don't break CSS compatibility for .over class already in use // and due to the fact that IE6 doesn't understand multiple selectors. $("ul.nice-menu li").hover(function(){ $(this).addClass("ie-over"); },function(){ $(this).removeClass("ie-over"); } ); } // This is the jquery method of adding a function // to the BODY onload event. (See jquery.com) $(document).ready(function(){ IEHoverPseudo() }); } $.fn.addShim = function() { return this.each(function(){ if(document.all && $("select").size() > 0) { var ifShim = document.createElement('iframe'); ifShim.src = "javascript:false"; ifShim.style.width=$(this).width()+1+"px"; ifShim.style.height=$(this).find("> li").size()*23+20+"px"; ifShim.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)"; ifShim.style.zIndex="0"; $(this).prepend(ifShim); $(this).css("zIndex","99"); } }); }; $.fn.removeShim = function() { return this.each(function(){ if (document.all) $("iframe", this).remove(); }); };