//create Navigation Menu Variables

var navName, navURL, buttonTitle, buttonText;

function MenuObj(menuURL,menuName){
    this.navURL = menuURL;
    this.navName = menuName;
}
function ButtonObj(buttonh1,buttonp){
    this.buttonTitle = buttonh1;
    this.buttonText = buttonp;
}
var navMenuArray = new Array(9);
navMenuArray[0] = new Array(new MenuObj("../consulting.html","Consulting"),new MenuObj("../monitoring.html","Monitoring"),new MenuObj("../hosted.html","Hosted Infrastructure"));

navMenuArray[1] = new Array(new MenuObj("../consulting.html","Overview"),new MenuObj("#","Approach"),new MenuObj("#","Solutions"),new MenuObj("#","People"),new MenuObj("#","Case Studies"),new MenuObj("#","Partners"));

navMenuArray[2] = new Array(new MenuObj("../monitoring.html","Overview"),new MenuObj("#","Applications"),new MenuObj("#","Connectivity"),new MenuObj("#","Hardware"),new MenuObj("#","Response"));

navMenuArray[3] = new Array(new MenuObj("../hosting.html","Overview"),new MenuObj("#","Business Packages"),new MenuObj("#","Disaster Recovery"),new MenuObj("#","Collocation"),new MenuObj("#","VoIP and PBX"),new MenuObj("#","Virtualization"));

navMenuArray[4] = new Array(new MenuObj("../about.html","Who We Are"),new MenuObj("../careers.html","Careers"),new MenuObj("../contact.html","Contact Us"));

navMenuArray[5] = new Array(new MenuObj("#","Prod1"),new MenuObj("#","Prod2"),new MenuObj("#","Prod3"),new MenuObj("#","Prod4"));

navMenuArray[6] = new Array(new MenuObj("#","Sol1"),new MenuObj("#","Sol2"),new MenuObj("#","Sol3"),new MenuObj("#","Sol4"));

navMenuArray[7] = new Array(new MenuObj("#","Store1"),new MenuObj("#","Store2"),new MenuObj("#","Store3"),new MenuObj("#","Store4"));

navMenuArray[8] = new Array(new MenuObj("../casestudies.html","Case Studies"),new MenuObj("../articles.html","Published Articles"),new MenuObj("../newsletter.html","Newsletter"),new MenuObj("../events.html","Events"),new MenuObj("../tools.html","Tools"),new MenuObj("../community.html","Community"));


var buttonMenuArray = new Array(3);
buttonMenuArray[0] = new Array(6);
buttonMenuArray[1] = new Array(5);
buttonMenuArray[2] = new Array(6);


buttonMenuArray[0][0] = new ButtonObj('<h1>Overview</h1>','<p>25 by 7 services small and medium business by providing IT consulting services necessary to help business owners leverage the full potential of technology and maximizing the benefits to their business.  Acting as an extension of each client’s organization, 25 by 7’s highly skilled team seamlessly manages the IT operations — from desktop support to high level systems and network architecture.  With deep industry and business expertise, 25 by 7 combines the right people, processes and technology to help clients achieve operational excellence.  </p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');
buttonMenuArray[0][1] = new ButtonObj('<h1>Approach</h1>','<p>25 by 7 offers both onsite and remote support for companies who wish to improve their IT support services.  Our team offers customers the ability to leverage talented individuals to provide support that previously would not have been possible solely with in house staff or an independent consultant.  Whether it is to provide support for a company that previously never had dedicated IT support before or to augment existing in house IT services, 25 by 7 can provide consulting services that will exceed expectations in availability, dependability, and quality.</p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');
buttonMenuArray[0][2] = new ButtonObj('<h1>Solutions</h1>','<p>Our solutions leverage knowledge and experienced gained from working with organizations of all sizes and applying that knowledge to optimize the technology used by our clients.  Our experience working with numerous small and medium businesses in a variety of industries allows us to provide solutions that are tailored to our specific clients needs based on previous experience while keeping in mind our clients focus on business, rather on simply the latest technology.  Whether it is migration to the latest version of Active Directory and Exchange, migration to Open Source, measuring cost savings from Voice over IP (VoIP), or leveraging the latest technologies like Virtualization or Cloud Computing our team prepares clients with the best possible solutions to meet their business objectives.</p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');
buttonMenuArray[0][3] = new ButtonObj('<h1>People</h1>','<p>Our team is comprised of several talented individuals who began their careers long before working with 25 by 7.  All of our employees are U.S. based and average over 10 years of experience.  Many of our employees have held senior level positions at companies like McAfee, IBM, EDS, Merrill Lynch, Genentech, Microsoft and other well known organizations.  Each 25 by 7 staff member brings deep industry expertise to each customer at a price that small and medium businesses can afford.  Team members often hold multiple high level certifications and credentials from organizations including Microsoft, Cisco, Redhat, Sun, Apple, and (ISC)2.</p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');
buttonMenuArray[0][4] = new ButtonObj('<h1>Case Studies</h1>','<p>Coming Soon.</p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');
buttonMenuArray[0][5] = new ButtonObj('<h1>Partners</h1>','<p>Partners provide 25 by 7 with key strategic relationships that benefit all of our clients.  The relationships maintained with partners ensure that 25 by 7 has access to the latest technical and product information from vendors for products that clients rely on every day.  In addition, this often gives 25 by 7 staff direct access to support channels not normally available directly to end users and customers.  In addition to technical benefits, our relationship with our partners also gives our customers access to special pricing and offers not made available to the general public.</p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');

