// 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;
}

function monetaryMask(obj, tammax, teclapres)
{
	var tecla = teclapres.keyCode;
	vr = obj.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	tam = vr.length;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){ tam = tam - 1 ; }

	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 )
	{
		if ( tam <= 2 ){
			obj.value = vr ; }
		if ( (tam > 2) && (tam <= 5) ){
			obj.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; }
		if ( (tam >= 6) && (tam <= 8) ){
			obj.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
		if ( (tam >= 9) && (tam <= 11) ){
			obj.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
		if ( (tam >= 12) && (tam <= 14) ){
			obj.value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
		if ( (tam >= 15) && (tam <= 17) ){
			obj.value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ;}
	}
}
