///////////////////////////////////////////////////////////////////////////////////////////////////////////
//over imagenes
///////////////////////////////////////////////////////////////////////////////////////////////////////////
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function reset_pantalla(){
	$('#vis_linea_activa').hide();
	$('#vis_mapa').hide();
	$('#vis_paradas').hide();
	$('#vis_clientes').hide();
	$('#vis_infoadicional').hide();
	$('#vis_recorrido').hide();
	$('#resultado_infoadicional').hide();
	$('#resultado_recorrido').hide();
	$('#mostrar_resultados').hide();
	$('#resultados').hide();
	$('#mostrar_resultados_clientes').hide();
	$('#resultados_clientes').hide();
	$('#centrar_origen').hide();
	$('#centrar_destino').hide();
	$('#icono_mapagoogle').attr("src","media/icono_mapa_activo.gif");
	$('#icono_infoadicional').attr("src","media/icono_infoadicional.gif");	
	$('#icono_resrecorrido').attr("src","media/icono_recorrido.gif");	
	ocultar_animacion();
	ocultar_paradas();
	ocultar_cospeleros();
	ocultar_clientes();
	ocultar_marcas_mapas();
	$('#mapagoogle').show();
}

function ocultar_animacion(){
	if(polygon)	map.removeOverlay(polygon);
	if(poly_animacion)	map.removeOverlay(poly_animacion);
	if(marker_animacion)	map.removeOverlay(marker_animacion);
}

function ocultar_paradas(){
	if(paradas){
		for(i=0;i<paradas.length;i++) map.removeOverlay(paradas[i]);
		paradas = false;
		paradas = new Array;
		cant_paradas=0;
	}
}

function ocultar_cospeleros(){
	if(cospeleros){
		for(i=0;i<cospeleros.length;i++) map.removeOverlay(cospeleros[i]);
		cospeleros = false;
		cospeleros = new Array;
		cant_cospeleros=0;
	}
}

function ocultar_clientes(){
	if(clientes){
		for(i=0;i<clientes.length;i++) map.removeOverlay(clientes[i]);
		clientes = false;
		clientes = new Array;
		cant_clientes=0;
	}
}

function ocultar_marcas_mapas(){
	if(marcas){
		for(i=0;i<marcas.length;i++) map.removeOverlay(marcas[i]);
		marcas = false;
		marcas = new Array;
		cant_marcas=0;
	}
}

function opciones_visual(activar){
	$('#mapagoogle').hide();
	$('#resultado_infoadicional').hide();
	$('#resultado_recorrido').hide();
	$('#mostrar_resultados').hide();
	$('#resultados').hide();
	$('#mostrar_resultados_clientes').hide();
	$('#resultados_clientes').hide();
	$('#centrar_origen').hide();
	$('#centrar_destino').hide();
	$('#icono_mapagoogle').attr("src","media/icono_mapa.gif");	
	$('#icono_infoadicional').attr("src","media/icono_infoadicional.gif");	
	$('#icono_resrecorrido').attr("src","media/icono_recorrido.gif");	
	if(activar == 'mapa'){
		$('#mapagoogle').show();
		$('#icono_mapagoogle').attr("src","media/icono_mapa_activo.gif");
		$('#mostrar_resultados').show();
		$('#resultados').show();
		$('#resultados').slideToggle();
		$('#mostrar_resultados_clientes').show();
		$('#resultados_clientes').show();
		$('#resultados_clientes').slideToggle();
		if($('#centrar_origen').html()!="") $('#centrar_origen').show();
		if($('#centrar_destino').html()!="") $('#centrar_destino').show();
	}
	if(activar == 'recorrido'){
		$('#resultado_recorrido').show();
		$('#icono_resrecorrido').attr("src","media/icono_recorrido_activo.gif");
	}
	if(activar == 'infoadicional'){
		$('#resultado_infoadicional').show();
		$('#icono_infoadicional').attr("src","media/icono_infoadicional_activo.gif");
	}
}

function mostrar_mapa(){
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("mapagoogle"));	
		map.setCenter(new GLatLng(-31.396726, -64.182129),13);
		map.addControl(new GSmallZoomControl());
		map.setMapType(G_NORMAL_MAP);
	}
}

