(function($) {
	$.fn.validationEngineLanguage = function() {};
	$.validationEngineLanguage = {
		newLang: function() {
			$.validationEngineLanguage.allRules = 	{"required":{    			// Add your regex rules here, you can take telephone as an example
						"regex":"none",
						"alertText":"* Campo Obrigatório",
						"alertTextCheckboxMultiple":"* Selecione uma opção",
						"alertTextCheckboxe":"* Este campo precisa ser marcado."},
					"length":{
						"regex":"none",
						"alertText":"*Entre ",
						"alertText2":" e ",
						"alertText3": " caracteres permitido"},
					"maxCheckbox":{
						"regex":"none",
						"alertText":"* Excedido máximo permitido"},	
					"minCheckbox":{
						"regex":"none",
						"alertText":"* Por favor selecione ",
						"alertText2":" opções"},	
					"confirm":{
						"regex":"none",
						"alertText":"* E-Mail diferente do informado acima."},		
					"telephone":{
						"regex":"/^[0-9\-\(\)\ ]+$/",
						"alertText":"* Número de telefone inválido"},	
					"email":{
						"regex":"/^[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,4}$/",
						"alertText":"* E-Mail inválido"},	
					"date":{
                         "regex":"/^[0-9]{4}\-\[0-9]{1,2}\-\[0-9]{1,2}$/",
                         "alertText":"* Data Inválida. Formato: YYYY-MM-DD "},
					"onlyNumber":{
						"regex":"/^[0-9\ ]+$/",
						"alertText":"* Apenas números"},	
					"noSpecialCaracters":{
						"regex":"/^[0-9a-zA-Z]+$/",
						"alertText":"* Caracteres especiais não são permitidos"},	
					"ajaxMail":{
						"file":"ajax/verificaMail.php",
						"extraData":"name=eric",
						"alertTextLoad":"* Aguarde...",
						"alertText":"* Este e-mail já existente em nossa base de dados."},	
					"onlyLetter":{
						"regex":"/^[a-zA-Z\ \']+$/",
						"alertText":"* Apenas letras"}
					}	
		}
	}
})(jQuery);

function ppagina(pagina) {
	self.location = pagina + document.getElementById('c_rpp').value;
}
function enter(tipo,evt)
{
    var charCode;   
    if(evt.which != null)
     charCode = evt.which;
    else
     charCode = evt.keyCode;    
   
    if(charCode==13){
        evt.cancel = true;
//        buscar(tipo); desnecessario
        return false;
    }
    return true;
}
function enter1(evt)
{
    var charCode;   
    if(evt.which != null)
     charCode = evt.which;
    else
     charCode = evt.keyCode;    
   
    if(charCode==13){
        evt.cancel = true;
        login();
        return false;
    }
    return true;
}

