// catch and disregard script errors 
/*onerror=handleerror; 
function handleerror() { 
    return true; 
}*/ 

// define show/hide layer functions 
function showDiv( divID ) { 
    if( document.layers ) { 
        thisDiv = eval( 'document.' + divID ); 
        thisDiv.visibility = "show"; 
    } 
    else if( document.all ) { 
        thisDiv = eval( divID + '.style' ); 
        thisDiv.visibility = "visible"; 
    } 
    else if( document.getElementById ) { 
        thisDiv = document.getElementById( divID ); 
        thisDiv.style.visibility = "visible"; 
    } 
 } 
 
 function hideDiv( divID ) { 
    if( document.layers ) { 
        thisDiv = eval( 'document.' + divID ); 
        thisDiv.visibility = "hide"; 
    } else if( document.all ) { 
        thisDiv = eval( divID + '.style' ); 
        thisDiv.visibility = "hidden"; 
    } else if( document.getElementById ) { 
        thisDiv = document.getElementById( divID ); 
        thisDiv.style.visibility = "hidden"; 
    } 
} 

// This function requires the list of menu div names, cause we don't want to hide all div's in case some are used for things apart from the nav menu 
var menuDivIDs = [ 'newsMenu', 'productsMenu', 'companyMenu', 'careersMenu', 'communityMenu' ]; 

function menuHideAll() { 
    for( i = 0; i < menuDivIDs.length; i++ ) { 
        hideDiv( menuDivIDs[i] ); 
    } 
} 

// function to determine where an event is coming from/going to 
function containsNN6 (container, containee) { 
    var isParent = false; 
    do { 
        if ((isParent = container == containee)) break; 
        containee = containee.parentNode; 
    } while (containee != null); 
    return isParent; 
} 

// netscape 4 onmouseout handler 
if( document.layers ) { 
    document.captureEvents(Event.MOUSEOUT); 
    document.onMouseOut = handleMouseOut; 
    function handleMouseOut( e ) { 
        if( e.target.name=='newsMenu' || e.target.name=='productsMenu' || e.target.name=='companyMenu' || e.target.name=='careersMenu' || e.target.name=='communityMenu') 
            hideDiv(e.target.name); 
        else  // pass the onmouseout event on 
            routeEvent( e ); 
    } 
}

function swapImgRestore() { //v3.0
  var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.p) d.p=new Array();
    var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}

function findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function swapImage() { //v3.0
  var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}