function mscOpen() {
	(document.getElementById('pageHeaderMSC')).onMouseOver = null;
	document.getElementById('pageHeaderMSCOPEN').style.display='block';
}
function mscClose() {
	(document.getElementById('pageHeaderMSC')).onMouseOver = mscOpen;	
	document.getElementById('pageHeaderMSCOPEN').style.display='none';
}

function newImage(arg) {
    if (document.images) {
        rslt = new Image();
        rslt.src = arg;
        return rslt;
    }
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function dePop(popURL, popName, popWidth, popHeight, popScroll) {
    var popURL;
    var popName;    // No spaces are allowed in popName
    var popWidth;
    var popHeight;
    popXpos = (screen.width - popWidth) / 2;
    popYpos = (screen.height - popHeight) / 2;
    popProps = "height="+popHeight+",width="+popWidth+",top="+popYpos+",left="+popXpos+",scrollbars="+popScroll+",resizable=0,toolbar=0,menubar=0";
    return window.open(popURL, popName, popProps);
}

function getBrowserInfo()
{
   var browser             = new Object();
   browser.name            = browser.version = browser.os = "unknown";
   var userAgent           = navigator.userAgent.toLowerCase();
   var browserListArray    = new Array("firefox", "msie", "netscape", "opera", "safari");
   var osListArray         = new Array("linux", "mac", "windows", "x11");
   for(var i = 0, n = browserListArray.length; i < n; i++)
   {   // get browser name and version
      var strPosition = userAgent.indexOf(browserListArray[i]) + 1;
      if(strPosition > 0)
      {
         browser.name = browserListArray[i]; // browser name

         var versionPosition = strPosition + browser.name.length;
         var incr = ((browser.name == "safari") || (userAgent.charAt(versionPosition + 4) > 0 && userAgent.charAt(versionPosition + 4) < 9)) ? 5 : 3;
         browser.version     = userAgent.substring(versionPosition, versionPosition + incr); // browser version
      }
   }
   for(var i = 0, n = osListArray.length; i < n; i++)
   {
      var strPosition = userAgent.indexOf(osListArray[i]) + 1;
      if(strPosition > 0)
      {
         browser.os  = osListArray[i];
      }
   }


   var appname = navigator.appName;
   if (appname == "Netscape")
      browser.appname = "ns";
   else if (appname == "Microsoft Internet Explorer")
      browser.appname = "ie";

   browser.appVersion = navigator.appVersion;
   browser.vMajor  = parseInt(browser.appVersion);
   browser.isNS    = (browser.appname =="ns" && browser.vMajor >= 4);
   browser.isNS4   = (browser.appname =="ns" && browser.vMajor == 4);
   browser.isNS6   = (browser.appname =="ns" && browser.vMajor == 5);
   browser.isIE    = (browser.appname =="ie" && browser.vMajor >= 4);
   browser.isIE4   = (browser.appVersion.indexOf ('MSIE 4')   >0);
   browser.isIE5   = (browser.appVersion.indexOf ('MSIE 5')   >0);
   browser.isIE6   = (browser.appVersion.indexOf ('MSIE 6')   >0);
   browser.isIE7   = (browser.appVersion.indexOf ('MSIE 7')   >0);   
   browser.isDOM   = (document.createElement
                     && document.appendChild
                     && document.getElementsByTagName) ? true : false;
   //safari sniffing --start
   var detect = navigator.appVersion.toLowerCase();
   browser.isSafari = (detect.indexOf('macintosh')+1)?true:false;
   //if mac then assume safari
   //safari sniffing --stop

   var ua = navigator.userAgent.toLowerCase();
   if (ua.indexOf ("win") > - 1)
      browser.platform = "win";
   else if (ua.indexOf("mac") > -1)
      browser.platform = "mac";
   else
      browser.platform="other";

   return browser;

} //getBrowserInfo()

var browserinfo = new getBrowserInfo();

function setImgExt(imgid)
{

    // Don't do anything if this is not IE6 or below
    if (!browserinfo.isIE6 && !browserinfo.isIE5 && !browserinfo.isIE4 )
    {
        return;
    }
    
    var imgElement = document.getElementById(imgid);
    if ( imgElement != null )
    {
        // Strip off the jsessionid if there is one.       
        var imgsrc = imgElement.src;
        imgsrc = imgsrc.replace(/;jsessionid=.*/, '');
	    if ( browserinfo.isIE6 || browserinfo.isIE5 || browserinfo.isIE4 )
	    {
	       imgElement.src =  imgsrc.replace(/png$/,"gif");
	    } 
    }
}

/* Client-side access to querystring name=value pairs
    Version 1.3
    28 May 2008
    
    License (Simplified BSD):
    http://adamv.com/dev/javascript/qslicense.txt
*/
function Querystring(qs) { // optionally pass a querystring to parse
    this.params = {};
    this.numparams = 0;
    
    if (qs == null) qs = location.search.substring(1, location.search.length);
    if (qs.length == 0) return;

    // Turn <plus> back to <space>
    // See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
    qs = qs.replace(/\+/g, ' ');
    var args = qs.split('&'); // parse out name/value pairs separated via &
    
    this.numparams = args.length;
    
    // split out each name=value pair
    for (var i = 0; i < args.length; i++) {
        var pair = args[i].split('=');
        var name = decodeURIComponent(pair[0]);
        
        var value = (pair.length==2)
            ? decodeURIComponent(pair[1])
            : name;
        
        this.params[name] = value;
        
    }
}

Querystring.prototype.length = function() { return this.numparams; }

Querystring.prototype.get = function(key, default_) {
    var value = this.params[key];
    return (value != null) ? value : default_;
}

Querystring.prototype.contains = function(key) {
    var value = this.params[key];
    return (value != null);
}

    
function roundCorners()
{  
      var settings = {
          tl: { radius: 12 },
          tr: { radius: 12 },
          bl: { radius: 12 },
          br: { radius: 12 },
          antiAlias: true,
          autoPad: false,
          validTags: ["div"]
      }

      //var myBoxObject = new curvyCorners(settings, "roundCorner");
      //myBoxObject.applyCornersToAll();
      curvyCorners(settings, ".roundCorner");
}

function roundWithPrecision(num, precision)
{
    if(precision == 0){return Math.round(num);}
    else{ return (Math.round((num * Math.pow(10,precision))))/Math.pow(10,precision);}
}

function removeAllChildren(node)
{
    if(!node) { return; }
    
    var len = node.childNodes.length;

    for(var i = 0; i < len; i++)
    {
        try
        {
            node.removeChild(node.childNodes[i]);
        }
        catch(e)
        {
        }
    }
    node.innerHTML = "";
}

function emptyFunction() { }

sfHover = function() {
	var globalNavEl = document.getElementById("globalNav");
	if ( globalNavEl != null )
	{
		var sfEls = globalNavEl.getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				this.className+=" sfhover";
			}
			sfEls[i].onmouseout=function() {
				this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			}
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);


function openPopup(url, width, height, toolbar, menubar)
{
	width = (typeof width == 'undefined') ? 740 : width;
	height = (typeof height == 'undefined') ? 600 : height;
	toolbar = (typeof toolbar == 'undefined') ? 0 : toolbar;
	menubar = (typeof menubar == 'undefined') ? 0 : menubar;

	popXpos = (screen.width - width) / 2;
	popYpos = (screen.height - height) / 2;
	popProps = "height="+height+",width="+width+",top="+popYpos+",left="+popXpos+",scrollbars=1,resizable=1,location="+toolbar+",toolbar="+toolbar+",menubar="+menubar+",status=1";
	
	var success = window.open(url,'', popProps);
	if(!success)
	{
		getSwf('bodyContainer').openPopup(url);
	}	
}

function getSwf(id)
{
	if(navigator.appName.indexOf("Microsoft") != -1)
		return window[id];
	else
		return document[id];
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function launchCareerBuilder(url)
{
	if(url == null || url == "")
		url = '../business/careers/careerBuilder.jsp';
	MM_openBrWindow(url,'currentOpenings','scrollbars=auto,width=625,height=560');
}


function setCookie(cname,value,expires)
{
    document.cookie = cname + "= "+ value + "; expires=" + expires.toGMTString() + "; path=/";
}

function getCookie(cname)
{
    cname += "=";
    var cvalue = null;
    var allcookies = document.cookie.split(";");
    for (var i=0; i < allcookies.length; i++)
    {
        var c = allcookies[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(cname) == 0) cvalue = c.substring(cname.length,c.length);
    }

    return cvalue;
}

function loadXML(xmlPath, callbackFn)
{
	var callback = {
	    success : function(o) {
		callbackFn(o);
	    },
	    failure : function(o) {
		    alert("The XML was NOT loaded properly.");
	    }
	}
	var xmlConn = YAHOO.util.Connect.asyncRequest("GET", xmlPath, callback);
}

// IE6 has a bug where it will pull background images in css every time and ignore background image cache.
// Force IE6 to use the cache:
if(browserinfo.isIE6) {
  try {
    document.execCommand("BackgroundImageCache", false, true);
  } catch(err) {}
}