/*var cat_primeiro;
cat_primeiro = 0;*/
function vmed(p,c) {
	$("#informacoes_medico").html("<img src=imgs/carregando.gif> Carregando...");
	$.post('ajax/'+p,
	   {codigo:c},
	   function(data){
		   $("#informacoes_medico").hide();
		   $("#informacoes_medico").html(data);
		   $("#informacoes_medico").fadeIn();
	   });

}
$(document).ready(function() {
	$('#adm_curriculo').live('click',function() {
		var c = $(this).attr('class');
		var p = $(this).attr('id');
		$("#informacoes_medico").html("<img src=imgs/carregando.gif> Carregando...");
		$.post('ajax/'+p,
		   {codigo:c},
		   function(data){
			   $("#informacoes_medico").hide();
			   $("#informacoes_medico").html(data);
			   $("#informacoes_medico").fadeIn();
		   });
	 });
	$('#vfotosperfil').live('click',function() {
		var cod = $(this).attr('class');
		$("#informacoes_medico").html("<img src=imgs/carregando.gif> Carregando...");
		$.post('ajax/fotos.php',
			   {codigo:cod},
			   function(data){
				   $("#informacoes_medico").hide();
				   $("#informacoes_medico").html(data);
				   $("#informacoes_medico").fadeIn();
			   });
	});
});
var numerocat = 1;
function cat_busca(numero) {
/*	if (cat_primeiro == 0) {
//		alert('Perceba que ao clicar nas categorias, o tipo de busca altera de acordo.');
		cat_primeiro = 1;
	}*/
	$("#dv_medicos").hide();
	$("#dv_clinicas").hide();
	$("#dv_academias").hide();
	$("#dv_farmacias").hide();
	$("#dv_hospitais").hide();
	$("#dv_laboratorios").hide();
	$("#dv_odontologia").hide();
	$("#dv_planosdesaude").hide();

	if (numero == 1 && numerocat != 1)
		$("#dv_medicos").fadeIn();
	else if (numero == 2 && numerocat != 2)
		$("#dv_academias").fadeIn();
	else if (numero == 3 && numerocat != 3) {
		$("#dv_clinicas").fadeIn();
	}
	else if (numero == 4 && numerocat != 4)
		$("#dv_farmacias").fadeIn();
	else if (numero == 5 && numerocat != 5)
		$("#dv_hospitais").fadeIn();
	else if (numero == 6 && numerocat != 6)
		$("#dv_laboratorios").fadeIn();
	else if (numero == 7 && numerocat != 7)
		$("#dv_odontologia").fadeIn();
	else if (numero == 8 && numerocat != 8)
		$("#dv_planosdesaude").fadeIn();
	else {
		$("#dv_medicos").fadeIn();
	}
	numerocat = numero;
}
function conh() {
	if ($("#c_como_conheceu").val() == "Amigo") {
		$("#dvcoomeb").hide();
		$("#nome_amigo").fadeIn();
	}
	else if ($("#c_como_conheceu").val() == "COOMEB") {
		$("#nome_amigo").hide();
		$("#dvcoomeb").fadeIn();
	}
	else {
		$("#nome_amigo").hide();
		$("#dvcoomeb").hide();		
	}
}
function indicar(codigo) {
	a_meunome = $("#txtseunome").val();
	a_meuemail = $("#txtseuemail").val();
	a_nomeamigo = $("#txtnomeamigo").val();
	a_emailamigo = $("#txtemailamigo").val();
	f_indicar(codigo, a_meunome, a_meuemail, a_nomeamigo, a_emailamigo);
}
function planos(plano) {
	jan = window.open("","","left=50, top=30, width=900, height=350, toolbars=no, scrollbars=yes");
	jan.location = "http://www.achemedicos.com.br/planos.php?plano="+plano;
}
function apagar_foto(a_foto, a_ordem) {
	if (confirm("Certeza que deseja apagar esta foto?") == true)
		f_apagarfoto(a_foto, a_ordem);
}
function apagar_fotoex(a_foto) {
	if (confirm("Certeza que deseja apagar a sua foto?") == true)
		f_apagarfotoex(a_foto);
}
function comochegar(u) {
	window.scrollTo(0,500);
	f_comochegar(u);
}
/*Function.prototype.bind = function(context){
	var closure = this;
	var tmp_fnc = function(){
		return closure.apply(context, arguments);
	}
	return tmp_fnc;
}

Object.prototype.merge = function(object){
	for(attr in object){
		this[attr] = object[attr];
	}
}
document.navigators = {
	settings: {
		interval: 100, //The interval which the verification for new data will be done (in miliseconds)
		helper: true, //Specify if the onnavigate function will return the helper, do not change!
		iframe_src: "controle.htm" //The location of the file control.htm, absolute path please
	},
	initialize: function(){
		this.is_ie = (navigator.userAgent.toLowerCase().indexOf("msie") > -1) ? true : false;
		if(this.is_ie){
			this.settings.iframe_src = this.settings.iframe_src.replace(/(\?|#).*$/, "");
			window.attachEvent("onload", (function(){
				//this.running = true; The iFrame that needs to make it running
				this.iframe = document.createElement("iframe");
				this.iframe.setAttribute("src", this.settings.iframe_src);
				this.iframe.style.display = "none";
				document.getElementsByTagName("body")[0].appendChild(this.iframe);
			}).bind(this));
		} else {this.running = true;}
	},
	//The function that is called by the user and puts new data in the hash to be called
	helper: function(data, force){
		var navs = document.navigators; var data = "[" + this.id + "]" + data;
		if(force){navs.data_buffer = "";} //If force is true then calling sequentially the same helper works
		if(navs.is_ie){navs.iframe.src = navs.settings.iframe_src + "?id=" + data;}
		else{window.location.hash = "#" + data;}
	},
	called: false,
	history: [],
	data_buffer: ""
};

function onnavigate(id, callback){
	var navs = document.navigators; navs[id] = {};
	if(!navs.running){navs.initialize();}
	setInterval(function(){if(navs.running){
		var url = window.location.href;
		var hash = window.location.hash.replace(/#/, "");
		var theid = "#[" + id + "]";
		//alert(url.indexOf(theid));
		if(url.indexOf(theid) != -1){ //If the call is with us!
			var data = url.split(theid)[1] || "";
			var new_data = theid + data;
			if(navs.data_buffer != new_data){ //If the old content is diferent
				callback(data); //Calling the callback function!
				navs.called = true; //To make sure was already called to fix the index state
				navs.history.push(new_data);
				navs.data_buffer = new_data;
			}
		} else if (!hash && navs.called){ //If the navigators was called and the page is in index state (no hashes), it means reload!
			navs.running = false; //To stop the others Intervals to dont make it the same way and broke something
			window.location = ((url.indexOf("#") > -1) ? url.split("#")[0] : url) + "#";
			window.location.reload();
		}
	}}, navs.settings.interval);
	navs[id].merge({callback: callback});
	if(navs.settings.helper){
		navs[id].helper = navs.helper.bind({id: id}); return navs[id].helper;
	}
}
*/
function salvar_curriculo() {
	a_curriculo = $("#c_curriculo").val();
	f_salvarcurriculo(a_curriculo);
}
function cadastrar_depoimento(codigo) {
	a_nome = $("#c_nome_depoimento").val();
	a_depoimento = $("#c_depoimento").val();

	f_depoimento(codigo, a_nome, a_depoimento);
}
function liberar_depoimento(a_codigo) {
		f_liberardep('s', a_codigo);
}
function excluir_depoimento(a_codigo) {
	if (confirm("Certeza que deseja apagar este depoimento?") == true)
		f_liberardep('d', a_codigo);
}
function login() {
	a_login = $("#txtlogin").val();
	a_senha = $("#txtsenha").val();
	f_login(a_login, a_senha);
}
function admselfoto(numero) {
	$("#dvbotaofoto").hide();
	$("#of").val(numero);
	$("#dvenvfotos").html("<table><tr><td class=coluna1>Enviar foto 0" + document.getElementById('of').value + ":</td><td><input type='file' name='foto' class='campo_cinza'></td></tr><tr><td class=coluna1>Descrição foto 0" + document.getElementById('of').value + ":</td><td><input type=text name='descricao' class='campo_cinza' style='width:350px' maxlength=100> <input type=\"submit\" value=\"Enviar\" onclick=\"enviandofoto()\" class=\"botao\" style=\"width:40px;\"></td></tr></table>");
}
function enviandofoto() {
	$('#iframeenviar').attr('src','nada.html');

	$('#dvenvfoto').hide();
	$('#dvenvfoto').html('<img src=imgs/carregando.gif> Enviando...');
}
function vercurriculo() {
	a_curriculo = $('#c_curriculo').val();
	f_vercurriculo(a_curriculo);
}
function cadastrar_login() {
	a_nome = $('#c_nomecodigo').val();
	a_conf = $('#c_confnomecodigo').val();
	if (a_nome == a_conf)
		f_alterarlogin(a_nome);
	else {
		$('#dvaltlogin').html("<div class=fonte11><img src='imgs/sair.png' align='absmiddle'> Confirme os nomes corretamente.");
		$('#c_nomecodigo').val();
		$('#c_confnomecodigo').val();
	}
		
}
function alterar_senha() {
	a_atual = $('#c_senhaatual').val();
	a_nova =  $('#c_novasenha').val();
	a_conf =  $('#c_confnovasenha').val();
	if (a_nova == a_conf)
		f_alterarsenha(a_atual, a_nova);
	else {
		$('#dvaltsenha').innerHTML = "<div class=fonte11><img src='imgs/sair.png' align='absmiddle'> A nova senha precisa ser confirmada corretamente.";
		$('#c_senhaatual').val('');
		$('#c_novasenha').val('');
		$('#c_confnovasenha').val('');
	}
}
function buscar(tipo) {
	//alert(tipo);
	$('#tipob').val(tipo);
	a_planodesaude = "";
	a_tipo = tipo;
     a_especialidade = $('#especialidade').val();
	 if (a_tipo != 2)
	     a_planodesaude = $('#planodesaude').val();
     a_nome = $('#nome').val();
     a_estado = $('#estado').val();
     a_cidade = $('#cidade').val();
     a_bairro = $('#bairro').val();
 
	 if (a_especialidade == '' && a_planodesaude == '' && a_nome == '' && a_estado == '' && a_cidade == '' && a_bairro == '')
	 	alert('Escolha pelo menos uma opção.');
	 else {
		 tudo = a_especialidade + "," + a_planodesaude + "," + a_nome + "," + a_estado + "," + a_cidade + "," + a_bairro + "," + a_tipo;
		 busca(tudo);
	 	 window.scrollTo(0,500);
	 }
}
function buscar_noticia() {
     a_texto = document.getElementById('txtbuscar_noticias').value;
	 f_buscanoticia(a_texto);
}

