var corObjErro = '#EEEEEE';
var corObjNormal = '#FFFFFF';
var detect = navigator.userAgent.toLowerCase();
var OS,browser,version,thestring, place;
var heightMsg = 400;

if (checkIt('konqueror'))
{
	browser = "Konqueror";
	OS = "Linux";
}
else if (checkIt('safari')) browser = "Safari"
else if (checkIt('omniweb')) browser = "OmniWeb"
else if (checkIt('opera')) browser = "Opera"
else if (checkIt('webtv')) browser = "WebTV";
else if (checkIt('icab')) browser = "iCab"
else if (checkIt('msie')) browser = "IE"
else if (!checkIt('compatible'))
{
	browser = "Mozilla"
	version = detect.charAt(8);
}
else browser = "An unknown browser";

if (!version) version = detect.charAt(place + thestring.length);

if (!OS)
{
	if (checkIt('linux')) OS = "Linux";
	else if (checkIt('x11')) OS = "Unix";
	else if (checkIt('mac')) OS = "Mac"
	else if (checkIt('win')) OS = "Windows"
	else OS = "an unknown operating system";
}

function checkIt(string)
{
	place = detect.indexOf(string) + 1;
	thestring = string;
	return place;
}

function validar(myFormulario,myObjeto,myObrigatorio,myLabel,myValida,myTamanho,myMascara)
{
    window.document.getElementById(myObjeto).Formulario = myFormulario;
	window.document.getElementById(myObjeto).Objeto = myObjeto;
	window.document.getElementById(myObjeto).Obrigatorio = myObrigatorio.toUpperCase();
	window.document.getElementById(myObjeto).Label = myLabel;
	window.document.getElementById(myObjeto).Valida = myValida.toUpperCase();
	window.document.getElementById(myObjeto).Tamanho = myTamanho;
	window.document.getElementById(myObjeto).Mascara = myMascara;
	
	if ( window.document.getElementById(myObjeto).Tamanho && window.document.getElementById(myObjeto).Tamanho != 'null' )
	{
		if(browser == "Mozilla")
		{
			window.document.getElementById(myObjeto).addEventListener('keypress', TamanhoMax, false);
			window.document.getElementById(myObjeto).addEventListener('keypress', retiraAcento, false);
			window.document.getElementById(myObjeto).addEventListener('keyup', caixaAlta, false);
		}
		else
		{
			//IE
			window.document.getElementById(myObjeto).attachEvent('onkeypress', TamanhoMax);
			window.document.getElementById(myObjeto).attachEvent('onkeypress', retiraAcento);
			window.document.getElementById(myObjeto).attachEvent('onkeyup', caixaAlta);
		}
	}	
	
	if( window.document.getElementById(myObjeto).Mascara )
	{
		if(browser == "Mozilla")
		{
			window.document.getElementById(myObjeto).addEventListener('keypress', Formata2, false);
		}
		else
		{
			//IE
			window.document.getElementById(myObjeto).attachEvent('onkeypress', Formata2);
		}
	}
	
	if (window.document.getElementById(myObjeto).Valida == 'INTEGER')
	{
	   if(browser == "Mozilla")
		{
			window.document.getElementById(myObjeto).addEventListener('keypress', Tecla, false);
		}
		else
		{
			//IE
			window.document.getElementById(myObjeto).attachEvent('onkeypress', Tecla);
		}
	}
	else if (window.document.getElementById(myObjeto).Valida == 'CPF')
	{
		if(browser == "Mozilla")
		{
			window.document.getElementById(myObjeto).addEventListener('keypress', Tecla, false);
		}
		else
		{
			//IE
			window.document.getElementById(myObjeto).attachEvent('onkeypress', Tecla);
		}
	}
	else if (window.document.getElementById(myObjeto).Valida == 'CNPJ')
	{
		if(browser == "Mozilla")
		{
			window.document.getElementById(myObjeto).addEventListener('keypress', Tecla, false);
		}
		else
		{
			//IE
			window.document.getElementById(myObjeto).attachEvent('onkeypress', Tecla);
		}
	}
	else if (window.document.getElementById(myObjeto).Valida == 'EMAIL')
	{
		if(browser == "Mozilla")
		{
			window.document.getElementById(myObjeto).addEventListener('keypress', TeclaEmail, false);
			window.document.getElementById(myObjeto).addEventListener('keyup', caixaBaixa, false);
		}
		else
		{
			//IE
			window.document.getElementById(myObjeto).attachEvent('onkeypress', TeclaEmail);
			window.document.getElementById(myObjeto).attachEvent('onkeyup', caixaBaixa);
		}
	}
	
	else if (window.document.getElementById(myObjeto).Valida == 'MOEDA')
	{
		if(browser == "Mozilla")
		{
			window.document.getElementById(myObjeto).addEventListener('keydown', FormatFloat, false);
		}
		else
		{
			//IE
			window.document.getElementById(myObjeto).attachEvent('onkeydown', FormatFloat);
		}
	}
	
}

