if (typeof window.attachEvent=='object'){ document.write('\n'+ '') } var menu=[], resizereinit=true; function truebody(){ return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body; } function getedge(o, is_top){ var edge; if (is_top) edge=window.pageYOffset? window.pageYOffset : truebody().scrollTop? truebody().scrollTop : 0; else{ edge=o.menupos=='left'? 0 : truebody().clientWidth? truebody().clientWidth : window.innerWidth&&truebody().offsetHeight<=window.innerHeight? window.innerWidth : window.innerWidth? window.innerWidth-20 : 0; edge+=window.pageXOffset? window.pageXOffset : truebody().scrollLeft? truebody().scrollLeft: 0; } return edge; } function keep_in_view(o){ if(o.keepinview){ if(o.m.ft){ o.m.ft=0; o.m.topP=o.m.offsetTop; o.m.ltop=0; } var pt=getedge(o, 'top'), ks=typeof o.keepinview=='number'&&o.keepinview0? o.keepinview : o.m.topP, smooth=0; if (pt!=o.m.ltop){ if(o.menupos=='top') o.m.style.visibility='hidden'; smooth = pt>o.m.topP-ks? .2 * (pt - o.m.ltop - o.m.topP + ks) : o.m.ltop>0? -.2 * o.m.ltop : 0; smooth = smooth > 0 ? Math.ceil(smooth) : Math.floor(smooth); } else if(o.menupos=='top') o.m.style.visibility=''; o.m.style.top=(o.m.style.top? parseInt(o.m.style.top) : o.m.topP)+smooth+'px'; o.m.ltop += smooth; } if(o.menupos=='top'){ if(typeof o.menuleft=='string'){ o.m.style.left=o.menuleft o.m.style.marginLeft=Math.floor(o.m.getElementsByTagName('div')[0].offsetWidth/-2)+'px'; o.lleft=o.m.offsetLeft; } o.m.style.marginLeft=0; o.m.style.left=o.lleft+(window.pageXOffset? window.pageXOffset : truebody().scrollLeft? truebody().scrollLeft: 0)+'px'; } else o.m.style.left=getedge(o)-(o.menupos=='right'? o.m.offsetWidth : 0)+'px'; } function move(el, num){ el.getElementsByTagName('div')[0].style[el.menupos]=parseInt(el.getElementsByTagName('div')[0].style[el.menupos])+num+'px'; if(el.menupos=='right'){ if(el.kviewtype=='absolute') el.style.left=parseInt(el.style.left)-num+'px'; el.style.width=parseInt(el.style.width)+num+'px'; } if(num>0) el.moving=setTimeout(function(){movein(el)}, el.menuspeed) else el.moving=setTimeout(function(){moveout1(el)}, el.menuspeed) } function movein(el){ var m1=parseInt(el.getElementsByTagName('div')[0].style[el.menupos]); if(el.moving) clearTimeout(el.moving); if (m1<-1*el.borderwidth) move(el, Math.min(-1*m1-el.borderwidth, 10)); } function moveout(el){ if(el.moving) clearTimeout(el.moving); el.moving=setTimeout(function(){moveout1(el)}, el.menupause); } function moveout1(el){ var aw=el.menupos=='top'? el.b.offsetHeight : el.b.offsetWidth, m1=el.getElementsByTagName('div')[0]; if(el.moving) clearTimeout(el.moving); if (parseInt(m1.style[el.menupos])>aw-(el.menupos=='top'? m1.offsetHeight : m1.offsetWidth)+10) move(el, -10); else { m1.style[el.menupos]=aw-(el.menupos=='top'? m1.offsetHeight : m1.offsetWidth)+'px'; if(el.menupos=='right'){ el.style.width=aw+'px'; if(el.kviewtype=='absolute'){ var ed=truebody().clientWidth? truebody().clientWidth : window.innerWidth&&truebody().offsetHeight<=window.innerHeight? window.innerWidth : window.innerWidth? window.innerWidth-20 : 0; ed+=window.pageXOffset? window.pageXOffset : truebody().scrollLeft? truebody().scrollLeft: 0; el.style.left=ed-el.offsetWidth+'px'; } } } } function to_em(n, o){ return Math.round((n/(16*parseInt(o.fontsize)/100))*1000)/1000; } function getrows(o){ var r=o.menuItems.length+(o.wrapbar? 1 : 0); for (var i_tem = 0; i_tem < o.menuItems.length; i_tem++) if (o.menuItems[i_tem][4]&&o.menuItems[i_tem][4]=='no') r--; return r; } function make_bar(o){ var bt=o.menupos=='right'||o.menupos=='top'? '' : ''; bt+='' if (!/'+o.bartext.charAt(i_tem); bt+=o.menupos=='top'? o.bartext.charAt(o.bartext.length-1)+'' : '
\u00a0'; } else bt+=o.bartext+'' return bt+(o.menupos=='right'? '\n' : '\n'); } function make_style(o){ if(o.user_defined_stylesheet&&!o.design_mode) return ''; var sheet='' sheet+='#'+o.id+' {\n'+ (o.menupos=='top'? 'top:0;\n' : 'top:'+o.menutop+'px; /*set initial Height from top*/\n')+ (o.menupos=='top'? 'left:'+o.menuleft+(typeof o.menuleft=='number'? 'px' : '')+';\n' : '')+ (o.menupos=='right'&&o.kviewtype=='fixed'? 'right:0;\n' : '')+ 'position:'+o.kviewtype+';\n'+ 'overflow:'+(o.menupos=='right'? 'hidden' : 'visible')+';\n'+ 'z-index:100;\n'+ (o.menupos=='left'? 'left:0;\n' : '')+ '}\n'+ '#'+o.id+' div {\n'+ 'border-width:'+(typeof o.outbrdwidth=='number'? o.outbrdwidth+'px' : o.outbrdwidth)+'; /*Menu\'s outer border*/\n'+ 'border-style:'+o.outbrdstyle+';\n'+ (o.outbrdcolor=='none'? '' : 'border-color:'+o.outbrdcolor+';\n')+ 'position:absolute;\n'+ 'color:black;\n'+ 'background-color:transparent;\n'+ '}\n'+ '#'+o.id+' table {\n'+ 'border:'+o.borderwidth+'px '+o.borderstyle+' '+o.bordercolor+'; /*Menu\'s inner border*/\n'+ (o.menupos=='top'? 'border-left-width:0;\n' : '')+ (o.menupos=='top'? 'border-bottom-width:0;\n' : '')+ 'font-family:'+o.menufont+', sans-serif; /*Overall font for Menu*/\n'+ 'font-size:'+o.fontsize+';\n'+ 'border-collapse:collapse;\n'+ 'background-color:'+(o.allowtransparent? 'transparent' : o.bordercolor)+';\n'+ 'width:'+to_em(o.barwidth+o.hdingwidth+o.borderwidth*(o.d_colspan+2), o)+'em;\n'+ '}\n'+ '#'+o.id+' td { /*Characteristics for cells in the menu table - do not specify width here*/\n'+ 'border-bottom:'+o.borderwidth+'px '+o.borderstyle+' '+o.bordercolor+';\n'+ 'border-left:'+o.borderwidth+'px '+o.borderstyle+' '+o.bordercolor+';\n'+ 'height:'+to_em(o.linkheight, o)+'em;\n'+ 'padding:0;\n'+ 'margin:0;\n'+ 'text-align:'+o.linktxtalign+';\n'+ '}\n'+ '#'+o.id+' #'+o.id+'bar { /*Characteristics for initially visible \'draw\' bar (the vertical cell)*/\n'+ (o.menupos=='top'? 'height:' : 'width:')+to_em(o.barwidth+(document.all||o.menupos=='top'? o.borderwidth*2 : 0), o)+'em;\n'+ 'background-color:'+o.barbgcolor+';\n'+ 'color:'+o.barcolor+';\n'+ 'font-weight:'+o.barfontweight+';\n'+ 'text-align:'+o.baralign+';\n'+ (o.menupos=='top'? '' : 'border-width:0;\n')+ 'cursor:default;\n'+ '}\n'+ '#'+o.id+' .heading { /*Characteristics for heading cells in the menu table*/\n'+ 'height:'+to_em(o.hdingheight, o)+'em;\n'+ 'color:'+o.hdingcolor+';\n'+ 'font-weight:'+o.hdingfontweight+';\n'+ 'text-indent:'+o.hdingindent+'ex;\n'+ 'background-color:'+o.hdingbgcolor+'; /*Background Color for menu headings */\n'+ 'width:'+to_em(o.hdingwidth, o)+'em; /*This will be the menu body width. This'+(o.menupos!='top'? ' (plus #'+o.id+'bar width for left and right menus)' : '')+' and 4 times the border width should also be the menu table\'s approximate width*/\n'+ 'vertical-align:'+o.hdingvalign+';\n'+ 'text-align:'+o.hdingtxtalign+';\n'+ 'border-left-color:'+o.hdingbgcolor+';\n'+ 'border-left-style:solid;\n'+ '}\n'+ (o.wrapbar&&o.menupos!='top'? '#'+o.id+' #'+o.id+'lastrow {\n'+ 'height:'+to_em(o.barwidth, o)+'em;\n'+ 'background-color:'+o.barbgcolor+';\n'+ 'border-width:0;\n'+ 'margin:0 0 '+o.borderwidth+'px '+o.borderwidth+'px;\n'+ '}\n' : o.menupos!='top'? '#'+o.id+' #'+o.id+'lastrow {\n'+ 'border-bottom-width:0;\n'+ 'margin:0 0 '+o.borderwidth+'px '+o.borderwidth+'px;\n'+ '}\n' : '')+ '#'+o.id+' a {\n'+ 'width:100%;\n'+ 'height:100%;\n'+ 'display:block;\n'+ 'padding-top:'+to_em(o.linktopad, o)+'em;\n'+ '}\n'; if(o.design_mode){ if(document.getElementById('ooostyle')) alert('Only one menu\'s script generated styles may be displayed at a time!\n\nCurrently showing '+document.getElementById('ooostyle').tell+'\'s stylesheet\n\n(or there is a syntax error - most\n\u00a0\u00a0\u00a0\u00a0likely in the menuItem.js file)'); else{ var isusing=o.user_defined_stylesheet? ' not' : ''; var sw=(window.innerWidth? window.innerWidth : truebody().clientWidth)/1.5; document.write('') document.getElementById('ooostyle').tell=o.id; } } if(!o.user_defined_stylesheet) return ''; return ''; } function make_style_make_menu(o, s){ if(s){ if(!o.id) {alert('a unique id is required for each menu');return;}; if(!o.menuItems||o.menuItems.constructor!=Array) {alert('an array of menu items is required for each menu');return;}; if(!o.menutop) {o.menutop=150}; if(!o.menuleft) {o.menuleft='50%'}; if(!o.keepinview&&typeof o.keepinview=='boolean') o.keepinview=false; else if(!o.keepinview) {o.keepinview=30}; if(!o.menuspeed) {o.menuspeed=20}; if(!o.menupause) {o.menupause=500}; if(!o.d_colspan) {o.d_colspan=2}; if(!o.allowtransparent) {o.allowtransparent=false}; if(!o.barwidth) {o.barwidth=22}; if(!o.hdingwidth) {o.hdingwidth=149}; if(!o.hdingheight) {o.hdingheight=22}; if(!o.hdingindent) {o.hdingindent=1}; if(!o.linkheight) {o.linkheight=16}; if(!o.outbrdwidth) {o.outbrdwidth=0}; if(!o.outbrdcolor) {o.outbrdcolor="none"}; if(!o.outbrdstyle) {o.outbrdstyle="solid"}; if(!o.borderwidth) {o.borderwidth=1}; if(!o.bordercolor) {o.bordercolor="black"}; if(!o.borderstyle) {o.borderstyle="solid"}; if(!o.barcolor) {o.barcolor="white"}; if(!o.barbgcolor) {o.barbgcolor="#50aade"}; if(!o.barfontweight) {o.barfontweight="bold"}; if(!o.baralign) {o.baralign="center"}; if(!o.menufont) {o.menufont="verdana"}; if(!o.fontsize) {o.fontsize="80%"}; if(!o.hdingcolor) {o.hdingcolor="white"}; if(!o.hdingbgcolor) {o.hdingbgcolor="#50aade"}; if(!o.hdingfontweight) {o.hdingfontweight="bold"}; if(!o.hdingvalign) {o.hdingvalign="middle"}; if(!o.hdingtxtalign) {o.hdingtxtalign="center"}; if(!o.linktopad) {o.linktopad=0}; if(!o.linktxtalign) {o.linktxtalign="left"}; if(!o.linktarget) {o.linktarget=""}; if(!o.menupos) {o.menupos="left"}; if(!o.bartext) {o.bartext="SIDE MENU"}; if(!o.user_defined_stylesheet) {o.user_defined_stylesheet=false}; if(!o.user_defined_markup) {o.user_defined_markup=false}; if(!o.design_mode) {o.design_mode=false}; if(!o.wrapbar) {o.wrapbar=false}; if(!o.kviewtype) {o.kviewtype='absolute'}; if(typeof ie6_or_less!='undefined') o.kviewtype='absolute'; else if(o.menupos=='top'&&o.kviewtype=='absolute') o.kviewtype='fixed'; while(!o.menuItems[o.menuItems.length-1]) o.menuItems.length=o.menuItems.length-1; document.write(make_style(o)); return; } else { if(o.design_mode||!o.user_defined_markup){ var hw=o.hdingwidth; var tb='
\n'; tb+=o.menupos=='right'? make_bar(o) : ''; for (var i_tem = 0; i_tem < o.menuItems.length; i_tem++){ if ((o.menupos=='top'&&i_tem==0)||i_tem>0&&(!o.menuItems[i_tem-1][4]||o.menuItems[i_tem-1][4]!=='no')) tb+='' if (o.menuItems[i_tem][1]&&o.menuItems[i_tem][1]!==''){ tb+='' } else tb+='' if (!o.menuItems[i_tem][4]||o.menuItems[i_tem][4]!=='no') tb+=o.menupos=='left'&&i_tem==0? make_bar(o) : '\n'; } tb+=o.wrapbar&&o.menupos!='top'? '\n' : ''; tb+=o.menupos=='top'? make_bar(o) : ''; if(!o.user_defined_markup) document.write(tb+'
'+o.menuItems[i_tem][0]+''+o.menuItems[i_tem][0]+'
\u00a0
') } if(o.design_mode) document.getElementById('ooostyle').value+='\n\n\n\n'+tb+'\n\n' o.m=document.getElementById(o.id); var b=document.getElementById(o.id+'bar'); o.m.b=b; o.m.ft=1; o.m.menupos=o.menupos; o.m.menupause=o.menupause; o.m.menuspeed=o.menuspeed; o.m.borderwidth=o.borderwidth; o.m.kviewtype=o.kviewtype; resizevent(o); if(o.menupos=='top'&&typeof window.attachEvent=='object'&&typeof ie6_or_less!='undefined') window.attachEvent('onscroll', function(){o.m.style.visibility='hidden';}); if(o.kviewtype=='absolute'&&(o.menupos!='top'||(typeof ie6_or_less!='undefined'&&typeof window.attachEvent=='object'))) setInterval(function(){keep_in_view(o)}, 20) } } function resizevent(o){ var m1=o.m.getElementsByTagName('div')[0], bo=o.menupos=='top'? o.m.b.offsetHeight : o.m.b.offsetWidth; m1.style[o.menupos]=bo-(o.menupos=='top'? m1.offsetHeight : m1.offsetWidth)+'px' if(o.menupos=='right'){ if(o.kviewtype=='absolute') o.m.style.left=getedge(o)-o.m.offsetWidth+'px'; o.m.style.width=bo+'px'; o.m.style.height=m1.offsetHeight+'px'; if(typeof less_than_ie5_5!='undefined'){ o.m.onmouseover(o.m); o.m.onmouseout(o.m); } } if(o.menupos=='top'){ o.m.style.width=m1.style.width=o.m.getElementsByTagName('table')[0].offsetWidth+'px'; if(typeof o.menuleft=='string') o.m.style.marginLeft=Math.floor(m1.offsetWidth/-2)+'px'; } } /* ONTEXTRESIZE EVENT SPOOFER Including this file in your page will allow you to assign a function to window.ontextresize, which will be called when the user changes the size of text on the page. Used with (as far as I know) permission from: http://forkandspoonhelmet.com/Fork_and_Spoon_Helmet */ var ontextresizeLastSize = false; if (window.attachEvent) window.attachEvent("onload", initOntextresizeListener); else if (window.addEventListener) window.addEventListener("load", initOntextresizeListener, false); function initOntextresizeListener() { if(!resizereinit||typeof less_than_ie5_5!='undefined') return; var testDiv = document.createElement("div"); testDiv.style.position = "absolute"; testDiv.style.height = "1em"; testDiv.style.width = "1em"; testDiv.style.top = "-2em"; testDiv.style.left = "-2em"; var docTestDiv = document.body.appendChild(testDiv); docTestDiv.id = "ontextresizeTestDiv"; ontextresizeListener = setInterval("ontextresizeCheckTestDiv()",100); } function ontextresizeCheckTestDiv() { if (ontextresizeLastSize!=document.getElementById("ontextresizeTestDiv").offsetWidth) { if (ontextresizeLastSize && window.ontextresize) window.ontextresize.call(); ontextresizeLastSize = document.getElementById("ontextresizeTestDiv").offsetWidth; } } window.ontextresize=function(){ for (var i_tem = 0; i_tem < menu.length; i_tem++) if(typeof menu[i_tem]!='undefined') resizevent(menu[i_tem]); }; function make_menus(){ if(document.getElementById){ for (var i_tem = 0; i_tem < menu.length; i_tem++) if(typeof menu[i_tem]!='undefined') make_style_make_menu(menu[i_tem], 's'); for (i_tem = 0; i_tem < menu.length; i_tem++) if(typeof menu[i_tem]!='undefined') make_style_make_menu(menu[i_tem]); } }