var idFocus = "";
function onfocusField(id, texto){
  try{
    if(idFocus != ""){
      document.getElementById(idFocus+'_ajuda').className = "hidden";
      document.getElementById(idFocus+'_ajuda').innerHTML = "";
    }
  }catch(e){};

  if(texto.length>0){
    document.getElementById(id+'_ajuda').className = "ajuda";
    document.getElementById(id+'_ajuda').innerHTML = "<div style='padding:5px; font-size:12px;'>"+texto+"</div>";
  }
  else{
    document.getElementById(id+'_ajuda').className = "hidden";
    document.getElementById(id+'_ajuda').innerHTML = "";
  }
  idFocus = id;
}

//Inicio Configuração
var colorInput = "#444444";
var borderColorInput = "#A5ACB2";
//Término Configuração

var numForm = 0;
var qntCampos = new Array();
var nomeForm = new Array();

var campo = new Array();
var tipoValidacao = new Array();
var campoObrigatorio = new Array();
var msg_erro = new Array();

/*
 * Validações
 * carregar: ctrlValidaDados.Form
 */

function validaCampoForm(campo, tipoValidacao){
	var valida;
	switch (tipoValidacao) {
		case "tag":
			valida = validaTag(campo);
			break;
		case "codigo":
			valida = validaCodigo(campo);
			break;
		case "senha":
			valida = validaSenha(campo);
			break;
		case "nome":
			valida = validaNome(campo);
			break;
		case "texto":
			valida = validaTexto(campo);
			break;
		case "dominio":
			valida = validaDominio(campo);
			break;
		case "url":
			valida = validaUrl(campo);
			break;
		case "select":
			valida = validaSelect(campo);
			break;
		case "descricao":
			valida = validaDescricao(campo);
			break;
		case "email":
			valida = validaEmail(campo);
			break;
		case "fone":
			valida = validaFone(campo);
			break;
		case "cpf":
			valida = validaCPF(campo);
			break;
		case "cnpj":
			valida = validaCNPJ(campo);
			break;
		case "numero":
		case "int4":
			valida = validaNumero(campo);
			break;
		case "cep":
			valida = validaCep(campo);
			break;
		case "data":
			valida = validaData(campo);
			break;
		case "estado":
			valida = validaEstado(campo);
			break;			
		default: valida = 1;
			break;
	}
	return valida;
}


function validaForm(form){
	var erro = "";
	var erroCampo;
	var elemento;
	
	var posForm = 0;
	while(nomeForm[posForm]!=form){
		posForm++;
	}
	
	for(var i=0; i<qntCampos[posForm]; i++){
		erroCampo = 0;
		elemento = document.getElementById(nomeForm[posForm]+"_"+campo[posForm][i]);
		
		try{
		    if(elemento.style.color == "RED"){
		      elemento.style.color = colorInput;
		      elemento.style.borderColor = borderColorInput;
		    }
	    
			if(elemento.value == "" && campoObrigatorio[posForm][i]){
				erro = erro + msg_erro[posForm][i]+ "\n";
				erroCampo = 1;
				
			}
			else if(tipoValidacao[i] != ""){
			  if(elemento.value == "" && campoObrigatorio[posForm][i] != 1){
			  	//Não é obrigatório, campo vazio. Não gera erro
			  }
			  else if(!validaCampoForm(elemento, tipoValidacao[posForm][i])){
			  	erro = erro + msg_erro[posForm][i]+ "\n";
			  	erroCampo = 1;
			  }
			}
			
			if(erroCampo==1){
				elemento.style.borderColor= "RED";
	    		elemento.style.color= "RED";			
			}
		}catch(e){}
	}
	
	if(erro!=""){
		alert(erro);
		return false;
	}
	else{
		return true;
	}
}


function submitPostAjax(divRetorno, url, formulario){
	new Ajax.Updater(divRetorno, url, {asynchronous:true,method:'post',evalScripts:true, parameters:Form.serialize(formulario)});
}

function urlRequest(divRetorno, url) {
  new Ajax.Updater(divRetorno, url, {asynchronous:true,method:'get',evalScripts:true});
}