function glNav() {
	// purpose: assigns ids and classes to the global navigation items
	if ($('globalnav')) {
		// this is required for flyout submenus and graphical replacement of the top level navigation items
		var lis					= $('globalnav').childNodes;
		var count				= 0;
		var selectedClass 		= 'selected';

		for (var i=0; i<lis.length; i++) {
			if (lis[i].tagName && lis[i].tagName=='LI') {
				lis[i].id = 'glmenu'+count;
				lis[i].onmouseover = function () {
					if (this.getElementsByTagName('ul').length > 0) this.getElementsByTagName('ul')[0].style.visibility='visible';
					(this.className!==null)?this.className=selectedClass+' '+this.className:this.className=selectedClass;
				}
				lis[i].onmouseout = function () {
					if (this.getElementsByTagName('ul').length > 0) this.getElementsByTagName('ul')[0].style.visibility='hidden';
					if (this.className.substring(0,selectedClass.length)===selectedClass) this.className=this.className.substring(selectedClass.length);
				}
				count++;
			}
		}
	}
}

function printIt() {  
	if (window.print) {
    	window.print();  
	} else {
    	var WebBrowser = '<object id="WebBrowser1" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>';
		document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
    	WebBrowser1.ExecWB(6, 2); 
	}
}

function getParentByTagName(elm,tag) {
	if (elm == null) return elm;
	if (elm.tagName.toLowerCase() == tag.toLowerCase() && elm.nodeType == 1) return elm;
	else return getParentByTagName(elm.parentNode, tag);
}

function closeGetFlash(elm) {
	var el = getParentByTagName(elm,'div');
	if (el) el.style.display = 'none';
}

function showFlash() {
	var divs = document.getElementsByClassName('flashPlayerMessage');
	if (divs.length > 0) {
		for (var i=0; i<divs.length; i++) {
			divs[i].style.visibility='visible';
		}
	}
}

function formErrorSpacing() {
	if (document.getElementsByClassName('errMessage even').length > 0) {
		var els = document.getElementsByClassName('errMessage even');
		for (var i=0; i<els.length; i++) {
			els[i].parentNode.style.height = els[i].offsetHeight + 'px';
		}
	}
	//hide empty error containers in explorer
	if (BrowserDetect.browser.toLowerCase()=='explorer') {
		if (document.getElementsByClassName('error').length > 0) {
			var els = document.getElementsByClassName('error');
			for (var i=0; i<els.length; i++) {
				if (els[i].getElementsByTagName('span').length == 0) els[i].style.display = 'none';
			}
		}
	}
}

function searchBoxValue() {
	if ($('search') && $('search').getElementsByClassName('search-text').length > 0) {
		var v = $('search').getElementsByClassName('search-text')[0].title;
		var b = $('search').getElementsByClassName('search-text')[0];
		if (b.value == '') {
			b.value = v;
		}
		b.onclick = function () {
			if (this.value == v) this.value = '';
		}
		b.onblur = function () {
			searchBoxValue();
		}
	}
}

function signupBoxValue() {
	if ($('footer') && $('footer').getElementsByClassName('text').length > 0) {
		if ($('footer').getElementsByClassName('text')[0].tagName.toLowerCase() == 'input') {
			var v = $('footer').getElementsByClassName('text')[0].title;
			var b = $('footer').getElementsByClassName('text')[0];
			if (b.value == '') {
				b.value = v;
			}
			b.onclick = function () {
				if (this.value == v) this.value = '';
			}
			b.onblur = function () {
				signupBoxValue();
			}
		}
	}
}

var winReference = null;
function openWindow(url, name, properties, openerName) {
	// ie4.x pc can't give focus to windows containing documents from a different domain
   // in this case, initially load a local interstisial page to allow focussing before loading final url
   var agent = navigator.userAgent.toLowerCase();
   if (agent.indexOf("msie 4") != -1 && agent.indexOf("win") != -1 && url.indexOf('http://') == 0) {
      winReference = window.open('about:blank', name, properties);
      setTimeout('if (winReference && !winReference.closed) winReference.location.replace("' + url + '")', 300);
   }
   else {
      winReference = window.open(url, name, properties);
   }

   // ie doesn't like giving focus immediately (to new window in 4.5 on mac; to existing ones in 5 on pc)
   setTimeout('if (winReference && !winReference.closed) winReference.focus()', 200);
   if (openerName) self.name = openerName;
   return winReference;
}

