

// Section Nav On States

var curLoc;
curLoc = document.location.toString();

	var navList = new Array;

		navList[0] = new Object; navList[0].id = "mnSupp"; navList[0].path = "/techsupp/";
		navList[1] = new Object; navList[1].id = "mnSecR"; navList[1].path = "/avcenter/";
		navList[2] = new Object; navList[2].id = "mnProd"; navList[2].path = "/products/";
		navList[3] = new Object; navList[3].id = "mnDown"; navList[3].path = "/home_homeoffice/downloads/";
		navList[4] = new Object; navList[4].id = "mnDown"; navList[4].path = "/small_business/downloads/";
		navList[5] = new Object; navList[5].id = "mnProg"; navList[5].path = "/partners/programs/";
		navList[6] = new Object; navList[6].id = "mnTool"; navList[6].path = "/partners/tools/";
		navList[7] = new Object; navList[7].id = "mnHowT"; navList[7].path = "/partners/howto/";
		navList[8] = new Object; navList[8].id = "mnTrai"; navList[8].path = "/training/";
		navList[9] = new Object; navList[9].id = "mnInce"; navList[9].path = "/partners/incentives/";
		navList[10] = new Object; navList[10].id = "mnProf"; navList[10].path = "/about/profile/";
		navList[11] = new Object; navList[11].id = "mnNews"; navList[11].path = "/about/news/";
		navList[12] = new Object; navList[12].id = "mnIndu"; navList[12].path = "/about/industryanalysts/";
		navList[13] = new Object; navList[13].id = "mnJobs"; navList[13].path = "/about/careers/";
		navList[14] = new Object; navList[14].id = "mnIndu"; navList[14].path = "/enterprise/solutions/";
		navList[15] = new Object; navList[15].id = "mnLice"; navList[15].path = "/enterprise/licensing/";
		navList[16] = new Object; navList[16].id = "mnHome"; navList[16].path = "";

	function setNavState() {
		var id = "";
		for (i = 0; i <= navList.length; i++) {

			if (curLoc.indexOf(navList[i].path) > -1) {
				id = navList[i].id;
				break;
				}
		}

		var o = document.getElementById(id);
		o.className = "mainNavOn";

	  }





// ------------------------------------------------------------------------------------------------------------------

// Product Pages Buy Box

function go(form) {
	location = document.form.site.options[document.form.site.selectedIndex].value;                  
	}



// ------------------------------------------------------------------------------------------------------------------

// Popup Window

function P(url,h,w) {
	var p = "height=" + h + ",width=" + w + ",scrollbars=yes";
	window.open(url,"",p);
	}



// ------------------------------------------------------------------------------------------------------------------

// Global Utilities Widget Drop-down

function showSubNav(thisitem) {

	var divname = "gSnav"+thisitem;
	var thediv = document.getElementById(divname);
	thediv.style.visibility = 'visible';
	}
	
function hideSubNav(thisitem) {

	var divname = "gSnav"+thisitem;
	var thediv = document.getElementById(divname);
	thediv.style.visibility = 'hidden';
	}

function swapImage(name, img) {
	if (document.images) {
		document.images[name].src = img.src;
	}
}



// ------------------------------------------------------------------------------------------------------------------

// Yahoo libraries for preloading LBU rounded corner DHTML - fixes a "flickering" bug when module is loaded

/* Copyright (c) 2006, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt */

var YAHOO=window.YAHOO||{};YAHOO.namespace=function(_1){if(!_1||!_1.length){return null;}var _2=_1.split(".");var _3=YAHOO;for(var i=(_2[0]=="YAHOO")?1:0;i<_2.length;++i){_3[_2[i]]=_3[_2[i]]||{};_3=_3[_2[i]];}return _3;};YAHOO.namespace("util");YAHOO.namespace("widget");YAHOO.namespace("example");

