// JavaScript Document

/**********************************************
* @autor: Liliana Sánchez Juárez              *
* @versión: 1.0.0                             *
* @creado: 09/03/09                           *
* @copyright: Copyright (c) 2008, WebMaps     *
* Descripción: Controlador para la vista html *
***********************************************/
/**
* @descripción: Se carga el mapa en la vista y se inicializan las funciones que escucharán los eventos.
*/
$(document).ready(function(){
	$("#busca_caja").focus(cambia_textos_q);
    $("#busca_caja").focus(cambia_textos_q);
    $("#busca_caja").blur(cambia_textos_p);
    $("#busca_caja").blur(cambia_textos_p);
	
	$('#divBusquedaCalle').css('display','none'); //Oculto el panel de búsqueda de direcciones
	$('#linkSucursales').click(function(){
       otradireccion();	
	   $('#divBusquedaCalle').slideUp(800); //Oculto el panel de búsqueda de direcciones 
       $('#todasSucursales,#ligaSucursal').slideDown(800); //Muestro el panel de sucursales
	});
	$('#divDistribuidores').click(function(){
	   $('#divBusquedaCalle').slideUp(800); //Oculto el panel de búsqueda de direcciones 
       $('#todasSucursales,#ligaSucursal').slideDown(800); //Muestro el panel de sucursales
	});
	
	jQuery('#accordionSucursal').accordion({
		autoheight: false,
		alwaysOpen: false
       });
   $("#algo_1").click();
   goMap24();
   $("#ligaSucursal").click(ligaSucursal);//Para búsqueda por dirección
   
   $("#busca_caja").keypress(function(event){   if ( event.keyCode == 13 ){    $("#btnBuscar").click(); }		});
   
   $("#btnBuscar").click(function(){ 
    if(validar($('#busca_caja').val())){
       $("#busca_caja").focus();
	  btnbuscar();
	  }
	  else{
		  $('#busca_caja').val('');
		  $('#busca_caja').focus();
		  alert('Datos Equivocados o incompletos');
	  }
   });
   $("#ligaEstado").click(ligaEstado);
   $("#btnNvaRuta").click(nuevaRuta);
   $("#btnLimpiar").click(limpiar);
   $("#btnBorrar").click(function(){ 
    if(validar($('#busca_caja').val())|| ($('#busca_caja').val()=="")){
      $("#busca_caja").focus();
	  Borrar();
	  }
   });
   $("#ligaVerSucursales").click(ligaVerSucursales);
   $("#masSucursales").click(ligaSucursal);
   $("#masSucursales1").click(ligaSucursal);
   $("#btnImprimir").click(imprimir);
   $("#btnCalcular").click(function(){calcular()});
   $("#btnDirec").click(otradireccion);
   $("#btnRegresar").click(regresar);
   $("#recorrido").click(recorrido);
   $('#selEstado').change(pasarvalor);
   $("#ligaEstado,#ligaVerSucursales,#divResultadosBusquedas,#descRuta,#divDescripcionRuta,#masSucursales,#btnRegresar,#resultanterior,#btnRegresar,#btnCalcular,#btnCalreg,#modoRuta,#resultDestino,#ligaSucursal").hide();

toolayuda="<p class=negritasP style='color:"+color4+"'>Existen dos tipos de rutas:</p><p>1.<b>Ruta rápida:</b>Este tipo de ruta calcula<br>dando prioridad a vías principales como: <br>avenidas, ejes y circuitos.<br><br><b>2. Ruta corta:</b>Este tipo de ruta calcula<br>en base a distancia; no distingue entre<br> calles y vías principales.</p>";

toolDestino="<p class=dirDescripcion1 style='color:"+color4+"'>AYUDA<br>Definir Destino</p><p>Existen 2 formas de definirlo:</b><br><br>1. Da clic sobre algún estado, seguido de esto se <br>mostrarán las surcursales que se encuentran en <br>ese estado. Da clic en alguna sucursal.<br><br>2.Da clic en la liga <i>'Sucursales en tu entidad'</i>.<br>Se abrirá un combo donde podrás elegir un estado; <br>posteriormente se mostrarán las sucursales que se <br>encuentran en el estado que elegiste. Da clic en <br>alguna sucursal. </p>";

toolOrigen="<p class=dirDescripcion1 style='color:"+color4+"'>AYUDA<br>Definir Origen</p><p>Existen 2 formas de definirlo:</b><br><br>1.Da clic derecho sobre el mapa y <br>selecciona la opción origen en el <br>tooltip.<br><br>2.Escribe en la caja de textos la <br>dirección que deseas encontrar.<br> Da clic en el botón <i>'Buscar'</i>.<br>Por último, da clic sobre el resul-<br>tado que más se acerque a tu <br>búsqueda. </p>";

toolRecorrido="<p class=dirDescripcion1 style='color:"+color4+"'>AYUDA<br>Recorrido Virtual</p><p><b>Existen 2 formas de iniciar el recorrido virtual:</b></p><p>1. Da clic en la liga <i>'Iniciar recorrido virtual'</i><br> que se encuentra debajo de la <i>'Descripción de la ruta'</i>.</p><p>2.Da clic en la opci&oacute;n <i>'Comenzar recorrido de ruta'</i>&nbsp;<img src='http://reforma.webmaps.com.mx/css/images/ruta/play.jpg' /><br>que se encuentra en la secci&oacute;n <i>'ROUTE FLIGHT'</i><br>en la parte inferior del mapa.</p><p><b>Para detener el recorrido virtual:</b></p><p>1.Da clic en la opci&oacute;n <i>'Detener vuelo de ruta'</i>&nbsp;<img src='http://reforma.webmaps.com.mx/css/images/ruta/stop.jpg' /><br>que se encuentra en la secci&oacute;n <i>'ROUTE FLIGHT'</i><br>en la parte inferior del mapa.</p>";

$('#imgAyuda').mouseover(function(){
       toolTip(toolayuda,this,'divTooltipBuscar');
    });
$('#imgDescripcion').mouseover(function(){
       toolTip(toolDestino,this,'divTooltipBuscar');
    });
$('#imgOrigen').mouseover(function(){
       toolTip(toolOrigen,this,'divTooltipBuscar');
    });
$('#imgRecorrido').mouseover(function(){
       toolTip(toolRecorrido,this,'divTooltipBuscar');
    });
  }); 

