// prototypes
navigator.isIE6 = function() { return this.userAgent.indexOf("MSIE 6") > 0; }

function $(element)
{
	if (arguments.length > 1)
	{
		for (var i = 0, elements = [], length = arguments.length; i < length; i++)
			elements.push($(arguments[i]));
		return elements;
	}
	
	if (typeof element == 'string')
		element = document.getElementById(element);
		
	return element;
}

function getMousePosition(ev)
{
	if (ev.pageX || ev.pageY)
	{
		return {x:ev.pageX, y:ev.pageY};
	}

	return {
		x:ev.clientX + document.documentElement.scrollLeft - document.documentElement.clientLeft,
		y:ev.clientY + document.documentElement.scrollTop  - document.documentElement.clientTop
	};
}

function getObjectPosition(obj)
{
	var curleft = curtop = 0;

	if (obj.offsetParent)
	{
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;

		while (obj = obj.offsetParent)
		{
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
	}

	return {x:curleft, y:curtop};
}

function clone(obj)
{
	var newObject = new Object();

	for (var i in obj)
	{
		newObject[i] = obj[i];
	}

	return newObject;
}

function extend(parent, child)
{
	child.prototype = clone(parent.prototype);
	child.prototype.parent = parent.prototype;
	child.prototype.constructor = child;
}

function _escape(value)
{
	return escape(value.replace(/\+/g, "%2B"));
}

function _unescape(value)
{
	return unescape(value.replace(/\+/g, " "));
}

// Send data by post
function post(arrayData, target, address)
{
	// Create the form
	var form = document.createElement("FORM");
	form.method = "POST";
	form.style.display = 'none';
	if (target)
	{
		form.target = target;
	}
	if (address)
	{
		form.action = address;
	}

	// Generate the fields
	for (var i=0; i<arrayData.length; i++)
	{
		// Create the input
		var input = document.createElement("INPUT");

		// Config the input
		input.type  = 'hidden';
		input.name  = arrayData[i][0];
		input.value = arrayData[i][1];

		// Add the input
		form.appendChild(input);
	}

	// Add the form
	document.body.appendChild(form);
	
	// Send the form
	form.submit();

	// Return
	return false;
}

// Masks
var Mask = {
	numbers : function(ev)
	{
		var key;
		if (!window.event)
			key = ev.which;
		else
			key = window.event.keyCode;

		return !(key > 31 && (key < 48 || key > 57));
	}
}