﻿var centering = {
	elemID: "flashContainer",
	elemWidth: 915,
	elemHeight: 686,
	bodyWidth: 0,
	bodyHeight: 0,

	addLoadEvent: function(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 if (typeof window.onload == "function") {
			var fnOld = window.onload;
			window.onload = function() {
				fnOld();
				fn();
			};
		}
		else {
			window.onload = fn;
		}
	},

	positionElement: function() {
		// only position for IE and Safari
		var ie/*@cc_on =1@*/;
		var safari = (/WebKit/i.test(navigator.userAgent));
		if(!ie && !safari){return;}

		var elem = document.getElementById(centering.elemID);
		if(!elem){return;}
		var viewportWidth = window.innerWidth || document.documentElement.clientWidth;
		var viewportHeight = window.innerHeight || document.documentElement.clientHeight;
		if(viewportWidth == centering.bodyWidth && viewportHeight == centering.bodyHeight){return;}
		centering.bodyWidth = viewportWidth;
		centering.bodyHeight = viewportHeight;

		// adjust horizontally
		if(centering.bodyWidth > centering.elemWidth) {
			elem.style.left = "50%";
			elem.style.marginLeft = "-" + (centering.elemWidth/2) + "px";
		} else {
			elem.style.left = "0";
			elem.style.marginLeft = "0";
		}

		// adjust vertically
		if(centering.bodyHeight > centering.elemHeight) {
			elem.style.top = "50%";
			elem.style.marginTop = "-" + (centering.elemHeight/2) + "px";
		} else {
			elem.style.top = "0";
			elem.style.marginTop = "0";
		}
	}
};

// initialize
centering.addLoadEvent(function(){window.setInterval(centering.positionElement, 50);});

