function TiraFoco() {
var args, tam, objeto;
args = TiraFoco.arguments;

	if(args[0] == "") {
	return;
	}
objeto = "document.forms[0]." + args[0] + ".length";

		if (typeof(eval(objeto)) == "undefined"){
			tam = 1;
		} else 	{
			tam = eval(objeto);
				}
	for(i=0;i<tam;i++){
		if(tam == 1){
		eval("document.forms[0]." + args[0] + ".checked = false");		
		return;
		} else if(eval("document.forms[0]." + args[0] + "[" + i + "].checked") == true)	{
		eval("document.forms[0]." + args[0] + "[" + i + "].checked = false");
		return;		
				}
	}
		

}

//Função que deixa somente pra leitura ou nao o campos do formulario
function hdr(){
var args;
var pos, vf;
args = hdr.arguments;
	
		if(args[0]) {
		vf = "true";
		} else {
		vf = "false";
		}
/*
numeros sao os campos do formulario de acordo com a posicação na pagina
true -> para desabilitar o campo 
false -> para abilitar o campo
s - > numeros numa sequencia ex: '6#13'
o - > numeros na ordem ex: '0,1,2,3' 
o - > nome na ordem ex: 'text1,'combo1','combo2'
hd([true/false],'[s/o]',[0,1,'text1'])
*/
	switch(args[1]) {
	case("o") :
	for (i=1; i<(args.length - 1); i++) { 
		if (typeof(args[i+1]) == "number") {
document.forms[0].elements[args[i+1]].readOnly = args[0];
		} else{
	eval("document.forms[0]." + args[i+1] + ".readOnly = " + vf);
				}
		}
		
	break;
	
	case("s") :
	pos = args[2].split("#");
	for (i=0; i<=(pos[1] - pos[0]); i++) { 
	document.forms[0].elements[parseInt(pos[0]) + i].readOnly = args[0];
	}
	break;
	}
}


//Função que habilita e desabilita, campos do formulario
function hd(){
var args;
var pos, vf;
args = hd.arguments;
	
		if(args[0]) {
		vf = "true";
		} else {
		vf = "false";
		}
/*
numeros sao os campos do formulario de acordo com a posicação na pagina
true -> para desabilitar o campo 
false -> para abilitar o campo
s - > numeros numa sequencia ex: '6#13'
o - > numeros na ordem ex: '0,1,2,3' 
o - > nome na ordem ex: 'text1,'combo1','combo2'
hd([true/false],'[s/o]',[0,1,'text1'])
*/
	switch(args[1]) {
	case("o") :
	for (i=1; i<(args.length - 1); i++) { 
		if (typeof(args[i+1]) == "number") {
	document.forms[0].elements[args[i+1]].disabled = args[0];
		} else{
	eval("document.forms[0]." + args[i+1] + ".disabled = " + vf);
				}
		}
		
	break;
	
	case("s") :
	pos = args[2].split("#");
	for (i=0; i<=(pos[1] - pos[0]); i++) { 
	document.forms[0].elements[parseInt(pos[0]) + i].disabled = args[0];
	}
	break;
	}
}

//Função para setar o Foco do cursor
// ex: Foco(7) seta o foco para o campo 7 do formulario
// ex: Foco('titulo') seta o foco para o campo titulo do formulario
function Foco(){
var args;
args = Foco.arguments;
	if (typeof(args[0]) == "number") {
document.forms[0].elements[args[0]].focus();
	} else {
eval("document.forms[0]." + args[0] +".focus()");	
	}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

/*
Função para validar formulario baseada na função de validação do dreamweaver
parametros: MM_validateForm(['campoformulario'],['texto de aviso'],['parametro de validação'])
parametro de validação :  
R -> campo text
C -> campo menu/list
CK -> campo checkbox ou radiobutton
RCFP -> campo text com CPF (não esquecer de usar o arquivo cpf.js)
RisEmail -> campo text com e-mail
RisNum -> campo text númerico
ex: onClick=(MM_validateForm('nome','Nome','R','email','E-mail','RisEmail','cpf','C.P.F.','RCPF','sexo','Sexo','CK'));
*/

function MM_validateForm() { //v4.0

  var i,j,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  		for (i=0; i<(args.length-2); i+=3) { 
		test=args[i+2]; val=MM_findObj(args[i]);
		
		if (val) { nm=val.name; 
		switch (test) {
		//campo text 
		
		case "H" : //Campo para validação de hora
			if(val.value==""){
				errors = '- '+args[i+1]+' é necessário.\n';
							 } 
			if(val.value > 23) {
			errors = '- '+args[i+1]+' incorreto.\n';			
						  }
		break;
		
		case "M" : //Campo para validação de minutos
			if(val.value==""){
				errors = '- '+args[i+1]+' é necessário.\n';
							 } 
			if(val.value > 59) {
			errors = '- '+args[i+1]+' incorreto.\n';			
						  }
		break;
		
		
		case "R" :
			if(val.value==""){
				errors = '- '+args[i+1]+' é necessário.\n';
							 }
		break;
		//campo menu/list
		case "C" :
			if(val.value=="0"){
				errors = '- '+args[i+1]+' é necessário.\n';
							 }
		break;
		//campo checkbox ou radiobutton
		case "CK" :
		var tam, tipo;
			tam = val.length;	
			tipo = false;
			if (typeof(tam)=='undefined') {
				if (eval("document.forms[0]." + args[i] + ".checked")) {
					tipo = true;
					}
				if (!tipo) 	{			
					errors = args[i+1]+' é necessária.\n';
				}
			}
			else {
				for(j=0;j<tam;j++) {
				if (eval("document.forms[0]." + args[i] + "[" + j +"].checked")) {
					tipo = true;
					nm = args[i] + "";
					}
				}
				if (!tipo) 	{			
					errors = args[i+1]+' é necessária.\n';
					nm = args[i] + "[0]";
				}
			}
		break;
		//campo text com CPF
		case "RCPF" :
			if(val.value==""){
				errors = '- '+args[i+1]+' é necessário.\n';
			} else if (!cpf(val.value)) {
				errors = '- '+args[i+1]+'O número do CPF está incorreto favor confirmar.\n';
							 }
		break;
		//campo text com e-mail
		case "RisEmail" :
			if((val=val.value)==""){
				errors = '- '+args[i+1]+' é necessário.\n'; 
			  } else if (val.indexOf('@') == -1) {
			 	errors+='- '+args[i+1]+' deve conter um endereço de e-mail.\n';
												}	
												   
		break;
		//campo text númerico
		case "RisNum" :
			if((val=val.value)==""){
		 		if (isNaN(val)) 
				errors+='- '+args[i+1]+' deve conter números.\n';
        			if (test.indexOf('inRange') != -1) { 
					p=test.indexOf(':');
          			min=test.substring(8,p); max=test.substring(p+1);
         				if (val<min || max<val) 
		 				errors+='- '+args[i+1]+' deve conter números entre '+min+' e '+max+'.\n';
    													}
		
			   							   }
		break;
		
		
						  }// switch			  
						  
						  } // if
	
		if (errors) {
		alert('Erro:\n'+errors);
		if(test!= 'C' && test!= 'CK') eval("form1." + nm + ".value='';");
		eval("document.forms[0]." + nm + ".focus();");
		return false;
			}
		} // for
//document.MM_returnValue = true;
return true;
} // function
//-->


function Forma(tipo_forma){
document.forms[0].forma.value = tipo_forma;
}