buttonMenuArray[1][0] = new ButtonObj('<h1>Overview</h1>','<p>25 by 7 offers monitoring solutions to help businesses ensure application and service uptime.  Automated monitoring services provide a means for customers to track the health and availability of their most important technical assets in real time as well as over time.  What makes 25 by 7 monitoring unique is not only automated monitoring tailored to a variety of platforms and applications, but our ability to provide direct response to alerts as well as leverage in house expertise in resolving issues through our <a href="consulting.html" id="pageLink">Consulting Services</a> </p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');
buttonMenuArray[1][1] = new ButtonObj('<h1>Applications</h1>','<p>25 by 7 has deployed multiple monitoring systems to support a variety of applications from simple web sites to email systems such as Exchange and Lotus Notes.  In addition, monitoring is available at the operating system level for both Windows and *NIX based systems.  Application level monitoring can go well beyond simply knowing if a particular application is up or down.  Fully featured monitoring can also be prescriptive in diagnosing the root cause of the issue as well as proactive in preventing issues from occurring.  </p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');
buttonMenuArray[1][2] = new ButtonObj('<h1>Connectivity</h1>','<p>ISP connectivity is often considered one of the most critical services at many organizations.  Our monitoring services can actively monitor your ISP connection and then alert you or our team of any issues.  In addition, our Consulting Services [link] can provide you with recommendations to ensure maximum uptime of your network by leveraging redundant ISP connections or setting up highly available applications.  In addition, dependent hardware such as firewalls, routers, and switches can also be monitored using vendor recommended deployed by 25 by 7.</p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');
buttonMenuArray[1][3] = new ButtonObj('<h1>Hardware</h1>','<p>Hardware level monitoring is also available for several name brand servers from vendors like Dell, HP and IBM.  This level of monitoring looks at the physical hardware regardless of the workload the server may be supporting.  This allows insight into individual components such as individual memory modules or hard drives as well as indicators like temperature.  Monitoring at the hardware level does require supported hardware and software from vendors, but can provide a unique and power means of providing peace of mind when it comes to the stability of crucial systems.  In addition to servers, 25 by 7 also monitors firewalls, switches and other network equipment using best in class vendor approved monitoring packages.</p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');
buttonMenuArray[1][4] = new ButtonObj('<h1>Response</h1>','<p>What makes 25 by 7 monitoring truly unique and allows us to go well beyond a typical monitoring service is our ability to leverage our Consulting Services [link].  While most monitoring services will allow you to setup a simple email or pager alert, 25 by 7 goes beyond this by offering the option for a live person to respond to and even resolve any issues detected with your systems or applications.  In addition, we can leverage the full expertise and resources from our Consulting Services [link] in order to leverage in house experts as well as vendor expertise as necessary from our extensive list of partners.  This unique offering is one that means any business using our monitoring services should ever alone in responding to that urgent 4 AM alert.  </p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');

