
//===============================================
var reqTrafico;
var map;
var mapT;
var point;
var req1;
var req2;
var reqT;
var evento;
var color;
//var reqTraficoActual = new Array;
var arrTramos = new Array();

var divClima;

var reqsClima = new Array;
var reqsClimaActual = new Array;
//===============================================


function init() {

        var reqTemp;
        if (window.XMLHttpRequest) {
            reqTemp = new XMLHttpRequest();
            if (reqTemp.overrideMimeType) {
                reqTemp.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) {
            try {
                reqTemp = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    reqTemp = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
        var url = "../../../AppServlet";
        reqTemp.open("POST", url, true);
        reqTemp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        return reqTemp;
    }//init


function RegresaAtributo(xmlNode, intAtributo){
	if(xmlNode.nodeType == 1){
        return xmlNode.attributes[intAtributo].nodeValue;
	}
	else if(xmlNode.nodeType == 3){
		return 'nodo tipo 3';
	} else {
            return 'Desconocido';
    }
}

//===========================================================================================


function EstacionClima(){
    this.id='';
    this.name='';
    this.city='';
    this.country='';
    this.citycode='';
    this.lat='';
    this.lng='';
    this.condicion='';
    this.condicion_icon='';
    this.temperatura='';
    this.temperatura_unidad='';
    this.temperaturamin='';
    this.temperaturamin_unidad='';
    this.temperaturamax='';
    this.temperaturamax_unidad='';
    this.humedad='';
    this.humedad_unidad='';
    this.lluvia='';
    this.lluvia_unidad='';
    this.amanecerhora='';
    this.amanecerminuto='';
    this.amanecersegundo='';
    this.amanecerampm='';
    this.atardecerhora='';
    this.atardecerminuto='';
    this.atardecersegundo='';
    this.atardecerampm='';
    this.weburl='';
}


function TraficoFields(){
    this.lat='';
    this.lng='';
    this.lat2='';
    this.lng2='';
    this.name='';
    this.city='';
    this.evento='';
    this.lugar='';
    this.desde='';
    this.hasta='';
    this.fecha='';
    this.gravedad='';
    this.Tipo='';
    this.gravedadcode='';
    this.direccion='';
    //this.lng='';
}

function Tramo(){
    this.lat1='';
    this.lng1='';
    this.lat2='';
    this.lng2='';
    this.points='';
    this.levels='';
    this.direccion='';
    return this;
}//Tramo

function LlenaTramosConocidos(){

        req2 = init();
		req2.onreadystatechange = FillTramosCordenadasListener;
		req2.send("FillTramosCordenadas=1");

    //pegar codigo de excel de wendy
}



function FillTramosCordenadasListener(){
	if (req2.readyState == 4) {
			if (req2.status == 200) {

                    var indexObj = req2.responseXML.getElementsByTagName("TOTAL")[0];
                    var rows = RegresaAtributo(indexObj,0);
                    var tramo;

//tramo = new Tramo(); tramo.lat1=19.43129; tramo.lng1=-99.20876; tramo.lat2=19.42598; tramo.lng2=-99.22188; tramo.points='ybquBlgr|QqBgBwAkCuAeG{BmFsBgFkBgEcBeGOqDQmD@qDM{C}@sC_D}FsAmA'; tramo.levels='BBBBBBBBBBBBBBB'; tramo.direccion='Poniente'; arrTramos.push(tramo);

                    for (var i = 0;i<rows;i++){
                        var rowObj = req2.responseXML.getElementsByTagName("ROW")[i];
                        var lat1Obj = rowObj.getElementsByTagName("lat1")[0];
                        var lng1Obj = rowObj.getElementsByTagName("lng1")[0];
                        var lat2Obj = rowObj.getElementsByTagName("lat2")[0];
                        var lng2Obj = rowObj.getElementsByTagName("lng2")[0];
                        var pointsObj = rowObj.getElementsByTagName("points")[0];
                        var levelsObj = rowObj.getElementsByTagName("levels")[0];
                        var direccionObj = rowObj.getElementsByTagName("direccion")[0];

                    tramo = new Tramo();
                    tramo.lat1 = lat1Obj.childNodes[0].nodeValue;
                    tramo.lng1 = lng1Obj.childNodes[0].nodeValue;
                    tramo.lat2 = lat2Obj.childNodes[0].nodeValue;
                    tramo.lng2 = lng2Obj.childNodes[0].nodeValue;
                    tramo.points = pointsObj.childNodes[0].nodeValue;
                    tramo.levels = levelsObj.childNodes[0].nodeValue;
                    tramo.direccion = direccionObj.childNodes[0].nodeValue;
                    arrTramos.push(tramo);

                    }
            }
        }
    }



function FillCordenadas(){
      IniciaPantalla();
}

function Trafico(){
      LlenaTramosConocidos();
      IniciaPantallaT();
}






function IniciaPantalla(){
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("divMapa"));
        map.setCenter(new GLatLng(19.43, -99.2), 4);
        map.addMapType(G_PHYSICAL_MAP);
        map.setMapType(G_NORMAL_MAP);
        map.addControl(new GSmallMapControl());
        map.addControl(new GMenuMapTypeControl());
        map.enableScrollWheelZoom();
    }
    IniciaClima();
}

function IniciaPantallaT(){
    if (GBrowserIsCompatible()) {
        mapT = new GMap2(document.getElementById("divMapaTrafico"));
        mapT.setCenter(new GLatLng(19.43, -99.2), 14);
        mapT.addMapType(G_PHYSICAL_MAP);
        mapT.setMapType(G_NORMAL_MAP);
        mapT.addControl(new GSmallMapControl());
        mapT.addControl(new GMenuMapTypeControl());
        mapT.enableScrollWheelZoom();
    }
    IniciaTrafico();
}

function ObtenEstadosListener(){
        if (req1.readyState == 4) {
        if (req1.status == 200) {

                    var indexObj = req1.responseXML.getElementsByTagName("TOTAL")[0];
                    var rows = RegresaAtributo(indexObj,0);
                    var rowObj = "";
                    var latObj = "";
                    var lngObj = "";
                    if (GBrowserIsCompatible()) {
                        map = new GMap2(document.getElementById("divMapa"));
                        //var baseIcon = new GIcon(G_DEFAULT_ICON);
                        map.setCenter(new GLatLng(19.43, -99.2), 4);
                        map.addMapType(G_PHYSICAL_MAP);
                        map.setMapType(G_NORMAL_MAP);
                        map.addControl(new GSmallMapControl());
                        map.addControl(new GMenuMapTypeControl());
                        map.enableScrollWheelZoom();
                    }
                for (var i = 0;i<rows;i++){
                        rowObj = req1.responseXML.getElementsByTagName("ROW")[i];
                        latObj = rowObj.getElementsByTagName("y")[0];
                        lngObj = rowObj.getElementsByTagName("x")[0];

                         var reqClima = init();
                         reqClima.onreadystatechange = ClimaLatLngListener;
                         reqClima.send("ClimaLatLng=" + latObj.childNodes[0].nodeValue + "@@@" + lngObj.childNodes[0].nodeValue);
                         reqsClima.push(reqClima);

                      }
                   }
               }
           }

function createMarker(latlng,html,icono,titulo)
{


    var icon1 = new GIcon();
    icon1.image = icono;
    iconw1=20;
    iconh1=20;

	icon1.iconAnchor = new GPoint(iconw1/2, iconh1/2);
	icon1.iconSize = new GSize(iconw1, iconh1);
	icon1.infoWindowAnchor = new GPoint(5, 0);

    marker = new GMarker(latlng, {icon: icon1, title: titulo});

     GEvent.addListener(marker,"click", function() {
            map.openInfoWindowHtml(latlng, html);

      });
      return marker ;
}

function ObtenClimaListener(){
    for (var k=reqsClimaActual.length-1;k>=0;k--){

            if (reqsClimaActual[k].readyState == 4) {
                if (reqsClimaActual[k].status == 200) {
                   try {


                      var st = new EstacionClima();

                      var rootNode = reqsClimaActual[k].responseXML.childNodes[0];
                       sHTabla = '';
                        for (i=0;i<rootNode.childNodes.length;i++){
                          var obsNode = rootNode.childNodes[i];
                          if (obsNode.nodeName == 'aws:WebURL'){
                              if (obsNode.childNodes.length>0){
                                st.weburl=obsNode.childNodes[0].nodeValue;
                              }
                          }else if (obsNode.nodeName == 'aws:ob'){
                              //alert(obsNode.nodeName);
                              for (j=0;j<obsNode.childNodes.length;j++){
                                  var valorNode = obsNode.childNodes[j];
                                  if (valorNode.nodeName == 'aws:current-condition'){
                                      if (valorNode.childNodes.length>0){
                                        st.condicion = valorNode.childNodes[0].nodeValue;
                                      }
                                      st.condicion_icon= RegresaAtributo(valorNode,0);
                                  }
                                  if (valorNode.nodeName == 'aws:temp'){
                                      if (valorNode.childNodes.length>0){
                                        st.temperatura = valorNode.childNodes[0].nodeValue;
                                      }
                                      st.temperatura_unidad = RegresaAtributo(valorNode,0);
                                  }
                                  if (valorNode.nodeName == 'aws:temp-high'){
                                      if (valorNode.childNodes.length>0){
                                        st.temperaturamax = valorNode.childNodes[0].nodeValue;
                                      }
                                      st.temperaturamax_unidad = RegresaAtributo(valorNode,0);
                                  }

                                  if (valorNode.nodeName == 'aws:station-id'){
                                      if (valorNode.childNodes.length>0){
                                        st.id = valorNode.childNodes[0].nodeValue;
                                      }
                                  }
                                  if (valorNode.nodeName == 'aws:station'){
                                      if (valorNode.childNodes.length>0){
                                        st.name = valorNode.childNodes[0].nodeValue;

                                      }
                                  }
                                  if (valorNode.nodeName == 'aws:city-state'){
                                      if (valorNode.childNodes.length>0){
                                        st.city = valorNode.childNodes[0].nodeValue;
                                      }
                                      st.citycode = RegresaAtributo(valorNode,0);
                                  }

                                  if (valorNode.nodeName == 'aws:country'){
                                      if (valorNode.childNodes.length>0){
                                        st.country = valorNode.childNodes[0].nodeValue;
                                      }
                                  }

                                  if (valorNode.nodeName == 'aws:latitude'){
                                      if (valorNode.childNodes.length>0){
                                        st.lat = valorNode.childNodes[0].nodeValue;
                                      }
                                  }

                                  if (valorNode.nodeName == 'aws:longitude'){
                                      if (valorNode.childNodes.length>0){
                                        st.lng = valorNode.childNodes[0].nodeValue;
                                      }
                                  }

                                if (valorNode.nodeName == 'aws:temp-low'){
                                      if (valorNode.childNodes.length>0){
                                        st.temperaturamin = valorNode.childNodes[0].nodeValue;
                                      }
                                      st.temperaturamin_unidad = RegresaAtributo(valorNode,0);
                                  }
                                  if (valorNode.nodeName == 'aws:rain-today'){
                                      if (valorNode.childNodes.length>0){
                                        st.lluvia = valorNode.childNodes[0].nodeValue;
                                      }
                                      st.lluvia_unidad = RegresaAtributo(valorNode,0);
                                  }
                                  if (valorNode.nodeName == 'aws:humidity'){
                                      if (valorNode.childNodes.length>0){
                                        st.humedad = valorNode.childNodes[0].nodeValue;
                                      }
                                      st.humedad_unidad = RegresaAtributo(valorNode,0);
                                  }
                                  if (valorNode.nodeName == 'aws:sunrise'){
                                      if (valorNode.childNodes.length>6){
                                        st.amanecerhora=RegresaAtributo(valorNode.childNodes[3],0);
                                        st.amanecerminuto=RegresaAtributo(valorNode.childNodes[4],0);
                                        st.amanecersegundo=RegresaAtributo(valorNode.childNodes[5],0);
                                        st.amanecerampm=RegresaAtributo(valorNode.childNodes[6],0);
                                      }
                                  }
                                  if (valorNode.nodeName == 'aws:sunset'){
                                      if (valorNode.childNodes.length>6){
                                        st.atardecerhora=RegresaAtributo(valorNode.childNodes[3],0);
                                        st.atardecerminuto=RegresaAtributo(valorNode.childNodes[4],0);
                                        st.atardecersegundo=RegresaAtributo(valorNode.childNodes[5],0);
                                        st.atardecerampm=RegresaAtributo(valorNode.childNodes[6],0);
                                      }
                                }

                              }
                           break;
                          }
                      }

                       var sH =  '<br/><table width:200px ><tr><td><div align=center><b>' + st.name + '-' + st.city + '</b></div>';
		                            sH = sH + '<hr style="height:0; width:200px" >';
		                            sH = sH + '&nbsp;<img src="' + st.condicion_icon + '"><b>' + st.condicion + '</b>';
		                            sH = sH + '&nbsp;<br>Temperatura: <b>' + st.temperatura + st.temperatura_unidad + '</b>';
		                            sH = sH + '&nbsp;<br>M&aacute;ximo: ' + st.temperaturamax + st.temperaturamax_unidad;
		                            sH = sH + '&nbsp;<br>M&iacute;nimo: ' + st.temperaturamin + st.temperaturamin_unidad;
		                            sH = sH + '&nbsp;<br>Humedad: ' + st.humedad + st.humedad_unidad;
		                            sH = sH + '&nbsp;<br>Lluvia: ' + st.lluvia + st.lluvia_unidad;
		                            sH = sH + '&nbsp;<br>Amanecer: ' + st.amanecerhora + ':' + st.amanecerminuto + ':' + st.amanecersegundo + ' ' + st.amanecerampm;
		                            sH = sH + '&nbsp;<br>Atardecer: ' + st.atardecerhora + ':' + st.atardecerminuto + ':' + st.atardecersegundo + ' ' + st.atardecerampm;
		                            sH = sH + '&nbsp;<hr style="height:0; width:200px"><center><a style="color:rgb(150,150,150);" class="asubraya" href="javascript: AbreLink(\'' + st.weburl + '\')"><b>M&aacute;s informaci&oacute;n en<br><img border=0 src="../../v4/imgs/weatherbug.png"><br></b></a></center></td></tr></table>';
                      sHTabla = '<table width:200px valign=top cellpadding=3 cellspacing=3><tr><td>' +  sH + '</td></tr></table>';

                      //document.title = sHTabla;
                      var latlng = new GLatLng(st.lat,st.lng);
                      map.addOverlay(createMarker(latlng, sH,st.condicion_icon,st.name + '-' + st.city));  //llama funcion createMarker

                        var divDatosClima = document.getElementById("divDatosClima");
                        divDatosClima.innerHTML = divDatosClima.innerHTML + sHTabla;

                        //
      //alert("Lugar: " + sHTabla);

                    } catch(err){}

                    reqsClimaActual.splice(k, 1);

                    if (reqsClimaActual.length<5){
                        var spanCargandoClima = document.getElementById("spanCargandoClima");
                        spanCargandoClima.innerHTML="";
                    }
                }
            }
    }
}//ObtenClimaListener

function ClimaLatLngListener(){
    for (var k=reqsClima.length-1;k>=0;k--){
            if (reqsClima[k].readyState == 4) {
                if (reqsClima[k].status == 200) {
                   try {

                      var indexObj;

                      indexObj = reqsClima[k].responseXML.getElementsByTagName("aws:stations")[0];

                      if (indexObj==null){
                              indexObj = reqsClima[k].responseXML.childNodes[0].childNodes[1];
                      }

                      for (i=0;i<indexObj.childNodes.length;i++){
                        var estacionObj = indexObj.childNodes[i];


                          var st = new EstacionClima();
                          st.id=RegresaAtributo(estacionObj,0);
                          st.name=RegresaAtributo(estacionObj,1);
                          st.city=RegresaAtributo(estacionObj,2);
                          st.country=RegresaAtributo(estacionObj,3);
                          st.citycode=RegresaAtributo(estacionObj,4);
                          st.lat=RegresaAtributo(estacionObj,5);
                          st.lng=RegresaAtributo(estacionObj,6);

                            var reqClimaActual = init();
                            reqClimaActual.onreadystatechange = ObtenClimaListener;
                            reqClimaActual.send("ClimaEstacion=" + st.id);
                            reqsClimaActual.push(reqClimaActual);
                            break;
                      }
                  } catch(err){}

                  reqsClima.splice(k, 1);

                }
            }
    }
}//ClimaLatLngListener

function IniciaClima(){
    var arrEst = new Array;

    arrEst.push('76612');
    arrEst.push('76683');
    arrEst.push('76654');
    arrEst.push('MMCB');
    arrEst.push('MMMX');
    arrEst.push('MMPB');
    arrEst.push('MMAN');
    arrEst.push('MMSD');
    arrEst.push('MMUN');
    arrEst.push('MMTJ');
    arrEst.push('76225');
    arrEst.push('MMQT');
    arrEst.push('98447');
    arrEst.push('MMHO');
    arrEst.push('MMTG');
    arrEst.push('76458');
    arrEst.push('MMTC');
    arrEst.push('76577');
    arrEst.push('62259');
    arrEst.push('BRSJS');
    arrEst.push('MMCL');
    arrEst.push('76665');
    arrEst.push('MMCP');
    arrEst.push('MMMD');
    arrEst.push('76423');
    arrEst.push('MMLO');
    arrEst.push('76743');
    arrEst.push('76775');
    arrEst.push('MMSP');
    arrEst.push('76632');
    arrEst.push('MMAS');
    arrEst.push('MMEP');
    arrEst.push('76525');
    arrEst.push('MMRX');
    arrEst.push('MMCE');
    arrEst.push('76675');

    for (var i = 0;i<arrEst.length;i++){
        var reqClimaActual = init();
        reqClimaActual.onreadystatechange = ObtenClimaListener;
        reqClimaActual.send("ClimaEstacion=" + arrEst[i]);
        reqsClimaActual.push(reqClimaActual);
    }

}



function IniciaTrafico(){

        reqTrafico = init();
        reqTrafico.onreadystatechange = TraficoActualListener;
        reqTrafico.send("TraficoActual");
        //reqTraficoActual.push(reqTrafico);
}

function TraficoActualListener(){
            if (reqTrafico.readyState == 4) {
                if (reqTrafico.status == 200) {
                   try {
                      var rootNode;
                      var iconT="";
                      var st = new TraficoFields();

        //Validación de browser
        if (navigator.appName == "Microsoft Internet Explorer"){
            var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.load(reqTrafico.responseXML);
            rootNode = xmlDoc.documentElement;
        }else{
            rootNode = reqTrafico.responseXML.childNodes[0];
        }

                       sHTabla = '';
                        for (i=0;i<rootNode.childNodes.length;i++){
                          var obsNode = rootNode.childNodes[i];

                          //var strTexto  ="Mostrando tramo " + i + " de " + rootNode.childNodes.length + " ... <img src='imgs/loading.gif' border='0'>";

                          if (obsNode.nodeName == 'incident'){
                              st.Tipo = RegresaAtributo(obsNode,2);
                              if (st.Tipo == "flow") {
                                  iconT = "../../../icons/trafico/banderamapab1.png";
                              }
                              if (st.Tipo == "incident") {
                                  iconT = "../../../icons/trafico/incidente.png";
                              }
                              if (st.Tipo == "construction") {
                                  iconT = "../../../icons/trafico/construccion.png";
                              }
                              if (st.Tipo == "event") {
                                  iconT = "../../../icons/trafico/incidente.png";
                              }

                              for (j=0;j<obsNode.childNodes.length;j++){
                                  var valorNode = obsNode.childNodes[j];

                                  if (valorNode.nodeName == 'city'){
                                      st.city = RegresaAtributo(valorNode,2);
                                  }

                                  if (valorNode.nodeName == 'direction'){
                                      st.direccion = RegresaAtributo(valorNode,3);
                                  }

                                  if (valorNode.nodeName == 'event'){
                                      st.evento = RegresaAtributo(valorNode,3);
                                      evento="";
                                      evento=st.evento;
                                      if (st.evento == "" | st.evento == null){
                                      st.evento = RegresaAtributo(valorNode,2);
                                      evento=st.evento;
                                      }
                                  }

                                  if (valorNode.nodeName == 'direction'){
                                      st.direccion = RegresaAtributo(valorNode,3);
                                  }

                                  if (valorNode.nodeName == 'main_road'){
                                      st.lugar = RegresaAtributo(valorNode,2);
                                      if (st.lugar == "" | st.lugar == null){
                                      st.lugar = RegresaAtributo(valorNode,1);
                                      }
                                  }

                                  if (valorNode.nodeName == 'cross_road1'){
                                      st.desde = RegresaAtributo(valorNode,2);
                                      if (st.desde == "" | st.desde == null){
                                      st.desde = RegresaAtributo(valorNode,1);
                                      }
                                  }

                                  if (valorNode.nodeName == 'cross_road2'){
                                      st.hasta = RegresaAtributo(valorNode,2);
                                      if (st.hasta == "" | st.hasta == null){
                                      st.hasta = RegresaAtributo(valorNode,1);
                                      }
                                  }

                                   if (valorNode.nodeName == 'cross_road1'){
                                       //Si cuenta con nodos hijos
                                       if (valorNode.childNodes.length>0){

                                        var consortiumNode = valorNode.childNodes[0];
                                        var latitud1 ="";
                                        var long1 ="";
                                        latitud1=RegresaAtributo(consortiumNode,2);
                                        long1=RegresaAtributo(consortiumNode,3);

                                        if (latitud1.substring(0,3)==19. && long1.substring(0,4)==-99. ){
                                           st.lat = RegresaAtributo(consortiumNode,2);
                                           st.lng = RegresaAtributo(consortiumNode,3);
                                        }else{
                                           st.lat = "";
                                           st.lng = "";
                                        }


                                       }//if
                                  }//if cross_road1


                                   if (valorNode.nodeName == 'cross_road2'){
                                       //Si cuenta con nodos hijos
                                       if (valorNode.childNodes.length>0){

                                        var latitud2="";
                                        var long2="";
                                        var consortiumNode2 = valorNode.childNodes[0];

                                        latitud2=RegresaAtributo(consortiumNode2,2);
                                        long2=RegresaAtributo(consortiumNode2,3);
                                        if (latitud2.substring(0,3)==19. && long2.substring(0,4)==-99. ){
                                            st.lat2 = RegresaAtributo(consortiumNode2,2);
                                            st.lng2 = RegresaAtributo(consortiumNode2,3);
                                        }else{
                                            st.lat2 = "";
                                            st.lng2 = "";
                                        }

                                       }//if
                                  }//if cross_road1

                                    if (valorNode.nodeName == 'time'){
                                      st.fecha = RegresaAtributo(valorNode,0);
                                  }

                                  if (valorNode.nodeName == 'severity'){

                                      st.gravedadcode = RegresaAtributo(valorNode,1);

                                      if (st.gravedadcode == 0){
                                          color='#0000ff'; //Azul
                                      }
                                      if (st.gravedadcode == 1){
                                          color='#008c32'; //Verde
                                      }
                                       if (st.gravedadcode == 2){
                                          color='#ffc80a'; //Amarillo
                                      }
                                       if (st.gravedadcode == 3){
                                          color='#ff3205'; //Naranja
                                      }
                                      if (st.gravedadcode == 4){
                                          color='#ff0000'; //Rojo
                                      }

                                  }
                              }//for incidente


//if (evento.indexOf('&amp;#224;')>0){
   eventoCorrecto="";
   eventoCorrecto = evento.replace("&amp;#224;", "a");
   eventoCorrecto = eventoCorrecto.replace("&amp;#225;", "a");
   eventoCorrecto = eventoCorrecto.replace("&amp;#233;", "");
   eventoCorrecto = eventoCorrecto.replace("&amp;#237;", "i");
   eventoCorrecto = eventoCorrecto.replace("&amp;#242;", "o");
   eventoCorrecto = eventoCorrecto.replace("&amp;#243;", "o");
   eventoCorrecto = eventoCorrecto.replace("&amp;#250;", "u");
   eventoCorrecto = eventoCorrecto.replace("&amp;#209;", "&#209;");
   eventoCorrecto = eventoCorrecto.replace("&amp;#193;", "A");
   
   eventoCorrecto = eventoCorrecto.replace("&amp;lt;b&amp;gt;", "");
   
		      var sHTabla="";
                      var sH = '<div align=center style="font-size:10pt" ><b>' + st.city + '</b>';
                      sH = sH + '<br/> <IMG SRC=' + '"' +  iconT + '"' + '> &nbsp;' +  st.fecha  + '</div>';
                      sH = sH + '<hr style="height:0; width:400px" >';
                      sH = sH + '<div align=left style="font-size:8pt"><b>Evento:&nbsp;</b> <b>' +  eventoCorrecto.toUpperCase() + '</b>';
                      sH = sH + '&nbsp;<br><b>Lugar:&nbsp;</b> ' + st.lugar ;
                      sH = sH + '&nbsp;<br><b>Direcci&oacute;n:&nbsp;</b> ' + st.direccion ;
                      sH = sH + '&nbsp;<br><b>Desde:&nbsp;</b> ' + st.desde;
                      sH = sH + '&nbsp;<br><b>Hasta:&nbsp;</b> ' + st.hasta + '</div>';
                      sHTabla = '<table valign=top cellpadding=3 cellspacing=3><tr><td>' +  sH + '</td></tr></table>';

//var spanCargandoTrafico ="";
                      var strDesc ="";


                      if (st.lat2!=''){ //Traza trafico
                            strDesc ="Lugar: " + st.lugar + " Desde: " + st.desde + " Hasta: " + st.hasta ;
                            AgregaPolilinea(st.lat,st.lng, st.lat2,st.lng2,st.direccion,strDesc, color)
                      } else { //Crea un Marcador de Incidencia
                      var baseIcon = new GIcon(G_DEFAULT_ICON);
                      baseIcon.shadow ="";
                      baseIcon.iconSize = new GSize(15, 17);
                      baseIcon.shadowSize = new GSize(18, 17);
                      baseIcon.iconAnchor = new GPoint(9, 17);
                      baseIcon.infoWindowAnchor = new GPoint(9, 2);

                          var latlng = new GLatLng(st.lat,st.lng);
                          var letteredIcon = new GIcon(baseIcon);
                          letteredIcon.image = iconT;

                      function createMarkerT(point,evento,city,iconos,fecha,lugar,direccion,desde)    {
                          var sH2 = '<table width="200px" valign=top cellpadding=3 cellspacing=3>';
                          sH2 = sH2 + '<tr><td width="200px"><div width="200" align=center style="font-size:10pt" ><b>' + city + '</b></div></td></tr>';
                          sH2 = sH2 + '<tr><td width="200px"><div><IMG SRC=' + '"' +  iconos.image + '"' + '> &nbsp;' +  fecha  + '</div></td></tr>';
                          sH2 = sH2 + '<tr><td width="200px"><hr style="height:0; width:200px" ></td></tr>';
                          sH2 = sH2 + '<tr><td width="200px"><div align=left style="font-size:8pt"><b>Evento:</b><div style="font-size:7pt"> <b>' +  evento + '</b></div></div></td></tr>';
                          sH2 = sH2 + '<tr><td width="200px"><div>&nbsp;<b>Lugar:&nbsp;</b> ' + lugar + '</div></td></tr>';
                          sH2 = sH2 + '<tr><td width="200px"><div>&nbsp;<b>Direcci&oacute;n:&nbsp;</b> ' + direccion + '</div></td></tr>' ;
                          sH2 = sH2 + '<tr><td width="200px"><div>&nbsp;<b>En:&nbsp;</b> ' + desde + '</div></td></tr></table>';

                        var marker = new GMarker(point , {icon:iconos ,title: evento});
                        GEvent.addListener(marker,"click", function() {
                        mapT.openInfoWindowHtml(point, sH2 )});
                        return marker;
                        }

                          mapT.addOverlay(createMarkerT(latlng,  eventoCorrecto.toUpperCase(),st.city,letteredIcon,st.fecha,st.lugar,st.direccion,st.desde));  //llama funcion createMarker
                          //mapT.addOverlay(marker);
                      }


                        var divDatosTrafico = document.getElementById("divDatosTrafico");
                        divDatosTrafico.innerHTML = divDatosTrafico.innerHTML + sHTabla;

                        //var spanCargandoTrafico = document.getElementById("spanCargandoTrafico");
                        //spanCargandoTrafico.innerHTML=strTexto;
                      }//if incidente
                     }//for xml


                        spanCargandoTrafico = document.getElementById("spanCargandoTrafico");
                        spanCargandoTrafico.innerHTML="" ;

                      }catch(err){ }
                    //reqTraficoActual.splice(k, 1);
                }

            }
}//TraficoAtualListener



function AgregaPolilinea(lat1,lng1,lat2,lng2,direccion,Desc,strColor){
    var blnTramoConocido=false;
    var strPoints="";
    var strNiveles="";

    for (var i = 0;i<arrTramos.length;i++){
        if ((parseFloat(arrTramos[i].lat1)==parseFloat(lat1))&&(parseFloat(arrTramos[i].lng1)==parseFloat(lng1))&&(parseFloat(arrTramos[i].lat2)==parseFloat(lat2))&&(parseFloat(arrTramos[i].lng2)==parseFloat(lng2))&&(arrTramos[i].direccion==direccion)){
            blnTramoConocido=true;
            strPoints = arrTramos[i].points;
            strNiveles = arrTramos[i].levels;
            break;
        }
    }

    if (!(blnTramoConocido)){
        for (var i = 0;i<arrTramos.length;i++){
            if ((parseFloat(arrTramos[i].lat1)==parseFloat(lat1))&&(parseFloat(arrTramos[i].lng1)==parseFloat(lng1))&&(parseFloat(arrTramos[i].lat2)==parseFloat(lat2))&&(parseFloat(arrTramos[i].lng2)==parseFloat(lng2))){
                blnTramoConocido=true;
                strPoints = arrTramos[i].points;
                strNiveles = arrTramos[i].levels;
                break;
            }
        }
    }

    if (blnTramoConocido){
        var encodedPolyline = new GPolyline.fromEncoded({
            color: strColor,
            weight: 5,
            points: strPoints,
            levels: strNiveles,
            zoomFactor: 32,
            numLevels: 4
        });
        mapT.addOverlay(encodedPolyline);
    } else {
        var polyline = new GPolyline([
  		new GLatLng(lat1, lng1),
          new GLatLng(lat2, lng2)
		],  color, 5);
        mapT.addOverlay(polyline);

        //Inserta cordenadas no existentes en la DBase
        var req3 = init();
        direccion=direccion.replace('Ñ','&#209;');
        req3.onreadystatechange = function(){};
        req3.send("InsertaCordenadasTrafico=" + parseFloat(lat1) + '@@@' + parseFloat(lng1) + '@@@' + parseFloat(lat2) + '@@@' + parseFloat(lng2) + '@@@' + direccion + '@@@' + Desc );
    }
}//AgregaPolilinea

//======================================================================================================
