<!--

// função que extrai e executa um código javascript de um string
function execScript(codigoHTMLcomScript) {

   // Divide o responseText em 2 partes, sendo a segunda a parte onde irá iniciar o script
   // então desconsidera a primeira parte.
   tmpScriptCode = codigoHTMLcomScript.split("<script>");
   
   //var msg = "";
   for (var i=1; i<tmpScriptCode.length; i++) {
   
       // Cria elemento de script
       var scriptObj = document.createElement('script');

       // divide a parte relevante novamente em 2 partes, sendo que agora a primeira
       // parte conterá o script, a segunda parte é descartada.
       scriptCode = tmpScriptCode[i].split("</script>");

       // Define parâmetro language=javascript para o objeto de script
       scriptObj.setAttribute('language', 'javascript');

       // Atribui o código-fonte do script ao obj de script
       scriptObj.text = scriptCode[0];

       // Executar o script
       document.body.appendChild(scriptObj);
   
   }

}


// função que verifica se um dado valor é um número
function IsNumeric(sText, ehInt) {

   if (ehInt)
       var validChars = "0123456789";
   else
       var validChars = "0123456789,";
       
   var IsNumber = true;
   var Char;
   var point=0;

   if ( (sText.charAt(0)==',')||(sText.charAt(sText.length-1)==',') )
       IsNumber = false;

    for (var i = 0; i < sText.length && IsNumber == true; i++)
    {
        Char = sText.charAt(i);

        // o IE não dá suporte à função indexOf() de arrays... ¬¬
        var index = -1;
        for (var j in validChars) if (Char == validChars[j]) { index = j; break; }

        if (index == -1)
            IsNumber = false;

        if (Char==',') point++;

        if (point>1) IsNumber = false;
      
    }

    return IsNumber;

}

// função que seta o objeto para receber apenas valores de certo tipo
function setType(obj, type) {

    // setando os caracteres válidos
    if (type == "int") validChars = "0123456789";
    else if (type == "float") validChars = "0123456789,";

    // variável que guarda se o valor é válido
    isValid = true;

    // pegando valor atual
    text = obj.value;

    for (var i = 0; i < text.length && isValid == true; i++)
    {
        x = text.charAt(i);

        // o IE não dá suporte à função indexOf() de arrays... ¬¬
        var index = -1;
        for (var j in validChars) if (x == validChars[j]) { index = j; break; }

        // caso o caracter não for válido
        if (index == -1)
            isValid = false;
   }
   
   // caso o valor digitado não seja válido, então apaga o valor digitado
   if (isValid == false)
       obj.value = "";
}

// função que converte datas
function convertDateTo(date, type) {

    // converte d/m/Y para Y-m-d
    if (type == 'Y-m-d') {
        dateArr = date.split('/');
        nDate = ""+dateArr[2]+"-"+dateArr[1]+"-"+dateArr[0];
    }
    // converte Y-m-d para d/m/Y
    else if (type == 'd/m/Y') {
        dateArr = date.split('-');
        nDate = ""+dateArr[2]+"/"+dateArr[1]+"/"+dateArr[0];
    }
    return nDate;

}

// função que converte números
function convertNumberTo(number, type) {

    if (type == ',') {

        number = parseFloat(number).toFixed(2);

        nNumber = number.toString().replace(",","");
        nNumber = nNumber.toString().replace('.',',');

        nNumber += '';
    	x = nNumber.split(',');
	    x1 = x[0];
    	x2 = x.length > 1 ? ',' + x[1] : '';
	    var rgx = /(\d+)(\d{3})/;
     	while (rgx.test(x1)) {
	        x1 = x1.replace(rgx, '$1' + '.' + '$2');
	    }
	    return x1 + x2;
    }

    else if (type == '.') {
        nNumber = number.toString().replace('.','');
        nNumber = nNumber.toString().replace(',','.');
        return nNumber;
    }

}