function recorrido(){
    iniFlight();
}

function regresar(){
 borrarLineaRuta();
 $("#descRuta,#btnRegresar,#recorrido").slideUp();
 $("#todasSucursales,#divRuta,#divBusquedaCalle,#btnCalcular,#ligaSucursal,#modoRuta,#tituloDestino,#accordionSucursal").slideDown();
  if (aux==1)
   $('#cajatexto').slideDown();
  else
   $('#renglones,#tituloBusqueda,#botonDireccion').slideDown();
 aux=0;
}

function calcular(){
 if (aux!=1){
    $("#divDescripcionRuta").html("<p class='centrar'><img src='http://reforma.webmaps.com.mx/css/images/load.gif' /></p><p class='centrar'>Cargando...</p>");
	var valor= modoruta('rutamodo');
			if(valor==0)
             mimodo="Shortest";
            else 
             mimodo='Faster';
             borrarLineaRuta();
			 calcularRuta();
 }
 else
   alert ('Debes tener origen y destino');
}

function modoruta(radioName){
  var elementos = document.getElementsByName(radioName);
  var eleccion=null;
    if(elementos[0].checked){
      eleccion=0;
    }
  else{
      eleccion=1;
     }
    return eleccion;
} 

function pasarvalor(){
 var edo=$('#selEstado').val();
 var sucCercanas="<div class='margenTitulo' style='color:"+color2+"'>Selecciona un sucursal";
   sucCercanas+="<select id='estadoSel' class='tamano'>";
   sucCercanas+="<option selected='selected' disabled='disabled' class='tamano'>::Seleccione una Sucursal::</option>";
   for(var i=0; i<arrReforma.length; i++)
   {
	if(edo==(arrReforma[i].estadoT))
     {
      var nombre=arrReforma[i].nombre;
      sucCercanas+="<option value='"+nombre+"' onclick='mostrarDestino1("+i+")'>"+nombre+"</option>";
 	 }//if
   }//for
   sucCercanas+="</select></div>";
   
   $('#divResultadosSucursal').html(sucCercanas);   
}

