function fu_carregaXML(url,retorno,pare){
	if(document.getElementById("ajaxcarrega"))document.getElementById("ajaxcarrega").style.visibility="visible";
	var req;
	req = null;
	if (window.XMLHttpRequest){
		req = new XMLHttpRequest();
		req.onreadystatechange = fu_processa;
		req.open("GET", url, true);
		req.send(null);

	}else if(window.ActiveXObject){
		try{
			req = new ActiveXObject("Msxml2.XMLHTTP.4.0");
		} catch(e) {
			try {
				req = new ActiveXObject("Msxml2.XMLHTTP.3.0");
			} catch(e) {
				try {
					req = new ActiveXObject("Msxml2.XMLHTTP");
				} catch(e) {
					try {
						req = new ActiveXObject("Microsoft.XMLHTTP");
					} catch(e) {
						req = false;
					}
				}
			}
		}
		if (req) {
		 req.onreadystatechange = fu_processa;
		 req.open("GET", url, true);
		 req.send();
		}
	}
	function fu_processa(){
		if (req.readyState == 4) {
			if (req.status == 200) {
				if(retorno!=""){
					if(pare==1)
						parent.document.getElementById(retorno).innerHTML = req.responseText;
					else
						document.getElementById(retorno).innerHTML = req.responseText;
					if(document.getElementById("ajaxcarrega"))document.getElementById("ajaxcarrega").style.visibility="hidden";
				}else
					if(document.getElementById("ajaxcarrega"))document.getElementById("ajaxcarrega").style.visibility="hidden";
			} else {
				alert("Houve um problema ao obter os dados:\n" + req.statusText);
			}
		}
	}
}


function fu_checaCNPJ(CNPJ){
	var i;
	s = CNPJ;
	var c=s.substr(0,12);
	var dv=s.substr(12,2);
	var d1=0;
	for(i=0;i<12;i++){
		d1+=c.charAt(11-i)*(2+(i%8));
	}
	if(d1==0)return false;
	d1=11-(d1%11);
	if(d1>9)d1=0;
	if(dv.charAt(0)!=d1){
		return false;
	}
	d1 *= 2;
	for(i=0;i<12;i++){
		d1+=c.charAt(11-i)*(2+((i+1)%8));
	}
	d1=11-(d1%11);
	if(d1>9)d1=0;
	if(dv.charAt(1)!=d1){
		return false;
	}
	return true;
}

function fu_checaCPF(CPF){
	if(CPF.length!=11||CPF=="00000000000"||CPF=="11111111111"||CPF=="22222222222"||CPF=="33333333333"||CPF=="44444444444"||CPF=="55555555555"||CPF=="66666666666"||CPF=="77777777777"||CPF=="88888888888"||CPF=="99999999999")return false;
	soma = 0;
	for(i=0;i<9;i++)soma+=parseInt(CPF.charAt(i))*(10-i);
	resto=11-(soma%11);
	if(resto==10||resto==11)
	resto=0;
	if(resto!=parseInt(CPF.charAt(9)))
	return false;
	soma=0;
	for(i=0;i<10;i++)
	soma+=parseInt(CPF.charAt(i))*(11-i);
	resto=11-(soma%11);
	if(resto==10||resto==11)
	resto=0;
	if(resto!=parseInt(CPF.charAt(10)))
	return false;
	return true;
}

function fu_valida_cpfcnpj(campo){
	if(campo.value.length==11){
		if(fu_checaCPF(campo.value)){
			return true;
		}else{
			return false;
		}
	}else{
		if(fu_checaCNPJ(campo.value)){
			return true;
		}else{
			return false;
		}
	}
}

function fu_checa_data(data){//vem como dia/mes/ano
	data = String(data);
	dt = new String(data);
	var dia = dt.substr(0,2);
	var mes = dt.substr(3,2);
	var ano = dt.substr(6,4);
	var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	if (!dia || !mes || !ano){
		return false;
	}
	if (data.length<10){
		return false;
	}
	if (ano/4 == parseInt(ano/4))
		monthLength[1] = 29;

	if (dia > monthLength[mes-1])
		monthLength[1] = 28;

	var now = new Date();
	now = now.getTime(); //NN3

	var dateToCheck = new Date();
	dateToCheck.setYear(ano);
	dateToCheck.setMonth(mes-1);
	dateToCheck.setDate(dia);
	var checkDate = dateToCheck.getTime();
	var pastDate = (now >= checkDate);
	if (pastDate==false){
		return false;
	}else{
		return true;
	}
}
function fu_limpa_string(s){
	var digitos = "0123456789";
	var temp = "";
	var digito = "";
	for (var i = 0; i < s.length; i++){
		digito = s.charAt(i);
		if (digitos.indexOf(digito) >= 0) temp += digito;
	}
	return temp;
}

