// trocar cor de fundo de campo texto nos eventos onFocus e OnBlur
function toggleColor (obj)
{
	/*if (window.event)
		event = window.event;
	
	if (event.target)
		obj = event.target;
	else
		obj = event.srcElement;*/
	
  if (obj.className == "input")
		obj.className="focus";
	else {
		obj.className = "input";
	}
}

// seta foco no elemento
function setFocus (id)
{
	document.getElementById (id).focus ();
}

function addEvent(elm, evType, fn, useCapture) {
 // cross-browser event handling for IE5+, NS6+ and Mozilla/Gecko
 // By Scott Andrew  
 if (elm.addEventListener) {  
   elm.addEventListener(evType, fn, useCapture);  
   return true;  
 } else if (elm.attachEvent) {  
   var r = elm.attachEvent('on' + evType, fn);  
   return r;  
 } else {
   elm['on' + evType] = fn;
 }
} 

/**
 * Lib para requisicoes remotas utilizando AJAX
 */

// contructor 
function HTTP_Request (url)
{
    this.url = url;
    this.method = "GET";
    this.postData = new Object ();
    this.errno = 0;

    /*
     * realiza a requisição remota e chama um função de definida pelo usuário para
     * tratar o retorno
     */
    this.send = function (callback_function, return_type) 
    {
			var requester = null;

			try {
	    	requester = new XMLHttpRequest ();
			} catch (e) {
	    	try {
					requester = new ActiveXObject ("Msxml2.XMLHTTP");
	    	} catch (e) {
					try {	
		    		requester = new ActiveXObject ("Microsoft.XMLHTTP");
					} catch (e) {}
	   		}
			}

			if (!requester) {
	    		this.errno = 1;
	    		return false;
			}

			requester.onreadystatechange = function () 
			{
	    	if (requester.readyState == '4') {
					if (requester.status == '200') {
		    		if (return_type == 5) {
		    			eval (callback_function);
		    		}
		    	  else if (return_type == 1) {
							eval (callback_function + '(requester.responseXML)');
		    		}
		    		else {
							eval (callback_function + '(requester.responseText)');
		    		}
					}
	    	}
			}

			requester.open (this.method, this.url);

			var query_string = new String ();
			for (var i in this.postData) 
	    		query_string += i + '=' + this.postData [i] + '&';  

			if (query_string) {
	    		query_string = query_string.substring (0, query_string.length -1);
	    		requester.send (query_string);
			}
			else
	    		requester.send (null);
   }

   this.addPostData = function (f, v) 
    {
			this.postData [f] = v;
    }

    this.clearPostData = function ()
    {
			this.postData = new Object ();
    }
}


//formata valor monetário
function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;
    if (whichCode == 13) return true;
    key = String.fromCharCode(whichCode); // Valor para o código da Chave
    if (strCheck.indexOf(key) == -1) return false; // Chave inválida
    len = objTextBox.value.length;
    for(i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
    aux = '';
    for(; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) objTextBox.value = '';
    if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
    if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
        objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}



function FormataValor(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	vr = campo.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	tam = vr.length;
	if (tam < tammax && tecla != 8){ 
		tam = vr.length; 
	}
	if (tecla == 8 ){ 
		tam = tam - 1; 
	}
	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 2 ){
			campo.value = vr; 
		}
		if ( (tam > 2) && (tam <= 5) ){
			campo.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ); 
		}
		if ( (tam >= 6) && (tam <= 8) ){
			campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); 
		}
		if ( (tam >= 9) && (tam <= 11) ){
			campo.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); 
		}
		if ( (tam >= 12) && (tam <= 14) ){
			campo.value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); 
		}
		if ( (tam >= 15) && (tam <= 17) ){
			campo.value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam );
		}
			
	}
}


function areyousure (link)
{
	if (confirm ('Deseja excluir?'))
		location = link;
	
	return;
}


function menuUpdate (xml, obj, k)
{
	for (i = 0; i < xml.length; i++) {
		var text = xml [i].getElementsByTagName ('text')[0].childNodes [0].nodeValue;
						
	if (!xml [i].getElementsByTagName ('value')[0].childNodes [0])
		value = '';
	else
		value = xml [i].getElementsByTagName ('value')[0].childNodes [0].nodeValue;
				
	obj.options [i] = new Option (text, value);				
				
	if (k == value)
		obj.options.selectedIndex = i;
	}
}

function cancelPropagation ()
{
	window.event.cancelBubble = true;
}		

//função para aceitar somente número
function Tecla(e)
{
	//alert(event.keyCode);
	//alert(e);
	if (document.all) // Internet Explorer
		var tecla = event.keyCode;
	else if(document.layers) // Nestcape
		var tecla = e.which;
		
	if (tecla > 46 && tecla < 58) // numeros de 0 a 9
		return true;
	else {
		if (tecla != 8) // backspace
			event.keyCode = 0;
			//return false;
		else
			return true;
	}
}

//função para mascara de CNPJ
function FormataCNPJ(Campo, teclapres){

	var tecla = teclapres.keyCode;

	var vr = new String(Campo.value);
	vr = vr.replace(".", "");
	vr = vr.replace(".", "");
	vr = vr.replace("/", "");
	vr = vr.replace("-", "");

	tam = vr.length + 1 ;

	
	if (tecla != 9 && tecla != 8){
		if (tam > 2 && tam < 6)
			Campo.value = vr.substr(0, 2) + '.' + vr.substr(2, tam);
		if (tam >= 6 && tam < 9)
			Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,tam-5);
		if (tam >= 9 && tam < 13)
			Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,tam-8);
		if (tam >= 13 && tam < 15)
			Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,4)+ '-' + vr.substr(12,tam-12);
		}
}


//função para mascara de cep
function mascaraCep(objeto){
	if (objeto.value.indexOf("-") == -1 && objeto.value.length > 5){ objeto.value = ""; }
	if (objeto.value.length == 5){
		objeto.value += "-";
	}
}


// mascara para valor monetario
function FormataValor1(campo,tammax,teclapres, form1) {
	//form_campo = document. + formtela + [campo].value;
	//alert (form1);
	var tecla = teclapres.keyCode;
	vr = form1[campo].value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	tam = vr.length;
	if (tam < tammax && tecla != 8){ 
		tam = vr.length; 
	}
	if (tecla == 8 ){ 
		tam = tam - 1; 
	}
	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 2 ){
			form1[campo].value = vr; 
		}
		if ( (tam > 2) && (tam <= 5) ){
			form1[campo].value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ); 
		}
		if ( (tam >= 6) && (tam <= 8) ){
			form1[campo].value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); 
		}
		if ( (tam >= 9) && (tam <= 11) ){
			form1[campo].value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); 
		}
		if ( (tam >= 12) && (tam <= 14) ){

			form1[campo].value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); 
		}
		if ( (tam >= 15) && (tam <= 17) ){
			form1[campo].value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam );
		}
	}
}


// mascara para data
function mask(str,textbox,loc,delim){
	var locs = loc.split(',');
	
		for (var i = 0; i <= locs.length; i++){
			for (var k = 0; k <= str.length; k++){
			 if (k == locs[i]){
			  if (str.substring(k, k+1) != delim){
			   if (event.keyCode != 8){ //backspace
			    str = str.substring(0,k) + delim + str.substring(k,str.length);
		       }
			  }
			 }
			}
		 }
		textbox.value = str
	}