// função que mostra o gif de loading e trava a tela
function showLOADING() {

    if ( (document.getElementById("HIDE_DIV") == null) && (document.getElementById("LOADING_GIF") == null) ) {

    // -- verificando se é IE
    isIE = ((navigator.userAgent.indexOf("MSIE") != -1) && (navigator.userAgent.indexOf("Opera") == -1)) ? true : false;

    // -- div trava a tela
    HIDE_DIV = document.createElement('div');
    HIDE_DIV.id = "HIDE_DIV";
    HIDE_DIV.style.height = ((document.documentElement.clientHeight > document.documentElement.scrollHeight) ? document.documentElement.clientHeight : document.documentElement.scrollHeight) + 'px';
    HIDE_DIV.style.width = document.documentElement.scrollWidth + 'px';
    /*if (!isIE)*/ HIDE_DIV.style.background = 'url(img/bg.png)';  //transparent png with low opacity.  Provides a similar effect as opacy/filter settings, but without the memory leaks
    HIDE_DIV.style.position = 'absolute';
    HIDE_DIV.style.left = '0px';
    HIDE_DIV.style.top = '0px';
    HIDE_DIV.style.zIndex = 998;
    HIDE_DIV.style.visibility = 'hidden';

    // -- loading gif
    LOADING_GIF = document.createElement('div');
    LOADING_GIF.id = "LOADING_GIF";
    LOADING_GIF.style.background = 'url(img/loading.gif)';
    LOADING_GIF.style.position = isIE ? 'absolute' : 'fixed';
    LOADING_GIF.style.zIndex = 999;
    LOADING_GIF.style.width = '128px';
    LOADING_GIF.style.height = '15px';
    LOADING_GIF.style.visibility = 'hidden';

    // -- div trava a tela
    document.body.appendChild(HIDE_DIV);

    // -- loading gif
    document.body.appendChild(LOADING_GIF);

    // posicionando o gif de loading no centro
    if (LOADING_GIF.style.position === 'absolute') {
        scrollT = window.pageYOffset || document.documentElement.scrollTop;
	    scrollL = window.pageXOffset || document.documentElement.scrollLeft;
	    LOADING_GIF.style.left = (self.innerWidth || (document.documentElement.clientWidth || document.body.clientWidth)) / 2 + scrollL - LOADING_GIF.offsetWidth / 2 + 'px';
	    LOADING_GIF.style.top = (self.innerHeight || (document.documentElement.clientHeight || document.body.clientHeight)) / 2 + scrollT - LOADING_GIF.offsetHeight / 2 + 'px';

	    //HIDE_DIV.style.left = self.innerWidth ;
	    //HIDE_DIV.style.top = self.innerHeight;
        //HIDE_DIV.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../javascript/DOMAlert/tp2.png', sizingMethod='scale', enabled=true)";
    } else {
	    LOADING_GIF.style.left = (self.innerWidth || (document.documentElement.clientWidth || document.body.clientWidth)) / 2 - LOADING_GIF.offsetWidth / 2 + 'px';
	    LOADING_GIF.style.top = (self.innerHeight || (document.documentElement.clientHeight || document.body.clientHeight)) / 2 - LOADING_GIF.offsetHeight / 2 + 'px';
    }

    document.getElementById("LOADING_GIF").style.visibility = '';
    document.getElementById("HIDE_DIV").style.visibility = '';

    }

}
function hideLOADING() {

    if ( (document.getElementById("HIDE_DIV") != null) && (document.getElementById("LOADING_GIF") != null) ) {

        document.body.removeChild(HIDE_DIV);
        document.body.removeChild(LOADING_GIF);
        delete HIDE_DIV;
        delete LOADING_GIF;

    }

}

// função que gera um objeto XMLHttp
function GetXmlHttpObject() {

    var xmlHttp=null;
    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e) {
        // Internet Explorer
        try {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
    
}

// função que submete um objeto XMLHttp
function submitXMLHttp(obj, method, url, params, onready ) {

    // key para resolver problemas de cache do IE
    var uid = new Date().getTime();

    if (method == "POST") {
        obj.open(method, url+"?uid="+uid, true);
        //Send the proper header information along with the request
        obj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        obj.setRequestHeader("Content-length", params.length);
        obj.setRequestHeader("Connection", "close");
        obj.onreadystatechange = onready;
        obj.send(params);
    }
    else if (method == "GET") {
        obj.open(method, url+"?uid="+uid+"&"+params, true);
        obj.onreadystatechange = onready;
        obj.send(null);
    }


}

function verificaValor(e,args){        
	if (document.all){
		var evt = event.keyCode;		
	} // caso seja IE
	else{
		var evt = e.charCode;
	}    // do contrário deve ser Mozilla
	//var valid_chars = '0123456789' + '.';    // criando a lista de teclas permitidas
	var valid_chars = '0123456789'+ ',';
	var chr= String.fromCharCode(evt);    // pegando a tecla digitada
	if (valid_chars.indexOf(chr)>-1 ){
		return true;
	}    /*se a tecla estiver na lista de permissão permite-a
		para permitir teclas como <BACKSPACE> adicionamos uma permissão para
		códigos de tecla menores que 09 por exemplo (geralmente uso menores que 20)*/
	if (valid_chars.indexOf(chr)>-1 || evt < 20){
		return true;
	}    // se a tecla estiver na lista de permissão permite-a
	return false;// do contrário nega	
}

//-->

