/**
 * Copyright (c) 2007 eSolutions Group Ltd.
 * 
 * Author: Timothy Grant Vogelsang <tvogelsang@esolutionsgroup.ca>
 */
Position.Center = function(element, parent) {
	Event.observe(window, 'load', this._Center.bindAsEventListener(this, element, parent));
	Event.observe(window, 'scroll', this._Center.bindAsEventListener(this, element, parent));
	Event.observe(window, 'resize', this._Center.bindAsEventListener(this, element, parent));
}
Position.GetWindowSize = function(w) {
	var width, height;
	
	w = w ? w : window;
	this.width = w.innerWidth || (w.document.documentElement.clientWidth || w.document.body.clientWidth);
	this.height = w.innerHeight || (w.document.documentElement.clientHeight || w.document.body.clientHeight);
	
	return this;
}
Position._Center = function(evt, element, parent) {
	var w, h, pw, ph;
	var d = Element.getDimensions(element);
	w = d.width;
	h = d.height;
	Position.absolutize(element);
	Position.prepare();
	if (!parent) {
		var ws = Position.GetWindowSize();
		pw = ws.width;
		ph = ws.height;
	} else {
		pw = parent.offsetWidth;
		ph = parent.offsetHeight;
	}
	element.style.top = (ph/2) - (h/2) -  Position.deltaY + "px";
	element.style.left = (pw/2) - (w/2) -  Position.deltaX + "px";
}

// Microsoft AJAX .NET load script
if (typeof(Sys) != "undefined")
	Sys.Application.notifyScriptLoaded();