//Busca do MEDICO								 
/*
busca = onnavigate("busca", function(a_especialidade, a_planodesaude, a_nome, a_estado, a_cidade, a_bairro){
     a_especialidade = $('#especialidade').val();
     a_planodesaude = $('#planodesaude').val();
     a_nome = $('#nome').val();
     a_estado = $('#estado').val();
     a_cidade = $('#cidade').val();
     a_bairro = $('#bairro').val();
	 a_tipo = $('#tipob').val();
	 f_buscar(a_especialidade, a_planodesaude, a_nome, a_estado, a_cidade, a_bairro, a_tipo);
	 $('#contador').html(document.navigators.history.length + 1);
});
//Consulta do MEDICO
consulta = onnavigate("consulta", function(codigo){
    medico(codigo);
    $("#contador").html(document.navigators.history.length + 1);
});*/
function medico(codigo) {
	f_medico(codigo);
}
function verificaEmail(mail){
//	mail = document.getElementById('obemail');
	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{
		alert('E-Mail invalido!');
		d('obemail') = '';
		}
}
function cadastro() {
	permitir = "sim";
	a_orgao = $('#c_orgao_idprofissional').val();
	a_numero = $('#c_numero_idprofissional').val();
	a_especialidade = $('#c_especialidade').val();
	a_nome = $('#c_nome').val();
	a_sexo = $('#c_sexo').val();
	a_endereco = $('#c_endereco').val();
	a_cep = $('#c_cep').val();
	a_numeroend = $("#c_numeroend").val();
	a_complemento = $("#c_complemento").val();
	a_bairro = $('#c_bairro').val();	
	a_cidade = $('#c_cidade').val();	
	a_estado = $('#c_estado').val();	
	a_ddd_celular = $('#c_ddd_celular').val();	
	a_telefone_celular = $('#c_telefone_celular').val();
	a_ddd_comercial = $('#c_ddd_comercial').val();
	a_telefone_comercial = $('#c_telefone_comercial').val();
	a_email = $('#c_email').val();	
	a_confmail = $('#c_confmail').val();
	a_website = $('#c_website').val();
	a_como_conheceu = $('#c_como_conheceu').val();
	if ($('c_como_conheceu').val() == "Amigo") {
		a_nome_amigo = $('c_nome_amigo').val();
	}
	else {
		a_nome_amigo = "";
	}
	
	if (a_orgao == "" || a_cep == "" || a_numeroend == "" || a_numero == "" || a_especialidade == "--" || a_nome == "" || a_sexo == "" || a_endereco == "" || a_bairro == "" || a_cidade == "" || a_estado == "" || /*a_ddd_celular == "" || a_telefone_celular == "" ||*/ a_ddd_comercial == "" || a_telefone_comercial == "" || a_email == "" || a_confmail == "" || a_como_conheceu == "--") {
		alert("Os campos que possuem * devem ser preenchidos.");
		permitir = "nao";
	}
	if ($('#c_como_conheceu').val() == "Amigo") {
		if (a_nome_amigo == "") {
			alert('Informe o nome do amigo.');
			permitir = "nao";
		}
	}
	
	if (a_email != a_confmail) {
		alert("E-Mails diferentes.");
		permitir = "nao";
	}
	if (verificaEmail(a_email) == false) {
		permitir = "nao";
		alert("E-Mail inexistente!");
	}
	if (permitir == "sim") 
		f_cadastro(a_orgao, a_numero, a_numeroend, a_cep, a_especialidade, a_nome, a_sexo, a_endereco, a_complemento, a_bairro, a_cidade, a_estado, a_ddd_celular, a_telefone_celular, a_ddd_comercial, a_telefone_comercial, a_email, a_website, a_como_conheceu, a_nome_amigo);
}
function salvar_perfil() {
	$("#dvsvperfil").html('<div class=fonte11>Processando...</div>');
	planos = planos_selecionados();
	esp = esp_selecionados();
    $.post('ajax/salvar_perfil.php',
	{orgao:$('#c_orgao_idprofissional').val(),
	numeroid:$('#c_numero_idprofissional').val(),
	nome:$('#c_nome').val(),
	sexo:$('#c_sexo').val(),
	endereco:$('#c_endereco').val(),
	numero:$('#c_numero').val(),
	complemento:$('#c_complemento').val(),
	bairro:$('#c_bairro').val(),
	cidade:$('#c_cidade').val(),
	estado:$('#c_estado').val(),
	cep:$('#c_cep').val(),
	dddcelular:$('#c_ddd_celular').val(),
	celular:$('#c_telefone_celular').val(),
	dddcomercial:$('#c_ddd_comercial').val(),
	telefonecomercial:$('#c_telefone_comercial').val(),
	divulgarmail:$('#c_divulgarmail').val(),	
//	a_email:document.getElementById('c_email').value,
	site:$('#c_website').val(),
	planos:planos,
	especialidades:esp},
	function (data) {
	  $("#dvsvperfil").html(data);
	});
}
function planos_selecionados() {
	codigo = '';
	for (i = 0; i < document.formperfil.chcodplanosaude.length; i++) {
	  if (document.formperfil.chcodplanosaude[i].checked == true) {
		 if (codigo == '') {
			codigo = document.formperfil.chcodplanosaude[i].value;
		 } else {
			codigo = codigo + ',' + document.formperfil.chcodplanosaude[i].value ;
		 }
	  }
	
	}
	return codigo;
}
function enviar_foto() {
	alert('opa');
	$('#dvenvex').fadeIn();
	$('#dvenvex').html('<br><img src=imgs/carregando.gif> Enviando...');
	$('iframeenviarexibicao').attr('src','nada.html');
}
function esp_selecionados() {
	codigo = '';
	for (i = 0; i < document.formperfil.chcodespecialidade.length; i++) {
	  if (document.formperfil.chcodespecialidade[i].checked == true) {
		 if (codigo == '') {
			codigo = document.formperfil.chcodespecialidade[i].value;
		 } else {
			codigo = codigo + ',' + document.formperfil.chcodespecialidade[i].value ;
		 }
	  }
	
	}
	return codigo;
}
function rpp(tipo,valor,especialidade,planodesaude,nome,estado,cidade,bairro,n) {
	registros = document.getElementById('c_rpp').value;
//	valor = valor + 1;
//	alert(valor);
	Paginacao(0,especialidade,planodesaude,nome,estado,cidade,bairro,n,registros)

}
function mapa(endereco) {
	a_rua = $('#txttipo').val()  + ' ' + $('#txtrua').val();
	a_numero = $('#txtnumero').val();
	a_bairro = $('#txtbairro').val();
	a_cidade = $('#txtcidade').val();
	a_estado = $('#txtestado').val();
	if (a_rua == "" || a_numero == "" || a_bairro == "" || a_cidade == "" || a_estado == "")
		alert('Campos preenchidos incorretamente.');
	else {
		endereco = "http://www.achemedicos.com.br/chegar.php?medico=" + endereco + "&rua=" + a_rua + "&numero=" + a_numero + "&bairro=" + a_bairro + "&cidade=" + a_cidade + "&estado=" + a_estado;
		parent.iframemapa.location = endereco;
	}
}
function perfil(codigo) {
	f_medico('perfil',codigo);
}
function alerta(msg,tipo) {
	if (tipo == 'ok') {
		$("#dvAlerta").removeClass('alertaErro').addClass('alertaOk');
	}
	else {
		$("#dvAlerta").removeClass('alertaOk').addClass('alertaErro');
	}
	
	$("#dvAlerta").hide();
	$("#dvAlerta").html('<span>'+msg+'</span>');
	
	$("#dvAlerta").slideDown('normal');
	setTimeout("$('#dvAlerta').slideUp('normal');",4000);
}

