function ltrim(str)
{
   var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(0)) != -1) {
      var j=0, i = s.length;
      while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
         j++;
      s = s.substring(j, i);
   }
   return s;
}

function rtrim(str)
{
   var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
      var i = s.length - 1;       // Get length of string
      while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
         i--;
      s = s.substring(0, i+1);
   }
   return s;
}

function trim(str) {
   return rtrim(ltrim(str));
}

function isEmail( text )
{
	var pattern = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	var regex = new RegExp( pattern );
	return regex.test( text );
}

/*String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/g,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/g,"");
}*/

function formatNumber(num,prefix){
	var numero = new String(num);
	var reg = /^\d+.\d{3,}$/;
	if ( reg.test(numero) ) numero = redondeo2decimales(numero);
	num = parseFloat(numero);
		
	prefix = ' ' + prefix || '';
	num += '';
	var splitStr = num.split('.');
	var splitLeft = splitStr[0];
	var splitRight = splitStr.length > 1 ? ',' + splitStr[1] : '';
	var regx = /(\d+)(\d{3})/;
	while (regx.test(splitLeft)) splitLeft = splitLeft.replace(regx, '$1' + '.' + '$2');
	
	var numero = splitLeft + splitRight;
	var reg = /^\d+\.{0,1}\d*,\d{1}$/;
	if ( reg.test(numero) ) numero = numero + "0";
	
	return  numero + prefix;
}

function redondeo2decimales(numero)
{
	var original=parseFloat(numero);
	var result=Math.round(original*100)/100 ;
	return result;
}

function unformatNumber(num) {
	var aux = new String(num.replace(/([^0-9\(,)\-])/g,''));
	aux = aux.replace(',','.');
	return aux;
} 

$verVentana = true;
function verVentana($tituloVentana) {
	$('ventana').fade('toggle');
	if ( $verVentana ) $('fondoVentana').fade(0.5);
	else $('fondoVentana').fade(0);
	$verVentana = !$verVentana;
	$('TituloVentana').set('html', $tituloVentana);
	$('ventana').setStyle('top', '100px');
	$ancho = new String($('ventana').getStyle('width'));
	$ancho = $ancho.replace('px', '');
	$ancho = (document.body.clientWidth - $ancho) / 2;
	$('ventana').setStyle('left', $ancho + 'px');
}

function entero(obj) {
	try {
		$(obj.id).removeEvent('keypress', enterokey);
	} catch(e) {}
	$(obj.id).addEvent( 'keypress', function enterokey( evt )	{
		var valor = new String(evt.key);
		var reg = /\d|up|left|right|down|backspace|delete|enter|tab/;
		if ( reg.test(valor) ) return true;
		else return false;
	}); 
}

function enterochange(obj) {
	var cadena = new String(obj.value);
	obj.value = cadena.replace('.', '');
}

function flotante(obj) {
	try {
		$(obj.id).removeEvent('keypress', floatkey);
	} catch(e) {}
	$(obj.id).addEvent( 'keypress', function floatkey( evt )	{
		var valor = new String(evt.key);
		var reg = /\d|\.|up|left|right|down|backspace|delete|enter|tab/;
		if ( reg.test(valor) ) return true;
		else return false;
	}); 
}

function flotantechange(obj) {
	var cadena = new String(obj.value);
	var reg = /\.{2}|^\.|^\d+\.\d{3,}$|^\d+\.\d+\.$/;
	if ( reg.test(cadena) ) obj.value = cadena.substr(0, cadena.length - 1);
}
