	/*#########################################################################*\
	##_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_##
	##_- Objeto goldenMaps _- por Fernando Arroyo _- GoldenLight _-_-_-_-_-_-_-##
	##_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_##
	\*#########################################################################*/

	var goldenMaps = {
		geoCodificacao:true,
		painelMapa:"zoomMapa",
		painelDirecao:"detalhesDirecao",
		enderecoPartida:"",
		enderecoRequisitado:"",
		textoOrigem:"",
		icone:"ggcprImage/logo.gif",
		verificarCompatibilidade:function(){
			return GBrowserIsCompatible();
		},
		novoMapa:function(){
			$("#"+this.painelMapa).attr("innerHTML","<div id='mapa_canvas'>Carregando...</div>");
            LarguraMapaGrande = ($("."+$("#detalhesDirecao").parent().get(0).className).width());
            AlturaMapaGrande = 400;

	        instanciaMapa = new GMap2(document.getElementById("map_canvas"), { size: new GSize(LarguraMapaGrande,AlturaMapaGrande) });
			instanciaMapa.load = this.configMapa();
	        controles = instanciaMapa.getDefaultUI();
	        instanciaMapa.setUI(controles);
		},
		configMapa:function(){
			this.geoCodificacao=new GClientGeocoder();
			larguraBarra=0;
			if(this.enderecoPartida){
				instanciaDirecao=new GDirections(instanciaMapa,document.getElementById("visualizarRotas"));
				instanciaDirecao.load("from: " + this.enderecoPartida + " to: " + this.enderecoRequisitado);
				this.geoCodificacao.getLocations(this.enderecoPartida,function(coordenadas){
					posicao = new GLatLng(coordenadas.Placemark[0].Point.coordinates[1],coordenadas.Placemark[0].Point.coordinates[0]);
					instanciaMapa.openInfoWindowHtml(posicao,goldenMaps.textoOrigem);
				})
				larguraBarra=25;
			}
			enderecoURL=this.enderecoRequisitado.replace(" ","+");
			this.geoCodificacao.getLocations(enderecoURL,function(geoCoordenadas){
				$("#espacoMapa").attr("innerHTML","<a href=javascript:goldenMaps.exibirRotas();><img src='http://maps.google.com/staticmap?center="+geoCoordenadas.Placemark[0].Point.coordinates[1]+","+geoCoordenadas.Placemark[0].Point.coordinates[0]+"&zoom=15&size=180x160&maptype=mobile&key=ABQIAAAA25Y7yrCY8HCP66S47bIRfRQ5JurLP-IpC2MZk6-0psxpNgNF9xR9hgQmyF58nnOh064GYtrk52Hs6g&sensor=false&format=png32&markers="+geoCoordenadas.Placemark[0].Point.coordinates[1]+","+geoCoordenadas.Placemark[0].Point.coordinates[0]+",orange' alt='Clique aqui para saber como chegar.' style='border:none;' /></a>");
				if(this.icone){
					iconeLogo = new GIcon();
					iconeLogo.image = this.icone;
					iconeLogo.iconAnchor = new GPoint(geoCoordenadas.Placemark[0].Point.coordinates[1],geoCoordenadas.Placemark[0].Point.coordinates[0]);
					posicao = new GLatLng(geoCoordenadas.Placemark[0].Point.coordinates[1],geoCoordenadas.Placemark[0].Point.coordinates[0]);
					instanciaMapa.addOverlay(new GMarker(posicao,{ icon: iconeLogo }));
				}
				else
				{
					posicao = new GLatLng(geoCoordenadas.Placemark[0].Point.coordinates[1],geoCoordenadas.Placemark[0].Point.coordinates[0]);
					instanciaMapa.addOverlay(new GMarker(posicao));
				}
				if(!this.enderecoPartida){
                    CordendanaY = geoCoordenadas.Placemark[0].Point.coordinates[0]  ;
                     if(document.getElementById('idPagina'))
                        {
                           //document.getElementById('idPagina').value = CordendanaY
                        }
					instanciaMapa.setCenter(new GLatLng(geoCoordenadas.Placemark[0].Point.coordinates[1],CordendanaY), 18);
				}
			});
			$("#detalhesDirecao").css("width",($("."+$("#detalhesDirecao").parent().get(0).className).width())+"px");
			$("#detalhesDirecao").css("left",($("."+$("#detalhesDirecao").parent().get(0).className).width()-($("#detalhesDirecao").css("width").substr(0,$("#detalhesDirecao").css("width").length-2)))/2)+"px";
			$("#detalhesDirecao").css("top",$("#espacoMapa").position().top+"px");
            MapCanvas = $("#detalhesDirecao").width() ;            
			$("#map_canvas").css("width",MapCanvas+"px");
			//$("#visualizarRotas").css("width",(($("."+$("#detalhesDirecao").parent().get(0).className).width()-100)/3-10)+"px");
			$().click(function(e){
				goldenMaps.ocultarMapa(e.pageX,e.pageY)
			});
		},
		exibirRotas:function(){
			$("#"+this.painelDirecao).fadeIn(300);
		},
		visualizarRotas:function(){
			if(Math.round($("#map_canvas").css("width").substr(0,$("#map_canvas").css("width").length-2))==Math.round((($("."+$("#detalhesDirecao").parent().get(0).className).width()-100)/3*2-25))){
				$("#map_canvas").animate({width: ((($("."+$("#detalhesDirecao").parent().get(0).className).width()-100)-00))+"px"},300);
				$("#map_canvas").animate({width: ((($("."+$("#detalhesDirecao").parent().get(0).className).width()-100)-50))+"px"},400);
				$("#map_canvas").animate({width: ((($("."+$("#detalhesDirecao").parent().get(0).className).width()-100)-25))+"px"},500);
			}
			else
			{
				$("#map_canvas").animate({width: ((($("."+$("#detalhesDirecao").parent().get(0).className).width()-100)/3*2-50))+"px"},300);
				$("#map_canvas").animate({width: ((($("."+$("#detalhesDirecao").parent().get(0).className).width()-100)/3*2-00))+"px"},400);
				$("#map_canvas").animate({width: ((($("."+$("#detalhesDirecao").parent().get(0).className).width()-100)/3*2-25))+"px"},500);
			}
		},
		ocultarMapa:function(x,y){
			if((x<$("#"+this.painelDirecao).offset().left)
				||x>$("#"+this.painelDirecao).offset().left+$("#"+this.painelDirecao).width()){
				$("#"+this.painelDirecao).fadeOut(300);
			}
			else if((y<$("#"+this.painelDirecao).offset().top)
					||y>$("#"+this.painelDirecao).offset().top+$("#"+this.painelDirecao).height()){
				$("#"+this.painelDirecao).fadeOut(300);
			}
		
		},
		inicializarMapa:function(endereco,partida,texto){
			$("#"+this.painelMapa).append("Carregando Mapa...");
			if(partida){
				this.enderecoPartida=partida;
			}
			if(texto){
				this.textoOrigem=texto;
			}
			this.enderecoRequisitado=endereco;
			this.novoMapa();
		}
	}
