
function trim(str) {
    return str.replace(/^\s*|\s*$/g,"");
}

function fullTrim (str) {
    return str.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,"").replace(/\s+/g," ");
}

function capital(element) {
    cadena = element.value;
    cadena = fullTrim(cadena);
    cadena = cadena.toLowerCase();
    if (cadena != '') {
        arr = cadena.split(' ');
        cadena = '';
        for (x = 0; x < arr.length; x++) {
            if (arr[x] == 'de' || arr[x] == 'la' || arr[x] == 'y') {
                cadena += arr[x].toLowerCase() + ' ';
            } else {
                if (arr[x].length > 0) {
                    palabra = '';
                    palabra += arr[x].charAt(0).toUpperCase();
                    for (y = 1; y < arr[x].length; y++) {
                        palabra += arr[x].charAt(y).toLowerCase();
                    }
                }
                cadena += palabra + ' ';
            }
        }
        cadena = cadena.substring(0, cadena.length - 1);
    }
    element.value = cadena;
}

function quitaEspacios(objeto) {
    objeto.value = trim(objeto.value);                
}

function translateAccents(str) {
    var result = str;
    
    result = str.replace(/[&]aacute[;]/g,    "\u00e1");
    result = result.replace(/[&]eacute[;]/g, "\u00e9");
    result = result.replace(/[&]iacute[;]/g, "\u00ed");
    result = result.replace(/[&]oacute[;]/g, "\u00f3");
    result = result.replace(/[&]uacute[;]/g, "\u00fa");
    result = result.replace(/[&]ntilde[;]/g, "\u00f1");
    result = result.replace(/[&]Ntilde[;]/g, "\u00d1");
    return result;
}
function cambiaCapitalCase(objeto) {
    objeto.value = capitalCase(objeto.value);
}

function capitalCase(str) {
    if (str != "") {
        var re = /\s/;
        var words = str.split(re);
        re = /(\S)(\S+)/;
        for (i = words.length - 1; i >= 0; i--) {
            if (words[i].toLowerCase() == 'del' || words[i].toLowerCase() == 'y' || words[i].toLowerCase() == 'la' || words[i].toLowerCase() == 'el' || words[i].toLowerCase() == 'de' || words[i].toLowerCase() == 'los' || words[i].toLowerCase() == 'las') {
                words[i] = words[i].toLowerCase();
            }
            else {
                re.exec(words[i]);
                words[i] = RegExp.$1.toUpperCase() + RegExp.$2.toLowerCase();
            }
        }
        return words.join(' ');
    }
    else {
        return "";
    }
}


function capitalCase(str) {
    if (str != ""){
        var re = /\s/;
        var words = str.split(re);
        re = /(\S)(\S+)/;
        for (i = words.length - 1; i >= 0; i--) {
            if (words[i].toLowerCase() == 'del' || words[i].toLowerCase() == 'y' || words[i].toLowerCase() == 'la' || words[i].toLowerCase() == 'el' || words[i].toLowerCase() == 'de' || words[i].toLowerCase() == 'los' || words[i].toLowerCase() == 'las') {
                words[i] = words[i].toLowerCase();
            }
            else {
                re.exec(words[i]);
                words[i] = RegExp.$1.toUpperCase() + RegExp.$2.toLowerCase();
            }
        }
        return words.join(' ');
    }
    else 
        return "";
}

function _isMaxLength(length, error) {
    tam = this.value.length;
    if (tam > length) {
        this.error = error;
    }
}