function txtBoxFormat(objeto, sMask, evtKeyPress) {
    var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

	
	if(document.all) { // Internet Explorer
		nTecla = evtKeyPress.keyCode;
	} else if(document.layers) { // Nestcape
		nTecla = evtKeyPress.which;
	} else {
		nTecla = evtKeyPress.which;
		if (nTecla == 8) {
			return true;
		}
	}
    sValue = objeto.value;

    // Limpa todos os caracteres de formataÃ§Ã£o que
    // jÃ¡ estiverem no campo.
    sValue = sValue.toString().replace( "-", "" );
    sValue = sValue.toString().replace( "-", "" );
    sValue = sValue.toString().replace( ".", "" );
    sValue = sValue.toString().replace( ".", "" );
    sValue = sValue.toString().replace( "/", "" );
    sValue = sValue.toString().replace( "/", "" );
    sValue = sValue.toString().replace( ":", "" );
    sValue = sValue.toString().replace( ":", "" );
    sValue = sValue.toString().replace( "(", "" );
    sValue = sValue.toString().replace( "(", "" );
    sValue = sValue.toString().replace( ")", "" );
    sValue = sValue.toString().replace( ")", "" );
    sValue = sValue.toString().replace( " ", "" );
    sValue = sValue.toString().replace( " ", "" );
    fldLen = sValue.length;
    mskLen = sMask.length;

    i = 0;
    nCount = 0;
    sCod = "";
    mskLen = fldLen;

    while (i <= mskLen) {
      bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
      bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

      if (bolMask) {
        sCod += sMask.charAt(i);
        mskLen++; }
      else {
        sCod += sValue.charAt(nCount);
        nCount++;
      }

      i++;
    }

    objeto.value = sCod;

    if (nTecla != 8) { // backspace
      if (sMask.charAt(i-1) == "9") { // apenas nÃºmeros...
        return ((nTecla > 47) && (nTecla < 58)); }
      else { // qualquer caracter...
        return true;
      }
    }
    else {
      return true;
    }
}