/*function mostrarDestino1(posicion){
   	var info=arrReforma[posicion];
  	zoom(info.longitude, info.latitude);
	//obtenerPto(info.posicion,info.arreglo,1);  
    showTooltip( info ,true);
    aux=0; 
  }

function Destinotool(posicion){
  var info=arrReforma[posicion];
  showTooltip( info ,true);
}
function Origentool(arrOrigen){
  var info=arrOrigen;
  showTooltip( info ,true);
}

function mostrarOrigen(arrOrigen){
	 showTooltip(arrOrigen ,true);
}

function mostrarDestino(posicion){
    var info=arrReforma[posicion];
    showTooltip(info ,true);
  	zoom(info.longitude, info.latitude);
    var direccionD='<table><tr><td class=negritas style="color:'+color4+'">Destino:&nbsp;'+info.nombre+'</td></tr><tr><td>'+info.direccion+'</td>';
    direccionD+='<td class="manitamargen"><img src="http://reforma.webmaps.com.mx/css/images/eliminarv.gif" onclick="elimina_destino()" title="Eliminar destino" /></td></tr></table>';
    $('#resultDestino').html(direccionD);
    $("#btnCalcular,#modoRuta,#btnCalreg,#resultDestino").show();
    aux=0;    
}*/

function elimina_destino(){
  borrarElemento(1);
  borrarLineaRuta(); 
  $('#resultDestino').html('<div class="centrar" style="color:'+color4+'">Favor de elegir una sucursal como destino</div>');
  aux=1;  
}

function elimina_origen(){
  borrarElemento(0);
  borrarLineaRuta(); 
  $('#resultOrigen').html('<div class="centrar" style="color:'+color4+'">Favor de elegir una dirección como origen<br><br></div>');
  aux=1;
 }

function imprimir(){  
//var arrCmds=new Array();

//arrCmds.push(setVistaMapa(arrRuta[0].longitude,arrRuta[0].latitude,arrRuta[1].longitude,arrRuta[1].latitude,false));
//cargarEnMapa2(arrCmds);

centrarGrupo(arrDescr);


  /*
  arrCmds[0]=setVistaMapa(arrRuta[0].longitude,arrRuta[0].latitude,arrRuta[1].longitude,arrRuta[1].latitude,false);
   arrCmds=new Array(setVistaMapa(arrRuta[0].longitude,arrRuta[0].latitude,arrRuta[1].longitude,arrRuta[1].latitude,false) );
   arrCmds=[setVistaMapa(arrRuta[0].longitude,arrRuta[0].latitude,arrRuta[1].longitude,arrRuta[1].latitude,false) ];*/

  $.post('modelo/variablesSesion.php',
         {desc: desc1, session:sesion, cliente:micliente},
          function(){ejecutar_impresion()});  
}

function ejecutar_impresion(){
  window.open('modelo/contenido_impresion.php','','width=838,height=800,scrollbars=1');
}


/*ENVIAR*/
function enviar(){
	centrarGrupo(arrDescr);
	$.post('modelo/variablesSesion.php',
         {desc: desc1, session:sesion, cliente:micliente},
          function(){ejecutar_envio()});  
}

function ejecutar_envio(){
  window.open('modelo/contenido_envio.php','','width=200,height=100,scrollbars=0');
}

/********************************/

function Borrar(){
 document.getElementById('busca_caja').value="";
}

