function desabilitarTudo(){	
   for (i=0;i<document.frm.elements.length;i++){ 

	   if(document.frm.elements[i].type != 'hidden'){
		 document.frm.elements[i].disabled = true;
	   } 
	}
}


function mascaraglobal(mascara, valor){

	var mascara_utilizar;
	var mascara_limpa;
	var temp;
	var i;
	var j;
	var caracter;
	var separador;
	var dif;
	var validar;
	var mult;
	var ret;
	var tam;
	var tvalor;
	var valorm;
	var masct;
	tvalor = "";
	ret = "";
	caracter = "#";
	separador = "|";
	mascara_utilizar = "";
	valor = trim(valor);
	if (valor == "")return valor;
	temp = mascara.split(separador);
	dif = 1000;

	valorm = valor;
	//tirando mascara do valor já existente
	for (i=0;i<valor.length;i++){
		if (!isNaN(valor.substr(i,1))){
			tvalor = tvalor + valor.substr(i,1);
		}
	}
	valor = tvalor;

	//formatar mascara dinamica
	for (i = 0; i<temp.length;i++){
		mult = "";
		validar = 0;
		for (j=0;j<temp[i].length;j++){
			if (temp[i].substr(j,1) == "]"){
				temp[i] = temp[i].substr(j+1);
				break;
			}
			if (validar == 1)mult = mult + temp[i].substr(j,1);
			if (temp[i].substr(j,1) == "[")validar = 1;
		}
		for (j=0;j<valor.length;j++){
			temp[i] = mult + temp[i];
		}
	}


	//verificar qual mascara utilizar
	if (temp.length == 1){
		mascara_utilizar = temp[0];
		mascara_limpa = "";
		for (j=0;j<mascara_utilizar.length;j++){
			if (mascara_utilizar.substr(j,1) == caracter){
				mascara_limpa = mascara_limpa + caracter;
			}
		}
		tam = mascara_limpa.length;
	}else{
		//limpar caracteres diferente do caracter da máscara
		for (i=0;i<temp.length;i++){
			mascara_limpa = "";
			for (j=0;j<temp[i].length;j++){
				if (temp[i].substr(j,1) == caracter){
					mascara_limpa = mascara_limpa + caracter;
				}
			}

			if (valor.length > mascara_limpa.length){
				if (dif > (valor.length - mascara_limpa.length)){
					dif = valor.length - mascara_limpa.length;
					mascara_utilizar = temp[i];
					tam = mascara_limpa.length;
				}
			}else if (valor.length < mascara_limpa.length){
				if (dif > (mascara_limpa.length - valor.length)){
					dif = mascara_limpa.length - valor.length;
					mascara_utilizar = temp[i];
					tam = mascara_limpa.length;
				}
			}else{
				mascara_utilizar = temp[i];
				tam = mascara_limpa.length;
				break;
			}
		}
	}

	//validar tamanho da mascara de acordo com o tamanho do valor
	if (valor.length > tam){
		valor = valor.substr(0,tam);
	}else if (valor.length < tam){
		masct = "";
		j = valor.length;
		for (i = mascara_utilizar.length-1;i>=0;i--){
			if (j == 0) break;
			if (mascara_utilizar.substr(i,1) == caracter){
				j--;
			}
			masct = mascara_utilizar.substr(i,1) + masct;
		}
		mascara_utilizar = masct;
	}

	//mascarar
	j = mascara_utilizar.length -1;
	for (i = valor.length - 1;i>=0;i--){
		if (mascara_utilizar.substr(j,1) != caracter){
			ret = mascara_utilizar.substr(j,1) + ret;
			j--;
		}
		ret = valor.substr(i,1) + ret;
		j--;
	}
	return ret;
}

//tirar os espaços das extremidades do valor passado (utilizada pela mascaraglobal)
function trim(valor){
	for (i=0;i<valor.length;i++){
		if(valor.substr(i,1) != " "){
			valor = valor.substr(i);
			break;
		}
		if (i == valor.length-1){
			valor = "";
		}
	}
	for (i=valor.length-1;i>=0;i--){
		if(valor.substr(i,1) != " "){
			valor = valor.substr(0,i+1);
			break;
		}
	}
	return valor;
}
function replaceAll(str, de, para){
	var pos = str.indexOf(de);
	while (pos > -1){
		str = str.replace(de, para);
		pos = str.indexOf(de);
	}
	return (str);
}
function validaCPF(c){
	c = replaceAll(c, '.', '').replace('-','');
	var i;
	s = c;
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	var v = false;
	for (i = 0; i < 9; i++)
	{
		d1 += c.charAt(i)*(10-i);
	}
	if (d1 == 0){

		v = true;
		return false;
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1)
	{

		v = true;
		return false;
	}

	d1 *= 2;
	for (i = 0; i < 9; i++)
	{
		d1 += c.charAt(i)*(11-i);
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1)
	{

		v = true;
		return false;
	}
	if (!v) {
		return(true);
	}
}
function validaData(date,dataHoje) {
	var err = 0
	string = date
	var valid = "0123456789/"
	var ok = "yes";
	var temp;
	for (var i=0; i< string.length; i++) {
		temp = "" + string.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") err = 1;
	}
	if (string.length != 10) err=1
	b = string.substring(3, 5)		// month
	c = string.substring(2, 3)		// '/'
	d = string.substring(0, 2)		// day
	e = string.substring(5, 6)		// '/'
	f = string.substring(6, 10)	// year
	if (b<1 || b>12) err = 1
	if (c != '/') err = 1
	if (d<1 || d>31) err = 1
	if (e != '/') err = 1
	if (f<1850 || f>2050) err = 1
	if (b==4 || b==6 || b==9 || b==11){
		if (d==31) err=1
	}
	if (b==2){
		var g=parseInt(f/4)
		if (isNaN(g)) {
			err=1
		}
		if (d>29) err=1
		if (d==29 && ((f/4)!=parseInt(f/4))) err=1
	}
	if (err==1) {

		return false;
	}
	else {

		return DataValida(date,dataHoje);
	}
}