YAHOO.util.CustomEvent=function(_1,_2){this.type=_1;this.scope=_2||window;this.subscribers=[];if(YAHOO.util.Event){YAHOO.util.Event.regCE(this);}};YAHOO.util.CustomEvent.prototype={subscribe:function(fn,_4,_5){this.subscribers.push(new YAHOO.util.Subscriber(fn,_4,_5));},unsubscribe:function(fn,_6){var _7=false;for(var i=0,len=this.subscribers.length;i<len;++i){var s=this.subscribers[i];if(s&&s.contains(fn,_6)){this._delete(i);_7=true;}}return _7;},fire:function(){for(var i=0,len=this.subscribers.length;i<len;++i){var s=this.subscribers[i];if(s){var _10=(s.override)?s.obj:this.scope;s.fn.call(_10,this.type,arguments,s.obj);}}},unsubscribeAll:function(){for(var i=0,len=this.subscribers.length;i<len;++i){this._delete(i);}},_delete:function(_11){var s=this.subscribers[_11];if(s){delete s.fn;delete s.obj;}delete this.subscribers[_11];}};YAHOO.util.Subscriber=function(fn,obj,_13){this.fn=fn;this.obj=obj||null;this.override=(_13);};YAHOO.util.Subscriber.prototype.contains=function(fn,obj){return (this.fn==fn&&this.obj==obj);};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var _14=false;var _15=[];var _16=[];var _17=[];var _18=[];var _19=[];var _20=[];var _21=[];var _22=0;var _23=[];var _24=0;var _25={};return {POLL_RETRYS:200,POLL_INTERVAL:50,EL:0,TYPE:1,FN:2,WFN:3,SCOPE:3,ADJ_SCOPE:4,isSafari:(/Safari|Konqueror|KHTML/gi).test(navigator.userAgent),isIE:(!this.isSafari&&!navigator.userAgent.match(/opera/gi)&&navigator.userAgent.match(/msie/gi)),addDelayedListener:function(el,_27,fn,_28,_29){_16[_16.length]=[el,_27,fn,_28,_29];if(_14){_22=this.POLL_RETRYS;this.startTimeout(0);}},startTimeout:function(_30){var _31=this;var _32=function(){_31._tryPreloadAttach();};this.timeout=setTimeout(_32,_30);},onAvailable:function(_33,_34,_35,_36){_23.push({id:_33,fn:_34,obj:_35,override:_36});_22=this.POLL_RETRYS;this.startTimeout(0);},addListener:function(el,_37,fn,_38,_39){if(!fn||!fn.call){return false;}if(this._isValidCollection(el)){var ok=true;for(var i=0,len=el.length;i<len;++i){ok=(this.on(el[i],_37,fn,_38,_39)&&ok);}return ok;}else{if(typeof el=="string"){var oEl=this.getEl(el);if(_14&&oEl){el=oEl;}else{this.addDelayedListener(el,_37,fn,_38,_39);return true;}}}if(!el){return false;}if("unload"==_37&&_38!==this){_17[_17.length]=[el,_37,fn,_38,_39];return true;}var _42=(_39)?_38:el;var _43=function(e){return fn.call(_42,YAHOO.util.Event.getEvent(e),_38);};var li=[el,_37,fn,_43,_42];var _46=_15.length;_15[_46]=li;this.mapListener(el,_37,fn,_46);if(this.useLegacyEvent(el,_37)){var _47=this.getLegacyIndex(el,_37);if(_47==-1){_47=_19.length;_21[el.id+_37]=_47;_19[_47]=[el,_37,el["on"+_37]];_20[_47]=[];el["on"+_37]=function(e){return YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(e),_47);};}_20[_47].push(_46);}else{if(el.addEventListener){el.addEventListener(_37,_43,false);}else{if(el.attachEvent){el.attachEvent("on"+_37,_43);}}}return true;},fireLegacyEvent:function(e,_48){var ok=true;var le=_20[_48];for(var i=0,len=le.length;i<len;++i){var _50=le[i];if(_50){var li=_15[_50];if(li&&li[this.WFN]){var _51=li[this.ADJ_SCOPE];var ret=li[this.WFN].call(_51,e);ok=(ok&&ret);}else{delete le[i];}}}return ok;},getLegacyIndex:function(el,_53){var key=this.generateId(el)+_53;if(typeof _21[key]=="undefined"){return -1;}else{return _21[key];}},useLegacyEvent:function(el,_55){return ((!el.addEventListener&&!el.attachEvent)||(_55=="click"&&this.isSafari));},removeListener:function(el,_56,fn,_57){if(!fn||!fn.call){return false;}if(typeof el=="string"){el=this.getEl(el);}else{if(this._isValidCollection(el)){var ok=true;for(var i=0,len=el.length;i<len;++i){ok=(this.removeListener(el[i],_56,fn)&&ok);}return ok;}}if("unload"==_56){for(i=0,len=_17.length;i<len;i++){var li=_17[i];if(li&&li[0]==el&&li[1]==_56&&li[2]==fn){delete _17[i];return true;}}return false;}var _58=null;if("undefined"==typeof _57){_57=this._getCacheIndex(el,_56,fn);}if(_57>=0){_58=_15[_57];}if(!el||!_58){return false;}if(el.removeEventListener){el.removeEventListener(_56,_58[this.WFN],false);}else{if(el.detachEvent){el.detachEvent("on"+_56,_58[this.WFN]);}}delete _15[_57][this.WFN];delete _15[_57][this.FN];delete _15[_57];return true;},getTarget:function(ev,_60){var t=ev.target||ev.srcElement;if(_60&&t&&"#text"==t.nodeName){return t.parentNode;}else{return t;}},getPageX:function(ev){var x=ev.pageX;if(!x&&0!==x){x=ev.clientX||0;if(this.isIE){x+=this._getScrollLeft();}}return x;},getPageY:function(ev){var y=ev.pageY;if(!y&&0!==y){y=ev.clientY||0;if(this.isIE){y+=this._getScrollTop();}}return y;},getXY:function(ev){return [this.getPageX(ev),this.getPageY(ev)];},getRelatedTarget:function(ev){var t=ev.relatedTarget;if(!t){if(ev.type=="mouseout"){t=ev.toElement;}else{if(ev.type=="mouseover"){t=ev.fromElement;}}}return t;},getTime:function(ev){if(!ev.time){var t=new Date().getTime();try{ev.time=t;}catch(e){return t;}}return ev.time;},stopEvent:function(ev){this.stopPropagation(ev);this.preventDefault(ev);},stopPropagation:function(ev){if(ev.stopPropagation){ev.stopPropagation();}else{ev.cancelBubble=true;}},preventDefault:function(ev){if(ev.preventDefault){ev.preventDefault();}else{ev.returnValue=false;}},getEvent:function(e){var ev=e||window.event;if(!ev){var c=this.getEvent.caller;while(c){ev=c.arguments[0];if(ev&&Event==ev.constructor){break;}c=c.caller;}}return ev;},getCharCode:function(ev){return ev.charCode||((ev.type=="keypress")?ev.keyCode:0);},_getCacheIndex:function(el,_65,fn){var key=el.id+_65;if(!_25[key]){return -1;}else{for(var i=0,len=_25[key].length;i<len;++i){var _66=_25[key][i];if(_66.fn==fn){return _66.index;}}}return -1;},generateId:function(el){var id=el.id;if(!id){id="yui-event-auto-id-"+(_24++);el.id=id;}return id;},mapListener:function(_68,_69,_70,_71){var key=this.generateId(_68)+_69;if(!_25[key]){_25[key]=[];}_25[key].push({fn:_70,index:_71});},_isValidCollection:function(o){return (o&&o.length&&typeof o!="string"&&!o.tagName&&!o.alert&&typeof o[0]!="undefined");},getEl:function(id){return document.getElementById(id);},clearCache:function(){},regCE:function(ce){_18.push(ce);},_load:function(e){_14=true;},_tryPreloadAttach:function(){if(this.locked){return false;}this.locked=true;var _74=!_14;if(!_74){_74=(_22>0);}var _75=[];for(var i=0,len=_16.length;i<len;++i){var d=_16[i];if(d){var el=this.getEl(d[this.EL]);if(el){this.on(el,d[this.TYPE],d[this.FN],d[this.SCOPE],d[this.ADJ_SCOPE]);delete _16[i];}else{_75.push(d);}}}_16=_75;notAvail=[];for(i=0,len=_23.length;i<len;++i){var _77=_23[i];if(_77){el=this.getEl(_77.id);if(el){var _78=(_77.override)?_77.obj:el;_77.fn.call(_78,_77.obj);delete _23[i];}else{notAvail.push(_77);}}}_22=(_75.length===0&&notAvail.length===0)?0:_22-1;if(_74){this.startTimeout(this.POLL_INTERVAL);}this.locked=false;},_unload:function(e,me,_80){for(var i=0,len=_17.length;i<len;++i){var l=_17[i];if(l){var _82=(l[this.ADJ_SCOPE])?l[this.SCOPE]:window;l[this.FN].call(_82,this.getEvent(e),l[this.SCOPE]);}}len=_15.length;if(len){for(i=0;i<len;++i){l=_15[i];if(l){this.removeListener(l[this.EL],l[this.TYPE],l[this.FN],i);}}this.clearCache();}for(i=0,len=_18.length;i<len;++i){_18[i].unsubscribeAll();delete _18[i];}for(i=0,len=_19.length;i<len;++i){delete _19[i];}},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var dd=document.documentElement;db=document.body;if(dd&&dd.scrollTop){return [dd.scrollTop,dd.scrollLeft];}else{if(db){return [db.scrollTop,db.scrollLeft];}else{return [0,0];}}}};}();YAHOO.util.Event.on=YAHOO.util.Event.addListener;if(document&&document.body){YAHOO.util.Event._load();}else{YAHOO.util.Event.on(window,"load",YAHOO.util.Event._load,YAHOO.util.Event,true);}YAHOO.util.Event.on(window,"unload",YAHOO.util.Event._unload,YAHOO.util.Event,true);YAHOO.util.Event._tryPreloadAttach();}

