
var destino_suge = "";
var destino_input = "";
var url_input = "";
var tipo_busqueda = "";
var formulario_peticion = "";
var markers = [];

var geocoder;
geocoder = new google.maps.Geocoder(); 
var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
var simple = "http://www.epa.gov/socal/images/epa-dot.gif";
var iconrestaurante = "http://www.callejero.net/images/punto.inicio.png";
  
var timer;
var seleccionado_select = 0;


function pre_sugerencias(e,div_sugerencias,frm,tipo_busq){
    clearTimeout(timer);    
    pac1 = document.getElementById(div_sugerencias);
    if(e.keyCode==40){ 
        
        //flecha abajo
       
        pac = pac1.getElementsByTagName('p');
        
        if((seleccionado_select)==(pac.length )){
            return false;
        }
        seleccionado_select = seleccionado_select+1;
        

        for(x=0;x<pac.length;x++){
            if(x==(seleccionado_select-1)){
                pac[x].style.background = '#f1f1f1';
            }else{
                pac[x].style.background = 'white';
            }
        }
        return false;
    }
    
    if(e.keyCode==38){ //flecha arriba
        //flecha arriba
        pac = pac1.getElementsByTagName('p');

        if((seleccionado_select-1)==0){
            return false;
        }
        seleccionado_select = seleccionado_select-1;
        

        for(x=0;x<pac.length;x++){
            if(x==(seleccionado_select-1)){
                pac[x].style.background = '#f1f1f1';
            }else{
                pac[x].style.background = 'white';
            }
        }
        return false;
    }
    
    if(e.keyCode==13){
        if(seleccionado_select!=0){
            pac = pac1.getElementsByTagName('p');
            pac2 = pac[seleccionado_select-1].getElementsByTagName('a');
            pac3 = pac2[0].getAttribute('onclick');
            if(pac2[0].innerHTML!='No se han encontrado resultados'){
                frm.destino.value = pac2[0].innerHTML;
                document.getElementById(div_sugerencias).style.display = 'none';
                
                eval(pac3);
            }
        }else{
            pac = pac1.getElementsByTagName('p');
            //if(pac.length==1){
                pac2 = pac[0].getElementsByTagName('a');
                pac3 = pac2[0].getAttribute('onclick');
                if(pac2[0].innerHTML!='No se han encontrado resultados'){
                    frm.destino.value = pac2[0].innerHTML;
                    document.getElementById(div_sugerencias).style.display = 'none';
                    
                    eval(pac3);
                }
            //}
        }
        return false;
    }
    if(e.keyCode!=40 && e.keyCode!=38 && e.keyCode!=13){ 
        seleccionado_select = 0;
    }
    
    /* Definimos el formulario que hace la petición de sugerencias*/    
    formulario_peticion = frm;
    destino_input = frm.destino;
    url_input = frm.url_destino; //campo oculto donde va la URL de destino
    timer = setTimeout("sugerencias('"+div_sugerencias+"','"+frm.destino.value.replace("'","")+"','"+tipo_busq+"')",500);
    
}
  
function sugerencias(div_sugerencias,destino,tipo_busq){
    
    clearTimeout(timer);        

    
    /* Definimos el div que mostrará las sugerencias */
    destino_suge = div_sugerencias;
    
    /* Definimos si es busqueda tipo "simple" o busqueda tipo "ruta"*/
    tipo_busqueda = tipo_busq;
    
    /* Definimos el nº de carácteres necesarios para empezar a mostrar sugerencias */
    if(destino.length > 3){
        //alert(destino+" , spain");
        getLocationsCallejero(destino+" , spain");
        
    }else{
        document.getElementById(destino_suge).style.display="none";        
    }
}

function getLocationsCallejero(val){
    if (val.length > 3){
        //geocoder.getLocations(val, addToMap);
        geocoder.geocode( {'address': val, 'region': 'ES' }, addToMap);

        
    }else{
        document.getElementById(destino_suge).innerHTML="Informe al menos 3 caracteres para mostrarle resultados acordes a su búsqueda.";
    }
}