//MAPA
function o_mapa() {
    //<![CDATA[
    if (GBrowserIsCompatible()) {

      var map = new GMap2(document.getElementById("map"));
      map.addControl(new GMapTypeControl());
      map.setCenter(new GLatLng(0,0),2);
      var dirn = new GDirections();
      var step = 5; // metres
      var tick = 100; // milliseconds
      var poly;
      var eol;
      var car = new GIcon();
          car.image="imgs/carro.png"
          car.iconSize=new GSize(32,18);
          car.iconAnchor=new GPoint(16,9);
      var marker;
      var k=0;
      var stepnum=0;
      var speed = "";

      function animate(d) {
        if (d>eol) {
          document.getElementById("step").innerHTML = "<b>Rota concluída.</b>";
          document.getElementById("distance").innerHTML =  "Distância Percorrida: "+(d/1000).toFixed(2) + " km";
          return;
        }
        var p = poly.GetPointAtDistance(d);
        if (k++>=180/step) {
          map.panTo(p);
          k=0;
        }
        marker.setPoint(p);
        //document.getElementById("distance").innerHTML =  "Miles: "+(d /1609.344).toFixed(2)+speed;
		document.getElementById("distance").innerHTML =  "Distância Percorrida: "+(d/1000).toFixed(2)+speed + " km/h";
        if (stepnum+1 < dirn.getRoute(0).getNumSteps()) {
          if (dirn.getRoute(0).getStep(stepnum).getPolylineIndex() < poly.GetIndexAtDistance(d)) {
            stepnum++;
            var steptext = dirn.getRoute(0).getStep(stepnum).getDescriptionHtml();
            document.getElementById("step").innerHTML = "<b>Passo:</b> "+steptext;
            var stepdist = dirn.getRoute(0).getStep(stepnum-1).getDistance().meters;
            var steptime = dirn.getRoute(0).getStep(stepnum-1).getDuration().seconds;
            var stepspeed = ((stepdist/steptime) * 2.24).toFixed(0);
            step = stepspeed/2.5;
            speed = "<br>Velocidade atual: " + (stepspeed * 1.6);
          }
        } else {
          if (dirn.getRoute(0).getStep(stepnum).getPolylineIndex() < poly.GetIndexAtDistance(d)) {
            document.getElementById("step").innerHTML = "<b>Passo: Chegada ao destino</b>";
          }
        }
        setTimeout("animate("+(d+step)+")", tick);
      }

      GEvent.addListener(dirn,"load", function() {
        document.getElementById("controls").style.display="none";
        poly=dirn.getPolyline();
        eol=poly.Distance();
        map.setCenter(poly.getVertex(0),17);
        map.addOverlay(new GMarker(poly.getVertex(0),G_START_ICON));
        map.addOverlay(new GMarker(poly.getVertex(poly.getVertexCount()-1),G_END_ICON));
        marker = new GMarker(poly.getVertex(0),{icon:car});
        map.addOverlay(marker);
        var steptext = dirn.getRoute(0).getStep(stepnum).getDescriptionHtml();
        document.getElementById("step").innerHTML = steptext;
        setTimeout("animate(0)",2000);  // Allow time for the initial map display
      });

      GEvent.addListener(dirn,"error", function() {
        alert("Endereço não localizado Código de erro: "+dirn.getStatus().code);
      });

      function start() {
        var startpoint = document.getElementById("startpoint").value;
        var endpoint = document.getElementById("endpoint").value;
        dirn.loadFromWaypoints([startpoint,endpoint],{getPolyline:true,getSteps:true});
      }
    }
    //]]>
	start();

}
//<![CDATA[
function load() {
  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(37.4419, -122.1419), 13);
  }
}
//]]>
function padroes_formatacao() {
	if ($('dvpf').style.display == 'none')
		$('dvpf').style.display = 'block';
	else
		$('dvpf').style.display = 'none';
}