function limpiar(){
 arrPosicion = new Array();
 //borrarGrupo(gpoBus);
  borrarLineaRuta();
  borrarElemento(0);
 removeEnMapa(["busqueda","manual"], true);
removeEnMapa( ["descripcion","descripcion_head"],true);
 $("#renglones").html('');
 //setVistaMapa(-7168.660740740713,1981.9769491525396,-5171.905185185157,818.5652542372864,true);
 $("#btnLimpiar").hide();
 zoom(arrReforma[0].longitude,arrReforma[0].latitude);
 showTooltip(arrReforma[0],true);
}

    
function nuevaRuta(){
 $("#descRuta,#btnRegresar,#btnCalcular,#btnCalreg,#modoRuta,#recorrido").slideUp();
 $("#todasSucursales,#divRuta,#divBusquedaCalle,#btnCalcular,#ligaSucursal,#cajatexto,#tituloDestino").slideDown();
  $("#renglones").html('<p class="centrar"><center><img src="http://reforma.webmaps.com.mx/css/images/load.gif" /></center></p><p class="centrar">Cargando...</p>');
  $("#divDescripcionRuta").html('');
  $("#resultDestino").html('');
  $("#resultOrigen").html('');
  borrarLineaRuta();
  borrarElemento(0);
  borrarElemento(1);
}

function otradireccion(){
 $('#divDistribuidores').css('display','block');
 $('#divProximitySelect').html('');//
 $("#divResultadosBusquedas,#resultanterior").slideUp();
 $("#divBusquedaCalle,#cajatexto,botonDireccion").slideDown();

  removeEnMapa(["busqueda"], true);
}

function ligaSucursal(){
  $('#divBusquedaCalle').slideDown(800); //Muestro el panel de búsqueda de direcciones 
  $('#todasSucursales,#ligaSucursal,#masSucursales1').slideUp(800); //Oculto el panel de sucursales
}

function btnbuscar(){
  arrPosicion = new Array();
  var datos=new Array();
  
  datos.push({content: $('#busca_caja').val(), tipo: 'a', mensaje: 'La dirección no es válida,solo se aceptan números y letras'});
   result=validate(datos);

   if (result==true){
   
   $('#divDistribuidores').css('display','none');
   $("#regnglones").html('');
   $("#renglones").html('<p class="centrar"><center><img src="http://reforma.webmaps.com.mx/css/images/load.gif" /></center></p><p class="centrar">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cargando...</p>');
   $("#divDescripcionRuta").html('');
   buscarDireccion($("#busca_caja").val());
   $("#divResultadosBusquedas,#renglones,#botonDireccion,#tituloBusqueda,#divBusquedaCalle").slideDown();
   $("#ligaVerSucursales,#descRuta,#divDescripcionRuta,#cajatexto,#resultanterior,#modoRuta").slideUp();
   $("#btnLimpiar").show();
}
   else{ 
   alert(result);
   $("#busca_caja").val('');
   $("#busca_caja").focus();
   }
}
function removerDescripcion(){
 removeEnMapa(["descripcion"],true);
 showEnMapa(["descripcion_head"],false,true); 
}

function indicaTuOrigen(){
	ban=0;
	setTimeout("ban=1",6000);
	parpadear("busca_caja");
    showEnMapa([idTooltip],false,true);
}
function escondeTool(){
   showEnMapa([idTooltip],false,true);
}

 

var visible = true;
var ban = 0;
function parpadear(idInput) {
	(visible)?$("#"+idInput).css('backgroundColor','#FFFFFF'):$("#"+idInput).css('backgroundColor','#EEEEEE');
	visible = !visible;
	if(ban==0){
		setTimeout('parpadear("'+idInput+'")', 600);
	}else{           
		 $("#"+idInput).css('backgroundColor','#FFFFFF');
		 $("#busca_caja").focus();
		 //ban=0;
	}
}

 

