//função para submeter form
function submeteForm(form,url){
	form.action=url;
	form.method="POST";
	form.submit();window.status="";
}
//função para desabilitar campos de um form
function desabilitarForm(form,status,comeco,fim){
  for(var i=comeco;(i<form.length)&&(i<fim+1);i++){
  	form[i].disabled=status;
  }
}
//função para concatenar valores dos campos do form para gerar uma URL
function montarParametrosURL(form){
  var url = "";
  for(var i=0;i<form.length;i++){
  	if(form[i].type!="button" && form[i].type!="submit" && form[i].type!="reset" ){
  		if(verificaCampo(form[i])){
  			url = url+"&"+form[i].name+"="+form[i].value;
  		}
  	}	
  }
  return url;
}

//função para checar campos que possuem titulo
function validarCampos(form){
  for(var i=0;i<form.length;i++){
  	if(form[i].title!=""){
  		if(!verificaCampo(form[i])){
  			alert('O campo '+form[i].title+" tem preenchimento obrigatorio");
  			form[i].focus();
  			return false;
  		}
  	}	
  }
  return true;
}


//funcao para verificar se o campo vai ser usado na url
function verificaCampo(campo){
	if(campo.type=='radio' && campo.checked==true)return true;
	else if(campo.type=="text" && campo.value!="")return true;
	else if(campo.type=="select-one" && campo.value!="[SELECIONE]")return true;
	else if(campo.type=="hidden")return true;
	else if(campo.type=="checkbox" && campo.checked)return true;
	else if(campo.type=="textarea" && campo.value!="")return true;
	else if(campo.type=="file" && campo.value!="")return true;
}
//funcao para limpar campos texto de uma lista de parametros
function limpaCamposTexto(){
	for(var i=0;i<arguments.length;i++){
		if(arguments[i].type=='text'){
			arguments[i].value="";
		}
	}
}
//função para submeter formulario pela tipo do botao em uma tela simples
function submitFormSimples(botao){
	var cmd = botao.name;
	var form = document.getElementById('form');
	var lista = document.getElementById('lista');
	if(cmd=='pesquisar'){
 		var url = form.action+"?"+montarParametrosURL(form);
 		lista.contentWindow.document.location.replace(url);
 	}else if(cmd=='limpar'){
 		form.reset();
 		form[0].focus();
 	}else if(cmd=='excluir'){
 		var formLista = lista.contentWindow.document.getElementById('formLista');
 		formLista.submit(); 		
 	}  
}
//funçãp
function mudaValorCheck(obj,valor){
	var check = document.getElementById(obj);
	if(check.checked)
		check.value=valor;
	else check.value='';	
}

/* função para verificar email */
function checaEmail(emailStr) {
	if (emailStr.length == 0) {
    	return true;
    }
    var emailPat=/^(.+)@(.+)$/;
    var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
    var validChars="\[^\\s" + specialChars + "\]";
    var quotedUser="(\"[^\"]*\")";
    var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;
    var atom=validChars + '+';
    var word="(" + atom + "|" + quotedUser + ")";
    var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
    var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$");
    var matchArray=emailStr.match(emailPat);
    if (matchArray == null) {
    	return false;
    }
    var user=matchArray[1];
    var domain=matchArray[2];
    if (user.match(userPat) == null) {
    	return false;
    }
    var IPArray = domain.match(ipDomainPat);
    if (IPArray != null) {
    	for (var i = 1; i <= 4; i++) {
        	if (IPArray[i] > 255) {
            	return false;
             }
        }
    	return true;
    }
    var domainArray=domain.match(domainPat);
    if (domainArray == null) {
    	return false;
    }
    var atomPat=new RegExp(atom,"g");
    var domArr=domain.match(atomPat);
    var len=domArr.length;
    if ((domArr[domArr.length-1].length < 2) ||
    	(domArr[domArr.length-1].length > 3)) {
        return false;
    }
    if (len < 2) {
    	return false;
    }
    return true;
}

/** funcao para so permitir entrda de numero **/
function soEntraNumero(evt) {
	evt = (evt) ? evt : window.event
	var charCode = (evt.which) ? evt.which : evt.keyCode
	if (charCode > 31 && (charCode < 48 || charCode > 57)) {
		return false
	}
	return true
}
//metodo para setar foco no primeio elemento do form
function focoForm(){
	var form = document.getElementById('form');
	if(form!=null){
		for(var i=0;i<form.length;i++){
			if(!form[i].disabled && form[i].type!='hidden'){
				form[i].focus();
				break;
			}	
		}
	}	
}
//funcao usda para submeter formulario
function submeterForm(cmd){
	var form = document.getElementById('form');
	form.cmd.value=cmd;
	form.submit();	
}
//funcao para atachar funcoes no carregamento da pagina
function addEventLoadBody(funcao){
	if(window.attachEvent) { // IE
		window.attachEvent("onload",funcao);
	} else if(document.addEventListener){
		document.addEventListener("DOMContentLoaded",funcao,false);
	}		
}