function ValidaForm(formulario)
{
	var texto;
	var validou;
	var controle;
	validou = true;
	texto = '';
	controle = '';

	for(i=0; i<formulario.elements.length; i++){
		if( formulario.elements[i].type.toUpperCase() != "SUBMIT" && formulario.elements[i].type.toUpperCase() != "BUTTON" )
		{
			formulario.elements[i].style.backgroundColor = corObjNormal;	
		}
		
		if (formulario.elements[i].Obrigatorio != undefined)
		{
			if (formulario.elements[i].Obrigatorio == "S")
			{
				if(formulario.elements[i].type.toUpperCase() == "SELECT-MULTIPLE" || formulario.elements[i].type.toUpperCase() == "SELECT-ONE")
				{
					var selecionado = false;
					for(j=0; j<formulario.elements[i].options.length; j++)
					{
						if (formulario.elements[i].options[j].selected == true && formulario.elements[i].options[j].value.toUpperCase() != 'NULL' && formulario.elements[i].options[j].value.toUpperCase() != '')
						{
							selecionado = true;
						}
					}
					if (selecionado == false)
					{
						validou = false;
						texto = texto + '<br />- ' + formulario.elements[i].Label + ': Preenchimento obrigatório' ;
						formulario.elements[i].style.backgroundColor = corObjErro;
						if (controle == '')
						{
							controle = formulario.elements[i].id;
						}
					}
				}
				else if(formulario.elements[i].type.toUpperCase() == "RADIO")
				{
					var selecionado = false;
					var nome = formulario.elements[i].name;
					for(j=0; j<window.document.getElementsByName(nome).length; j++)
					{
						if (window.document.getElementsByName(nome)[j].checked == true)
						{
							selecionado = true;
						}
					}
					if (selecionado == false)
					{
						validou = false;
						texto = texto + '<br />- ' + formulario.elements[i].Label + ': Preenchimento obrigatório' ;
						formulario.elements[i].style.backgroundColor = corObjErro;
						if (controle == '')
						{
							controle = formulario.elements[i].id;
						}
					}
				}
				else if(formulario.elements[i].type.toUpperCase() == "TEXT" || formulario.elements[i].type.toUpperCase() == "TEXTAREA" || formulario.elements[i].type.toUpperCase() == "PASSWORD" )
				{
							
					if (formulario.elements[i].value.length == 0 || LTrim(formulario.elements[i].value) == '')
					{
						validou = false;
						texto = texto + '<br />- ' + formulario.elements[i].Label + ': Preenchimento obrigatório' ;
						formulario.elements[i].style.backgroundColor = corObjErro;
						if (controle == '')
						{
							controle = formulario.elements[i].id;
						}
					}
				}
				else if(formulario.elements[i].type.toUpperCase() == "HIDDEN")
				{
					if (typeof(FCKeditorAPI) != "undefined")
					{
						var retornoHTML = GetInnerHTML(formulario.elements[i].name);
					}
					else
					{
						var retornoHTML = formulario.elements[i].value;
					}
					
					if (retornoHTML.length == 0)
					{
						validou = false;
						texto = texto + '<br />- ' + formulario.elements[i].Label + ': Preenchimento obrigatório' ;
						formulario.elements[i].style.backgroundColor = corObjErro;
						if (controle == '')
						{
							controle = formulario.elements[i].id;
						}
					}					
				}
								
			}
		}
		
		if (formulario.elements[i].Valida == 'CPF')
		{
			var cpfx =	formulario.elements[i].value;
			if (cpfx.length != 0)
			{
				cpfx = cpfx.replace('.','');
				cpfx = cpfx.replace('.','');
				cpfx = cpfx.replace('-','');
				if (checa_cpf(cpfx) == false)
				{
					validou = false;
					texto = texto + '<br />- ' + formulario.elements[i].Label + ': CPF inválido';
					formulario.elements[i].style.backgroundColor = corObjErro;
					if (controle == '')
					{
						controle = formulario.elements[i].id;
					}
				}	
			}
		}
		
		if (formulario.elements[i].Valida == 'CNPJ')
		{
			var CNPJ =	formulario.elements[i].value;
			if (CNPJ.length != 0)
			{
				g=CNPJ.length-2;
				if(RealTestaCNPJ(CNPJ,g) == 1)
				{
					g=CNPJ.length-1;
					if(RealTestaCNPJ(CNPJ,g) != 1)
					{
						validou = false;
						texto = texto + '<br />- ' + formulario.elements[i].Label + ': CNPJ inválido';
						formulario.elements[i].style.backgroundColor = corObjErro;
						if (controle == '')
						{
							controle = formulario.elements[i].id;
						}
					}
				}
				else
				{
					validou = false;
					texto = texto + '<br />- ' + formulario.elements[i].Label + ': CNPJ inválido';
					formulario.elements[i].style.backgroundColor = corObjErro;
					if (controle == '')
					{
						controle = formulario.elements[i].id;
					}
				}
			}
		}
		
		if (formulario.elements[i].Valida == 'EMAIL')
		{
			var campo =	formulario.elements[i].value;
			if (campo.length != 0)
			{
				var email = campo.match(/(\w+)@(.+)\.(\w+)$/);
				if (email == null)
				{
					validou = false;
					texto = texto + '<br />- ' + formulario.elements[i].Label + ': Email inválido';
					formulario.elements[i].style.backgroundColor = corObjErro;
					if (controle == '')
					{
						controle = formulario.elements[i].id;
					}
  				}
			}
		}
		
		if (formulario.elements[i].Valida == 'DATA')
		{
			if( formulario.elements[i].value != '' && formulario.elements[i].value != 'null' )
			{
				 hoje = new Date();
				 anoAtual = hoje.getFullYear();
				 barras = formulario.elements[i].value.split("/");
				 var resultado;
				 
				 if (barras.length == 3)
				 {
					dia = parseInt( barras[0] );
					mes = parseInt( barras[1] );
					ano = parseInt( barras[2] );
					
					resultado = ( ( dia > 0 ) && ( dia < 32 ) && ( mes > 0) && ( mes < 13 ) && ( barras[2].length == 4 ) && ( ano <= anoAtual && ano >= 1920 ) );
					
					if ( resultado == false )
					{
						validou = false;          
					}
				 }
				 else 
				 {
				 	validou = false;
				 }
			
	  			 if( validou == false )
	  			 {
					texto = texto + '<br />- ' + formulario.elements[i].Label + ': Data inválida, informe no formato dd/mm/aaaa';
					formulario.elements[i].style.backgroundColor = corObjErro;
					if (controle == '')
					{
						controle = formulario.elements[i].id;
					}
	  			 }
	 		}	
		}

		if (formulario.elements[i].Valida == 'SENHA')
		{
			var confimaSenha =	formulario.elements[i].value;
			var senha = formulario.txtSenha.value;
			if(senha.length > 7){
				if(confimaSenha != formulario.txtSenha.value){
					validou = false;
					texto = texto + '<br />- ' + formulario.elements[i].Label + ': Confirmação e senha não conferem.';
					formulario.elements[i].style.backgroundColor = corObjErro;
					if (controle == '')
					{
						controle = formulario.elements[i].id;
					}				
				}
			}else if (senha.length != 0) {
					validou = false;
					texto = texto + '<br />- ' + formulario.txtSenha.Label + ': Senha de 8 a 20 caracteres..';
					formulario.elements[i].style.backgroundColor = corObjErro;
			}
		}
		
		
		if (formulario.elements[i].Valida == 'SENHA2')
		{
			var confimaSenha =	formulario.elements[i].value;
			var senha = formulario.txtSenha2.value;
			if(senha.length > 7){
				if(confimaSenha != formulario.txtSenha2.value){
					validou = false;
					texto = texto + '<br />- ' + formulario.elements[i].Label + ': Confirmação e senha não conferem.';
					formulario.elements[i].style.backgroundColor = corObjErro;
					if (controle == '')
					{
						controle = formulario.elements[i].id;
					}				
				}
			}else if (senha.length != 0) {
					validou = false;
					texto = texto + '<br />- ' + formulario.txtSenha2.Label + ': Senha de 8 a 20 caracteres..';
					formulario.elements[i].style.backgroundColor = corObjErro;
			}
		}
		
	}
	
	if (validou == false)
	{
		alerta('Problemas encontrados no preenchimento:<br />' + texto, 500, 300);
		/*
		if ( window.document.getElementById(controle).type.toLowerCase() != 'hidden' )
			window.document.getElementById(controle).focus();
		if (window.document.getElementById(controle).tagName.toUpperCase() != "SELECT")
		{
			window.document.getElementById(controle).focus();
		}*/
		return false;
	}
	return true;
}

