addLoadListener(bgFlash);
addLoadListener(activateOverlay);
addLoadListener(activateSubMenu);
addLoadListener(startProgress);
//addLoadListener(enableScrollingContent);

//var contentPosition = 0;
//var itemWidth = 300;
//var itemPerPage = 3;

function enableScrollingContent () {
	try {
		var contentItems = getElementsByClassName(document, 'li', 'client_logo');
		var contentItemsCount = contentItems.length - 1;
		var controlLeft = document.getElementById('arrow_left');
		var controlRight = document.getElementById('arrow_right');
		controlRight.position = 0;
		controlLeft.position = 0;
		controlLeft.style.visibility = 'hidden';
		if (contentItems.length <= 0) {
			controlRight.style.visibility = 'hidden';
		}
		controlLeft.onclick = function() {
			var controlRight = document.getElementById('arrow_right');
			var controlLeft = document.getElementById('arrow_left');
			
			if (this.position > 0) {
				this.position--;
				
				if (this.position == 0) {
					controlLeft.style.visibility = 'hidden';
				}
				
				if (this.position < contentItemsCount) {
					controlRight.style.visibility = 'visible';
				}
				var animateItemsL = new YAHOO.util.Anim('client_logos', { left: {to: -(this.position*itemWidth)}}, .350, YAHOO.util.Easing.easeNone);
				animateItemsL.animate();
			}
			controlRight.position = controlLeft.position;
			return false;
		};
		
		controlRight.onclick = function() {
			var controlRight = document.getElementById('arrow_right');
			var controlLeft = document.getElementById('arrow_left');
			
			if (this.position < contentItemsCount-(itemPerPage-1)) {
				this.position++;
				
				if (this.position > 0) {
					controlLeft.style.visibility = 'visible';
				}
				
				if (this.position == contentItemsCount-(itemPerPage-1)) {
					controlRight.style.visibility = 'hidden';
				}
				var animateItemsR = new YAHOO.util.Anim('client_logos', { left: {to: -(this.position*itemWidth)}}, .350, YAHOO.util.Easing.easeNone);
				animateItemsR.animate();
			}
			controlLeft.position = controlRight.position;
			return false;
		};
	} catch(e) {}
}

function startProgress() {
	try {
		setTimeout("showProgress()", 5000);
	} catch(e) {}
}

function showProgress() {
	if (document.getElementById('step_next_initial')) {
		var nextStep = document.getElementById('step_next_initial');
		nextStep.style.backgroundPosition = "0 -96px";
		nextStep.onmouseover = function() {
			nextStep.style.backgroundPosition = "0 -128px";
		};
		nextStep.onmouseout = function() {
			nextStep.style.backgroundPosition = "0 0";
		};
	}
}

function activateSubMenu() {
	try {
		var subMenu = document.getElementById('sub_menu');
		var subMenuItems = subMenu.getElementsByTagName('a');
		
		if (location.hash) {
			var thisAnchor = location.hash.slice(1);
			deactivateAllSubs('sub_menu');
			document.getElementById(thisAnchor).className = 'active';
			
			httpRefresh('includes/' + thisAnchor + '.ssi','scrollcontent');
			
			
		} else {
			httpRefresh('includes/' + subMenuItems[0].id + '.ssi','scrollcontent');
		}
		
		for (i=0; i < subMenuItems.length; i++) {
			subMenuItems[i].onclick = function() {
				httpRefresh('includes/' + this.id + '.ssi','scrollcontent');
				deactivateAllSubs('sub_menu');
				this.className = "active";
				return false;
			}
		}
		
	} catch(e) {}
}

function deactivateAllSubs(container) {
	var subContainer = document.getElementById(container);
	var subContainerItems = subContainer.getElementsByTagName('a');
	for (i=0; i < subContainerItems.length; i++) {
		subContainerItems[i].className = "";
	}
}

function bgFlashStart() {
	setTimeout('bgFlash()', 5000);
}

function bgFlash() {
	var browser = BrowserDetect.browser;
	var browserVersion = BrowserDetect.version;
	var browserOS = BrowserDetect.OS;
	//alert(browser);
	//alert(browserVersion);
	if ((browser == "Opera") && (browserOS == "Mac")) {
		document.getElementById('background').innerHTML = "<img id='bg_img' src='images/backgrounds/bg_main_sml.jpg' />";
	} else if ((browser == "Safari") && (browserVersion < 500)) {
		document.getElementById('background').innerHTML = "<img id='bg_img' src='images/backgrounds/bg_main_sml.jpg' />";
	} /*
		else if ((browser == "Firefox") && (browserVersion == 3)) {
		document.getElementById('background').innerHTML = "<img id='bg_img' src='images/backgrounds/bg_main_sml.jpg' />";
	} else if (browser == "Mozilla") {
		document.getElementById('background').innerHTML = "<img id='bg_img' src='images/backgrounds/bg_main_sml.jpg' />";
	} */
		else {
		var bgFlash = new SWFObject("/swf/bg_merge.swf", "bg_flash", "100%", "100%", "8", "#333333");
		bgFlash.addParam("wmode", "transparent");
		bgFlash.addParam("scale", "exactfit");
		bgFlash.addParam("setcontainercss", "true");
		bgFlash.write("background");
		/*
		var flashvars = false;
		var attributes = false;
		var params = {
			wmode: "transparent",
			scale: "exactfit",
			setcontainercss: "true"
		};
		swfobject.embedSWF("/swf/bg_merge.swf", "background", "100%", "100%", "9.0.0", "/swf/expressInstall.swf", flashvars, params, attributes);
		*/
	}
}