function recarga_resultado(variables) {
  reset_pantalla();
  $.scrollTo(355,{duration: 1000});
  $('#mapagoogle').block({ 
	    message: '<span class="tahoma14"><br/><img src="media/buscando-loader.gif" border="0"><br/>buscando...<br/><br/></span>', 
	    css: { border: '2px solid #c7ef02' }
	});
	$.post("procesos/busqueda_por_criterios.php?"+variables, function(data){
    if(data.indexOf("Error")!=-1){
    	$('#mapagoogle').block({ 
		    message: data.replace("Error",""), 
		    css: { border:'2px solid #c7ef02' }
			});
			setTimeout(function(){$('#mapagoogle').unblock(); $.scrollTo(0,{duration: 1000});} ,10000)
    }
    else{
    	if(data.indexOf("###")!=-1){
	    	tmp_datos=data.split("###");
	    	$('#mapagoogle').unblock();
	    	//$("#resultados").html(tmp_datos[0]);
		    //$("#mostrar_resultados").show();
		    //$("#resultados").show();
		    $("#resultados_clientes").html(tmp_datos[1]);
		    $("#mostrar_resultados_clientes").show();
		    $("#resultados_clientes").show();
	    }
	    else{
	    	$('#mapagoogle').unblock();
	    	$("#mostrar_resultados").show();
		    $("#resultados").html(data);
		    $("#resultados").show();
	    }
    }
  });	    	
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////
//variables globales para recorrido y funciones para animar googlemaps
///////////////////////////////////////////////////////////////////////////////////////////////////////////
var polygon = false;
var puntos_recorrido;
var poly_animacion;
var marker_animacion;
var time_animacion;
var cant_marcas = 0;
var marcas = new Array();
var cant_cospeleros = 0;
var cospeleros = new Array();
var cant_paradas = 0;
var paradas = new Array();
var cant_clientes = 0;
var clientes = new Array();

function marcar_recorrido(id_linea,orientacion,color_linea,icono,punto_origen,punto_destino){
	$('#resultados').slideToggle();
	$('#mapagoogle').block({ 
	    message: '<span class="tahoma14"><br/><img src="media/buscando-loader.gif" border="0"><br/>cargando...<br/><br/></span>', 
	    css: { border: '2px solid #c7ef02' }
	});
	
	ocultar_animacion();
	ocultar_paradas();
	ocultar_cospeleros();
	ocultar_clientes();
	ocultar_marcas_mapas();
	$('#mostrar_resultados_clientes').hide();
	$('#resultados_clientes').hide();
	$('#vis_clientes').html("");
	
		
	//descripcion linea seleccionada
	$.post("procesos/recorridos.php?accion=mostrar_descripcion&linea="+id_linea, function(data){
		var html="<table width=\"120\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
		html = html + "<tr>";
		html = html + "<td class=\"tahoma12\" width=\"120\" height=\"20\" align=\"center\" valign=\"middle\">"+data+" - "+((orientacion=="R")?"Regreso":"Ida")+"</td>";
		html = html + "</tr>";
		html = html + "</table>";
		$('#vis_linea_activa').html(html);
		$('#vis_linea_activa').show();
	});

	$('#vis_mapa').show();	
		
	//animacion del recorrido
	$.post("procesos/recorridos.php?accion=coordenadas&linea="+id_linea+"&orientacion="+orientacion, function(data){
    if(data!=''){
  		tmp_coord = data.split("@");
			puntos_recorrido = false;
			poly_animacion = false;
			marker_animacion = false;
			time_animacion = false;
			puntos_recorrido = new Array(tmp_coord.length);
			for(i=0;i<tmp_coord.length;i++){
				tmp_pos = tmp_coord[i].split(",");
				if(tmp_pos.length > 1){
					pos_x=tmp_pos[0];
					pos_y=tmp_pos[1];
					puntos_recorrido[i] = new GLatLng(pos_x,pos_y);
				}
				tmp_pos = false;
			}
			polygon = new GPolyline(puntos_recorrido, color_linea, 5, 0.4);
			map.addOverlay(polygon);
			if(poly_animacion){
				map.removeOverlay(poly_animacion);
				clearTimeout(time_animacion);
				if(marker_animacion) map.removeOverlay(marker_animacion);
			}
			animar_recorrido(icono);
  	}
  });
  
  //paradas
	$.post("procesos/recorridos.php?accion=mostrar_paradas&linea="+id_linea+"&orientacion="+orientacion, function(data){
		if(data!=''){
			$('#vis_paradas').html(data);	
			$('#vis_paradas').show();
		}
		else{
			$('#vis_paradas').hide();
		}
	});
	
	//info adicional recorrido
  $.post("procesos/recorridos.php?accion=infoadicional&linea="+id_linea+"&orientacion="+orientacion, function(data){
		if(data!=""){
			$('#vis_infoadicional').show();
			$('#resultado_infoadicional').html(data);
		}
		else{
			$('#vis_infoadicional').hide();
		}
	});
  
  //recorrido en calles
  $.post("procesos/recorridos.php?accion=recorrido&linea="+id_linea+"&orientacion="+orientacion, function(data){
		$('#vis_recorrido').show();
		$('#resultado_recorrido').html(data);
	});
	
	//clientes cercanos
  clientes_cercanos(id_linea,orientacion);
  
  //cospeleros cercanos
	mostrar_cospeleros(punto_origen,punto_destino);

	//boton para centrar en origen
	if(punto_origen!=0){
		tmp_pos = false;
		tmp_pos = punto_origen.split(',')
		centrar_mapa(tmp_pos[0],tmp_pos[1],"icono_origen.png");
		$('#centrar_origen').html('<a href="javascript:map.setCenter(new GLatLng('+tmp_pos[0]+','+tmp_pos[1]+'),15)"><img src="media/centrar_origen.gif" border="0" width="100" height="26"/></a>');
		$('#centrar_origen').show();
	}
	
	//boton para centrar en destino
	if(punto_destino!=0){
		tmp_pos = false;
		tmp_pos = punto_destino.split(',')
		centrar_mapa(tmp_pos[0],tmp_pos[1],"icono_destino.png");
		$('#centrar_destino').html('<a href="javascript:map.setCenter(new GLatLng('+tmp_pos[0]+','+tmp_pos[1]+'),15)"><img src="media/centrar_destino.gif" border="0" width="100" height="26"/></a>');
		$('#centrar_destino').show();
	}
}

function centrar_mapa(pos_x,pos_y,imagen){
	map.setCenter(new GLatLng(pos_x,pos_y),15);
	marca=new Array();
	icono=new Array();
	info=new Array();
	marca["pos_x"]=pos_x;
	marca["pos_y"]=pos_y;
	icono["image"]="media/"+imagen;
	icono["gsize_x"]=25;
	icono["gsize_y"]=25;
	icono["gpoint_x"]=15;
	icono["gpoint_y"]=25;
	info=false;
	agregar_marca(marca, icono, info, "marcas");
}

function mostrar_paradas(id_linea,orientacion,boton){
	imagen_boton = document.getElementById(boton).src;
	if(imagen_boton.indexOf('media/icono_paradas_activo.gif')!=-1){
			document.getElementById(boton).src='media/icono_paradas.gif';
			ocultar_paradas();
	}
	else{
		document.getElementById(boton).src='media/icono_paradas_activo.gif';
		$.post("procesos/recorridos.php?accion=paradas&linea="+id_linea+"&orientacion="+orientacion, function(data){	
			if(data!=''){
				tmp_paradas = data.split("@");
				for(i=0;i<tmp_paradas.length;i++){
	  			datos = tmp_paradas[i].split("|");
					if(datos.length > 1){
		  			marca=new Array();
		  			icono=new Array();
		  			info=new Array();
						marca["pos_x"]=datos[0];
						marca["pos_y"]=datos[1];
						icono["image"]="media/lineas/"+datos[3];
						icono["gsize_x"]=25;
						icono["gsize_y"]=25;
						icono["gpoint_x"]=15;
						icono["gpoint_y"]=25;
						des_orientacion="Ida";
						if(orientacion=="R") des_orientacion="Regreso";
						html="";
						info["html"]="<div><b>Linea: </b>"+datos[4]+"<br/><b>Recorrido: </b>"+des_orientacion+"<br/><b>Calle y Altura: </b>"+datos[2]+"</div><br/><br/>";
						agregar_marca(marca, icono, info, "paradas");
					}
				}
	  	}
		});	
	}
}

function agregar_marca(marker, icono, informacion, tipo){
	var marca=false;
	if(!marker) return false;
	if(icono){
		icon_marca = new GIcon();
		icon_marca.image=icono["image"];
  	icon_marca.iconSize=new GSize(icono["gsize_x"],icono["gsize_y"]);
  	icon_marca.iconAnchor=new GPoint(18,18);
  	icon_marca.infoWindowAnchor=new GPoint((icono["gsize_x"]/2),0);
  	marca = new GMarker(new GLatLng(marker["pos_x"],marker["pos_y"]),{icon:icon_marca});
  }
	else{
		marca = new GMarker(new GLatLng(marker["pos_x"],marker["pos_y"]));
	}
	if(informacion){
		GEvent.addListener(marca, "click", function() {
			map.setCenter(new GLatLng(marker["pos_x"],marker["pos_y"]),16);
			marca.openExtInfoWindow(
          map,
          "globo_info",
          informacion["html"]
        ); 
		});
	}
	if(tipo == "clientes") {
		clientes[cant_clientes]=marca;
		map.addOverlay(clientes[cant_clientes]);
		cant_clientes++;
	}
	if(tipo == "paradas") {
		paradas[cant_paradas]=marca;
		map.addOverlay(paradas[cant_paradas]);
		cant_paradas++;
	}
	if(tipo == "cospeleros") {
		cospeleros[cant_cospeleros]=marca;
		map.addOverlay(cospeleros[cant_cospeleros]);
		cant_cospeleros++;
	}
	if(tipo == "marcas") {
		marcas[cant_marcas]=marca;
		map.addOverlay(marcas[cant_marcas]);
		cant_marcas++;
	}
}

function clientes_cercanos(id_linea,orientacion){
	//imagen_boton = document.getElementById('icono_clientes').src;
	imagen_boton = $("#icono_clientes").attr("src");
	if(imagen_boton && imagen_boton.indexOf('media/icono_clientes_activo.gif')!=-1){
			document.getElementById('icono_clientes').src='media/icono_clientes.gif';
			ocultar_clientes();
			$("#mostrar_resultados_clientes").hide();
			$("#resultados_clientes").hide();
	}
	else{
		$.post("procesos/clientes.php?accion=marca_mapa&id_linea="+id_linea+"&orientacion="+orientacion, function(datos){
			if(datos!=''){
				datos = datos.split("###");
				$("#mostrar_resultados_clientes").show();
		    $("#resultados_clientes").html(datos[0]);
		    $("#resultados_clientes").show();
		    if(datos[1].indexOf("@")!=-1){
					tmp_clientes = datos[1].split("@@@");
				}
				else {
					tmp_clientes = new Array();
					tmp_clientes[0]=datos[1];
				}
				for(j=0;j<tmp_clientes.length;j++){
					datos_cli = tmp_clientes[j].split("|");
					//ubicacion de la marca
					tmp_pos = datos_cli[0].split(",");
					if(tmp_pos.length > 1){
		  			marca=new Array();
		  			icono=new Array();
		  			info=new Array();
						marca["pos_x"]=tmp_pos[0];
						marca["pos_y"]=tmp_pos[1];
						marca["id_cliente"]=datos_cli[1];
						icono["image"]="media/clientes/"+datos_cli[7];
						icono["gsize_x"]=datos_cli[8];
						icono["gsize_y"]=datos_cli[9];
						icono["gpoint_x"]=datos_cli[10];
						icono["gpoint_y"]=datos_cli[11];
						html="";
						if(datos_cli[2]!="") html+="<b>"+datos_cli[2]+"</b><br/><em>("+datos_cli[12]+")</em><br/>";
						if(datos_cli[3]!="") html+=datos_cli[3]+"<br/>";
						if(datos_cli[4]!="") html+=datos_cli[4]+"<br/>";
						if(datos_cli[5]!="") html+=datos_cli[5]+"<br/>";
						if(datos_cli[6]!="") html+=datos_cli[6];
						info["html"]="<div>"+html+"</div><br/><br/>";
						agregar_marca(marca, icono, info, "clientes");
					}
				}
				$('#vis_clientes').html("<a href=\"javascript:;\" onclick=\"clientes_cercanos("+id_linea+",'"+orientacion+"');\"><img id=\"icono_clientes\" src=\"media/icono_clientes_activo.gif\" border=\"0\" width=\"115\" height=\"22\"></a>");
				$('#vis_clientes').show();
	    }
	    $('#mapagoogle').unblock();
		});	
	}
}

function mostrar_cospeleros(origen,destino){
	$.post("procesos/clientes.php?accion=cospeleros&coord_ori="+origen+"&coord_des="+destino, function(datos){
		if(datos!=''){
			if(datos.indexOf("@")!=-1){
				tmp_cospeleros = datos.split("@");
			}
			else {
				tmp_cospeleros = new Array();
				tmp_cospeleros[0]=datos;
			}
			for(j=0;j<tmp_cospeleros.length;j++){
				datos = tmp_cospeleros[j].split("|");
				tmp_pos = datos[0].split(",");
				if(tmp_pos.length > 1){
	  			marca=new Array();
	  			icono=new Array();
	  			info=new Array();
					marca["pos_x"]=tmp_pos[0];
					marca["pos_y"]=tmp_pos[1];
					icono["image"]="media/clientes/icono_cospeleros.png";
					icono["gsize_x"]=15;
					icono["gsize_y"]=27;
					icono["gpoint_x"]=15;
					icono["gpoint_y"]=27;
					html="";
					if(datos[1]!="") html+="<b>"+datos[1]+"</b><br/><em>(venta de cospeles)</em><br/>";
					if(datos[2]!="") html+=datos[2]+"<br/>";
					info["html"]="<div>"+html+"</div><br/><br/>";
					agregar_marca(marca, icono, info, "cospeleros");
				}
			}
    }
	});
}

function animar_recorrido(icono){
  var dirn = new GDirections();
  var icono_bus = new GIcon();
  icono_bus.image="media/lineas/"+icono;
  icono_bus.iconSize=new GSize(25,25);
  icono_bus.iconAnchor=new GPoint(13,25);
  GEvent.addListener(dirn,"load", function() {
    poly_animacion=dirn.getPolyline();
    //map.setCenter(poly_animacion.getVertex(0),14);
    marker_animacion = new GMarker(poly_animacion.getVertex(0),{icon:icono_bus});
    map.addOverlay(marker_animacion);
    setTimeout("animate_icono(0,0,0)",2000);  // Allow time for the initial map display
  });
  dirn.loadFromWaypoints([puntos_recorrido[0],puntos_recorrido[1]],{getPolyline:true,getSteps:true});
}

function animate_icono(ver,cur,dist) {
		var latLng_1 = puntos_recorrido[ver];
		var latLng_2 = puntos_recorrido[ver+1];
		var met = Math.pow(2, (18 - map.getZoom()));
		var len = Math.ceil(latLng_1.distanceFrom(latLng_2) / met);
		var lat = normalMove(cur, latLng_1.lat(), latLng_2.lat()-latLng_1.lat(), len);
		var lng = normalMove(cur, latLng_1.lng(), latLng_2.lng()-latLng_1.lng(), len);
		marker_animacion.setPoint(new GLatLng(lat, lng));
		cur++;
		if (cur > (len-1)) {
			cur = 0;
			ver++;
			if (ver >= puntos_recorrido.length-1){ ver = 0; }
		}
		time_animacion = setTimeout("animate_icono("+ver+","+cur+","+(dist+5)+")", 100);
}

function normalMove (cur,ord1,ord2,len){ 
	if(len==0)
		return ord1;
	else
		return (((ord2*cur)/len) + ord1); 
}

function enviar_mensaje_contacto(nombre, email, telefono, localidad, provincia, mensaje){
	if(nombre=="" || email ==""){
		$('#resultado_envio_email').html("<font color=\"red\">Complete todos los campos obligatorios</font>");
	}
	else{
		$.post("procesos/contacto.php?accion=enviar&nombre="+nombre+"&email="+email+"&telefono="+telefono+"&localidad="+localidad+"&provincia="+provincia+"&mensaje="+mensaje, function(data){
	    $("#html_contacto").html(data);
	  });		
	}
}

function cambiar_busqueda_recorrido(origen){
	$('#img_cat_rec').attr('src','media/bus_cat_rec_inact.gif');
	$('#img_cat_trec').attr('src','media/bus_cat_trec_inact.gif');
	$('#div_cat_rec').hide();
	$('#div_cat_trec').hide();
	if(origen!="todos"){
		$('#img_cat_rec').attr('src','media/bus_cat_rec_act.gif');
		$('#div_cat_rec').show();
	}
	else{
		$('#img_cat_trec').attr('src','media/bus_cat_trec_act.gif');
		$('#div_cat_trec').show();
	}
}

function lineas_corredor(id_linea) {
  if(id_linea!=""){
	  $('#lineas_corredor').show();
	  var cargando="<img src=\"media/buscando-loader.gif\" width=\"20\" height=\"20\" border=\"0\"/>";
	  $("#lineas_corredor").html(cargando);
	  $.post("procesos/funciones.php?accion=lineas_corredor&linea="+id_linea, function(data){
	    $("#lineas_corredor").html(data);
	  });
	}
}