YAHOO.util.Dom=function(){var ua=navigator.userAgent.toLowerCase();var id_counter=0;return{get:function(el){if(typeof el!='string'&&!(el instanceof Array)){return el;}if(typeof el=='string'){return document.getElementById(el);}else{var collection=[];for(var i=0,len=el.length;i<len;++i){collection[collection.length]=this.get(el[i]);}return collection;}return null;},getStyle:function(el,property){var f=function(el,self){var value=null;var dv=document.defaultView;if(property=='opacity'&&el.filters){value=1;try{value=el.filters.item('DXImageTransform.Microsoft.Alpha').opacity/100;}catch(e){try{value=el.filters.item('alpha').opacity/100;}catch(e){}}}else if(el.style[property]){value=el.style[property];}else if(el.currentStyle&&el.currentStyle[property]){value=el.currentStyle[property];}else if(dv&&dv.getComputedStyle){var converted='';for(var i=0,len=property.length;i<len;++i){if(property.charAt(i)==property.charAt(i).toUpperCase()){converted=converted+'-'+property.charAt(i).toLowerCase();}else{converted=converted+property.charAt(i);}}if(dv.getComputedStyle(el,'')&&dv.getComputedStyle(el,'').getPropertyValue(converted)){value=dv.getComputedStyle(el,'').getPropertyValue(converted);}}return value;};return this.batch(el,f,this);},setStyle:function(el,property,val){var f=function(el,self){switch(property){case'opacity':if(el.filters){el.style.filter='alpha(opacity='+val*100+')';if(!el.currentStyle.hasLayout){el.style.zoom=1;}}else{el.style.opacity=val;el.style['-moz-opacity']=val;el.style['-khtml-opacity']=val;}break;default:el.style[property]=val;}};this.batch(el,f,this);},getXY:function(el){var f=function(el,self){if(el.parentNode===null||self.getStyle(el,'display')=='none'){return false;}var parent=null;var pos=[];var box;if(el.getBoundingClientRect){box=el.getBoundingClientRect();Math.max(document.documentElement.scrollTop,document.body.scrollTop);var scrollTop=Math.max(document.documentElement.scrollTop,document.body.scrollTop);var scrollLeft=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft);return[box.left+scrollLeft,box.top+scrollTop];}else if(document.getBoxObjectFor){box=document.getBoxObjectFor(el);pos=[box.x,box.y];}else{pos=[el.offsetLeft,el.offsetTop];parent=el.offsetParent;if(parent!=el){while(parent){pos[0]+=parent.offsetLeft;pos[1]+=parent.offsetTop;parent=parent.offsetParent;}}if(ua.indexOf('opera')!=-1||(ua.indexOf('safari')!=-1&&self.getStyle(el,'position')=='absolute')){pos[0]-=document.body.offsetLeft;pos[1]-=document.body.offsetTop;}}if(el.parentNode){parent=el.parentNode;}else{parent=null;}while(parent&&parent.tagName!='BODY'&&parent.tagName!='HTML'){pos[0]-=parent.scrollLeft;pos[1]-=parent.scrollTop;if(parent.parentNode){parent=parent.parentNode;}else{parent=null;}}return pos;};return this.batch(el,f,this);},getX:function(el){return this.getXY(el)[0];},getY:function(el){return this.getXY(el)[1];},setXY:function(el,pos,noRetry){var f=function(el,self){var style_pos=self.getStyle(el,'position');if(style_pos=='static'){self.setStyle(el,'position','relative');style_pos='relative';}var pageXY=YAHOO.util.Dom.getXY(el);if(pageXY===false){return false;}var delta=[parseInt(YAHOO.util.Dom.getStyle(el,'left'),10),parseInt(YAHOO.util.Dom.getStyle(el,'top'),10)];if(isNaN(delta[0])){delta[0]=(style_pos=='relative')?0:el.offsetLeft;}if(isNaN(delta[1])){delta[1]=(style_pos=='relative')?0:el.offsetTop;}if(pos[0]!==null){el.style.left=pos[0]-pageXY[0]+delta[0]+'px';}if(pos[1]!==null){el.style.top=pos[1]-pageXY[1]+delta[1]+'px';}var newXY=self.getXY(el);if(!noRetry&&(newXY[0]!=pos[0]||newXY[1]!=pos[1])){var retry=function(){YAHOO.util.Dom.setXY(el,pos,true);};setTimeout(retry,0);}};this.batch(el,f,this);},setX:function(el,x){this.setXY(el,[x,null]);},setY:function(el,y){this.setXY(el,[null,y]);},getRegion:function(el){var f=function(el,self){return new YAHOO.util.Region.getRegion(el);};return this.batch(el,f,this);},getClientWidth:function(){return(document.documentElement.offsetWidth||document.body.offsetWidth);},getClientHeight:function(){return(self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight);},getElementsByClassName:function(className,tag,root){var re=new RegExp('(?:^|\\s+)'+className+'(?:\\s+|$)');var method=function(el){return re.test(el['className']);};return this.getElementsBy(method,tag,root);},hasClass:function(el,className){var f=function(el,self){var re=new RegExp('(?:^|\\s+)'+className+'(?:\\s+|$)');return re.test(el['className']);};return this.batch(el,f,this);},addClass:function(el,className){var f=function(el,self){if(self.hasClass(el,className)){return;}el['className']=[el['className'],className].join(' ');};this.batch(el,f,this);},removeClass:function(el,className){var f=function(el,self){if(!self.hasClass(el,className)){return;}var re=new RegExp('(?:^|\\s+)'+className+'(?:\\s+|$)','g');var c=el['className'];el['className']=c.replace(re,' ');};this.batch(el,f,this);},replaceClass:function(el,oldClassName,newClassName){var f=function(el,self){self.removeClass(el,oldClassName);self.addClass(el,newClassName);};this.batch(el,f,this);},generateId:function(el,prefix){prefix=prefix||'yui-gen';var f=function(el,self){el=el||{};if(!el.id){el.id=prefix+id_counter++;}return el.id;};return this.batch(el,f,this);},isAncestor:function(haystack,needle){haystack=this.get(haystack);if(!haystack||!needle){return false;}var f=function(needle,self){if(haystack.contains&&ua.indexOf('safari')<0){return haystack.contains(needle);}else if(haystack.compareDocumentPosition){return!!(haystack.compareDocumentPosition(needle)&16);}else{var parent=needle.parentNode;while(parent){if(parent==haystack){return true;}else if(parent.tagName=='HTML'){return false;}parent=parent.parentNode;}return false;}};return this.batch(needle,f,this);},inDocument:function(el){var f=function(el,self){return self.isAncestor(document.documentElement,el);};return this.batch(el,f,this);},getElementsBy:function(method,tag,root){tag=tag||'*';root=this.get(root)||document;var nodes=[];var elements=root.getElementsByTagName(tag);for(var i=0,len=elements.length;i<len;++i){if(method(elements[i])){nodes[nodes.length]=elements[i];}}return nodes;},batch:function(el,method,o){el=this.get(el);if(!el||!el.length){return method(el,o);}var collection=[];for(var i=0,len=el.length;i<len;++i){collection[collection.length]=method(el[i],o);}return collection;}};}();YAHOO.util.Region=function(t,r,b,l){this.top=t;this.right=r;this.bottom=b;this.left=l;};YAHOO.util.Region.prototype.contains=function(region){return(region.left>=this.left&&region.right<=this.right&&region.top>=this.top&&region.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(region){var t=Math.max(this.top,region.top);var r=Math.min(this.right,region.right);var b=Math.min(this.bottom,region.bottom);var l=Math.max(this.left,region.left);if(b>=t&&r>=l){return new YAHOO.util.Region(t,r,b,l);}else{return null;}};YAHOO.util.Region.prototype.union=function(region){var t=Math.min(this.top,region.top);var r=Math.max(this.right,region.right);var b=Math.max(this.bottom,region.bottom);var l=Math.min(this.left,region.left);return new YAHOO.util.Region(t,r,b,l);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"  t: "+this.top+", r: "+this.right+", b: "+this.bottom+", l: "+this.left+"}");};YAHOO.util.Region.getRegion=function(el){var p=YAHOO.util.Dom.getXY(el);var t=p[1];var r=p[0]+el.offsetWidth;var b=p[1]+el.offsetHeight;var l=p[0];return new YAHOO.util.Region(t,r,b,l);};YAHOO.util.Point=function(x,y){this.x=x;this.y=y;this.top=y;this.right=x;this.bottom=y;this.left=x;};YAHOO.util.Point.prototype=new YAHOO.util.Region();



// ------------------------------------------------------------------------------------------------------------------

// Rounded corners with rounded border - Learn/Buy/Use Widget

YAHOO.util.Event.onAvailable('lbuWdgt', function(){Rounded("div#lbuWdgt","top","transparent","#EBEBEB","border #CCC")});
YAHOO.util.Event.onAvailable('lbuWdgt', function(){Rounded("div#lbuWdgt","bottom","transparent","#FFF","border #CCC")});
YAHOO.util.Event.onAvailable('lbuWdgtNoBG', function(){Rounded("div#lbuWdgtNoBG","top","transparent","#FFF","border #CCC")});
YAHOO.util.Event.onAvailable('lbuWdgtNoBG', function(){Rounded("div#lbuWdgtNoBG","bottom","transparent","#FFF","border #CCC")});

function Rounded(selector,wich,bk,color,opt){
var i,prefixt,prefixb,cn="r",ecolor="",edges=false,eclass="",b=false,t=false;

if(color=="transparent"){
    cn=cn+"x";
    ecolor=bk;
    bk="transparent";
    }
else if(opt && opt.indexOf("border")>=0){
    var optar=opt.split(" ");
    for(i=0;i<optar.length;i++)
        if(optar[i].indexOf("#")>=0) ecolor=optar[i];
    if(ecolor=="") ecolor="#666";
    cn+="e";
    edges=true;
    }
else if(opt && opt.indexOf("smooth")>=0){

    cn+="a";
    ecolor=Mix(bk,color);
    }
if(opt && opt.indexOf("small")>=0) cn+="s";
prefixt=cn;
prefixb=cn;
if(wich.indexOf("all")>=0){t=true;b=true}
else if(wich.indexOf("top")>=0) t="true";
else if(wich.indexOf("tl")>=0){
    t="true";
    if(wich.indexOf("tr")<0) prefixt+="l";
    }
else if(wich.indexOf("tr")>=0){
    t="true";
    prefixt+="r";
    }
if(wich.indexOf("bottom")>=0) b=true;
else if(wich.indexOf("bl")>=0){
    b="true";
    if(wich.indexOf("br")<0) prefixb+="l";
    }
else if(wich.indexOf("br")>=0){
    b="true";
    prefixb+="r";
    }
var v=getElementsBySelector(selector);
var l=v.length;
for(i=0;i<l;i++){
    if(edges) AddBorder(v[i],ecolor);
    if(t) AddTop(v[i],bk,color,ecolor,prefixt);
    if(b) AddBottom(v[i],bk,color,ecolor,prefixb);
    }
}

function AddBorder(el,bc){
var i;
if(!el.passed){
    if(el.childNodes.length==1 && el.childNodes[0].nodeType==3){
        var t=el.firstChild.nodeValue;
        el.removeChild(el.lastChild);
        var d=CreateEl("span");

        d.style.display="block";
        d.appendChild(document.createTextNode(t));
        el.appendChild(d);
        }
    for(i=0;i<el.childNodes.length;i++){
        if(el.childNodes[i].nodeType==1){
            el.childNodes[i].style.borderLeft="0px solid "+bc;
            el.childNodes[i].style.borderRight="1px solid "+bc;
            }
        }
    }
el.passed=true;
}
    
function AddTop(el,bk,color,bc,cn){
var i,lim=4,d=CreateEl("b");

if(cn.indexOf("s")>=0) lim=2;
if(bc) d.className="artop";
else d.className="rtop";
d.style.backgroundColor=bk;
for(i=1;i<=lim;i++){
    var x=CreateEl("b");
    x.className=cn + i;
    x.style.backgroundColor=color;
    if(bc) x.style.borderColor=bc;
    d.appendChild(x);
    }
el.style.paddingTop=0;
el.insertBefore(d,el.firstChild);
}

function AddBottom(el,bk,color,bc,cn){
var i,lim=4,d=CreateEl("b");

if(cn.indexOf("s")>=0) lim=2;
if(bc) d.className="artop";
else d.className="rtop";
d.style.backgroundColor=bk;
for(i=lim;i>0;i--){
    var x=CreateEl("b");
    x.className=cn + i;
    x.style.backgroundColor=color;
    if(bc) x.style.borderColor=bc;
    d.appendChild(x);
    }
el.style.paddingBottom=0;
el.appendChild(d);
}

function CreateEl(x){
return(document.createElement(x));
}

function getElementsBySelector(selector){
var i,selid="",selclass="",tag=selector,f,s=[],objlist=[];

if(selector.indexOf(" ")>0){  //descendant selector like "tag#id tag"
    s=selector.split(" ");
    var fs=s[0].split("#");
    if(fs.length==1) return(objlist);
    f=document.getElementById(fs[1]);
    if(f) return(f.getElementsByTagName(s[1]));
    return(objlist);
    }
if(selector.indexOf("#")>0){ //id selector like "tag#id"
    s=selector.split("#");
    tag=s[0];
    selid=s[1];
    }
if(selid!=""){
    f=document.getElementById(selid);
    if(f) objlist.push(f);
    return(objlist);
    }
if(selector.indexOf(".")>0){  //class selector like "tag.class"
    s=selector.split(".");
    tag=s[0];
    selclass=s[1];
    }
var v=document.getElementsByTagName(tag);  // tag selector like "tag"
if(selclass=="")
    return(v);
for(i=0;i<v.length;i++){
    if(v[i].className.indexOf(selclass)>=0){
        objlist.push(v[i]);
        }
    }
return(objlist);
}

function Mix(c1,c2){
var i,step1,step2,x,y,r=new Array(3);
if(c1.length==4)step1=1;
else step1=2;
if(c2.length==4) step2=1;
else step2=2;
for(i=0;i<3;i++){
    x=parseInt(c1.substr(1+step1*i,step1),16);
    if(step1==1) x=16*x+x;
    y=parseInt(c2.substr(1+step2*i,step2),16);
    if(step2==1) y=16*y+y;
    r[i]=Math.floor((x*50+y*50)/100);
    }
return("#"+r[0].toString(16)+r[1].toString(16)+r[2].toString(16));
} 



// ------------------------------------------------------------------------------------------------------------------

// product finder

// debug: uncomment this to turn debugging on so we don't need to use netscape
self.onerror = function showErr(msg,url,line) {
	alert("ERROR: "+msg+"\nline: "+line);
}

// Popup Windows
function popup (url,width,height,name) {
	var w = window.open (url,name,"toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=" + width + ",height=" + height,true);
	w.focus();
	if(arguments.length >= 5) {
		return w;
	}
}

// Menus
var timerID = null; 
var timerOn = false; 
var timecount = 500; 
var check = false;
function getPos(element, which) {
	pos = 0
	while (element != null) {
		pos += element["offset" + which]
		element = element.offsetParent
	}
	return pos;
}

function show(name) {
			var elem = document.getElementById(name);
			var parent = elem.parentNode;
			if (elem != null) {
				elem.style.visibility="visible";
				elem.style.display="block";
				elem.style.left=(getPos(parent, "Left") + 10) + "px";
				elem.style.top=(getPos(parent, "Top") + 18) + "px";
			}
}

function hide(name) {
			var elem = document.getElementById(name);
			if (elem != null) {
				elem.style.visibility="hidden";
				elem.style.display="none";
			}
}

var Divs = new Array();
Divs[0] = "utility_symantec";
Divs[1] = "utility_about";
Divs[2] = "utility_i18n";
Divs[3] = "utility_login";
function hideAll(omit) {
	for (i = 0; i < Divs.length; i++) {
		if (omit != Divs[i]) {
			hide(Divs[i]);
		}
	}
}

function startTime() {
	if (timerOn == false) {
		timerID = setTimeout("hideAll()", timecount);
		timerOn = true;
	}
}

function stopTime() {
	if (timerOn) {
		clearTimeout(timerID);
		timerID = null;
		timerOn = false;
	}
}

// Product Selector
var prod_selector = new Object();
prod_selector.anchorDivId = ""; prod_selector.anchorBtmId=""; prod_selector.primaryWidth = 0; prod_selector.secondaryWidth = 0;
prod_selector.mouseOverImg = ""; prod_selector.normalImg = ""; prod_selector.topStatusTxt = ""; prod_selector.bgColorClass = "";
prod_selector.itemBorderClass = ""; prod_selector.menuGraphicClass = ""; prod_selector.btmBorderClass = ""; 
prod_selector.itemContentClass = ""; prod_selector.objWinHgt = ""; prod_selector.objScrollOffset = ""; prod_selector.objWinWidth = "";
prod_selector.spacerGifPath = "/img/spacer.gif"; prod_selector.browser = ""; prod_selector.tOffset = 0; prod_selector.invTOfsset = 0;
prod_selector.iemac = false; prod_selector.psLayers = new Array();

var mItems = new Array();
var lList = new Object();
var selTmrId = null; 
var selTmrOn = false; 
var selTmrCnt = 700; 
prod_selector.iemac = (navigator.userAgent.indexOf('MSIE 5') != -1 && navigator.userAgent.indexOf('Mac') != -1);
if(document.layers) { // NS 4.x specific
	var origWidth = window.innerWidth;
	var origHeight = window.innerHeight;
	window.onresize = function() {
if(window.innerWidth != origWidth || window.innerHeight != origHeight) {//extra code to ensure a genuine resize has occurred
	origWidth = window.innerWidth; 
	origHeight = window.innerHeight;
	window.location.reload();
	}
};

} // end NS4.x block
function window_on_load () {
	if(document.getElementById) {
		window.onresize = function() {calculate_lOffset()};
		var top = document.getElementById('prod-selector'); 
		if(top) {
				getHghts(); getInvs(); calculate_lOffset();calculate_TOffsets();
				top.onmouseover = function(){window.status = prod_selector.topStatusTxt; showSelDiv('level-1', prod_selector.anchorBtmId); selstop();};
				top.onmouseout = function(){window.status=''; selstart();};
				top=null;;
		}
	}
}

function calculate_lOffset() {
	if(prod_selector.secondaryWidth > 0) {
		var right_terminus = getPos(document.getElementById(prod_selector.anchorDivId), 'Left') + prod_selector.primaryWidth + prod_selector.secondaryWidth;
		if(right_terminus <= eval(prod_selector.objWinWidth) || prod_selector.iemac) {
			prod_selector.leftOffset = prod_selector.primaryWidth;
		} else {
			prod_selector.leftOffset = (-1 * prod_selector.secondaryWidth) - 2;
		}

		if(prod_selector.browser == 'IE') {
			prod_selector.leftOffset = prod_selector.primaryWidth + 1;
		}
	}
}

function calculate_TOffsets() { //values determined empirically
	if(prod_selector.browser == 'IE' && !(prod_selector.iemac)) {
		prod_selector.tOffset = 0;
		prod_selector.invTOfsset = -1;
	} else {
		prod_selector.tOffset = -1;
		prod_selector.invTOfsset = 0;
	}
}

function setobjs(){
	if(navigator.userAgent.indexOf('Safari') != -1)	{
		prod_selector.objWinHgt = 'window.innerHeight';
		prod_selector.objScrollOffset = 'window.pageYOffset';
		prod_selector.objWinWidth = 'window.innerWidth';
		prod_selector.browser = 'Safari';
	}
	else if(window.innerHeight) { //NS
		prod_selector.objWinHgt = 'window.innerHeight';
		prod_selector.objScrollOffset = 'window.pageYOffset';
		prod_selector.objWinWidth = 'window.innerWidth';
		prod_selector.browser = 'Mozilla';
	}	
	else if(document.body.clientHeight) { //IE
		prod_selector.objWinHgt = 'document.body.clientHeight';
		prod_selector.objWinWidth = 'document.body.clientWidth';
		prod_selector.objScrollOffset = 'document.body.scrollTop';
		prod_selector.browser = 'IE';
	}
}

function mustInv(toShow){
	var inv = false;
	var lTop = getPos(prod_selector.psLayers[lList[toShow]].lock, "Top");
	if((lTop + prod_selector.psLayers[lList[toShow]].height) >= (eval(prod_selector.objWinHgt) + eval(prod_selector.objScrollOffset)) && (lTop - prod_selector.psLayers[lList[toShow]].height > 15)) inv = true;
	return inv;
}

function showSelDiv(toshow, lockto){
	if(prod_selector.psLayers.length > 0) {
			var ptr = document.getElementById(toshow);
			var inv = mustInv(toshow);
			if((!(prod_selector.iemac) && inv) || (prod_selector.iemac && toshow != 'level-1' && inv))
			{
				var oLft = (toshow == 'level-1') ? 0 : prod_selector.leftOffset;
				var oTop = 0;
				ptr.style.visibility="visible";
				ptr.style.display="block";
				ptr.style.left= (getPos(prod_selector.psLayers[lList[toshow]].inv_lock, 'Left') + oLft) + "px";
				ptr.style.top = '';
				ptr.style.top= (getPos(prod_selector.psLayers[lList[toshow]].inv_lock, 'Top') - (prod_selector.psLayers[lList[toshow]].height + prod_selector.invTOfsset)) + "px";
			}
			else
			{
				var offsetLeft = (toshow == 'level-1') ? (0) : prod_selector.leftOffset;
				var offsetTop = 0;
				ptr.style.visibility="visible";
				ptr.style.display="block";
				ptr.style.left= (getPos(prod_selector.psLayers[lList[toshow]].lock, 'Left') + offsetLeft) + "px";
				ptr.style.top = ''; //odd hack, necessary to accomodate ie on the mac!
				ptr.style.top = (prod_selector.iemac) ? ((lockto == prod_selector.anchorBtmId) ? '' : (getPos(prod_selector.psLayers[lList[toshow]].lock, 'Top') + prod_selector.tOffset) + "px") : ((getPos(prod_selector.psLayers[lList[toshow]].lock, 'Top') + prod_selector.tOffset) + "px");
			}
	}
}

function selstart() {
	if (document.getElementById('selectorHead')){
		document.getElementById('selectorHead').style.backgroundColor = "#f27f1a";
	}
	if (selTmrOn == false) {
		selTmrId = setTimeout("hideselall()", selTmrCnt);
		selTmrOn = true;
	}
}

function selstop() {
	if (document.getElementById('selectorHead')){
		document.getElementById('selectorHead').style.backgroundColor = "#999999";
	}
	if (selTmrOn) {
		clearTimeout(selTmrId);
		selTmrId = null;
		selTmrOn = false;
	}
}

function hideselall() {
	if(arguments.length != 0)
	{
		var exclude;
		for (var i = 0; i < prod_selector.psLayers.length; i++)
		{
			exclude = false;
			for(var ii = 0; ii < arguments.length; ii++)
			{
				if(prod_selector.psLayers[i].id == arguments[ii])
				{
					exclude = true;
					break;
				}
			}
			if(!(exclude))
			{
				hide(prod_selector.psLayers[i].id);
			}
		}
	}
	else
	{
		for (var i = 0; i < prod_selector.psLayers.length; i++)
		{
			hide(prod_selector.psLayers[i].id);
		}
	}
}

function hvr(ID, href, value){
		window.status = href; 
		document.getElementById((ID)).style.backgroundColor = (value) ? "#f27f1a" : ""; //TBD: color in a variable
		document.getElementById(('td-' + ID)).style.color = (value) ? "#ffffff" : ""; //TBD: color in a variable
		if(document.images[('img-' + ID)]) document.images[('img-' + ID)].src = (value) ?  prod_selector.mouseOverImg : prod_selector.normalImg;
		// This code is added so as to make the main category selected when the mouse is at the child layer (Product)
		if (ID.indexOf("_")!= "-1")
		{
			ID = ID.substring(0, ID.indexOf("_"));
			document.getElementById((ID)).style.backgroundColor = (value) ? "#f27f1a" : ""; //TBD: color in a variable
			document.getElementById(('td-' + ID)).style.color = (value) ? "#ffffff" : ""; //TBD: color in a variable
			if(document.images[('img-' + ID)]) document.images[('img-' + ID)].src = (value) ?  prod_selector.mouseOverImg : prod_selector.normalImg;
		}
	}

function copyArray(arrToCopy){
	var temp = new Array();
	for(var i=0; i < arrToCopy.length; i++)
	{
		temp[i] = arrToCopy[i];
	}
	return temp;
}

function initiateBuild()
{
	 if(mItems.length != 0)
	 {
		buildSel(mItems);
	}
}

function buildSel(arrInfo){
	var markup, itemMU;
	var styleOverride = '';
	var arrArg;
	var xclusion;
	var containingLayer;
	var width;
	var zIndex;
	if(arguments.length == 1) //first time in
	{
		setobjs();
		width = prod_selector.primaryWidth ;
		containingLayer = 'level-1' ;
		var elem = new Object();
		elem['id'] = containingLayer;
		elem['top'] = 0;
		elem['height'] = 0;
		prod_selector.psLayers[0] = elem;
		xclusion = "'" + containingLayer + "'";
		arrArg = new Array(containingLayer);
	}
	else //recursion
	{
		width = prod_selector.secondaryWidth; //TBD: needs to be tweaked, or perhaps controllable dynamically;
		containingLayer = arrInfo[0].parent + '-sub';
		var surr =  arguments[1];
		//build the exclusion list: 
		for(x=0; x < surr.length; x++)
		{
			xclusion = (x==0) ? ("'" + surr[x] + "'") : (xclusion + ",'" + surr[x] + "'");
		}
		xclusion += ",'" + containingLayer + "'";
		arrArg = copyArray(arguments[1]); //copy to augment
		arrArg[arrArg.length] = containingLayer;
	}
	styleOverride = ' style="width:' + width + 'px;"';
	zIndex = arguments.length == 1 ? 1 : 2;
	markup = '<div id="' + containingLayer + '" style="z-Index:' + zIndex + '; position:absolute; visibility:hidden; " onMouseOver="selstop();" onMouseOut="selstart();">';
	markup += '\n<table class="' + prod_selector.bgColorClass + '" width="' + width + '" cellspacing="0" cellpadding="0">\n';
	itemMU = '';
	//for each menu item:
	for(var i=0; i < arrInfo.length; i++)
	{
		var thisExclusion = '';
		var obj = arrInfo[i];
		var aParent = (obj.sub_nav && obj.sub_nav.length >= 1);
		itemMU += '<tr>';
		if(i == arrInfo.length - 1)
		{
			itemMU += '<td class="' + prod_selector.btmBorderClass + '">';
			
		} else {
			itemMU += '<td class="' + prod_selector.itemBorderClass + '">';
		}
		itemMU += '<div id="' + obj.id + '" onClick="window.location=' + "'" + obj.link + "'" + ';"';
		itemMU += ' onMouseOver="hvr(' + "'" + obj.id + "'" + ', ' + "'" + obj.link + "'" + ', true); ';
		/* extra mouseover code here: */
		thisExclusion = ' hideselall(';		
		if(aParent) //if there are children, we have to *show* specific layers, as well as hide others
		{
			thisExclusion += xclusion + ",'" +obj.id + "-sub'" + "); showSelDiv('" + obj.id + "-sub', " + "'" + obj.id + "', '" + containingLayer + "');" + ' selstop();" ';
		}
		else //just hide the others
		{
			thisExclusion += xclusion + ');" ';
		}
		itemMU += thisExclusion;
		itemMU += 'onMouseOut="hvr(' + "'" + obj.id + "'" + ', ' + "''," + ' false);" ';
		itemMU += ' style="width:' + width + 'px;">\n';;  
		itemMU += '<table border="0" cellspacing="0" cellpadding="0">\n';
		var dynamWidth = width - 5; //5 is the width of the arrow graphic
		itemMU += '<tr><td style="padding:.3em 1em; line-height:1.2em" id="td-' + obj.id + '" class="' + prod_selector.itemContentClass + '" >' + obj.text + '</td>';
		//do we need to add the arrow, which signifies that the menu item has children?
		var rightMostCell = (aParent) ? '<img id="img-' + obj.id + '" src="' + prod_selector.normalImg + '" width="5" height="5" border="0">' : '';
		itemMU += '<td style="padding:.2em .3em 0 0" class="' + prod_selector.menuGraphicClass + '" >' + rightMostCell + '</td>';
		itemMU += '</tr></table>\n</div></td></tr>\n';
		if(aParent) //recurse
		{
			buildSel(obj.sub_nav, arrArg)
		}
	}
	markup += itemMU;
	markup += '</table>\n<div id="' + containingLayer + '-bottom"><img src="' + prod_selector.spacerGifPath + '" width="1" height="1" alt="" border="0">' + '</div>\n</div>';
	document.write(markup);
	if(containingLayer != 'level-1')
	{
		var elem = new Object();
		elem['id'] = containingLayer;
		elem['height'] = 0;
		prod_selector.psLayers[prod_selector.psLayers.length] = elem;
	}
}

function fetchNode(id, arrToSearch){
	var found = null;
	for(var i=0; i <= arrToSearch.length - 1; i++)
	{
		var current = arrToSearch[i];
		if(current['id'])
		{
			if(current['id'] == id)
			{
				found = current;
				break;
			}
		}
		if(current['sub_nav'] && current['sub_nav'].length >= 1)
		{
			found = fetchNode(id, current['sub_nav']);
			if(found) break;
		}
	}
	return found;
}

function buildNode(parentID, id, txt, href, hasSub){
if(parentID == prod_selector.anchorDivId)
	{
		mItems[mItems.length] = new Object();
		var node = mItems[mItems.length - 1];
		node['id'] = id;
		node['text'] = txt;
		node['link'] = href;
		//does this have children?
		if(hasSub) node['sub_nav'] = new Array();
	}
	else //build subordinate item:
	{
		var parent = fetchNode(parentID, mItems);
		if(parent)
		{
			if(!parent['sub_nav']) parent['sub_nav'] = new Array();
			var sub = parent['sub_nav'][parent['sub_nav'].length] = new Object();
			sub['parent'] = parent.id;
			sub['id'] = id;
			sub['text'] = txt;
			sub['link'] = href;
			//Does this have a sub nav?
			if(hasSub) sub['sub_nav'] = new Array();
		}
	}
}

function getHghts(){
	for(var i=0; i < prod_selector.psLayers.length; i++)
	{
		var posID;
		var id; 
		if(i==0) //level-1
		{
			posID = prod_selector.anchorBtmId;
			id = 'level-1';
		}
		else //the subs
		{
			posID = prod_selector.psLayers[i].id.substr(0, prod_selector.psLayers[i].id.indexOf('-sub'));
			id = prod_selector.psLayers[i].id;
		}
	//positioning element:
	var posEl = document.getElementById(posID);
	//element to be positioned:
	var el = document.getElementById(id);
	var top = getPos(posEl, "Top");
	el.style.top = top  + "px";
	var bottom = document.getElementById(id + '-bottom');
	var Hght = getPos(bottom, "Top") - top;
	prod_selector.psLayers[i].height = Hght;
	if(i==0)
		{
			prod_selector.psLayers[i]['lock'] = document.getElementById(prod_selector.anchorBtmId);
		}
		else
		{
			prod_selector.psLayers[i]['lock'] = posEl;
		}
		//put entry in the linked list:
		lList[id] = i;
	}
}

var getInvs="function getInvs() {"; 
getInvs += "for(var i=0; i < prod_selector.psLayers.length; i++){";
getInvs += "switch(i) {";
getInvs += "case 0:";
getInvs += "prod_selector.psLayers[i]['inv_lock'] = document.getElementById(prod_selector.anchorDivId); break;";
getInvs += "case (prod_selector.psLayers.length - 1):";
getInvs += "prod_selector.psLayers[i]['inv_lock'] = document.getElementById('level-1-bottom'); break;";
getInvs += "default:";
getInvs += "prod_selector.psLayers[i]['inv_lock'] = prod_selector.psLayers[i + 1]['lock'];}";
getInvs += "} }";
eval(getInvs);



// ------------------------------------------------------------------------------------------------------------------

// metrics

/*

	<!-- SiteCatalyst code version: G.6.
	Copyright 1997-2004 Omniture, Inc. More info available at
	http://www.omniture.com --><script language="JavaScript"><!--

*/

	/* You may give each page an identifying name, server, and channel on the next lines. */

	var s_pageName=""
	var s_server=""
	var s_channel=""
	var s_pageType=""
	var s_prop1=""
	var s_prop2=""
	var s_prop3=""
	var s_prop4=""
	var s_prop5=""
	var s_prop6=""
	var s_prop7=""
	var s_prop8=""
	var s_prop9=""
	var s_prop10=""
	/* E-commerce Variables */
	var s_campaign=""
	var s_state=""
	var s_zip=""
	var s_events=""
	var s_products=""
	var s_purchaseID=""
	var s_eVar1=""
	var s_eVar2=""
	var s_eVar3=""
	var s_eVar4=""
	var s_eVar5=""
	var s_eVar6=""
	var s_eVar7=""
	var s_eVar8=""
	var s_eVar9=""
	var s_eVar10=""
	var s_charSet="UTF-8"

	//--></script>		



// ------------------------------------------------------------------------------------------------------------------