buttonMenuArray[2][0] = new ButtonObj('<h1>Overview</h1>','<p>25 by 7 provides hosted infrastructure services to meet a variety of business needs.  The services that we and our partners provide allow your business to quickly grow by establishing completely hosted infrastructures or leverage hosted infrastructure for mission critical applications and services.  This allows your business the flexibility to quickly deploy new systems to meet growing customer demand without significant investment in new hardware or to move existing hardware out of less reliable self-hosted environments to increase uptime and availability by leveraging more robust network infrastructure and redundant power. </p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');
buttonMenuArray[2][1] = new ButtonObj('<h1>Business Packages</h1>','<p>Our team helps your businesses get the most out of hosted infrastructure services from Microsoft, Google.  Your business may prefer the familiar and feature-rich Microsoft Business Online Productivity Suite (BPOS) or the simple and innovative Google Apps platform.  Hosted packages may include email and calendaring, portal, file management, instant messaging, web conferencing and more.  25 by 7 has the expertise to assist with migration to or away from these platforms as business requirements change while minimizing impact to end users.  Your company can choose to leverage all or part of these packages to quickly roll out new services, allowing end users to immediately increase productivity without significant investment in hardware or software.</p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');
buttonMenuArray[2][2] = new ButtonObj('<h1>Disaster Recovery</h1>','<p>Protecting company data and recovering from disasters is often a primary concern of most businesses.  Leveraging a hosted infrastructure for disaster recovery services can provide site resiliency in the event of disasters such as natural disasters, fire or theft.  Storing data in a secondary secure location can provide benefits in security, uptime, and peace of mind.  Our highly skilled team can assist your business in design of a disaster recovery solution that can leverage your existing onsite infrastructure, a hosted infrastructure or both.</p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');
buttonMenuArray[2][3] = new ButtonObj('<h1>Collocation</h1>','<p>25 by 7 maintains collocation facilities in the San Francisco Bay Area and Southern California.  Clients who wish to host servers in a collocation facility can take advantage of shared or dedicated collocation space provided by our preferred facilities.  Shared space allows businesses that normally would not be able to afford dedicated collocation space to obtain discounted pricing on space, power and bandwidth.  Collocation services may include onsite support from our expert staff as well as managed backups of data.  Our collocation support exceeds standard collocation offerings in that we leverage our Consulting Services [link] to ensure best in class support, which provides access to expertise well beyond that available from data center technicians.  </p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');
buttonMenuArray[2][4] = new ButtonObj('<h1>VoIP and PBX</h1>','<p>The latest technologies in telephony leverage Voice over IP to provide companies with significant savings on their communications while enabling new features and functionality to improve end user productivity.  Virtual offices allow businesses to extend the reach of their PBX system to remote and mobile workers so that they can seamlessly interact with colleagues and customers without impact on how they conduct business.  25 by 7 can assist your business in deploying or managing on premise VoIP-based PBX, including SIP trunks or assist with deployment of Virtual PBX services.  When combines with your email system, instant messaging and other communications platforms, your business can begin to leverage the full benefits of a Unified Communications platform.</p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');
buttonMenuArray[2][5] = new ButtonObj('<h1>Virtualization</h1>','<p>Leverage highly available and feature rich virtualization from our partners in order to quickly deploy just one or potentially hundreds of servers within minutes to meet the demands of your growing business.  Your business may also leverage our Consulting Services [link] to deploy in house or collocated virtualization solutions to allow even more control over your virtualization deployment.  Use virtualization to meet either permanent or temporary demand for additional resources and lessen the burden on existing IT infrastructure within minutes for production resources.  Development and production environments can leverage unique disaster recovery including snapshots to allow quick rollback to specific points in time with minimal effort.</p><div id="learnMore"><a href="#"><img src="images/button_learn.png" width="91" height="28" alt="" /></a></div>');

var oldIndex = 0;
function buttonDisplay(pageIs,index){
	
	if(document.getElementById('buttonSelection')){
		var tempId = document.getElementById('buttonSelection');
		tempId.innerHTML = "";
	
		var tempObj = buttonMenuArray[pageIs][index];
		var tempText = tempObj.buttonTitle + tempObj.buttonText;
	
		var tempId = document.getElementById('buttonSelection');
		tempId.innerHTML = tempText;
		
		
		if(oldIndex == index)
			document.getElementById("button"+index).className = (document.getElementById("button"+index).className == "") ? "selected" : "";
		else{
			if(document.getElementById("button"+index)){
				document.getElementById("button"+index).className = "selected";
				if(document.getElementById("button"+oldIndex))
					document.getElementById("button"+oldIndex).className = "";
			}
		}
		oldIndex = index;
	}
}