function TamanhoMax(evt)
{
	var objeto;
	var ie_var = "srcElement";
	var moz_var = "target";
	var prop_var = "Objeto";
	// "target" for Mozilla, Netscape, Firefox et al. ; "srcElement" for IE
	evt[moz_var] ? objeto = evt[moz_var][prop_var] : objeto = evt[ie_var][prop_var];
	var tamanho = window.document.getElementById(objeto).Tamanho - 1;
	
	var nTecla = 0;
	if(browser == "Mozilla"){
		nTecla = evt.which;
	} else {
		nTecla = evt.keyCode;
	}
	if (nTecla == 8 || nTecla == 127
	|| nTecla == 0 || nTecla == 9
	|| nTecla == 13) 
	{
		return true;
	}
	if (window.document.getElementById(objeto).value.length > tamanho)
	{
		if(browser == "Mozilla")
		{
			evt.preventDefault();
			return false;
		} else {
			evt.keyCode = 0;
			return false;
		}	
	}
	
	return true;
}

function Tecla(evtKeyPress) 
{
	var nTecla = 0;
	if(browser == "Mozilla")
	{
		nTecla = evtKeyPress.which;
	} 
	else 
	{
		nTecla = evtKeyPress.keyCode;
	}
	if ((nTecla> 47 && nTecla <58) || nTecla == 8 || nTecla == 127 || nTecla == 0 || nTecla == 9 || nTecla == 13) 
	{
		return true;
	} 
	else 
	{
		if(browser == "Mozilla")
		{
			evtKeyPress.preventDefault();
			return false;
		} 
		else 
		{
			evtKeyPress.keyCode = 0;
			return false;
		}
	}
}