function fu_mascara(formato, evtKeyPress){
	if(document.all){
		var keypress= evtKeyPress.keyCode;
	}else{
		var keypress= evtKeyPress.which;
	}
	var campo = evtKeyPress.target ? evtKeyPress.target : evtKeyPress.srcElement;
	if((keypress!=0)&&(keypress!=8)){//permite barra de espaco, setas, tab home, end, backspace

		// PROTECAO
		if(formato=='PROTECAO'){
			var vr = campo.value;
			vr = vr.replace("'", "");
			vr = vr.replace("'", "");
			vr = vr.replace('"', '');
			vr = vr.replace("/", "");
			vr = vr.replace(",", "");
			vr = vr.replace(".", "");
			campo.value = vr;
		}
		// CEP
		if(formato=='CEP'){
			var separador = '-';
			var conjunto1 = 5;
			var c = String.fromCharCode(keypress);
			if (isNaN(c) || keypress == 32) return false;

			if(campo.value.length==conjunto1)campo.value += separador;
		}
		// DATA
		if(formato=='DATA'){
			var separador = '/';
			var conjunto1 = 2;
			var conjunto2 = 5;
			var c = String.fromCharCode(keypress);
			if (isNaN(c) || keypress == 32) return false;

			if (campo.value.length == conjunto1) campo.value += separador;
			if (campo.value.length == conjunto2) campo.value += separador;
		}
		// TELEFONE
		if(formato=='TELEFONE'){
			var s = fu_limpa_string(campo.value);
			var i = 0;
			var c = String.fromCharCode(keypress);
			if (isNaN(c) || keypress == 32) return false;

			if (s.substr(0, 1) == '0') i = 1;
			if (s.length == 6)
				campo.value = s.substr(0, 3) + '-' + s.substr(3, 4);
			else if (s.length == (8 + i))
				campo.value = s.substr(0, 2 + i) + ' ' + s.substr(2 + i, 3) + '-' + s.substr(5 + i, 4);
			else if (s.length == (9 + i) && keypress != 13)
				campo.value = s.substr(0, 2 + i) + ' ' + s.substr(2 + i, 4) + '-' + s.substr(6 + i, 4);
		}
		// MOEDA
		if(formato=='MOEDA'){
			var vr = campo.value;
			vr = vr.replace("/", "");
			vr = vr.replace("/", "");
			vr = vr.replace(",", "");
			vr = vr.replace(".", "");
			vr = vr.replace(".", "");
			vr = vr.replace(".", "");
			vr = vr.replace(".", "");
			var tam = vr.length;
			var c = String.fromCharCode(keypress);
			if (isNaN(c) || keypress == 32) return false;

			var tammax = 13;
			if(tam < tammax && keypress != 8) tam = vr.length + 1;
			if(keypress==8)tam = tam - 1;
			if(keypress==8 || keypress>=48 && keypress<=57 || keypress>=96 && keypress<=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);
			}
		}
		// CNPJ
		if(formato=='CNPJ'){
			var s = fu_limpa_string(campo.value);
			if(s.length==2)
				campo.value = s.substr(0, 2) + '.';
			else if (s.length==5)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '.';
			else if (s.length==8)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '.' + s.substr(5, 3) + '/';
			else if (s.length==12)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '.' + s.substr(5, 3) + '/' + s.substr(8, 4) + '-' + s.substr(12, 2);
		}
		// CPF
		if(formato=='CPF'){
			var s = fu_limpa_string(campo.value);
			if (s.length == 3)
				campo.value = s.substr(0, 3) + '.';
			else if (s.length == 6)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, 3) + '.';
			else if (s.length == 9)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, 3) + '.' + s.substr(6, 3) + '-';
		}
		// TEMPO
		if(formato=='TEMPO'){
			var s = fu_limpa_string(campo.value);
			if (s.length == 2)
				campo.value = s.substr(0, 2) + '.';
			else if (s.length == 5)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '.';
			else if (s.length == 6)
				campo.value = s.substr(0, 2) + ':' + s.substr(2, 2) + '.' + s.substr(4, 3);
		}
		// HORA
		if(formato=='HORA'){
			var s = fu_limpa_string(campo.value);
			if (s.length == 2)
				campo.value = s.substr(0, 2) + ':';
/*
			else if (s.length == 5)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '.';
*/
		}
		// NUMERO
		if(formato=='NUMERO'){
		var c = String.fromCharCode(keypress);
		if (isNaN(c) || keypress == 32) return false;

		}
	}
}
function fu_somente_numeros(strValue){
	var i;
	var retorno = '';
	var c = '';
	for (i = 0; i < strValue.length; i++){
		c = strValue.substr(i, 1);
		if (!isNaN(c)) retorno += c;
	}
	return retorno;
}
function fu_esconde_selects(acao)
{
  a=document.getElementsByTagName('select');
  var prop = '';
  if ( acao == 1 )
  	prop	= 'hidden';
  else 
  	prop	= 'visible';//esconde ou mostra
  for(var i=0; i < a.length; i++){
	  if(document.getElementById(a[i].id))document.getElementById(a[i].id).style.visibility=prop;
  }
}

function fu_mostra_esconde(div,array,flag)
{
	if ( array != null ) {
		for ( i = 0; array[i]; i++ )
		{
			if ( document.getElementById(array[i]) )
				document.getElementById(array[i]).style.display='none';
		}
		document.getElementById(div).style.display = "block";
		if ( flag == 1 ) {
			//onmouseout
			for ( i = 0; array[i]; i++ )
			{
				if ( document.getElementById(array[i]) )
					document.getElementById(array[i]).style.display='none';
			}
		}
	} else {
		if ( document.getElementById(div) )
		{
			if ( document.getElementById(div).style.display == "block" )
				document.getElementById(div).style.display = "none";
			else
				document.getElementById(div).style.display = "block"
		}
	}
}
function fu_menu(div,array)
{
	if ( array != null) {
		for ( i = 0; array[i]; i++ )
		{
			if ( document.getElementById(array[i]) )
				document.getElementById(array[i]).className='';
		}
	}
	if ( document.getElementById(div) )
		document.getElementById(div).className='selected';	
}

function fu_janela(url,width,height) 
{
	window.open(url);
}