function DataValida(data,dataHoje) {




	x = data.split("/");
	h = dataHoje.split("/");

	if(parseInt(x[1]) > 12 ) return false;
	if(x[0] > 31 || h[0] > 31) return false;

	if(x[2] >  h[2]) return false;
	if(x[2] == h[2] && x[1] >  h[1]) return false;
	if(x[2] == h[2] && x[1] == h[1] && x[0] > h[0]) return false;

	return true;

}

function validaEmail(mail){
	var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
	if(typeof(mail) == "string"){
		if(er.test(mail)){ return true; }
	}else if(typeof(mail) == "object"){
		if(er.test(mail.value)){
			return true;
		}
	}else{
		return false;
	}
}

function selecionaOptionCombo(frm,nome,busca){

	var objSelect = document.forms[frm].elements[nome];

	var qtd = objSelect.options.length;

	var conteudo;

	for (var i = 0 ; i < qtd ; i++){
		conteudo = objSelect.options[i].value;

		if( conteudo == busca ) {

			objSelect.options[i].selected  = true;

			break;
		}
		objSelect.options[0].selected = true;
	}

}

function escondeMostra(esconde,mostra){

	document.getElementById(esconde).style.display = "none";
	document.getElementById(mostra).style.display = "";

}
function itensCheck(frm,nome){
	var menu   = document.forms[frm].elements[nome];
	var qtd    = menu.length;
	var string = "";

	for(var i = 0 ; i < qtd ; i++){
		if(menu[i].checked)
		string += menu[i].value + '_';
	}
	return string;
}
function checkCheck(frm,nome,string){
	var c   = document.forms[frm].elements[nome];
	var qtd = c.length;
	var partes = string.split("_");
	for(var j = 0 ; j < qtd ; j++){
		c[j].checked = false;
		for(var i = 0 ; i < partes.length ; i++){

			if(c[j].value == partes[i]){
				//alert(c[j].value);
				c[j].checked = true;
			}
		}

	}
}

function checkRadio(frm,nome,string){
	if(trim(string).length == 0) return;
	//alert(nome + '   ' + string);
	var c   = document.forms[frm].elements[nome];
	var qtd = c.length;
	var partes = string.split("_");

	for(var j = 0 ; j < qtd ; j++){
		c[j].checked = true;
	}

	for(var j = 0 ; j < qtd ; j++){

		for(var i = 0 ; i < partes.length ; i++){
			if(c[j].value == partes[i]){
				c[j].checked = true;
			}

		}
	}
}

function getCheckRadio(frm,nome){
	var radio = document.forms[frm].elements[nome];
	var saida  = "";
	
	for (var i = 0 ; i <  radio.length ; i++){

		if( radio[i].checked == true &&  radio[i].value != 'N' ){
			saida += radio[i].value + "_";
		}
	}
	if(saida.length == 0) saida = 0;
	return saida;
}

function getAllRadio(frm,nome){
	var radio = document.forms[frm].elements[nome];
	var saida  = "";

	//	var text = "";
	//	for( var x in radio )
	//	{
	//		text += x + " é " + radio[x] + "<br/>\n";
	//	}
	//	document.body.innerHTML += text;

	//radio.parentNode.parentNode.

	for (var i = 0 ; i <  radio.length ; i++){

		if( radio[i].checked == true){
			saida += radio[i].value + "_";
		}
	}
	
	if(saida.length == 0) saida = "_";
	return saida;
}

function limparRadio(frm,nome){

	var radio = document.forms[frm].elements[nome];

	for (var i = 0 ; i <  radio.length ; i++){

		 radio[i].checked = false;
	}

}

function getRadioEtapa(frm,nome){
	var radio = document.forms[frm].elements[nome];
	var saida  = "";

	for (var i = 0 ; i <  radio.length ; i++){

		if( radio[i].checked == true){
			if(i == (radio.length - 1)){
				saida += radio[i].value;
			}else
			saida += radio[i].value + "_";
		}
	}
	return saida;
}


