/* ======================================================================
AUTOR:      MANOLO CASAL || 06-05-1999

FUNCTION:	Trim
			 
INPUT:  	str (string): Cadena a alterar
	
RETURN: 	Una cadena sin blancos a derecha e izquierda;
			retorna nulo si se le pasa un argumento no válido

DESC:		Esta función borra los blancos a derecha e izquierda de una cadena.

LLAMADAS:	Esta función depende de las funciones TrimLeft & TrimRight
			Es necesario que ambas sean incluidas para que funcione.
====================================================================== */
function Trim( str ) {
	var resultStr = "";
	
	resultStr = TrimLeft(str);
	resultStr = TrimRight(resultStr);
	
	return resultStr;
} // end Trim

/* ======================================================================
AUTOR:      MANOLO CASAL || 06-05-1999

FUNCTION:	TrimLeft
 
INPUT:  	str (string): Cadena a alterar

RETURN: 	Una cadena sin blancos a la izquierda;
			retorna nulo si se le pasa un argumento no válido

DESC:		Esta función borra los blancos a la izquierda de una cadena..
====================================================================== */
function TrimLeft( str ) {
	var resultStr = "";
	var i =  0;
	var len = 0 ;
	// Retorna inmediatamente si se le pasa un valor invalido
	if (str+"" == "undefined" || str == null)	
		return null;

	// Nos aseguramos de que el valor es una cadena
	str += "";

	if (str.length == 0) 
		resultStr = "";
	else {	
  		// Loop through string starting at the beginning as long as there
  		// are spaces.
		//	  	len = str.length - 1;
		len = str.length;
					
  		while ((i <= len) && (str.charAt(i) == " "))
			i++;
	
   	// When the loop is done, we're sitting at the first non-space char,
 		// so return that char plus the remaining chars of the string.
  		resultStr = str.substring(i, len);
  	}
			
  	return resultStr;
} // end TrimLeft
			
/* ======================================================================
AUTOR:      MANOLO CASAL || 06-05-1999

FUNCTION:	TrimRight
 
INPUT:  		str (string): Cadena a alterar
		
RETURN: 		Una cadena sin blancos a la derecha;
				retorna nulo si se le pasa un argumento no válido
			
DESC:			Esta función borra los blancos a la derecha de una cadena.
====================================================================== */
function TrimRight( str ) {
	var resultStr = "";
	var i = 0;
	
	// Retorna immediatamente si le han pasasdo un valor invalido
	if (str+"" == "undefined" || str == null)	
		return null;

	// Se asegura de que el argumento es una cadena
	str += "";
		
	if (str.length == 0) 
		resultStr = "";
	else {
  		// Loop through string starting at the end as long as there
 		// are spaces.
  		i = str.length - 1;
  		while ((i >= 0) && (str.charAt(i) == " "))
 			i--;
			 			
 			// When the loop is done, we're sitting at the last non-space char,
	 		// so return that char plus all previous chars of the string.
	  		resultStr = str.substring(0, i + 1);
	  	}
	  	
	  	return resultStr;  	
} // end TrimRight


