	// Common functions
	var ie = (document.all) ? 1 : 0;
	var ns = (document.layers) ? 1 : 0;

	function xLayer(name) { // Returns cross-browser layer reference
		return ie ? document.all[name] : ns ? document.layers[name] : -1;
	}
	
	// Get & Set Functions
	function setY(name,y) {
		var layer = xLayer(name);
	  	ns ? layer.top = y : ie ? layer.style.pixelTop = y : nothing;
		return
	}
	function setX(name,x) {
		var layer = xLayer(name);
	  	ns ? layer.left = x : ie ? layer.style.pixelLeft = x : nothing;
		return
	}
	function getX(name) {
		var layer = xLayer(name);
	  	return ns ? layer.left : ie ? layer.style.pixelLeft : -1;
	}
	function getY(name) {
		var layer = xLayer(name);
		return ns ? layer.top : ie ? layer.style.pixelTop : -1;
	}
	function xWidth(name) {
		var layer = xLayer(name);
	  	if (ns) return layer.document.width ? layer.document.width : layer.clip.right - layer.clip.left;
	  	else return ie ? layer.scrollWidth : -1;
	}
	function xHeight(name) {
		var layer = xLayer(name);
	  	if (ns) return layer.document.height ? layer.document.height : layer.clip.bottom - layer.clip.top;
	  	else return ie ? layer.scrollHeight : -1;
	}
	
	// Show & Hide Functions
	function xHide(name){
		var layer = xLayer(name);
		ns ? layer.visibility = "hide" : ie ? layer.style.visibility = "hidden" : nothing;
		return
	}
	function xShow(name){
		var layer = xLayer(name);
		ns ? layer.visibility = "show" : ie ? layer.style.visibility = "visible" : nothing;
		return
	}
	
	// Window Functions
	function xWinWidth() {
		return ns ? window.innerWidth : ie ? document.body.clientWidth : -1;
	}
	function xWinHeight() {
		return ns ? window.innerHeight : ie ? document.body.clientHeight : -1;
	}
	function getPageScrollX() {
		return ns ? window.pageXOffset : ie ? document.body.scrollLeft : -1;
	}
	function getPageScrollY() {
		return ns ? window.pageYOffset : ie ? document.body.scrollTop : -1;
	}
	function getPageWidth() {
		return ns ? document.width : ie ? document.body.scrollWidth : -1;
	}
	function getPageHeight() {
		return ns ? document.height : ie ? document.body.scrollHeight : -1;
	}
	
	// Ordering Functions
	function getzIndex(name) {
		var layer = xLayer(name);
		return ns ? layer.zIndex : ie ? layer.style.zIndex : -1;
	}
	function setzIndex(name, z) {
		var layer = xLayer(name);
		ns ? layer.zIndex = z : ie ? layer.style.zIndex = z : nothing;
		return
	}
	
	// Clipping Functions
	function clipLayer(name, clipleft, cliptop, clipright, clipbottom) {
		var layer = xLayer(name);
	  	if (ns) {
			layer.clip.left   = clipleft;
			layer.clip.top    = cliptop;
			layer.clip.right  = clipright;
			layer.clip.bottom = clipbottom;
	  	}
	  	if (ie)
	    	layer.style.clip = 'rect(' + cliptop + ' ' +  clipright + ' ' + clipbottom + ' ' + clipleft +')';
	}
	function getClipLeft(name) {
		var layer = xLayer(name);
		if (ns)
			return layer.clip.left;
		if (ie) {
			var str =  layer.style.clip;
			if (!str)
				return 0;
			var clip = getIEClipValues(layer.style.clip);
			return(clip[3]);
		}
		return -1;
	}
	function getClipTop(name) {
		var layer = xLayer(name);
		if (ns)
			return layer.clip.top;
		if (ie) {
			var str =  layer.style.clip;
			if (!str)
				return 0;
			var clip = getIEClipValues(layer.style.clip);
			return clip[0];
		}
		return -1;
	}
	function getClipRight(name) {
		var layer = xLayer(name);
		if (ns)
			return layer.clip.right;
		if (ie) {
	    	var str =  layer.style.clip;
			if (!str)
				return layer.style.pixelWidth;
			var clip = getIEClipValues(layer.style.clip);
			return clip[1];
		}
		return -1;
	}
	function getClipBottom(name) {
		var layer = xLayer(name);
		if (ns)
			return layer.clip.bottom;
		if (ie) {
			var str = layer.style.clip;
			if (!str)
				return layer.style.pixelHeight;
			var clip = getIEClipValues(layer.style.clip);
			return clip[2];
	  	}
		return -1;
	}
	
	function getClipWidth(name) {
		var layer = xLayer(name);
		if (ns)
			return layer.clip.width;
		if (ie) {
			var str = layer.style.clip;
			if (!str)
				return layer.style.pixelWidth;
			var clip = getIEClipValues(layer.style.clip);
			return clip[1] - clip[3];
		}
		return -1;
	}
	
	function getClipHeight(name) {
		var layer = xLayer(name);
		if (ns)
			return layer.clip.height;
		if (ie) {
			var str = layer.style.clip;
			if (!str)
				return layer.style.pixelHeight;
			var clip = getIEClipValues(layer.style.clip);
			return clip[2] - clip[0];
	  	}
		return -1;
	}
	
	function getIEClipValues(str) {
		str = str.replace(/rect/g,"").replace(/px /g,",").replace(/px/g,"")
		eval("var clip = new Array"+str);
		return clip;
	}
	
	// Utility Functions
	function setBgColor(layer, color) {
		var layer = xLayer(name);
		ns ? layer.bgColor = color : ie ? layer.style.backgroundColor = color : nothing;
	}
	function getImage(name) {
		return ns ? findImage(name, document) : ie ? eval('document.all.' + name) : null;
	}
	function findImage(name, doc) {
		var i, img;
		for (i = 0; i < doc.images.length; i++)
	    if (doc.images[i].name == name) return doc.images[i];
	  	for (i = 0; i < doc.layers.length; i++)
	    	if ((img = findImage(name, doc.layers[i].document)) != null) {
	      	img.container = doc.layers[i];
	     	return img;
	    }
	  	return null;
	}
	function swp(img,st){
		var timg = getImage(img);
		timg.src = eval(img+st+".src");
	}
	function MM_openBrWindow(theURL,winName,features) { //v2.0
	  window.open(theURL,winName,features);
	}
	var hdr_imgs = new Array('nav_about','nav_register','nav_platforms','nav_benefits','nav_careers','nav_resources','nav_media','nav_global','nav_contact','solutions');
	if (document.images) { // Fixes Jason's redundant image caching
		var cache;
		var outstate = "";
		for(i=0;i<hdr_imgs.length;i++){
			if (document.location.href.indexOf("/"+hdr_imgs[i].substring(4)+"/") > 0){
				outstate = "_f2";
			}
			cache = "var "+hdr_imgs[i]+"_f2 = new Image();"+hdr_imgs[i]+"_f2.src = '../../img/"+hdr_imgs[i]+"_f2.gif';var "+hdr_imgs[i]+" = new Image();"+hdr_imgs[i]+".src = '../../img/"+hdr_imgs[i]+outstate+".gif';"
			eval(cache);
			if (document.location.href.indexOf("/"+hdr_imgs[i].substring(4)+"/") > 0){
				outstate = "";
			}
		}
	}
/*	
	document.onload = hdr_sync();
	function hdr_sync(){
		setTimeout("hdr_sync_sub()",1000);
	}
	function hdr_sync_sub(){
		if (document.images) { // Fixes Jason's redundant image caching
			for(i=0;i<hdr_imgs.length;i++){
				if (document.location.href.indexOf("/"+hdr_imgs[i].substring(4)+"/") > 0){
					var timg = getImage(hdr_imgs[i]);timg.src = "../../img/"+hdr_imgs[i]+"_f2.gif"
				}
			}
		}
	}
*/	