function getRadio(frm,nome){
	var radio = document.forms[frm].elements[nome];
	var saida  = "";

	for (var i = 0 ; i <  radio.length ; i++){

		if( radio[i].checked == true){
			saida = radio[i].value ;
		}
	}	
	return saida;
}


function getRadioIE(frm,nome){

	var frm = document[frm];

	var saida = "";
	var text = "";
	coisa =  frm.getElementsByTagName( "input");
	for( var atr = 0; atr < coisa.length; atr++ )
	{
		if( coisa[ atr ] && coisa[ atr ].tagName && coisa[ atr ].tagName == "INPUT" && coisa[atr].name == nome )
		{
			radio = coisa[ atr ];

			if( radio.checked )
			{
				saida = radio.value + '_';
			}

		}
	}
	if(saida.length == 0) saida = "_";
	return saida;
}


function MaiorData(DmyData1, DmyData2)
{
	/*d1 = "" + DmyData1;
	d2 = "" + DmyData2;

	var d1final = "";
	var d2final = "";

	var d1d = DmyData1.substring(0,2);
	var d1m = DmyData1.substring(3,5);
	var d1y = DmyData1.substring(6,10);
	var d1final = "" + d1m + '/' + d1d + '/' + d1y;

	var d2d = DmyData2.substring(0,2);
	var d2m = DmyData2.substring(3,5);
	var d2y = DmyData2.substring(6,10);
	var d2final = "" + d2m + '/' + d2d + '/' + d2y;*/

	d1 = DmyData1
	d2 = DmyData2

	//Coloca a data Inicial no formato dd/mm/aaaa

	d1final = d1.split("/")
	if (d1final.length != 3)
	{
		return 'erro';
	}

	dia1 = d1final[0].replace(' ','')
	mes1 = d1final[1].replace(' ','');

	if((dia1.length>2) || (mes1.length>2))
	{
		return 'erro';
	}

	dia1 =  '00' + dia1;
	mes1 = '00' + mes1;
	ano1 = d1final[2].replace(' ','');

	dia1 = Right(dia1,2)
	mes1 =  Right(mes1,2)

	if((dia1 == '00') || (mes1 == '00') )
	{
		return 'erro';
	}

	d1final = dia1 + '/' + mes1 + '/' + ano1

	//Coloca a data Final no formato dd/mm/aaaa
	d2final = d2.split("/")
	if (d2final.length != 3)
	{
		return 'erro';
	}

	dia2 = d2final[0].replace(' ','')
	mes2 = d2final[1].replace(' ','');

	if((dia2.length>2) || (mes2.length>2))
	{
		return 'erro';
	}

	dia2 =  '00' + dia2;
	mes2 = '00' + mes2;
	ano2 = d2final[2].replace(' ','');

	dia2 = Right(dia2,2)
	mes2 =  Right(mes2,2)

	if((dia2 == '00') || (mes2 == '00') )
	{
		return 'erro';
	}

	d2final = dia2 + '/' + mes2 + '/' + ano2

	//Valida as datas de Inicio e termino
	if(  (!ValidaData(d1final)) || (!ValidaData(d2final)) )
	{
		return 'erro';
	}

	//Coloca as datas para o padrão ansi aaaammdd
	di  = ano1 + mes1 + dia1
	df = ano2 + mes2 + dia2

	if ( di == df )
	return 'igual';
	else
	if ( di > df )
	return 'maior';
	else
	if ( di < df )
	return 'menor';
}
function chkCnpj(s)

{
	s = replaceAll(s, '.', '').replace('-','').replace('/','');
	var i;

	
	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 mostra_esconde_tr( item )
{
	var tr = document.getElementById(item);
	if ( !tr )
	{
		return;
	}
	var fechado = tr.style.display == 'none';
	if ( fechado )
	{
		if ( document.all ) // ms ie
		{
			tr.style.display = 'block';
		}
		else // resto do mundo
		{
			tr.style.display = 'table-row';
		}
	}
	else
	{
		tr.style.display = 'none';
	}
}

function validaDat(campo,valor) {
	var date=valor;
	var ardt=new Array;
	var ExpReg=new RegExp("(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3}");
	ardt=date.split("/");
	erro=false;
	if ( date.search(ExpReg)==-1){
		erro = true;
		}
	else if (((ardt[1]==4)||(ardt[1]==6)||(ardt[1]==9)||(ardt[1]==11))&&(ardt[0]>30))
		erro = true;
	else if ( ardt[1]==2) {
		if ((ardt[0]>28)&&((ardt[2]%4)!=0))
			erro = true;
		if ((ardt[0]>29)&&((ardt[2]%4)==0))
			erro = true;
	}
	if (erro) {
		alert("\"" + valor + "\" não é uma data válida!!!");
		campo.focus();
		campo.value = "";
		return false;
	}
	return true;
}