function addToMap(results, status){ 
  
        var buff="";
        
        if (status == google.maps.GeocoderStatus.OK) {
            
            for (i=0; i<results.length; i++){
                place = results[i].formatted_address;
                //alert(results[i].formatted_address +" - "+ results[i].address_components[0].types[0]);
                switch(results[i].address_components[0].types[0]){
                    case "country":
                        //alert("Pais: " + results[i].formatted_address);
                        try{
                            direccionCompleta[i]=results[i].formatted_address;
                            pais[i]=results[i].address_components[0].long_name;
                            paisCode[i]=results[i].address_components[0].short_name;
                            coordenadas[i]=results[i].geometry.location.lng() + ", " + results[i].geometry.location.lat();
                        }catch(err){
                            
                        } 
                        
                        if (paisCode[i] == "ES"){
                            //buff += "<br><a href=\"http://callejero.interbusca.net/"+setUrlItem(pais[i])+"/\">"+pais[i]+"</a>";
                        }else{
                            buff += "<br>Fuera de españa";
                        }
                        
                        break;           
                        
                    case "locality":
                        //alert("Ciudad: " + results[i].formatted_address);
                         
                         try{
                            direccionCompleta[i]=results[i].formatted_address;
                            localidad[i]=results[i].address_components[0].long_name;
                            provincia[i]=results[i].address_components[1].long_name;                        
                            pais[i]=results[i].address_components[3].long_name;
                            paisCode[i]=results[i].address_components[3].short_name;
                            coordenadas[i]=results[i].geometry.location.lng() + ", " + results[i].geometry.location.lat();
                         }catch(err){
                            
                         }                        
                                                    
                        if (paisCode[i] == "ES"){
                            
                            // Miramos si es una busqueda simple o una ruta 
                            
                            switch(tipo_busqueda){
                                case "simple":
                                 
                                    buff += "<p class=\"sugerencias_list\"><a href=\"javascript:void(0);\" onmouseover=\"clearInterval(timer_suge);\" class=\"a_sugerencia\" onclick=\"setStreet("+i+",'ciudad')\">"+direccionCompleta[i]+"</a></p>";
                                    break;
                                    
                                case "ruta":
                                    buff += "<p class=\"sugerencias_list\"><a href=\"javascript:void(0);\" onmouseover=\"clearInterval(timer_suge);\" class=\"a_sugerencia\" onclick=\"rellena_input('"+i+"','ciudad')\">"+direccionCompleta[i]+"</a></p>";
                                    
                                    break;
                                
                            }
                            
                        }else{
                            
                        }
                        
                        break;
                        
                    case "route":
                    case "street_number":
                    case "point_of_interest":
                        //alert("Calle: " + results[i].formatted_address);
                         try{
                             //alert(results[i].address_components[0].types[0]+"***"+results[i].address_components[0].long_name+"\n"+results[i].address_components[1].types[0]+"\n"+results[i].address_components[2].types[0]+"\n"+results[i].address_components[3].types[0]+"***"+results[i].address_components[3].long_name+"\n"+results[i].address_components[4].types[0]+"***"+results[i].address_components[4].long_name+"\n"+results[i].address_components[5].types[0]);
                             /*alert(results[i].address_components[0].types[0]+"---"+results[i].address_components[0].long_name);
                             alert(results[i].address_components[1].types[0]+"---"+results[i].address_components[1].long_name);
                             alert(results[i].address_components[2].types[0]+"---"+results[i].address_components[2].long_name);
                             alert(results[i].address_components[3].types[0]+"---"+results[i].address_components[3].long_name);*/
                             direccionCompleta[i]=results[i].formatted_address;
                             
                             num_calle[i]='';
                             direccion[i]='';
                             localidad[i]='';
                             provincia[i]='';
                             pais[i]='';
                             paisCode[i]='';
                             
                             for(k=0;k<results[i].address_components.length;k++){
                                 
                                 
                                 
                                 switch(results[i].address_components[k].types[0]){
                                     case "street_number":                                        
                                        //alert(results[i].address_components[k].long_name);
                                        num_calle[i]=results[i].address_components[k].long_name;
                                        break;
                                     case "route":
                                     case "point_of_interest":
                                            direccion[i]=results[i].address_components[k].long_name;
                                        break;
                                     case "locality":
                                        localidad[i]=results[i].address_components[k].long_name;
                                        break;
                                     case "administrative_area_level_2":
                                        provincia[i]=results[i].address_components[k].long_name;
                                        break;
                                     case "administrative_area_level_1":
                                        //comunidad autónoma
                                        break;
                                     case "country":
                                        pais[i]=results[i].address_components[k].long_name;
                                        paisCode[i]=results[i].address_components[k].short_name;
                                        if(paisCode[i]!="ES"){
                                            pais[i]=results[i].address_components[k+1].long_name;
                                            paisCode[i]=results[i].address_components[k+1].short_name;
                                        }
                                        break;
                                 }
                                /* direccion[i]=results[i].address_components[0].long_name;
                                 localidad[i]=results[i].address_components[1].long_name;
                                 provincia[i]=results[i].address_components[2].long_name;
                                 pais[i]=results[i].address_components[4].long_name;
                                 paisCode[i]=results[i].address_components[4].short_name;
                                 if(paisCode[i]!="ES"){
                                     pais[i]=results[i].address_components[5].long_name;
                                     paisCode[i]=results[i].address_components[5].short_name;
                                 }*/
                             }
                             //alert(direccion[i]);
                             coordenadas[i]=results[i].geometry.location.lng() + ", " + results[i].geometry.location.lat();
                             urlLocalidad[i]=setUrlItem(localidad[i]);
                             urlDireccion[i]=setUrlItem(direccion[i]);
                             urlDestino[i]=setUrlItem(urlDireccion[i])+".html";
                             
                        }catch(err){
                            
                        }                 
                        //alert(localidad[i]);
                        if (paisCode[i] == "ES" && (localidad[i]!="" && localidad[i]!=undefined && localidad[i]!="undefined" && localidad[i]!="")){
                            

                            // Miramos si es una busqueda simple o una ruta 
                            switch(tipo_busqueda){
                                case "simple":
                                    buff += "<p class=\"sugerencias_list\"><a href=\"javascript:void(0);\" onmouseover=\"clearInterval(timer_suge);\" class=\"a_sugerencia\" onclick=\"setStreet("+i+",'calle')\">"+direccionCompleta[i]+"</a></p>";
                                    break;
                                    
                                case "ruta":
                                    //buff += "<p class=\"sugerencias_list\"><a href=\"#\" class=\"a_sugerencia\" onclick=\"rellena_input('"+i+"','calle')\">"+pais[i]+" "+direccionCompleta[i]+"</a></p>";
                                    buff += "<p class=\"sugerencias_list\"><a href=\"javascript:void(0);\" onmouseover=\"clearInterval(timer_suge);\"  class=\"a_sugerencia\" onclick=\"rellena_input('"+i+"','calle')\">"+direccionCompleta[i]+"</a></p>";
                                    break;
                                    
                                case "404":
                                    buff += "<p class=\"sugerencias_list2\"><a href=\"javascript:void(0);\" onmouseover=\"clearInterval(timer_suge);\" class=\"a_directorio\" onclick=\"setStreet("+i+",'404')\">"+direccionCompleta[i]+"</a></p>";
                                    break;
                                    
                                case "405":
                                    buff += "<p class=\"sugerencias_list2\"><a href=\"javascript:void(0);\" onmouseover=\"clearInterval(timer_suge);\" class=\"a_directorio\" onclick=\"setStreet("+i+",'405')\">"+direccionCompleta[i]+"</a></p>";
                                    break;
                                
                            }                          
                            
                            
                        }else{                        
                            
                        }
                        

                        break;
                }
                
                document.getElementById(destino_suge).style.display="inline-block";
                document.getElementById(destino_suge).innerHTML=buff;
                if (buff == ""){
                    document.getElementById(destino_suge).innerHTML="<p class=\"sugerencias_list\"><a  class=\"a_sugerencia\" href=\"javascript:void(0);\" onmouseover=\"clearInterval(timer_suge);\">No se han encontrado resultados</a></p>";;    
                    if(document.getElementById('quizas')){
                        document.getElementById('quizas').style.display = 'none';
                    }
                }
                
                
            }
        }else{
            document.getElementById(destino_suge).innerHTML="<p class=\"sugerencias_list\"><a  class=\"a_sugerencia\" href=\"javascript:void(0);\" onmouseover=\"clearInterval(timer_suge);\">No se han encontrado resultados</a></p>";;
            if(document.getElementById('quizas')){
                document.getElementById('quizas').style.display = 'none';
            }
        }
        
    }
    
    
    var num_calle=new Array();
    var urlDestino=new Array();
    var localidad=new Array();
    var urlLocalidad=new Array();
    var provincia=new Array();
    var urlProvincia=new Array();
    var direccionCompleta=new Array();
    var direccion=new Array();
    var coordenadas=new Array();
    var paisCode=new Array();
    var pais=new Array();
    var urlPais=new Array();  
    var coordenadas=new Array();
    var urlDireccion=new Array();
    var place = '';
    var precision=new Array();
    var posicionIndice=0;
                            

    
  
    function initialize() {
        geocoder = new google.maps.Geocoder();
        //directionsDisplay = new google.maps.DirectionsRenderer();

        var myOptions = {
            zoom: 8,
            disableDefaultUI: true,
            //mapTypeId: google.maps.MapTypeId.TERRAIN
            mapTypeId: google.maps.MapTypeId.ROADMAP,
           // sensor: 'true',
            streetViewControl: true,
            mapTypeControl: false,
              mapTypeControlOptions: {
                  style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
                  position: google.maps.ControlPosition.BOTTOM
              },
              navigationControl: true,
              navigationControlOptions: {
                  style: google.maps.NavigationControlStyle.ZOOM_PAN,
                  position: google.maps.ControlPosition.TOP_LEFT
              },
              scaleControl: false,
              scaleControlOptions: {
                  position: google.maps.ControlPosition.TOP_LEFT
              }

        };
        
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    }
  
    function initialize_tiempo() {
        geocoder = new google.maps.Geocoder();
        //directionsDisplay = new google.maps.DirectionsRenderer();

        var myOptions = {
            zoom: 8,
            disableDefaultUI: true,
            mapTypeId: google.maps.MapTypeId.TERRAIN,
            //mapTypeId: google.maps.MapTypeId.ROADMAP,
           // sensor: 'true',
            streetViewControl: true,
            mapTypeControl: false,
              mapTypeControlOptions: {
                  style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
                  position: google.maps.ControlPosition.BOTTOM
              },
              navigationControl: true,
              navigationControlOptions: {
                  style: google.maps.NavigationControlStyle.ZOOM_PAN,
                  position: google.maps.ControlPosition.TOP_LEFT
              },
              scaleControl: false,
              scaleControlOptions: {
                  position: google.maps.ControlPosition.TOP_LEFT
              }

        };
        
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    }
                /*
    
    function openInfoWindow(marker, content,point) {
     
        marker.openInfoWindowHtml("<div style=\"background-color:#000000; color: #0077ff;\">Lat: {0}<br />Lng: {1}</div>");
        
    }           */
    
    var x = 0;
    var array_coordenadas = new Array();
    
    function get_coord(address,icono,tipo,v_cont) {
          
          if(!document.getElementById("map_canvas")){
              geocoder = parent.geocoder;
              map = parent.map;
          }
            
          geocoder.geocode( { 'address': address}, function(results, status) {
          if (status == google.maps.GeocoderStatus.OK) {
              
                         
            map.setCenter(results[0].geometry.location);
            
            


            if(!document.getElementById("map_canvas")){
                 if(icono=="simple"){
                    var markerOptions = {map: map, position: results[0].geometry.location, icon:'http://www.callejero.net/images/punto.inicio.png'};
                }else{
                    var markerOptions = {map: map, position: results[0].geometry.location, icon:icono};
                }
                var marker = new parent.google.maps.Marker(markerOptions);
                markers.push(marker);
                

                parent.google.maps.event.addListener(marker, "click", function(e) {
                    //v_cont = 'vacio';
                    //address = 'ok';
                    //alert(address+"\n"+v_cont);
                    try{
                        var infoBox = new parent.InfoBox({latlng: marker.getPosition(), map: map, contenido: v_cont, direccion: address, tipo: 2, icon: 'http://www.callejero.net/images/punto.inicio.png'});
                    }catch(err){
                        var infoBox = new parent.InfoBox({latlng: marker.getPosition(), map: parent.map, contenido: v_cont, direccion: address, tipo: 2, icon: 'http://www.callejero.net/images/punto.inicio.png'});
                    }
                    
                });
            }else{
                
                if(icono=="simple"){
                    var markerOptions = {map: map, position: results[0].geometry.location, icon:'http://www.callejero.net/images/punto.inicio.png'};
                }else{
                    var markerOptions = {map: map, position: results[0].geometry.location, icon:icono};
                    
                }
                var marker = new google.maps.Marker(markerOptions);
                markers.push(marker);
            

                google.maps.event.addListener(marker, "click", function(e) {        
                    
                     if(icono=="simple"){            
                         var infoBox = new InfoBox({latlng: marker.getPosition(), map: map, contenido: v_cont, direccion: address, tipo: 1, icon:'http://www.callejero.net/images/punto.inicio.png',tipo:2});
                     }else if(icono.indexOf(('punto.'))!="-1"){
                         var infoBox = new InfoBox({latlng: marker.getPosition(), map: map, contenido: v_cont, direccion: address, tipo: 2, icon:'http://www.callejero.net/images/punto.inicio.png',tipo:2});
                     }else{
                         var infoBox = new InfoBox({latlng: marker.getPosition(), map: map, contenido: v_cont, direccion: address, tipo: 1, icon:'http://www.callejero.net/images/punto.inicio.png',tipo:1});
                     }
                });
            }
            //google.maps.event.trigger(marker, "click");

                          
            
             var coordenadas = String(results[0].geometry.location).replace("(","");
             coordenadas = coordenadas.replace(")","");
             coordenadas = coordenadas.split(", ");
                
             array_coordenadas[x] = coordenadas;
             x++;
             
             
             
             // centramos mapa 
                //primeros buscamos el punto medio:
                var total_coordenadas = array_coordenadas.length;
                if(total_coordenadas>1){
                                   
                    var suma_coord_1 = 0;
                    var suma_coord_2 = 0;
                    var minlat = 0;
                    var minlng = 0;
                    var maxlat = 0;
                    var maxlng = 0;
                    for(y=0;y<total_coordenadas;y++){
                        var desg = String(array_coordenadas[y]).split(',');
                        suma_coord_1 = suma_coord_1 + parseFloat(desg[0]);
                        suma_coord_2 = suma_coord_2 + parseFloat(desg[1]);
                        if(y==0){
                            minlat = parseFloat(desg[0]);
                            minlng = parseFloat(desg[1]);
                            maxlat = parseFloat(desg[0]);
                            maxlng = parseFloat(desg[1]);
                        }else{
                            if(minlat > parseFloat(desg[0])){
                                minlat = parseFloat(desg[0]);
                            }

                            if(minlng > parseFloat(desg[1])){
                                minlng = parseFloat(desg[1]);
                            }

                            if(maxlat < parseFloat(desg[0])){
                                maxlat = parseFloat(desg[0]);
                            }

                            if(maxlng < parseFloat(desg[1])){
                                maxlng = parseFloat(desg[1]);
                            }
                        }                    
                    }
                    if(total_coordenadas==1){
                        var minlat = 0;
                        var minlng = 0;
                        var divide = 1;
                    }else{
                        var divide = 2;
                    }


                    var new_coord_1 = (maxlat+minlat)/divide;
                    var new_coord_2 = (maxlng+minlng)/divide;
                   

                    if ((maxlat - minlat) > (maxlng - minlng)) {
                        interval = (maxlat - minlat) / 2;
                        minlng = new_coord_2 - interval;
                        maxlng = new_coord_2 + interval;
                    } else {
                        interval = (maxlng - minlng) / 2;
                        minlat = new_coord_1 - interval;
                        maxlat = new_coord_1 + interval;
                    }
                    



                        var mapdisplay = 500;
                        var dist = (6371 * Math.acos(Math.sin(minlat / 57.2958) * Math.sin(maxlat / 57.2958) + (Math.cos(minlat / 57.2958) * Math.cos(maxlat / 57.2958) * Math.cos((maxlng / 57.2958) - (minlng / 57.2958)))));
                        
                        
                        switch(tipo){
                            case "2001":
                                var zoom = 14;
                                map.setCenter(results[0].geometry.location);    
                                map.setZoom(zoom);
                                return false;
                                break;
                                
                            default:
                                var zoom = Math.floor(8 - Math.log(1.6446 * dist / Math.sqrt(2 * (mapdisplay * mapdisplay))) / Math.log (2));
                                break;
                        }
                            
                       
                        if(!document.getElementById("map_canvas")){
                            var vlatlng = new parent.google.maps.LatLng(new_coord_1, new_coord_2, zoom - 1);
                        }else{
                            var vlatlng = new google.maps.LatLng(new_coord_1, new_coord_2, zoom - 1);
                        }
                       
                        map.setCenter(vlatlng);
                        map.setZoom(zoom - 1);

                }else{
                    
                    switch(tipo){
                        case "0001":
                        case "1000":
                        case "1001":
                        case "1002":
                            var zoom_mapa = 5;
                            break;
                        case "1011":
                            var zoom_mapa = 8;
                            break;
                        case "1012":
                            var zoom_mapa = 12;
                            break;
                        case "0002":
                            var zoom_mapa = 14;
                            break;
                            
                        case "4202":
                            var zoom_mapa = 13;
                            break;
                            
                        case "0003":
                            var zoom_mapa = 17;
                            break;
                            
                        case "0010":
                        case "4200":
                            var zoom_mapa = 5;
                            break;
                            
                        case "4300":
                            var zoom_mapa = 6;
                            break;
                            
                        case "2000":
                            var zoom_mapa = 5;
                            break;
                            
                        case "2001":
                            var zoom_mapa = 5;
                            break;
                            
                        case "prox":
                            var zoom_mapa = 12;
                            break;
                            
                        default:
                            var zoom_mapa = 15;
                            break;
                        
                    }
                    var new_coord_1 = coordenadas[0];
                    var new_coord_2 = coordenadas[1];
                    if(!document.getElementById("map_canvas")){
                        var vlatlng = new parent.google.maps.LatLng(new_coord_1, new_coord_2);
                    }else{
                        var vlatlng = new google.maps.LatLng(new_coord_1, new_coord_2);
                    }
                    map.setCenter(vlatlng);
                    map.setZoom(zoom_mapa);

                }
            
          } else {
            //alert("Geocode was not successful for the following reason: " + status);
          }
        });
 
    }


    function muestra_puntos(direccion,icono,tipo,cont){
        desg = direccion.split("***");
        for (var i = 0; i < desg.length; i++) {
            get_coord(desg[i],icono,tipo,cont);
        }
    }
    
    
 var gmarkers = [];
   
    
    /*********************************** RUTA ENTRE 2 PUNTOS **********************************/