function TeclaEmail(evtKeyPress) 
{
	var nTecla = 0;
	if(browser == "Mozilla")
	{
    	nTecla = evtKeyPress.which;
	} 
	else 
	{
		nTecla = evtKeyPress.keyCode;
	}
	//alerta(nTecla);
	if ((nTecla>96 && nTecla <123) || (nTecla> 47 && nTecla <58) || nTecla == 64 || nTecla == 46 || nTecla == 8 || nTecla == 127 || nTecla == 0 || nTecla == 9 || nTecla == 13 || nTecla == 95 || nTecla == 45 || nTecla == 59 ) 
	{
		return true;
	}
	else if (nTecla > 64 && nTecla < 91)
	{
	  	if(browser == "Mozilla")
	  	{
	  		//alerta('Não é permitido caractere maiúsculo no campo de email');
	  		evtKeyPress.preventDefault();
	  		return false;
		} 
		else 
		{
			//alerta('Não é permitido caractere maiúsculo no campo de email');
			evtKeyPress.keyCode = 0;
			return false;
		}
	} 
	else 
	{
	  	if(browser == "Mozilla")
	  	{
	  		evtKeyPress.preventDefault();
	  		return false;
		} 
		else 
		{
			evtKeyPress.keyCode = 0;
			return false;
		}
	}
}

function mascara_cpf(evt)
{
  var objeto;
  var ie_var = "srcElement";
  var moz_var = "target";
  var prop_var = "Objeto";
  // "target" for Mozilla, Netscape, Firefox et al. ; "srcElement" for IE
  evt[moz_var] ? objeto = evt[moz_var][prop_var] : objeto = evt[ie_var][prop_var];
  var cpf = window.document.getElementById(objeto).value;
  var mycpf = ''; 
  mycpf = mycpf + cpf; 
  if (mycpf.length == 3){ 
      mycpf = mycpf + '.'; 
      window.document.getElementById(objeto).value = mycpf; 
  } 
  if (mycpf.length == 7){ 
      mycpf = mycpf + '.'; 
      window.document.getElementById(objeto).value = mycpf; 
  } 
  if (mycpf.length == 11){ 
      mycpf = mycpf + '-'; 
      window.document.getElementById(objeto).value = mycpf; 
  }
  if (mycpf.length >= 15){
  	window.document.getElementById(objeto).value = mycpf.substr(0,14);
  }
}

function checa_cpf(CPF) 
{
	var mensagem = false
	var msg = true;
	if (CPF.length != 11 || CPF == "00000000000" || CPF == "11111111111" ||
	  CPF == "22222222222" ||	CPF == "33333333333" || CPF == "44444444444" ||
	  CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" ||
	  CPF == "88888888888" || CPF == "99999999999")
	msg = mensagem;
	soma = 0;
	for (y=0; y < 9; y ++)
	soma += parseInt(CPF.charAt(y)) * (10 - y);
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)resto = 0;
	if (resto != parseInt(CPF.charAt(9)))
	  msg = mensagem; soma = 0;
	for (y = 0; y < 10; y ++)
	  soma += parseInt(CPF.charAt(y)) * (11 - y);
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11) resto = 0;
	if (resto != parseInt(CPF.charAt(10)))
	  msg = mensagem;
	return msg;
}