function activateOverlay() {
	try {	
		var overlayControl = document.getElementById('overlay_control');
		if (document.getElementById('makes_sense')) {
			var makesSense = document.getElementById('makes_sense');
			makesSense.onclick = function() {
				var overlay = document.getElementById('overlay');
				var closeControl = document.getElementById('popup_div_close');
				overlay.style.display = 'block';
				openPopup();
				
				
				overlay.onclick = function() {
					var overlay = document.getElementById('overlay');
					overlay.style.display = 'none';
					closePopup();
				};
				
				closeControl.onclick = function() {
					var overlay = document.getElementById('overlay');
					overlay.style.display = 'none';
					closePopup();
					return false;
				};
				
				return false;
			};
		}
		
		overlayControl.onclick = function() {
			var overlay = document.getElementById('overlay');
			var closeControl = document.getElementById('popup_div_close');
			overlay.style.display = 'block';
			openPopup();
			
			overlay.onclick = function() {
				var overlay = document.getElementById('overlay');
				overlay.style.display = 'none';
				closePopup();
			};
			
			closeControl.onclick = function() {
				var overlay = document.getElementById('overlay');
				overlay.style.display = 'none';
				closePopup();
				return false;
			};
			return false;
		};
	} catch(e) {}
}

function openPopup() {
	var currHeight = getHeight();
	var thisHeight = currHeight - 125;
	if (document.getElementById('renewflash')) {
		var popupAnim = new YAHOO.util.Anim('popup_div', { height: {to: 435}}, .350, YAHOO.util.Easing.easeIn);
	} else {
		var popupAnim = new YAHOO.util.Anim('popup_div', { height: {to: thisHeight}}, .350, YAHOO.util.Easing.easeIn);
	}
	popupAnim.onComplete.subscribe(scrollContent);
	if (document.getElementById('renewflash')) {
		popupAnim.onComplete.subscribe(displayRenew);
	}
	popupAnim.animate();
}

function displayRenew() {
	renewFlash();
}

function closePopup() {
	var popupAnim = new YAHOO.util.Anim('popup_div', { height: {to: 0}}, .1, YAHOO.util.Easing.easeIn);
	if (document.getElementById('renewflash')) {
		popupAnim.onStart.subscribe(removeFlash);
	}
	popupAnim.onComplete.subscribe(resetScroll);
	popupAnim.animate();
	
}

function resetScroll() {
	document.getElementById('scrollcontent').style.top = 0
}

var removeFlash = function() {
   var el = document.getElementById('renew_flash');
   el.parentNode.removeChild(el);
}

function getWidth() {
  var myWidth = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    myWidth = window.innerWidth;
  } else if( document.documentElement && ( document.documentElement.clientWidth ) ) {
    myWidth = document.documentElement.clientWidth;
  } else if( document.body && ( document.body.clientWidth ) ) {
    myWidth = document.body.clientWidth;
  }
  return myWidth;
}

function getHeight() {
  var myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientHeight ) ) {
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientHeight ) ) {
    myHeight = document.body.clientHeight;
  }
  return myHeight;
}

// Adds a Listener to your functions
function addLoadListener(fn) {
	if (typeof window.addEventListener != 'undefined') {
		window.addEventListener('load', fn, false);
	} else if (typeof document.addEventListener != 'undefined') {
		document.addEventListener('load', fn, false);
	} else if (typeof window.attachEvent != 'undefined') {
		window.attachEvent('onload', fn);
	} else {
		var oldfn = window.onload;
		if (typeof window.onload != 'function') {
			window.onload = fn;
		} else {
			window.onload = function() {
				oldfn();
				fn();
			};
		}
	}
}

/*
    Written by Jonathan Snook, http://www.snook.ca/jonathan
    Add-ons by Robert Nyman, http://www.robertnyman.com
    Usage: getElementsByClassName(document, 'img' ,'image');
*/
function getElementsByClassName(oElm, strTagName, strClassName) {
	var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];		
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}	
	}
	return (arrReturnElements)
}

// Push and Splice support for IE 5
Array.prototype.push = function() {
	for (var i = 0; i < arguments.length; i++) {
		this[this.length] = arguments[i];
	}
	return arguments[i - 1];
};

Array.prototype.splice = function(a, b) {
	var tmp = [];
	for (var i = a + b; i < this.length; i++) {
		tmp[tmp.length] = this[i];
	}
	var rem = [];
	for (i = a; i < a + b; i++) {
		rem[rem.length] = this[i];
	}
	this.length = a;
	for (i = 2; i < arguments.length; i++) {
		this[this.length] = arguments[i];
	}
	for (i = 0; i < tmp.length; i++) {
		this[this.length] = tmp[i];
	}
	return rem;
};

function getObj(name) {
	if (document.getElementById) {
		this.obj = document.getElementById(name);
		this.style = document.getElementById(name).style;
	} else if (document.all) {
		this.obj = document.all[name];
		this.style = document.all[name].style;
	} else if (document.layers) {
		this.obj = document.layers[name];
		this.style = document.layers[name];
	}
}

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();