function createMarker(latlng, label, html, color) {
// alert("createMarker("+latlng+","+label+","+html+","+color+")");
    var contentString = '<b>'+label+'</b><br>'+html;
    var marker = new google.maps.Marker({
        position: latlng,
        map: map,
        //shadow: iconShadow,
        icon: getMarkerImage(color),
        //shape: iconShape,
        title: label,
        zIndex: Math.round(latlng.lat()*-100000)<<5
        });
        marker.myname = label;
        gmarkers.push(marker);

        google.maps.event.addListener(marker, 'click', function() {
        //infowindow.setContent(contentString); 
        //infowindow.open(map,marker);
        });
}

var icons = new Array();

function getMarkerImage(iconColor) {
   if ((typeof(iconColor)=="undefined") || (iconColor==null)) { 
      iconColor = "red"; 
   }
   if (!icons[iconColor]) {
      //icons[iconColor] = new google.maps.MarkerImage("mapIcons/marker_"+ iconColor +".png",
      icons[iconColor] = new google.maps.MarkerImage("/images/"+ iconColor +".png",
      // This marker is 20 pixels wide by 34 pixels tall.
      new google.maps.Size(35, 40),
      // The origin for this image is 0,0.
      new google.maps.Point(0,3),
      // The anchor for this image is at 6,20.
      new google.maps.Point(15, 34));
   } 
   return icons[iconColor];

}

    
    
    function setDirections(fromAddress, toAddress, locale) {
        start = new google.maps.LatLng(fromAddress);
        stop = new google.maps.LatLng(toAddress);

    /*
      gdir.load("from: " + fromAddress + " to: " + toAddress,
                { "locale": locale });*/
        
        /**/ 
        directionsDisplay = new google.maps.DirectionsRenderer();
        

        directionsDisplay.setMap(map);
        directionsDisplay.setOptions( { suppressMarkers: true } );
        directionsDisplay.setPanel(document.getElementById("directions"));
        
        var start = fromAddress;
        var end = toAddress;
        var request = {
            origin:start, 
            destination:end,
            travelMode: google.maps.DirectionsTravelMode.DRIVING
        };/**/
        
       
                
        
        
        
        /*var polyline = new google.maps.Polyline({
                    path: [],
                    strokeColor: '#FF0000',
                    strokeWeight: 3
                });*/

        directionsService.route(request, function(response, status) {
            
          if (status == google.maps.DirectionsStatus.OK) {
              
            directionsDisplay.setDirections(response);
            
            //var bounds = new google.maps.LatLngBounds();
            
            startLocation = new Object();
            endLocation = new Object();

            var route = response.routes[0];
            var legs = response.routes[0].legs;

            for (i=0;i<legs.length;i++) {
              if (i == 0) { 
                startLocation.latlng = legs[i].start_location;
                startLocation.address = legs[i].start_address;
                createMarker(legs[i].start_location,"start",legs[i].start_address,"punto.inicio");
              }
              endLocation.latlng = legs[i].end_location;
              endLocation.address = legs[i].end_address;
              /*var steps = legs[i].steps;
              for (j=0;j<steps.length;j++) {
                var nextSegment = steps[j].path;
                for (k=0;k<nextSegment.length;k++) {
                  polyline.getPath().push(nextSegment[k]);
                  bounds.extend(nextSegment[k]);
                }
              }*/

            }
            //polyline.setMap(map);
            //map.fitBounds(bounds);

            createMarker(endLocation.latlng,"end",endLocation.address,"punto.fin");
            
            //directionsDisplay.setDirections(response);
          }
        });
      
    
    }
        
    function carga_ruta(ini,fin){
        
        salida = ini;
        llegada = fin;
        //alert(salida+" - "+llegada);
         
        setDirections(salida, llegada);
        
    }
    
    
    /* FIN RUTA ENTRE 2 PUNTOS */
  