function RealTestaCNPJ(CNPJ,g)
{
	var VerCNPJ=0;
	var ind=2;
	var tam;
	for(f=g;f>0;f--)
	{
		VerCNPJ+=parseInt(CNPJ.charAt(f-1))*ind;
		if(ind>8)
		{
			ind=2;
		}
		else
		{
			ind++;
		}
	}
	VerCNPJ%=11;
	if(VerCNPJ==0 || VerCNPJ==1)
	{
		VerCNPJ=0;
	}
	else
	{
		VerCNPJ=11-VerCNPJ;
	}
	if(VerCNPJ!=parseInt(CNPJ.charAt(g)))
	{
		return(0);
	}
	else
	{
		return(1);
	}
}

function seleciona_list(controle)
{
	for(var i=0;i < controle.length;i++)
	{
		controle.options[i].selected=true
	}
}

function adiciona_list(obj_origem,obj_destino)
{
	for(var i=0,j=obj_destino.options.length;i < obj_origem.options.length;i++)
	{
		if(obj_origem.options[i].selected && obj_origem.options[i].value!='')
		{
			var existe=false;for(var u=0;u < obj_destino.options.length;u++)
			{
				if(obj_destino.options[u].value==obj_origem.options[i].value){
					existe=true
				}
			}
			if(!existe)
			{
				obj_destino.options[j]=new Option(obj_origem.options[i].text,obj_origem.options[i].value);j++
			}
		}
	}
}

function remove_list(obj)
{
	for(var i=0;i < obj.options.length;i++)
	{
		if(obj.options[i].selected)
		{
			obj.options[i]=null;i--
		}
	}
}

function Limpar(evt)
{
	var objeto;
	var ie_var = "srcElement";
	var moz_var = "target";
	evt[moz_var] ? objeto = evt[moz_var] : objeto = evt[ie_var];
	formulario = window.document.getElementById(objeto.Formulario);
	formulario2 = window.document.getElementsByName(objeto.Formulario);
	
	for(i=0;i < formulario2.elements.length;i++)
	{
		if (formulario2.elements[i].tagName.toUpperCase() == "INPUT" && formulario2.elements[i].type.toUpperCase() == "RADIO")
		{
			formulario2.elements[i].checked=false
		}
	}
	
	for(i=0;i < formulario.elements.length;i++)
	{
		if(formulario.elements[i].tagName.toUpperCase() == "INPUT" || formulario.elements[i].tagName.toUpperCase() == "TEXTAREA")
		{
			if(formulario.elements[i].type.toUpperCase() != "HIDDEN" && formulario.elements[i].type.toUpperCase() != "BUTTON" && formulario.elements[i].type.toUpperCase() != "RESET" && formulario.elements[i].type.toUpperCase() != "SUBMIT" && formulario.elements[i].type.toUpperCase() != "CHECKBOX")
			{
				formulario.elements[i].value=""
			}
			if(formulario.elements[i].type.toUpperCase() == "CHECKBOX")
			{
				formulario.elements[i].checked=false
			}
		}
		else if(formulario.elements[i].tagName.toUpperCase() == "SELECT")
		{
			if(formulario.elements[i].type.toUpperCase() == "SELECT-ONE")
			{
				formulario.elements[i].selectedIndex=0
			}
			else
			{
				for(var j=0;j<formulario.elements[i].options.length;j++)
				{
					formulario.elements[i].options[j]=null;j--
				}
			}
		}
	}
}

function LimparForm(form)
{
	formulario = form;
	for(i=0;i < formulario.elements.length;i++)
	{
		if(formulario.elements[i].tagName.toUpperCase() == "INPUT" || formulario.elements[i].tagName.toUpperCase() == "TEXTAREA")
		{
			if(formulario.elements[i].type.toUpperCase() != "HIDDEN" && formulario.elements[i].type.toUpperCase() != "BUTTON" && formulario.elements[i].type.toUpperCase() != "RESET" && formulario.elements[i].type.toUpperCase() != "SUBMIT" && formulario.elements[i].type.toUpperCase() != "CHECKBOX" && formulario.elements[i].type.toUpperCase() != "RADIO")
			{

				formulario.elements[i].value=""

			}
			if(formulario.elements[i].type.toUpperCase() == "RADIO" || formulario.elements[i].type.toUpperCase() == "CHECKBOX")
			{
				formulario.elements[i].checked=false
			}
		}
		else if(formulario.elements[i].tagName.toUpperCase() == "SELECT")
		{
			if(formulario.elements[i].type.toUpperCase() == "SELECT-ONE")
			{
				formulario.elements[i].selectedIndex=0
			}
			else
			{
				for(var j=0;j<formulario.elements[i].options.length;j++)
				{
					formulario.elements[i].options[j]=null;j--
				}
			}
		}
	}
}

