//API - versão 1.00

//Recupera o evento do form
function ObterEvento(pEvento) {
    if (!pEvento)
        pEvento = window.event; //Internet Explorer.
    return pEvento;
}

//Recupera o código da tecla que foi pressionado
function ObterCodigoTeclado(pEvento) {
    var Codigo;
    if (typeof (document.selection) != 'undefined') {
        Codigo = pEvento.keyCode;
    }
    else {
        Codigo = pEvento.which;
    }
    return Codigo;
}

//Evitar a criacao da mascara quando as teclas são pressionadas
function EvitarMascara(pTecla) {
    //Esta evitando o post, quando são pressionadas estas teclas.
    if (pTecla == 8 || //backspace
        pTecla == 9 ||  //TAB
        pTecla == 27 ||  //ESC
        pTecla == 16 ||  //Shif TAB 
        pTecla == 45 ||  //insert
        pTecla == 46 ||  //delete
        pTecla == 35 ||  //home
        pTecla == 36 ||  //end
        pTecla == 37 ||  //esquerda
        pTecla == 38 ||  //cima
        //pTecla == 39 ||  //direita
        pTecla == 40 //baixo
        )
        return false;
    else
        return true;
}

//Limpar todos os caracteres que não sejam Especiais
function RetirarEspeciais(pCampo) {
    var str = '';
    var temp = pCampo.value;
    var tamanho = temp.length;
    var i;
    for (i = 0; i < tamanho; i++) {
        var caracter = temp.substr(i, 1);
        if (caracter != '/' &&
            caracter != '-' &&
            caracter != '.' &&
            caracter != '(' &&
            caracter != ')' &&
            caracter != ':' &&
            caracter != ','
            ) {
            str = str + caracter;
        }
    }
    return str;
}

//Limpar todos os caracteres que não sejam Numeros
function SomenteNumeros(pCampo) {
    var str = '';
    var temp = pCampo;
    var tamanho = temp.length;
    var i;
    for (i = 0; i < tamanho; i++) {
        var caracter = temp.substr(i, 1);
        if (caracter == "0" ||
            caracter == "1" ||
            caracter == "2" ||
            caracter == "3" ||
            caracter == "4" ||
            caracter == "5" ||
            caracter == "6" ||
            caracter == "7" ||
            caracter == "8" ||
            caracter == "9") {
            str = str + caracter;
        }
    }
    return str;
}

//Limpar todos os caracteres que não sejam Letras
function SomenteLetras(pCampo) {
	var temp = pCampo;
    var tamanho = temp.length;
    for (i = 0; i < tamanho; i++) {
        var unicode = temp.charCodeAt(i);
		if (unicode != 32 && unicode != 94 &&
            (unicode < 65 || (unicode > 90 && unicode < 96) || unicode > 122) && unicode < 192) {
  		temp = temp.replace(temp.substr(i, 1), "");	
		}
    }
    return temp;
}

//Descobrir a Posicao do Cursor.
function ObterPosicaoCursor(pCampo) {
    var posicao = 0;
    //Internet Explorer.
    if (typeof (document.selection) != 'undefined') {
        var range = document.selection.createRange();
        var i = 0;
        for (i = pCampo.value.length; i > 0; i--) {
            if (range.moveStart('character', 1) == 0)
                break;
        }
        posicao = i;
    }
    //Firefox e Chrome.
    if (typeof (pCampo.selectionStart) != 'undefined') {
        posicao = pCampo.selectionStart;
    }
    if (posicao != pCampo.value.length)
        return posicao;
    else
        return 0;
}

//Mover o cursor para a posicao
function MovimentarCursor(pCampo, pPosicao) {
    if (pPosicao == 0)
        return; //se a posição for 0 não reposiciona
    
    //Internet Explorer
    if (typeof (document.selection) != 'undefined') {
        var range = pCampo.createTextRange();
        var LENGTH = 1;
        var STARTINDEX = pPosicao;

        range.moveStart("character", -pCampo.value.length);
        range.moveEnd("character", -pCampo.value.length);
        range.moveStart("character", pPosicao);
        range.select();
        pCampo.focus();
    }
    //FireFox
    if (typeof (pCampo.selectionStart) != 'undefined') {
        pCampo.selectionStart = pPosicao;
        pCampo.selectionEnd = pPosicao;
    }
}

//Funcao para retirar espaços a esquerda e direita.
function trim(str) {
    return str.replace(/^\s+|\s+$/g, "");
}