function validate(arrInfo){
   var flag=false;
   var errorMessages=new Array();

      var contenido=arrInfo[0].content; //Cadena a validar  
		  if(!/[A-Za-z0-9\-#&]+/.test(contenido)){errorMessages.push(arrInfo[0].mensaje);}

    if(errorMessages.length>0){
	   var mensaje="";
	   for(var i=0; i<errorMessages.length;i++)
			mensaje+=errorMessages[i]+",";
	    mensaje=mensaje.substr(0,mensaje.length-1);
		return mensaje;
   }
   else		
   	 return true;         
}

function masSucursales(){
 $("#masSucursales,#masSucursales1,#ligaEstado,#divBusquedaEstado,#todasCercanas").slideUp();
 $("#todasSucursales,#ligaSucursal,#accordionSucursal").slideDown();
}

function ligaEstado(){
  $("#ligaVerSucursales,#ligaEstado,#descRuta,#divDescripcionRuta,#masSucursales,#todasCercanas").slideUp();
  $("#divBusquedaEstado,#masSucursales1,#divBusquedaCalle").slideDown();
}

function ligaVerSucursales(){
  $("#divBusquedaEstado,#ligaVerSucursales,#divBusquedaCalle,#ligaEstado,#divResultadosBusquedas,#descRuta,#divDescripcionRuta,#renglones").slideUp();
  $("#todasSucursales,#ligaSucursal").slideDown();
}

function descrip_ruta(){
     $("#btnCalcular,#descRuta,#modoRuta,#btnRegresar").show();
}
/********************** */
var theObj="";
var contenedor="";

function toolTip(text,me,idContainer) {
       theObj=me;
       contenedor=idContainer;
       $(theObj).mousemove(updatePos);
       $('#'+contenedor).html(text);
       $('#'+contenedor).css('display','block');
       window.onscroll=updatePos;
}
function updatePos() {
       var e=arguments[0]?arguments[0]:event; //eventos del mouse
       var dx=370;
      
       $('#'+contenedor).css('top',e.clientY+18+document.body.scrollTop+'px');
       $('#'+contenedor).css('left',e.clientX-dx+document.body.scrollLeft+'px');
       $(theObj).mouseout(hideMe);
}
 
function hideMe() {
        $('#'+contenedor).css('display','none');
}

/*Funciones para el mensaje de la caja de texto de direcciones*/
function ltrim(s){
   return s.replace(/^\s+/, "");
}

function rtrim(s) {
   return s.replace(/\s+$/, "");
}

function trim(s) {
   return rtrim(ltrim(s));
}

function cambia_textos_q(){
   var idCampo = this.id;
   if($("#" + idCampo).val() == $("#" + idCampo).attr("title")){
      $("#" + idCampo).val("");
      $("#" + idCampo).attr("class", "margenCaja3");
   }
}

function cambia_textos_p(){
   var idCampo = this.id;
   if(trim($("#" + idCampo).val()) == ""){
      $("#" + idCampo).val($("#" + idCampo).attr("title"));
      $("#" + idCampo).attr("class", "margenCaja2");
   }
}

var obj_loading_creado = false;
var opaco="filter:alpha(opacity=70); opacity: .7;";
var div_loaging	='<div align="center" style="font-family:Arial, Helvetica, sans-serif; vertical-align:middle; font-size:20px; font-weight:bold; background-color:#999999; vertical-align:middle;  color:#FFFFFF; width:560px; height:550px; '+opaco+'  "><table><tr><td height="215px">Cargando...</td></tr><tr><td><br />&nbsp;<br /></td></tr></table></div>';

flagLoading=true;

loading_ruta = function(est){
	if(est){
		if(obj_loading_creado){
			showEnMapa( ["loading"],true,true );
		}else{
			var info={vp:0, vh:0, id:"loading", contenido:div_loaging };
			crearHtmlObj_C(info,true);
			obj_loading_creado = true;
		}
	}
	else{
		showEnMapa( ["loading"],false,true );	
	}
}




/**********************Para validar el campo**********************************/
function validar(nombre){
   nombre=jQuery.trim(nombre);
   if(/^[A-Za-z0-9_ñÑáÁéÉíÍóÓúÚ,.#\s]{1,50}$/.test(nombre))
      return true;
   else
      return false;
}
