var idFocus = "";
function onfocusField(id, texto){
	try{
		if(idFocus != ""){
		  document.getElementById(idFocus).className = "";
		  document.getElementById(idFocus+'_ajuda').innerHTML = "";
		  document.getElementById(idFocus+'_ajuda').style.backgroundColor = "#FFFFFF";
		}
	}catch(e){};

	if(texto.length>0){
	  document.getElementById(id+'_ajuda').innerHTML = "<div style='padding:5px; font-size:14px;'>"+texto+"</div>";
	  document.getElementById(id+'_ajuda').style.backgroundColor = "#FFFFEF";
	}
	else{
	  document.getElementById(id+'_ajuda').innerHTML = "";
	  document.getElementById(id+'_ajuda').style.backgroundColor = "#FFFFFF";
	}
	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 "data_br":
      valida = validaDataBr(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<100){//Limite de 100 formulários
		posForm++;
	}
	
	if(nomeForm[posForm]==form){
		for(var i=0; i<qntCampos[posForm]; i++){
			
			try{
				erroCampo = 0;
				elemento = document.getElementById(nomeForm[posForm]+"_"+campo[posForm][i]);
		    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 urlRequestForm(url, onde){
	new Ajax.Updater(onde, url, {asynchronous:false,method:'get',evalScripts:true});
}

function submitPostAjax(divRetorno, url, formulario){
	new Ajax.Updater(divRetorno, url, {asynchronous:true,method:'post',evalScripts:true, parameters:Form.serialize(formulario)});
}

function trocarFileVideo(id, nome, tipo){
  if(tipo=="upload"){
    trocarFile(id, nome);
  }
  else{
    document.getElementById('inputUp'+id+'_'+nome).innerHTML = "<input type='text' id='"+id+"_"+nome+"' name='"+nome+"' style='width:100%;' value='http://'/>";  	
  } 
}

function trocarFile(id, nome){
 	document.getElementById('inputUp'+id+'_'+nome).innerHTML = "<input type='file' id='"+id+"_"+nome+"' name='"+nome+"' style='width:100%;'/>"; 
}

function removerFile(id, nome){
	document.getElementById('inputUp'+id+'_'+nome).innerHTML = "<input type='file' id='"+id+"_"+nome+"' name='"+nome+"' style='width:100%;'/><input type='hidden' name='remover_"+nome+"' value='true'/>"; 
}

function carrega_mapa_cadastro(form){
  if(GBrowserIsCompatible()){
      map=new GMap2(document.getElementById("map"));
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      map.enableScrollWheelZoom();
      map.enableContinuousZoom();
      if(form.latitude.value=="" || form.longitude.value==""){
        cep=form.CEP.value.substr(0,5);
        cep=cep+"-"+form.CEP.value.substr(5,3);
        end=cep + " Brasil";
        geocoder=new GClientGeocoder();
        if(geocoder){
          geocoder.getLatLng(end,
            function(point){
              if(point){
                map.setCenter(point,14);
                var marker;
                var balao=new GIcon();
                balao.image="http://www.cadetu.com.br/imagens/hotsite/pointer.gif";
                balao.iconSize=new GSize(40,40);
                balao.iconAnchor=new GPoint(9,34);
                balao.infoWindowAnchor=new GPoint(15,10);
                markerOptions={icon:balao,draggable:true};
                marker=new GMarker(point,markerOptions);
                GEvent.addListener(marker,"dragend",
                  function(){
                    var coords=marker.getLatLng();
                    var coordaux=String(coords).split(",");
                    var lat=coordaux[0];
                    lat=lat.replace("(","");
                    var longi=coordaux[1];
                    longi=longi.replace(")","");
                    form.latitude.value=lat;
                    form.longitude.value=longi;
                  });
                  map.addOverlay(marker);
                }
              });
        }
      }
      else{
        var marker;
        var ponto_kt=new GLatLng(form.latitude.value,form.longitude.value);
        map.setCenter(ponto_kt,14);
        var balao=new GIcon();
        balao.image="http://www.cadetu.com.br/imagens/hotsite/pointer.gif";
        balao.iconSize=new GSize(40,40);
        balao.iconAnchor=new GPoint(9,34);
        balao.infoWindowAnchor=new GPoint(15,10);
        markerOptions={icon:balao,draggable:true };
        marker=new GMarker(ponto_kt,markerOptions);
        GEvent.addListener(marker,"dragend",
          function(){
            var coords=marker.getLatLng();
            var coordaux=String(coords).split(",");
            var lat=coordaux[0];
            lat=lat.replace("(","");
            var longi=coordaux[1];
            longi=longi.replace(")","");
            form.latitude.value=lat;
            form.longitude.value=longi;
          });
          map.addOverlay(marker);
      }
  }
}