// browser detection to address older firefox issues
// source http://www.quirksmode.org/js/detect.html
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};

BrowserDetect.init();
Event.observe(window, 'load', glNav);
Event.observe(window, 'load', showFlash);
Event.observe(window, 'load', formErrorSpacing);
Event.observe(window, 'load', searchBoxValue);
Event.observe(window, 'load', signupBoxValue);

if (BrowserDetect.browser.toLowerCase()=='firefox' && parseFloat(BrowserDetect.version) < 1.5) {
	function ffAdjust() {
		if (document.getElementsByTagName('input').length > 0) {
			var fs = document.getElementsByTagName('input');
			for (var i=0; i<fs.length; i++) {
				if (fs[i].className.indexOf('fileField') > -1) fs[i].className += ' ff1';
			}
		}
		if (document.getElementsByTagName('h1').length > 0) {
			var hs = document.getElementsByTagName('h1');
			for (var i=0; i<hs.length; i++) {
				hs[i].className += ' ff1';
			}
		}
		if (document.getElementsByTagName('h2').length > 0) {
			var hs = document.getElementsByTagName('h2');
			for (var i=0; i<hs.length; i++) {
				hs[i].className += ' ff1';
			}
		}
	}
	//make firefox 1.0.x (and older) adjustments
	Event.observe(window, 'load', ffAdjust);
} else {
	//run SIFR replacement for everything but firefox 1.0.x (and older)
	//<[CDATA[

	// LOCALE?
	if (typeof LOCALE === "undefined") {LOCALE = "enUS";}

	var agbold = {
		src: '/flash/' + LOCALE + '/sifr/agbold.swf'
		,ratios: [6,1.41,7,1.35,8,1.33,9,1.31,10,1.29,11,1.27,12,1.29,13,1.27,14,1.26,15,1.25,16,1.25,17,1.23,18,1.25,19,1.24,20,1.23,21,1.23,22,1.22,23,1.24,24,1.23,25,1.22,26,1.22,27,1.21,28,1.21,29,1.22,30,1.22,31,1.21,32,1.21,33,1.21,34,1.2,35,1.21,36,1.21,37,1.21,38,1.21,39,1.2,40,1.2,41,1.21,42,1.2,43,1.2,44,1.2,45,1.2,46,1.21,47,1.2,48,1.2,49,1.2,50,1.2,51,1.19,52,1.2,53,1.2,54,1.2,55,1.2,56,1.19,57,1.19,58,1.2,59,1.2,60,1.19,61,1.19,62,1.19,63,1.19,64,1.19,65,1.19,66,1.19,67,1.19,68,1.19,69,1.2,70,1.19,71,1.19,72,1.19,73,1.19,74,1.19,75,1.19,76,1.19,77,1.19,78,1.19,79,1.19,80,1.19,81,1.19,82,1.19,83,1.19,84,1.19,85,1.19,86,1.19,87,1.19,88,1.19,89,1.19,91,1.19,92,1.19,93,1.19,94,1.19,95,1.19,96,1.19,97,1.18,98,1.19,99,1.19,100,1.19,101,1.19,102,1.19,103,1.18,104,1.19,105,1.19,106,1.19,107,1.19,108,1.18,109,1.19,110,1.19,111,1.19,112,1.19,113,1.18,114,1.18,115,1.19,116,1.19,117,1.18,118,1.18,119,1.18,120,1.18,121,1.19,122,1.18,123,1.18,124,1.18,1.18]
	};
	var agdemi = {
		src: '/flash/' + LOCALE + '/sifr/agdemi.swf'
		,ratios: [6,1.41,7,1.35,8,1.33,9,1.31,10,1.29,11,1.27,12,1.29,13,1.27,14,1.26,15,1.25,16,1.25,17,1.23,18,1.25,19,1.24,20,1.23,21,1.23,22,1.22,23,1.24,24,1.23,25,1.22,26,1.22,27,1.21,28,1.21,29,1.22,30,1.22,31,1.21,32,1.21,33,1.21,34,1.2,35,1.21,36,1.21,37,1.21,38,1.21,39,1.2,40,1.2,41,1.21,42,1.2,43,1.2,44,1.2,45,1.2,46,1.21,47,1.2,48,1.2,49,1.2,50,1.2,51,1.19,52,1.2,53,1.2,54,1.2,55,1.2,56,1.19,57,1.19,58,1.2,59,1.2,60,1.19,61,1.19,62,1.19,63,1.19,64,1.19,65,1.19,66,1.19,67,1.19,68,1.19,69,1.2,70,1.19,71,1.19,72,1.19,73,1.19,74,1.19,75,1.19,76,1.19,77,1.19,78,1.19,79,1.19,80,1.19,81,1.19,82,1.19,83,1.19,84,1.19,85,1.19,86,1.19,87,1.19,88,1.19,89,1.19,91,1.19,92,1.19,93,1.19,94,1.19,95,1.19,96,1.19,97,1.18,98,1.19,99,1.19,100,1.19,101,1.19,102,1.19,103,1.18,104,1.19,105,1.19,106,1.19,107,1.19,108,1.18,109,1.19,110,1.19,111,1.19,112,1.19,113,1.18,114,1.18,115,1.19,116,1.19,117,1.18,118,1.18,119,1.18,120,1.18,121,1.19,122,1.18,123,1.18,124,1.18,1.18]
	};
	var market = {
		src: '/flash/' + LOCALE + '/sifr/market.swf'
		,ratios: [6,1.41,7,1.35,8,1.33,9,1.31,10,1.29,11,1.27,12,1.29,13,1.27,14,1.26,15,1.25,16,1.25,17,1.23,18,1.25,19,1.24,20,1.23,21,1.23,22,1.22,23,1.24,24,1.23,25,1.22,26,1.22,27,1.21,28,1.21,29,1.22,30,1.22,31,1.21,32,1.21,33,1.21,34,1.2,35,1.21,36,1.21,37,1.21,38,1.21,39,1.2,40,1.2,41,1.21,42,1.2,43,1.2,44,1.2,45,1.2,46,1.21,47,1.2,48,1.2,49,1.2,50,1.2,51,1.19,52,1.2,53,1.2,54,1.2,55,1.2,56,1.19,57,1.19,58,1.2,59,1.2,60,1.19,61,1.19,62,1.19,63,1.19,64,1.19,65,1.19,66,1.19,67,1.19,68,1.19,69,1.2,70,1.19,71,1.19,72,1.19,73,1.19,74,1.19,75,1.19,76,1.19,77,1.19,78,1.19,79,1.19,80,1.19,81,1.19,82,1.19,83,1.19,84,1.19,85,1.19,86,1.19,87,1.19,88,1.19,89,1.19,91,1.19,92,1.19,93,1.19,94,1.19,95,1.19,96,1.19,97,1.18,98,1.19,99,1.19,100,1.19,101,1.19,102,1.19,103,1.18,104,1.19,105,1.19,106,1.19,107,1.19,108,1.18,109,1.19,110,1.19,111,1.19,112,1.19,113,1.18,114,1.18,115,1.19,116,1.19,117,1.18,118,1.18,119,1.18,120,1.18,121,1.19,122,1.18,123,1.18,124,1.18,1.18]
	};
	var marketbold = {
		src: '/flash/' + LOCALE + '/sifr/market-bold.swf'
		,ratios: [6,1.41,7,1.35,8,1.33,9,1.31,10,1.29,11,1.27,12,1.29,13,1.27,14,1.26,15,1.25,16,1.25,17,1.23,18,1.25,19,1.24,20,1.23,21,1.23,22,1.22,23,1.24,24,1.23,25,1.22,26,1.22,27,1.21,28,1.21,29,1.22,30,1.22,31,1.21,32,1.21,33,1.21,34,1.2,35,1.21,36,1.21,37,1.21,38,1.21,39,1.2,40,1.2,41,1.21,42,1.2,43,1.2,44,1.2,45,1.2,46,1.21,47,1.2,48,1.2,49,1.2,50,1.2,51,1.19,52,1.2,53,1.2,54,1.2,55,1.2,56,1.19,57,1.19,58,1.2,59,1.2,60,1.19,61,1.19,62,1.19,63,1.19,64,1.19,65,1.19,66,1.19,67,1.19,68,1.19,69,1.2,70,1.19,71,1.19,72,1.19,73,1.19,74,1.19,75,1.19,76,1.19,77,1.19,78,1.19,79,1.19,80,1.19,81,1.19,82,1.19,83,1.19,84,1.19,85,1.19,86,1.19,87,1.19,88,1.19,89,1.19,91,1.19,92,1.19,93,1.19,94,1.19,95,1.19,96,1.19,97,1.18,98,1.19,99,1.19,100,1.19,101,1.19,102,1.19,103,1.18,104,1.19,105,1.19,106,1.19,107,1.19,108,1.18,109,1.19,110,1.19,111,1.19,112,1.19,113,1.18,114,1.18,115,1.19,116,1.19,117,1.18,118,1.18,119,1.18,120,1.18,121,1.19,122,1.18,123,1.18,124,1.18,1.18]
	};
	if(typeof sIFR != "undefined" && sIFR !== null) {
		sIFR.debugMode = false;
		sIFR.activate(agbold);
		sIFR.activate(agdemi);
		sIFR.activate(market);
		sIFR.activate(marketbold);
	}
	//]]>
	
	function globalsIFR() {
		if(typeof sIFR != "undefined" && sIFR !== null) {
			// sIFR replacement calls
			sIFR.replace(marketbold, {
				selector: 'h1.l1'
				,wmode: 'transparent'
				,css: [
					'.sIFR-root {text-align:left;color:#ffffff;}'
					,'a {text-decoration:none;}'
					,'a:link {color:#ffffff;}'
					,'a:hover {color:#ffffff;}'
				]
			});
			sIFR.replace(marketbold, {
				selector: 'h1.l2'
				,wmode: 'transparent'
				,css: [
					'.sIFR-root {text-align:left;color:#ffffff;}'
					,'a {text-decoration:none;}'
					,'a:link {color:#ffffff;}'
					,'a:hover {color:#ffffff;}'
				]
			});
			sIFR.replace(marketbold, {
				selector: '.entries h1'
				,wmode: 'transparent'
				,css: [
					'.sIFR-root {text-align:left;color:#000000;}'
					,'a {text-decoration:none;}'
					,'a:link {color:#ee3d3a;}'
					,'a:hover {color:#ee3d3a;}'
				]
			});
			sIFR.replace(marketbold, {
				selector: '.entry h1'
				,wmode: 'transparent'
				,css: [
					'.sIFR-root {text-align:left;color:#000000;}'
					,'a {text-decoration:none;}'
					,'a:link {color:#ee3d3a;}'
					,'a:hover {color:#ee3d3a;}'
				]
			});
			if ($$('.partners').length === 0) {
				sIFR.replace(agbold, {
					selector: 'h1'
					,wmode: 'transparent'
					,css: [
						'.sIFR-root {text-align:left;color:#000000;}'
						,'a {text-decoration:none;}'
						,'a:link {color:#ee3d3a;}'
						,'a:hover {color:#ee3d3a;}'
					]
				});
			}
			sIFR.replace(market, {
				selector: '.wcomment div'
				,wmode: 'transparent'
				,css: [
					'.sIFR-root {text-align:left;color:#3f3e3d;font-size:20px;}'
				]
			});
		}
	}
	
	Event.observe(window, 'load', globalsIFR);
}