function init() {
			//==========================================================================================
			// if supported, initialize TransMenus
			//==========================================================================================
			// Check isSupported() so that menus aren't accidentally sent to non-supporting browsers.
			// This is better than server-side checking because it will also catch browsers which would
			// normally support the menus but have javascript disabled.
			//
			// If supported, call initialize() and then hook whatever image rollover code you need to do
			// to the .onactivate and .ondeactivate events for each menu.
			//==========================================================================================
			if (TransMenu.isSupported()) {
				TransMenu.initialize();

				menu1.onactivate = function() { document.getElementById("servicesMenu").className = "hover"; };
			
				menu1.ondeactivate = function() { document.getElementById("servicesMenu").className = ""; };
				menu2.onactivate = function() { document.getElementById("aboutMenu").className = "hover"; };
				menu2.ondeactivate = function() { document.getElementById("aboutMenu").className = ""; };
				
			}
		}

/* =================================================================================================
 * TransMenu 
 * March, 2003
 * Customizable multi-level animated DHTML menus with transparency.
 * =================================================================================================
 * "Can I use this?"
 * 
 * Use of this library is governed by the Creative Commons Attribution 2.0 License. You can check it 
 * out at: http://creativecommons.org/licenses/by/2.0/
 *
 * Basically: You may copy, distribute, and eat this code as you wish. But you must give me credit 
 * for writing it. You may not misrepresent yourself as the author of this code.
 * =================================================================================================
 * "It's kinda hard to read, though"
 *
 * The uncompressed, commented version of this script can be found at: 
 * http://youngpup.net/projects/transMenus
 * ============================================================================================== */
