document.getElementsByClassName = function(className, tagName)
{
	var elementsByClassName = [];

	if (this.getElementsByTagName)
	{
		var elements = (tagName) ? this.getElementsByTagName(tagName) : this.all || this.getElementsByTagName('*');

		for (var i = 0, ii = elements.length; i < ii; i++)
		{
			var element = elements[i];
			var elementClassName = element.className;
			var elementHasClassName = false;

			if (className == elementClassName)
			{
				elementHasClassName = true;
			}
			else if (elementClassName && elementClassName.indexOf(' ') != -1)
			{
				var elementClassNames = elementClassName.split(' ');

				for (var k = 0, kk = elementClassNames.length; k < kk; k++)
				{
					if (className == elementClassNames[k])
					{
						elementHasClassName = true;
						break;
					}
				}
			}

			if (elementHasClassName)
			{
				elementsByClassName.push(element);
			}
		}
	}

	return elementsByClassName;
};

if (!Array.prototype.push)
{
	Array.prototype.push = function()
	{
		for (var i = 0, ii = arguments.length; i < ii; i++)
		{
			this[this.length] = arguments[i];
		}

		return this.length;
	};
}

if (!String.prototype.leftPad)
{
	String.prototype.leftPad = function(chr, len)
	{
		var pad = '';

		while (len-- > this.length)
		{
			pad += chr;
		}

		return pad + this;
	};
}

var EventBroadcaster = {
	init: function(obj)
	{
		obj._listeners = new Array();
		obj.broadcastMessage = this._broadcastMessage;
		obj.addListener = this._addListener;

		return obj;
	},
	_broadcastMessage: function(method)
	{
		var listeners = this._listeners;
		var i = listeners.length;

		while (i--)
		{
			var listener = listeners[i];

			if (listener[method])
			{
				listener[method]();
			}
		}
	},
	_addListener: function(obj)
	{
		this._listeners.push(obj);
		return true;
	}
};

window.onload = function()
{
	this.broadcastMessage('onload');
};
EventBroadcaster.init(window);



/* new window */

var nw, width, height;

window.onunload = function() {
	if(nw && !nw.closed) {
		nw.close();
	}
}

function openWindow(uri,windowName,width,height)
{
	
	//alert(uri);
	//alert(uri.attributes.length);
	//alert(uri.nodeName);
	//uri.Node.className = 'active';
	if (windowName == '') windowName = 'newWindow';
	if(nw && !nw.closed){
		nw.close();
	}
	nw=window.open(uri, windowName, 'top=100, left=250, menubar=0, location=0, toolbar=0, scrollbars=0, status=0, resizable=1, width=' + width + ', height=' + height);
	nw.focus();
}