function DesabilitaCampos(form,campos)
{
	formulario = document.forms[form];
	campos = campos == null ? campos = new Array() : campos;
	var strcampos = campos.join();
	var str;
	
	for(i=0;i < formulario.elements.length;i++)
	{
		str = formulario.elements[i].id.toString();
		
		if( formulario.elements[i].tagName.toUpperCase() == "INPUT" || formulario.elements[i].tagName.toUpperCase() == "TEXTAREA" )
		{
			if(formulario.elements[i].type.toUpperCase() != "HIDDEN" && formulario.elements[i].type.toUpperCase() != "BUTTON" && formulario.elements[i].type.toUpperCase() != "RESET" && formulario.elements[i].type.toUpperCase() != "SUBMIT" && formulario.elements[i].type.toUpperCase() != "CHECKBOX")
			{
				if ( strcampos.indexOf(str) == -1 )
				{
					formulario.elements[i].readOnly=true;
				}
				else
				{
					if ( window.document.getElementById(formulario.elements[i].id+"Title") && window.document.getElementById("msgAlteracao") )
					{
						formulario.elements[i].readOnly=false;
						window.document.getElementById(formulario.elements[i].id+"Title").parentNode.style.color = 'red';
						window.document.getElementById("msgAlteracao").style.display='';
					}
				}
			}
			if(formulario.elements[i].type.toUpperCase() == "RADIO" || formulario.elements[i].type.toUpperCase() == "CHECKBOX")
			{
				if ( strcampos.indexOf(str) == -1 )
				{
					if(browser == "Mozilla")
					{
						formulario.elements[i].addEventListener('focus', TiraFoco, false);
					}
					else
					{
						//IE
						formulario.elements[i].attachEvent('onfocus', TiraFoco);
					}
				}
				else
				{
					if ( window.document.getElementById(formulario.elements[i].id+"Title") && window.document.getElementById("msgAlteracao") )
					{
						if(browser == "Mozilla")
						{
							formulario.elements[i].removeEventListener('focus', TiraFoco, false);
						}
						else
						{
							//IE
							formulario.elements[i].detachEvent('onfocus', TiraFoco);
						}
						window.document.getElementById(formulario.elements[i].id+"Title").parentNode.style.color = 'red';
						window.document.getElementById("msgAlteracao").style.display='';
					}
				}
			}
			/*
			if(formulario.elements[i].type.toUpperCase() == "RADIO" || formulario.elements[i].type.toUpperCase() == "CHECKBOX")
			{
				formulario.elements[i].disabled = true;
			}*/
		}
		else if(formulario.elements[i].tagName.toUpperCase() == "SELECT")
		{
			if ( strcampos.indexOf(str) == -1 )
			{
				for(var j=0;j < formulario.elements[i].options.length;j++)
				{
						if(!formulario.elements[i].options[j].selected)
					{
						formulario.elements[i].options[j]=null;j--
					}
				}
						
				if(browser == "Mozilla")
				{
					formulario.elements[i].addEventListener('focus', TiraFoco, false);
				}
				else
				{
					//IE
					formulario.elements[i].attachEvent('onfocus', TiraFoco);
				}
			}
			else
			{
				if ( window.document.getElementById(formulario.elements[i].id+"Title") && window.document.getElementById("msgAlteracao") )
				{
					if(browser == "Mozilla")
					{
						formulario.elements[i].removeEventListener('focus', TiraFoco, false);
					}
					else
					{
						//IE
						formulario.elements[i].detachEvent('onfocus', TiraFoco);
					}
					window.document.getElementById(formulario.elements[i].id+"Title").parentNode.style.color = 'red';
					window.document.getElementById("msgAlteracao").style.display='';
				}
			}
		}
	}
}

function TiraFoco(evtKeyPress) 
{
	this.blur();
	this.focus();
}

