//Extensiones a la clase String

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


String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}


String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

String.prototype.lpad = function(padString, length) {
//rellena a izquierda con la subcadena 'padString' length veces
//Ej. cadena.lpad('0',5);
	var str = '' + this;
    	while (str.length < length)
   		    str = padString + str;
return str;
}//lpad


String.prototype.str_replace=function(search, replace){
//busca 'search' y lo reemplaza por 'replace':
//Ej. cadena.str_replace('hola', 'chau');
	var subject=this;
	var result = "";
	var  oldi = 0;
	for (var i = subject.indexOf (search); i > -1; i = subject.indexOf (search, i)){
		result += subject.substring (oldi, i);
		result += replace;
		i += search.length;
		oldi = i;
	}//for
return result + subject.substring(oldi, subject.length);
}//str_replace


String.prototype.str_count=function(search){
//retorna la cantidad de ocurrencias de 'search'
//Ej. cadena.str_count('a');
	var subject=this;
	var count = 0;
	var p = subject.indexOf(search);
	while (p>=0){
		count++;
		subject = subject.substr(1+p);
		var p = subject.indexOf(search);
	}//while
	return count;
}//str_count


str_repeat=function(input, multiplier ) {
//retorna la cadena 'input' repetida 'multiplier' veces:
//Ej. str_repeat('hola ',4)
    return new Array(multiplier+1).join(input); 
}//str_repeat

