/*---------- Copyright 2012 Neotek Limited (http://www.neotek.co.nz). All rights reserved. -----------*/
 
/* ---------- SpryMenuBar.js ---------- */
var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.BrowserSniff=function(){var a=navigator.appName.toString();var j=navigator.platform.toString();var i=navigator.userAgent.toString();this.mozilla=this.ie=this.opera=this.safari=false;var g=/Opera.([0-9\.]*)/i;var f=/MSIE.([0-9\.]*)/i;var d=/gecko/i;var h=/(applewebkit|safari)\/([\d\.]*)/i;var c=false;if((c=i.match(g))){this.opera=true;this.version=parseFloat(c[1])}else{if((c=i.match(f))){this.ie=true;this.version=parseFloat(c[1])}else{if((c=i.match(h))){this.safari=true;this.version=parseFloat(c[2])}else{if(i.match(d)){var e=/rv:\s*([0-9\.]+)/i;c=i.match(e);this.mozilla=true;this.version=parseFloat(c[1])}}}}this.windows=this.mac=this.linux=false;this.Platform=i.match(/windows/i)?"windows":(i.match(/linux/i)?"linux":(i.match(/mac/i)?"mac":i.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(a,g){this.element=this.getElement(a);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(b){}}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(g){for(var e in g){if(typeof this[e]=="undefined"){var h=new Image;h.src=g[e]}}Spry.Widget.MenuBar.setOptions(this,g)}if(Spry.is.safari){this.enableKeyboardNavigation=false}if(this.element){this.currMenu=this.element;var d=this.element.getElementsByTagName("li");for(var c=0;c<d.length;c++){if(c>0&&this.enableKeyboardNavigation){d[c].getElementsByTagName("a")[0].tabIndex="-1"}this.initialize(d[c],a);if(Spry.is.ie){this.addClassName(d[c],this.isieClass);d[c].style.position="static"}}if(this.enableKeyboardNavigation){var j=this;this.addEventListener(document,"keydown",function(i){j.keyDown(i)},false)}if(Spry.is.ie){if(this.hasClassName(this.element,this.verticalClass)){this.element.style.position="relative"}var f=this.element.getElementsByTagName("a");for(var c=0;c<f.length;c++){f[c].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,d,f,a){try{if(c.addEventListener){c.addEventListener(d,f,a)}else{if(c.attachEvent){c.attachEvent("on"+d,f)}}}catch(b){}};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(c){var b=c.getElementsByTagName("ul");for(var a=0;a<b.length;a++){this.hideSubmenu(b[a])}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(d,b){var f,a;var c=d.getElementsByTagName("a")[0];var h=d.getElementsByTagName("ul");var e=(h.length>0?h[0]:null);if(e){this.addClassName(c,this.hasSubClass)}if(!Spry.is.ie){d.contains=function(i){if(i==null){return false}if(i==this){return true}else{return this.contains(i.parentNode)}}}var g=this;this.addEventListener(d,"mouseover",function(i){g.mouseOver(d,i)},false);this.addEventListener(d,"mouseout",function(i){if(g.enableKeyboardNavigation){g.clearSelection()}g.mouseOut(d,i)},false);if(this.enableKeyboardNavigation){this.addEventListener(c,"blur",function(i){g.onBlur(d)},false);this.addEventListener(c,"focus",function(i){g.keyFocus(d,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(a){if(!this.lastOpen){return}if(a){a=a.getElementsByTagName("a")[0];var c=this.lastOpen;while(c!=this.element){var e=a;while(e!=this.element){if(e==c){return}try{e=e.parentNode}catch(b){break}}c=c.parentNode}}var c=this.lastOpen;while(c!=this.element){this.hideSubmenu(c.parentNode);var d=c.getElementsByTagName("a")[0];this.removeClassName(d,this.hoverClass);this.removeClassName(d,this.subHoverClass);c=c.parentNode}this.lastOpen=false};Spry.Widget.MenuBar.prototype.keyDown=function(a){if(!this.hasFocus){return}if(!this.lastOpen){this.hasFocus=false;return}var a=a||event;var f=this.lastOpen.parentNode;var d=this.lastOpen;var i=f.getElementsByTagName("ul");var g=(i.length>0?i[0]:null);var c=(g)?true:false;var h=[f,g,null,this.getSibling(f,"previousSibling"),this.getSibling(f,"nextSibling")];if(!h[3]){h[2]=(f.parentNode.parentNode.nodeName.toLowerCase()=="li")?f.parentNode.parentNode:null}var b=0;switch(a.keyCode){case this.upKeyCode:b=this.getElementForKey(h,"y",1);break;case this.downKeyCode:b=this.getElementForKey(h,"y",-1);break;case this.leftKeyCode:b=this.getElementForKey(h,"x",1);break;case this.rightKeyCode:b=this.getElementForKey(h,"x",-1);break;case this.escKeyCode:case 9:this.clearSelection();this.hasFocus=false;default:return}switch(b){case 0:return;case 1:this.mouseOver(f,a);break;case 2:this.mouseOut(h[2],a);break;case 3:case 4:this.removeClassName(d,c?this.subHoverClass:this.hoverClass);break}var d=h[b].getElementsByTagName("a")[0];if(h[b].nodeName.toLowerCase()=="ul"){h[b]=h[b].getElementsByTagName("li")[0]}this.addClassName(d,h[b].getElementsByTagName("ul").length>0?this.subHoverClass:this.hoverClass);this.lastOpen=d;h[b].getElementsByTagName("a")[0].focus();return Spry.Widget.MenuBar.stopPropagation(a)};Spry.Widget.MenuBar.prototype.mouseOver=function(d,a){var c=d.getElementsByTagName("a")[0];var h=d.getElementsByTagName("ul");var f=(h.length>0?h[0]:null);var b=(f)?true:false;if(this.enableKeyboardNavigation){this.clearSelection(d)}if(this.bubbledTextEvent()){return}if(d.closetime){clearTimeout(d.closetime)}if(this.currMenu==d){this.currMenu=null}if(this.hasFocus){c.focus()}this.addClassName(c,b?this.subHoverClass:this.hoverClass);this.lastOpen=c;if(f&&!this.hasClassName(f,this.subHoverClass)){var g=this;d.opentime=window.setTimeout(function(){g.showSubmenu(f)},this.showDelay)}};Spry.Widget.MenuBar.prototype.mouseOut=function(d,a){var c=d.getElementsByTagName("a")[0];var i=d.getElementsByTagName("ul");var f=(i.length>0?i[0]:null);var b=(f)?true:false;if(this.bubbledTextEvent()){return}var g=(typeof a.relatedTarget!="undefined"?a.relatedTarget:a.toElement);if(!d.contains(g)){if(d.opentime){clearTimeout(d.opentime)}this.currMenu=d;this.removeClassName(c,b?this.subHoverClass:this.hoverClass);if(f){var h=this;d.closetime=window.setTimeout(function(){h.hideSubmenu(f)},this.hideDelay)}if(this.hasFocus){c.blur()}}};Spry.Widget.MenuBar.prototype.getSibling=function(b,c){var a=b[c];while(a&&a.nodeName.toLowerCase()!="li"){a=a[c]}return a};Spry.Widget.MenuBar.prototype.getElementForKey=function(b,h,a){var c=0;var j=Spry.Widget.MenuBar.getPosition;var k=j(b[c]);var e=false;if(b[1]&&!this.hasClassName(b[1],this.MenuBarSubmenuVisible)){b[1].style.visibility="hidden";this.showSubmenu(b[1]);e=true}var g=this.hasClassName(this.element,this.verticalClass);var d=b[0].parentNode.parentNode.nodeName.toLowerCase()=="li"?true:false;for(var f=1;f<b.length;f++){if(h=="y"&&g&&(f==1||f==2)){continue}if(h=="x"&&!g&&!d&&(f==1||f==2)){continue}if(b[f]){var l=j(b[f]);if((a*l[h])<(a*k[h])){k=l;c=f}}}if(b[1]&&e){this.hideSubmenu(b[1]);b[1].style.visibility=""}return c};Spry.Widget.MenuBar.camelize=function(f){if(f.indexOf("-")==-1){return f}var d=f.split("-");var c=true;var a="";for(var b=0;b<d.length;b++){if(d[b].length>0){if(c){a=d[b];c=false}else{var e=d[b];a+=e.charAt(0).toUpperCase()+e.substring(1)}}}return a};Spry.Widget.MenuBar.getStyleProp=function(c,d){var f;try{if(c.style){f=c.style[Spry.Widget.MenuBar.camelize(d)]}if(!f){if(document.defaultView&&document.defaultView.getComputedStyle){var a=document.defaultView.getComputedStyle(c,null);f=a?a.getPropertyValue(d):null}else{if(c.currentStyle){f=c.currentStyle[Spry.Widget.MenuBar.camelize(d)]}}}}catch(b){}return f=="auto"?null:f};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,c){c=c||document;if(typeof(d)=="string"){d=c.getElementById(d)}if(!d){return false}if(d.parentNode===null||Spry.Widget.MenuBar.getStyleProp(d,"display")=="none"){return false}var f={x:0,y:0};var e=null;var a;if(d.getBoundingClientRect){a=d.getBoundingClientRect();var h=c.documentElement.scrollTop||c.body.scrollTop;var g=c.documentElement.scrollLeft||c.body.scrollLeft;f.x=a.left+g;f.y=a.top+h}else{if(c.getBoxObjectFor){a=c.getBoxObjectFor(d);f.x=a.x;f.y=a.y}else{f.x=d.offsetLeft;f.y=d.offsetTop;e=d.offsetParent;if(e!=d){while(e){f.x+=e.offsetLeft;f.y+=e.offsetTop;e=e.offsetParent}}if(Spry.is.opera||Spry.is.safari&&Spry.Widget.MenuBar.getStyleProp(d,"position")=="absolute"){f.y-=c.body.offsetTop}}}if(d.parentNode){e=d.parentNode}else{e=null}if(e.nodeName){var b=e.nodeName.toUpperCase();while(e&&b!="BODY"&&b!="HTML"){b=e.nodeName.toUpperCase();f.x-=e.scrollLeft;f.y-=e.scrollTop;if(e.parentNode){e=e.parentNode}else{e=null}}}return f};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(b,d,a){if(!d){return}for(var c in d){if(a&&d[c]==undefined){continue}b[c]=d[c]}}; 
/* -------- SpryMenuBar.js End -------- */
 
/*  Created in 15.6 milliseconds */