function GetInnerHTML(Controle)
{
	var oEditor = FCKeditorAPI.GetInstance(Controle);
	//oEditor.ResetIsDirty();
	var text = oEditor.EditorDocument.body.innerHTML;
	text = text.replace("<SPAN>", "") ;
	text = text.replace("</SPAN>", "") ;
	text = text.replace("<span>", "") ;
	text = text.replace("</span>", "") ;
	text = text.replace("<DIV>", "") ;
	text = text.replace("</DIV>", "") ;
	text = text.replace("<div>", "") ;
	text = text.replace("</div>", "") ;
	text = text.replace("<P>", "") ;
	text = text.replace("</P>", "") ;
	text = text.replace("<p>", "") ;
	text = text.replace("</p>", "") ;
	text = text.replace("&nbsp;", "") ;
	text = text.replace("<br>", "");
	text = text.replace("<br />", "");
	text = text.replace("<hr />", "");
	text = text.replace("<hr>", "");
	return text;
}

function LTrim(str)
{
	// create a string that holds all possible white space values..
	var whitespace = new String(" \t<br />\r");

	// create a String object from our value
	var s = new String(str);
	
	if (whitespace.indexOf(s.charAt(0)) != -1) {
		var j=0, i = s.length;
		
		while (j < i && whitespace.indexOf(s.charAt(j)) != -1) { j++; }
			
		s = s.substring(j, i);
		}
	
	return s;
}