TransMenu.spacerGif="images/spc.gif";TransMenu.dingbatOn="images/spc.gif";TransMenu.dingbatOff="images/spc.gif";TransMenu.dingbatSize=0;TransMenu.menuPadding=0;TransMenu.itemPadding=0;TransMenu.shadowSize=0;TransMenu.shadowOffset=0;TransMenu.shadowColor="#fff";TransMenu.shadowPng="images/spc.gif";TransMenu.backgroundColor="transparent";TransMenu.backgroundPng="images/spc.gif";TransMenu.hideDelay=200;TransMenu.slideTime=200;TransMenu.reference={topLeft:1,topRight:2,bottomLeft:3,bottomRight:4};TransMenu.direction={down:1,right:2};TransMenu.registry=[];TransMenu._maxZ=100;TransMenu.isSupported=function(){var ua=navigator.userAgent.toLowerCase();var pf=navigator.platform.toLowerCase();var an=navigator.appName;var r=false;if(ua.indexOf("gecko")>-1&&navigator.productSub>=20020605)r=true;else if(an=="Microsoft Internet Explorer"){if(document.getElementById){if(pf.indexOf("mac")==0){r=/msie (\d(.\d*)?)/.test(ua)&&Number(RegExp.$1)>=5.1;}
else r=true;}}
return r;}
TransMenu.initialize=function(){for(var i=0,menu=null;menu=this.registry[i];i++){menu.initialize();}}
TransMenu.renderAll=function(){var aMenuHtml=[];for(var i=0,menu=null;menu=this.registry[i];i++){aMenuHtml[i]=menu.toString();}
document.write(aMenuHtml.join(""));}
function TransMenu(oActuator,iDirection,iLeft,iTop,iReferencePoint,parentMenuSet){this.addItem=addItem;this.addMenu=addMenu;this.toString=toString;this.initialize=initialize;this.isOpen=false;this.show=show;this.hide=hide;this.items=[];this.onactivate=new Function();this.ondeactivate=new Function();this.onmouseover=new Function();this.onqueue=new Function();this.ondequeue=new Function();this.index=TransMenu.registry.length;TransMenu.registry[this.index]=this;var id="TransMenu"+this.index;var contentHeight=null;var contentWidth=null;var childMenuSet=null;var animating=false;var childMenus=[];var slideAccel=-1;var elmCache=null;var ready=false;var _this=this;var a=null;var pos=iDirection==TransMenu.direction.down?"top":"left";var dim=null;function addItem(sText,sUrl){var item=new TransMenuItem(sText,sUrl,this);item._index=this.items.length;this.items[item._index]=item;}
function addMenu(oMenuItem){if(!oMenuItem.parentMenu==this)throw new Error("Cannot add a menu here");if(childMenuSet==null)childMenuSet=new TransMenuSet(TransMenu.direction.right,-5,2,TransMenu.reference.topRight);var m=childMenuSet.addMenu(oMenuItem);childMenus[oMenuItem._index]=m;m.onmouseover=child_mouseover;m.ondeactivate=child_deactivate;m.onqueue=child_queue;m.ondequeue=child_dequeue;return m;}
function initialize(){initCache();initEvents();initSize();ready=true;}
function show(){if(ready){_this.isOpen=true;animating=true;setContainerPos();elmCache["clip"].style.visibility="visible";elmCache["clip"].style.zIndex=TransMenu._maxZ++;slideStart();_this.onactivate();}}
function hide(){if(ready){_this.isOpen=false;animating=true;for(var i=0,item=null;item=elmCache.item[i];i++)dehighlight(item);if(childMenuSet)childMenuSet.hide();slideStart();_this.ondeactivate();}}
function setContainerPos(){var sub=oActuator.constructor==TransMenuItem;var act=sub?oActuator.parentMenu.elmCache["item"][oActuator._index]:oActuator;var el=act;var x=0;var y=0;var minX=0;var maxX=(window.innerWidth?window.innerWidth:document.body.clientWidth)-parseInt(elmCache["clip"].style.width);var minY=0;var maxY=(window.innerHeight?window.innerHeight:document.body.clientHeight)-parseInt(elmCache["clip"].style.height);while(sub?el.parentNode.className.indexOf("transMenu")==-1:el.offsetParent){x+=el.offsetLeft;y+=el.offsetTop;if(el.scrollLeft)x-=el.scrollLeft;if(el.scrollTop)y-=el.scrollTop;el=el.offsetParent;}
if(oActuator.constructor==TransMenuItem){x+=parseInt(el.parentNode.style.left);y+=parseInt(el.parentNode.style.top);}
switch(iReferencePoint){case TransMenu.reference.topLeft:break;case TransMenu.reference.topRight:x+=act.offsetWidth;break;case TransMenu.reference.bottomLeft:y+=act.offsetHeight;break;case TransMenu.reference.bottomRight:x+=act.offsetWidth;y+=act.offsetHeight;break;}
x+=iLeft;y+=iTop;x=Math.max(Math.min(x,maxX),minX);y=Math.max(Math.min(y,maxY),minY);elmCache["clip"].style.left=x+"px";elmCache["clip"].style.top=y+"px";}
function slideStart(){var x0=parseInt(elmCache["content"].style[pos]);var x1=_this.isOpen?0:-dim;if(a!=null)a.stop();a=new Accelimation(x0,x1,TransMenu.slideTime,slideAccel);a.onframe=slideFrame;a.onend=slideEnd;a.start();}
function slideFrame(x){elmCache["content"].style[pos]=x+"px";}
function slideEnd(){if(!_this.isOpen)elmCache["clip"].style.visibility="hidden";animating=false;}
function initSize(){var ow=elmCache["items"].offsetWidth;var oh=elmCache["items"].offsetHeight;var ua=navigator.userAgent.toLowerCase();elmCache["clip"].style.width=ow+TransMenu.shadowSize+2+"px";elmCache["clip"].style.height=oh+TransMenu.shadowSize+2+"px";elmCache["content"].style.width=ow+TransMenu.shadowSize+"px";elmCache["content"].style.height=oh+TransMenu.shadowSize+"px";contentHeight=oh+TransMenu.shadowSize;contentWidth=ow+TransMenu.shadowSize;dim=iDirection==TransMenu.direction.down?contentHeight:contentWidth;elmCache["content"].style[pos]=-dim-TransMenu.shadowSize+"px";elmCache["clip"].style.visibility="hidden";if(ua.indexOf("mac")==-1||ua.indexOf("gecko")>-1){elmCache["background"].style.width=ow+"px";elmCache["background"].style.height=oh+"px";elmCache["background"].style.backgroundColor=TransMenu.backgroundColor;}
else{elmCache["background"].firstChild.src=TransMenu.backgroundPng;elmCache["background"].firstChild.width=ow;elmCache["background"].firstChild.height=oh;;}}
function initCache(){var menu=document.getElementById(id);var all=menu.all?menu.all:menu.getElementsByTagName("*");elmCache={};elmCache["clip"]=menu;elmCache["item"]=[];for(var i=0,elm=null;elm=all[i];i++){switch(elm.className){case"items":case"content":case"background":elmCache[elm.className]=elm;break;case"item":elm._index=elmCache["item"].length;elmCache["item"][elm._index]=elm;break;}}
_this.elmCache=elmCache;}
function initEvents(){for(var i=0,item=null;item=elmCache.item[i];i++){item.onmouseover=item_mouseover;item.onmouseout=item_mouseout;item.onclick=item_click;}
if(typeof oActuator.tagName!="undefined"){oActuator.onmouseover=actuator_mouseover;oActuator.onmouseout=actuator_mouseout;}
elmCache["content"].onmouseover=content_mouseover;elmCache["content"].onmouseout=content_mouseout;}
function highlight(oRow){oRow.className="item hover";}
function dehighlight(oRow){oRow.className="item";}
function item_mouseover(){if(!animating){highlight(this);if(childMenus[this._index])childMenuSet.showMenu(childMenus[this._index]);else if(childMenuSet)childMenuSet.hide();}}
function item_mouseout(){if(!animating){if(childMenus[this._index])childMenuSet.hideMenu(childMenus[this._index]);else dehighlight(this);}}
function item_click(){if(!animating){if(_this.items[this._index].url)location.href=_this.items[this._index].url;}}
function actuator_mouseover(){parentMenuSet.showMenu(_this);}
function actuator_mouseout(){parentMenuSet.hideMenu(_this);}
function content_mouseover(){if(!animating){parentMenuSet.showMenu(_this);_this.onmouseover();}}
function content_mouseout(){if(!animating){parentMenuSet.hideMenu(_this);}}
function child_mouseover(){if(!animating){parentMenuSet.showMenu(_this);}}
function child_deactivate(){for(var i=0;i<childMenus.length;i++){if(childMenus[i]==this){dehighlight(elmCache["item"][i]);break;}}}
function child_queue(){parentMenuSet.hideMenu(_this);}
function child_dequeue(){parentMenuSet.showMenu(_this);}
function toString(){var aHtml=[];var sClassName="transMenu"+(oActuator.constructor!=TransMenuItem?" top":"");for(var i=0,item=null;item=this.items[i];i++){aHtml[i]=item.toString(childMenus[i]);}
return'<div id="'+id+'" class="'+sClassName+'">'+'<div class="content"><table class="items" cellpadding="0" cellspacing="0" border="0">'+'<tr><td colspan="2"><img src="'+TransMenu.spacerGif+'" width="0" height="'+TransMenu.menuPadding+'"></td></tr>'+aHtml.join('')+'<tr style="padding: 0px 0px;margin:0px 0px;vertical-align:top;height:14px;line-height:14px;"><td colspan="2"><img src="images/menu_footer.png" width="135" height="14" alt=""/></td></tr></table>'+'<div class="background"><img src="'+TransMenu.spacerGif+'" width="1" height="1" alt=""/></div></div></div>';}}
TransMenuSet.registry=[];function TransMenuSet(iDirection,iLeft,iTop,iReferencePoint){this.addMenu=addMenu;this.showMenu=showMenu;this.hideMenu=hideMenu;this.hide=hide;this.hideCurrent=hideCurrent;var menus=[];var _this=this;var current=null;this.index=TransMenuSet.registry.length;TransMenuSet.registry[this.index]=this;function addMenu(oActuator){var m=new TransMenu(oActuator,iDirection,iLeft,iTop,iReferencePoint,this);menus[menus.length]=m;return m;}
function showMenu(oMenu){if(oMenu!=current){if(current!=null)hide(current);current=oMenu;oMenu.show();}
else{cancelHide(oMenu);}}
function hideMenu(oMenu){if(current==oMenu&&oMenu.isOpen){if(!oMenu.hideTimer)scheduleHide(oMenu);}}
function scheduleHide(oMenu){oMenu.onqueue();oMenu.hideTimer=window.setTimeout("TransMenuSet.registry["+_this.index+"].hide(TransMenu.registry["+oMenu.index+"])",TransMenu.hideDelay);}
function cancelHide(oMenu){if(oMenu.hideTimer){oMenu.ondequeue();window.clearTimeout(oMenu.hideTimer);oMenu.hideTimer=null;}}
function hide(oMenu){if(!oMenu&&current)oMenu=current;if(oMenu&&current==oMenu&&oMenu.isOpen){hideCurrent();}}
function hideCurrent(){if (null != current){cancelHide(current);current.hideTimer=null;current.hide();current=null;}}}
function TransMenuItem(sText,sUrl,oParent){this.toString=toString;this.text=sText;this.url=sUrl;this.parentMenu=oParent;function toString(bDingbat){var sDingbat=bDingbat?TransMenu.dingbatOff:TransMenu.spacerGif;var iEdgePadding=TransMenu.itemPadding+TransMenu.menuPadding;var sPaddingLeft="padding:"+TransMenu.itemPadding+"px; padding-left:14px;"
var sPaddingRight="padding:"+TransMenu.itemPadding+"px; padding-right:"+iEdgePadding+"px;"
return'<tr class="item"><td nowrap style="'+sPaddingLeft+'">'+sText+'</td></tr>';}}
function Accelimation(from,to,time,zip){if(typeof zip=="undefined")zip=0;if(typeof unit=="undefined")unit="px";this.x0=from;this.x1=to;this.dt=time;this.zip=-zip;this.unit=unit;this.timer=null;this.onend=new Function();this.onframe=new Function();}
Accelimation.prototype.start=function(){this.t0=new Date().getTime();this.t1=this.t0+this.dt;var dx=this.x1-this.x0;this.c1=this.x0+((1+this.zip)*dx/3);this.c2=this.x0+((2+this.zip)*dx/3);Accelimation._add(this);}
Accelimation.prototype.stop=function(){Accelimation._remove(this);}
Accelimation.prototype._paint=function(time){if(time<this.t1){var elapsed=time-this.t0;this.onframe(Accelimation._getBezier(elapsed/this.dt,this.x0,this.x1,this.c1,this.c2));}
else this._end();}
Accelimation.prototype._end=function(){Accelimation._remove(this);this.onframe(this.x1);this.onend();}
Accelimation._add=function(o){var index=this.instances.length;this.instances[index]=o;if(this.instances.length==1){this.timerID=window.setInterval("Accelimation._paintAll()",this.targetRes);}}
Accelimation._remove=function(o){for(var i=0;i<this.instances.length;i++){if(o==this.instances[i]){this.instances=this.instances.slice(0,i).concat(this.instances.slice(i+1));break;}}
if(this.instances.length==0){window.clearInterval(this.timerID);this.timerID=null;}}
Accelimation._paintAll=function(){var now=new Date().getTime();for(var i=0;i<this.instances.length;i++){this.instances[i]._paint(now);}}
Accelimation._B1=function(t){return t*t*t}
Accelimation._B2=function(t){return 3*t*t*(1-t)}
Accelimation._B3=function(t){return 3*t*(1-t)*(1-t)}
Accelimation._B4=function(t){return(1-t)*(1-t)*(1-t)}
Accelimation._getBezier=function(percent,startPos,endPos,control1,control2){return endPos*this._B1(percent)+control2*this._B2(percent)+control1*this._B3(percent)+startPos*this._B4(percent);}
Accelimation.instances=[];Accelimation.targetRes=10;Accelimation.timerID=null;
if(window.attachEvent){var cearElementProps=['data','onmouseover','onmouseout','onmousedown','onmouseup','ondblclick','onclick','onselectstart','oncontextmenu'];window.attachEvent("onunload", function() {var el;for(var d=document.all.length;d--;){el=document.all[d];for(var c=cearElementProps.length;c--;){el[cearElementProps[c]] = null;}}});}