var Spry;if(!Spry){Spry={};}if(!Spry.Widget){Spry.Widget={};}Spry.BrowserSniff=function(){var i=navigator.appName.toString();var e=navigator.platform.toString();var c=navigator.userAgent.toString();this.mozilla=this.ie=this.opera=this.safari=false;var g=/Opera.([0-9\.]*)/i;var d=/MSIE.([0-9\.]*)/i;var f=/gecko/i;var h=/(applewebkit|safari)\/([\d\.]*)/i;var a=false;if((a=c.match(g))){this.opera=true;this.version=parseFloat(a[1]);}else{if((a=c.match(d))){this.ie=true;this.version=parseFloat(a[1]);}else{if((a=c.match(h))){this.safari=true;this.version=parseFloat(a[2]);}else{if(c.match(f)){var j=/rv:\s*([0-9\.]+)/i;a=c.match(j);this.mozilla=true;this.version=parseFloat(a[1]);}}}}this.windows=this.mac=this.linux=false;this.Platform=c.match(/windows/i)?"windows":(c.match(/linux/i)?"linux":(c.match(/mac/i)?"mac":c.match(/unix/i)?"unix":"unknown"));this[this.Platform]=true;this.v=this.version;if(this.safari&&this.mac&&this.mozilla){this.mozilla=false;}};Spry.is=new Spry.BrowserSniff();Spry.Widget.MenuBar=function(a,b){this.init(a,b);};Spry.Widget.MenuBar.prototype.init=function(e,a){this.element=this.getElement(e);this.currMenu=null;this.showDelay=250;this.hideDelay=600;if(typeof document.getElementById=="undefined"||(navigator.vendor=="Apple Computer, Inc."&&typeof window.XMLHttpRequest=="undefined")||(Spry.is.ie&&typeof document.uniqueID=="undefined")){return;}if(Spry.is.ie&&Spry.is.version<7){try{document.execCommand("BackgroundImageCache",false,true);}catch(c){}}this.upKeyCode=Spry.Widget.MenuBar.KEY_UP;this.downKeyCode=Spry.Widget.MenuBar.KEY_DOWN;this.leftKeyCode=Spry.Widget.MenuBar.KEY_LEFT;this.rightKeyCode=Spry.Widget.MenuBar.KEY_RIGHT;this.escKeyCode=Spry.Widget.MenuBar.KEY_ESC;this.hoverClass="MenuBarItemHover";this.subHoverClass="MenuBarItemSubmenuHover";this.subVisibleClass="MenuBarSubmenuVisible";this.hasSubClass="MenuBarItemSubmenu";this.activeClass="MenuBarActive";this.isieClass="MenuBarItemIE";this.verticalClass="MenuBarVertical";this.horizontalClass="MenuBarHorizontal";this.enableKeyboardNavigation=true;this.hasFocus=false;if(a){for(var d in a){if(typeof this[d]=="undefined"){var j=new Image;j.src=a[d];}}Spry.Widget.MenuBar.setOptions(this,a);}if(Spry.is.safari){this.enableKeyboardNavigation=false;}if(this.element){this.currMenu=this.element;var g=this.element.getElementsByTagName("li");for(var f=0;f<g.length;f++){if(f>0&&this.enableKeyboardNavigation){g[f].getElementsByTagName("a")[0].tabIndex="-1";}this.initialize(g[f],e);if(Spry.is.ie){this.addClassName(g[f],this.isieClass);g[f].style.position="static";}}if(this.enableKeyboardNavigation){var h=this;this.addEventListener(document,"keydown",function(i){h.keyDown(i);},false);}if(Spry.is.ie){if(this.hasClassName(this.element,this.verticalClass)){this.element.style.position="relative";}var b=this.element.getElementsByTagName("a");for(var f=0;f<b.length;f++){b[f].style.position="relative";}}}};Spry.Widget.MenuBar.KEY_ESC=27;Spry.Widget.MenuBar.KEY_UP=38;Spry.Widget.MenuBar.KEY_DOWN=40;Spry.Widget.MenuBar.KEY_LEFT=37;Spry.Widget.MenuBar.KEY_RIGHT=39;Spry.Widget.MenuBar.prototype.getElement=function(a){if(a&&typeof a=="string"){return document.getElementById(a);}return a;};Spry.Widget.MenuBar.prototype.hasClassName=function(b,a){if(!b||!a||!b.className||b.className.search(new RegExp("\\b"+a+"\\b"))==-1){return false;}return true;};Spry.Widget.MenuBar.prototype.addClassName=function(b,a){if(!b||!a||this.hasClassName(b,a)){return;}b.className+=(b.className?" ":"")+a;};Spry.Widget.MenuBar.prototype.removeClassName=function(b,a){if(!b||!a||!this.hasClassName(b,a)){return;}b.className=b.className.replace(new RegExp("\\s*\\b"+a+"\\b","g"),"");};Spry.Widget.MenuBar.prototype.addEventListener=function(c,b,d,a){try{if(c.addEventListener){c.addEventListener(b,d,a);}else{if(c.attachEvent){c.attachEvent("on"+b,d);}}}catch(f){}};Spry.Widget.MenuBar.prototype.createIframeLayer=function(b){var a=document.createElement("iframe");a.tabIndex="-1";a.src='javascript:""';a.frameBorder="0";a.scrolling="no";b.parentNode.appendChild(a);a.style.left=b.offsetLeft+"px";a.style.top=b.offsetTop+"px";a.style.width=b.offsetWidth+"px";a.style.height=b.offsetHeight+"px";};Spry.Widget.MenuBar.prototype.removeIframeLayer=function(b){var a=((b==this.element)?b:b.parentNode).getElementsByTagName("iframe");while(a.length>0){a[0].parentNode.removeChild(a[0]);}};Spry.Widget.MenuBar.prototype.clearMenus=function(a){var c=a.getElementsByTagName("ul");for(var b=0;b<c.length;b++){this.hideSubmenu(c[b]);}this.removeClassName(this.element,this.activeClass);};Spry.Widget.MenuBar.prototype.bubbledTextEvent=function(){return Spry.is.safari&&(event.target==event.relatedTarget.parentNode||(event.eventPhase==3&&event.target.parentNode==event.relatedTarget));};Spry.Widget.MenuBar.prototype.showSubmenu=function(a){if(this.currMenu){this.clearMenus(this.currMenu);this.currMenu=null;}if(a){this.addClassName(a,this.subVisibleClass);if(typeof document.all!="undefined"&&!Spry.is.opera&&navigator.vendor!="KDE"){if(!this.hasClassName(this.element,this.horizontalClass)||a.parentNode.parentNode!=this.element){a.style.top=a.parentNode.offsetTop+"px";}}if(Spry.is.ie&&Spry.is.version<7){this.createIframeLayer(a);}}this.addClassName(this.element,this.activeClass);};Spry.Widget.MenuBar.prototype.hideSubmenu=function(a){if(a){this.removeClassName(a,this.subVisibleClass);if(typeof document.all!="undefined"&&!Spry.is.opera&&navigator.vendor!="KDE"){a.style.top="";a.style.left="";}if(Spry.is.ie&&Spry.is.version<7){this.removeIframeLayer(a);}}};Spry.Widget.MenuBar.prototype.initialize=function(h,d){var f,c;var e=h.getElementsByTagName("a")[0];var a=h.getElementsByTagName("ul");var g=(a.length>0?a[0]:null);if(g){this.addClassName(e,this.hasSubClass);}if(!Spry.is.ie){h.contains=function(i){if(i==null){return false;}if(i==this){return true;}else{return this.contains(i.parentNode);}};}var b=this;this.addEventListener(h,"mouseover",function(i){b.mouseOver(h,i);},false);this.addEventListener(h,"mouseout",function(i){if(b.enableKeyboardNavigation){b.clearSelection();}b.mouseOut(h,i);},false);if(this.enableKeyboardNavigation){this.addEventListener(e,"blur",function(i){b.onBlur(h);},false);this.addEventListener(e,"focus",function(i){b.keyFocus(h,i);},false);}};Spry.Widget.MenuBar.prototype.keyFocus=function(b,a){this.lastOpen=b.getElementsByTagName("a")[0];this.addClassName(this.lastOpen,b.getElementsByTagName("ul").length>0?this.subHoverClass:this.hoverClass);this.hasFocus=true;};Spry.Widget.MenuBar.prototype.onBlur=function(a){this.clearSelection(a);};Spry.Widget.MenuBar.prototype.clearSelection=function(b){if(!this.lastOpen){return;}if(b){b=b.getElementsByTagName("a")[0];var e=this.lastOpen;while(e!=this.element){var a=b;while(a!=this.element){if(a==e){return;}try{a=a.parentNode;}catch(d){break;}}e=e.parentNode;}}var e=this.lastOpen;while(e!=this.element){this.hideSubmenu(e.parentNode);var c=e.getElementsByTagName("a")[0];this.removeClassName(c,this.hoverClass);this.removeClassName(c,this.subHoverClass);e=e.parentNode;}this.lastOpen=false;};Spry.Widget.MenuBar.prototype.keyDown=function(g){if(!this.hasFocus){return;}if(!this.lastOpen){this.hasFocus=false;return;}var g=g||event;var i=this.lastOpen.parentNode;var c=this.lastOpen;var a=i.getElementsByTagName("ul");var h=(a.length>0?a[0]:null);var f=(h)?true:false;var b=[i,h,null,this.getSibling(i,"previousSibling"),this.getSibling(i,"nextSibling")];if(!b[3]){b[2]=(i.parentNode.parentNode.nodeName.toLowerCase()=="li")?i.parentNode.parentNode:null;}var d=0;switch(g.keyCode){case this.upKeyCode:d=this.getElementForKey(b,"y",1);break;case this.downKeyCode:d=this.getElementForKey(b,"y",-1);break;case this.leftKeyCode:d=this.getElementForKey(b,"x",1);break;case this.rightKeyCode:d=this.getElementForKey(b,"x",-1);break;case this.escKeyCode:case 9:this.clearSelection();this.hasFocus=false;default:return;}switch(d){case 0:return;case 1:this.mouseOver(i,g);break;case 2:this.mouseOut(b[2],g);break;case 3:case 4:this.removeClassName(c,f?this.subHoverClass:this.hoverClass);break;}var c=b[d].getElementsByTagName("a")[0];if(b[d].nodeName.toLowerCase()=="ul"){b[d]=b[d].getElementsByTagName("li")[0];}this.addClassName(c,b[d].getElementsByTagName("ul").length>0?this.subHoverClass:this.hoverClass);this.lastOpen=c;b[d].getElementsByTagName("a")[0].focus();return Spry.Widget.MenuBar.stopPropagation(g);};Spry.Widget.MenuBar.prototype.mouseOver=function(h,f){var c=h.getElementsByTagName("a")[0];var a=h.getElementsByTagName("ul");var g=(a.length>0?a[0]:null);var d=(g)?true:false;if(this.enableKeyboardNavigation){this.clearSelection(h);}if(this.bubbledTextEvent()){return;}if(h.closetime){clearTimeout(h.closetime);}if(this.currMenu==h){this.currMenu=null;}if(this.hasFocus){c.focus();}this.addClassName(c,d?this.subHoverClass:this.hoverClass);this.lastOpen=c;if(g&&!this.hasClassName(g,this.subHoverClass)){var b=this;h.opentime=window.setTimeout(function(){b.showSubmenu(g);},this.showDelay);}};Spry.Widget.MenuBar.prototype.mouseOut=function(i,g){var c=i.getElementsByTagName("a")[0];var a=i.getElementsByTagName("ul");var h=(a.length>0?a[0]:null);var f=(h)?true:false;if(this.bubbledTextEvent()){return;}var d=(typeof g.relatedTarget!="undefined"?g.relatedTarget:g.toElement);if(!i.contains(d)){if(i.opentime){clearTimeout(i.opentime);}this.currMenu=i;this.removeClassName(c,f?this.subHoverClass:this.hoverClass);if(h){var b=this;i.closetime=window.setTimeout(function(){b.hideSubmenu(h);},this.hideDelay);}if(this.hasFocus){c.blur();}}};Spry.Widget.MenuBar.prototype.getSibling=function(a,b){var c=a[b];while(c&&c.nodeName.toLowerCase()!="li"){c=c[b];}return c;};Spry.Widget.MenuBar.prototype.getElementForKey=function(e,b,d){var l=0;var j=Spry.Widget.MenuBar.getPosition;var c=j(e[l]);var h=false;if(e[1]&&!this.hasClassName(e[1],this.MenuBarSubmenuVisible)){e[1].style.visibility="hidden";this.showSubmenu(e[1]);h=true;}var a=this.hasClassName(this.element,this.verticalClass);var k=e[0].parentNode.parentNode.nodeName.toLowerCase()=="li"?true:false;for(var g=1;g<e.length;g++){if(b=="y"&&a&&(g==1||g==2)){continue;}if(b=="x"&&!a&&!k&&(g==1||g==2)){continue;}if(e[g]){var f=j(e[g]);if((d*f[b])<(d*c[b])){c=f;l=g;}}}if(e[1]&&h){this.hideSubmenu(e[1]);e[1].style.visibility="";}return l;};Spry.Widget.MenuBar.camelize=function(f){if(f.indexOf("-")==-1){return f;}var d=f.split("-");var a=true;var b="";for(var c=0;c<d.length;c++){if(d[c].length>0){if(a){b=d[c];a=false;}else{var e=d[c];b+=e.charAt(0).toUpperCase()+e.substring(1);}}}return b;};Spry.Widget.MenuBar.getStyleProp=function(b,f){var c;try{if(b.style){c=b.style[Spry.Widget.MenuBar.camelize(f)];}if(!c){if(document.defaultView&&document.defaultView.getComputedStyle){var a=document.defaultView.getComputedStyle(b,null);c=a?a.getPropertyValue(f):null;}else{if(b.currentStyle){c=b.currentStyle[Spry.Widget.MenuBar.camelize(f)];}}}}catch(d){}return c=="auto"?null:c;};Spry.Widget.MenuBar.getIntProp=function(c,d){var b=parseInt(Spry.Widget.MenuBar.getStyleProp(c,d),10);if(isNaN(b)){return 0;}return b;};Spry.Widget.MenuBar.getPosition=function(d,g){g=g||document;if(typeof(d)=="string"){d=g.getElementById(d);}if(!d){return false;}if(d.parentNode===null||Spry.Widget.MenuBar.getStyleProp(d,"display")=="none"){return false;}var b={x:0,y:0};var c=null;var e;if(d.getBoundingClientRect){e=d.getBoundingClientRect();var f=g.documentElement.scrollTop||g.body.scrollTop;var h=g.documentElement.scrollLeft||g.body.scrollLeft;b.x=e.left+h;b.y=e.top+f;}else{if(g.getBoxObjectFor){e=g.getBoxObjectFor(d);b.x=e.x;b.y=e.y;}else{b.x=d.offsetLeft;b.y=d.offsetTop;c=d.offsetParent;if(c!=d){while(c){b.x+=c.offsetLeft;b.y+=c.offsetTop;c=c.offsetParent;}}if(Spry.is.opera||Spry.is.safari&&Spry.Widget.MenuBar.getStyleProp(d,"position")=="absolute"){b.y-=g.body.offsetTop;}}}if(d.parentNode){c=d.parentNode;}else{c=null;}if(c.nodeName){var a=c.nodeName.toUpperCase();while(c&&a!="BODY"&&a!="HTML"){a=c.nodeName.toUpperCase();b.x-=c.scrollLeft;b.y-=c.scrollTop;if(c.parentNode){c=c.parentNode;}else{c=null;}}}return b;};Spry.Widget.MenuBar.stopPropagation=function(a){if(a.stopPropagation){a.stopPropagation();}else{a.cancelBubble=true;}if(a.preventDefault){a.preventDefault();}else{a.returnValue=false;}};Spry.Widget.MenuBar.setOptions=function(d,c,a){if(!c){return;}for(var b in c){if(a&&c[b]==undefined){continue;}d[b]=c[b];}};