function HTMLEncode( text )
{
	text = text.replace(/&/g, "&amp;") ;
	text = text.replace(/"/g, "&quot;") ;
	text = text.replace(/</g, "&lt;") ;
	text = text.replace(/>/g, "&gt;") ;
	text = text.replace(/'/g, "&#39;") ;

	return text ;
}

function verifica_radio(ref_radio_group)
{
	
	for (var i=0;i<ref_radio_group.length;i++)
	{

			if (ref_radio_group[i].checked)
			{
				break;
			}else{
				
				if(!ref_radio_group[i].checked && i==ref_radio_group.length-1){
					
					return false;
					
				}
				
			}
		
		
	}
	
	return ref_radio_group[i];
}

function getHTTPObject() {
	
var req;

try {
 if (window.XMLHttpRequest) {
  req = new XMLHttpRequest();

  if (req.readyState == null) {
   req.readyState = 1;
   req.addEventListener("load", function () {
   req.readyState = 4;

   if (typeof req.onReadyStateChange == "function")
    req.onReadyStateChange();
   }, false);
  }

  return req;
 }

 if (window.ActiveXObject) {
  var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];

  for (var i = 0; i < prefixes.length; i++) {
   try {
    req = new ActiveXObject(prefixes[i] + ".XmlHttp");
    return req;
   } catch (ex) {};

  }
 }
} catch (ex) {}

alerta("XmlHttp Objetos não são suportados pelo navegador da sua máquina.");
return false;
}

function changeColor(obj){
	obj.style.backgroundColor = '#ffdd78';
}

function retiraAcento(evtKeyPress)
{
	var objeto;
	var ie_var = "srcElement";
	var moz_var = "target";
	var prop_var = "Objeto";
	// "target" for Mozilla, Netscape, Firefox et al. ; "srcElement" for IE
	evtKeyPress[moz_var] ? objeto = evtKeyPress[moz_var][prop_var] : objeto = evtKeyPress[ie_var][prop_var];
	
	var obj = window.document.getElementById(objeto);
		
	palavra = String.fromCharCode(evtKeyPress.charCode);

	var caracteresInvalidos = 'àèìòùâêîôûäëïöüáéíóúãõÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÁÉÍÓÚÃÕ';
	var caracteresValidos =   'aeiouaeiouaeiouaeiouaoAEIOUAEIOUAEIOUAEIOUAO';

	if (caracteresInvalidos.indexOf(palavra) == -1) 
	{
		if (caracteresValidos.indexOf(palavra) != -1)
		{
			if(browser == "Mozilla")
			{
				evtKeyPress.preventDefault();
			} 
			else 
			{
				evtKeyPress.keyCode = 0;
				return false;
			}
			obj.value = obj.value + palavra;
		}
	} 
	else 
	{
		if(browser == "Mozilla")
		{
			evtKeyPress.preventDefault();
		} 
		else 
		{
			evtKeyPress.keyCode = 0;
			return false;
		}
		
		var newChar = caracteresValidos.charAt(caracteresInvalidos.indexOf(palavra));
		obj.value = obj.value + newChar;
	}
}

/*
	Função para formatar os mais diversos valores, datas, horas, telefones, cpf, cnpj.... em fim
	Exemplo de Uso
	validar( myFormulario, myObjeto, myObrigatorio, myLabel, myValida, myTamanho, myMascara );
	
	validar( 'form', 'campo', 'S', 'Data', 'DATA', 'null', '99/99/9999' );
	validar( 'form', 'campo', 'S', 'Data', 'CPF', 'null', '999.999.999-99' );
	validar( 'form', 'campo', 'S', 'Telefone', 'null', 'null', '(99)9999-9999' );
*/
function Formata2(evtKeyPress)
{
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
	
	var objeto;
	var ie_var = "srcElement";
	var moz_var = "target";
	var prop_var = "Objeto";
	
	// "target" for Mozilla, Netscape, Firefox et al. ; "srcElement" for IE
	evtKeyPress[moz_var] ? objeto = evtKeyPress[moz_var][prop_var] : objeto = evtKeyPress[ie_var][prop_var];
	
	var obj = window.document.getElementById(objeto);
	
	sMask = window.document.getElementById(objeto).Mascara;
	
	if(browser == "Mozilla")
	{
		nTecla = evtKeyPress.which;
	} 
	else 
	{
		nTecla = evtKeyPress.keyCode;
	}
	
	if( nTecla == 8 )
	{
		return true;
	}
		
	sValue = obj.value;
	
	// Limpa todos os caracteres de formatação que
	// já estiverem no campo.
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( ":", "" );
	sValue = sValue.toString().replace( ":", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( " ", "" );
	sValue = sValue.toString().replace( " ", "" );
	fldLen = sValue.length;
	mskLen = sMask.length;
	
	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;
	
	while (i <= mskLen)
	{
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
		
		if (bolMask)
		{
			sCod += sMask.charAt(i);
			mskLen++; 
		}
		else
		{
			sCod += sValue.charAt(nCount);
			nCount++;
		}
		
		i++;
	}
	
	obj.value = sCod;
	
	if ( nTecla != 8 )
	{ // backspace
		if (sMask.charAt(i-1) == "9")
		{ // apenas números...
			return ( (nTecla > 47) && (nTecla < 58) ); 
		} 
		else
		{ // qualquer caracter...
		return true;
		} 
	}
	else
	{
		return true;
	}
}

function caixaAlta( evt )
{
	var objeto;
	var ie_var = "srcElement";
	var moz_var = "target";
	var prop_var = "Objeto";
	
	// "target" for Mozilla, Netscape, Firefox et al. ; "srcElement" for IE
	evt[moz_var] ? objeto = evt[moz_var][prop_var] : objeto = evt[ie_var][prop_var];
	
	var obj = window.document.getElementById(objeto);
	
	obj.value = obj.value.toUpperCase();
}

function caixaBaixa( evt )
{
	var objeto;
	var ie_var = "srcElement";
	var moz_var = "target";
	var prop_var = "Objeto";
	
	// "target" for Mozilla, Netscape, Firefox et al. ; "srcElement" for IE
	evt[moz_var] ? objeto = evt[moz_var][prop_var] : objeto = evt[ie_var][prop_var];
	
	var obj = window.document.getElementById(objeto);
	
	obj.value = obj.value.toLowerCase();
}


/*
document.onkeydown = function(){
	if( window.event && window.event.keyCode == 116 )
	{
		window.event.keyCode = 505;
	}
	if( window.event && window.event.keyCode == 505 )
	{
		return false;
	}
}
*/

function LimparValor(valor, validos) {
// retira caracteres invalidos da string
var result = "";
var aux;
for (var i=0; i < valor.length; i++) {
aux = validos.indexOf(valor.substring(i, i+1));
if (aux>=0) {
result += aux;
}
}
return result;
}

//Formata número tipo moeda usando o evento onKeyDown
function FormatFloat( evtKeyDown ) {

	var objeto;
	var ie_var = "srcElement";
	var moz_var = "target";
	var prop_var = "Objeto";
	
	// "target" for Mozilla, Netscape, Firefox et al. ; "srcElement" for IE
	evtKeyDown[moz_var] ? objeto = evtKeyDown[moz_var][prop_var] : objeto = evtKeyDown[ie_var][prop_var];
	
	var campo = window.document.getElementById(objeto);
	
	var tammax = 20;
	
	if(browser == "Mozilla")
	{
		tecla = evtKeyDown.which;
	} 
	else 
	{
		tecla = evtKeyDown.keyCode;
	}
	
	var vr = LimparValor(campo.value,"0123456789");
	var tam = vr.length;
	var dec = 2;
	
	if (tam < tammax && tecla != 8)
	{ 
		tam = vr.length + 1 ; 
	}
	
	if (tecla == 8 )
	{ 
		tam = tam - 1 ; 
	}
	
	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 )
	{
		if ( tam <= dec )
		{ 
			campo.value = vr ; 
		}
		
		if ( (tam > dec) && (tam <= 5) )
		{
			campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ) ; 
		}
		
		if ( (tam >= 6) && (tam <= 8) )
		{
			campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, 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 - dec, 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 - dec, 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 ) ;
		}
	} 

}
