﻿function setMaxLength() {
    var x = document.getElementsByTagName('textarea');
    var counter = document.createElement('div');
    counter.className = 'counter';
    for (var i = 0; i < x.length; i++) {
        if (x[i].getAttribute('maxlength')) {
            var counterClone = counter.cloneNode(true);
            counterClone.relatedElement = x[i];
            counterClone.innerHTML = '<span>0</span>/' + x[i].getAttribute('maxlength');
            x[i].parentNode.insertBefore(counterClone, x[i].nextSibling);
            x[i].relatedElement = counterClone.getElementsByTagName('span')[0];

            x[i].onkeyup = x[i].onchange = checkMaxLength;
            x[i].onkeyup();
        }
    }
}

function checkMaxLength() {
    var maxLength = this.getAttribute('maxlength');
    var currentLength = this.value.length;
    if (currentLength > maxLength) {
        //acciones a tomar cuando el valor es mayor
        this.relatedElement.className = 'toomuch';
        //ejemplo accion
        //recortar el contenido
        //(aqui tambien se deberia calcular nuevamente el valor de los caracteres internos: la cantidad)
          this.value = this.value.slice(0,maxLength);
          currentLength = this.value.length;
    } else {
        //
        this.relatedElement.className = '';
    }
    this.relatedElement.firstChild.nodeValue = currentLength;
    // not innerHTML
}

function ValidarCaracteres(textareaControl, maxlength) {

    if (textareaControl.value.length > maxlength) {
        textareaControl.value = textareaControl.value.substring(0, maxlength);
        alert("Debe ingresar hasta un maximo de " + maxlength + " caracteres");
    }
}

function ValidarTextoCantidad(source, arguments) {
    var maxlength = 2000;
    if (arguments.Value.length == maxlength) {
        arguments.IsValid = true
    } else {
        arguments.IsValid = false
    }
}


///////////////////////////////////////////////////////////////////

maxL = 500;
var bName = navigator.appName;
function taLimit(taObj) {
    if (taObj.value.length == maxL) return false;
    return true;
}

function taCount(taObj, Cnt) {
    objCnt = createObject(Cnt);
    objVal = taObj.value;
    if (objVal.length > maxL) objVal = objVal.substring(0, maxL);
    if (objCnt) {
        if (bName == "Netscape") {
            objCnt.textContent = maxL - objVal.length;
        }
        else { objCnt.innerText = maxL - objVal.length; }
    }
    return true;
}
function createObject(objId) {
    if (document.getElementById) return document.getElementById(objId);
    else if (document.layers) return eval("document." + objId);
    else if (document.all) return eval("document.all." + objId);
    else return eval("document." + objId);
}


