jQuery(document).ready(function() {
	  // crea mapa con las opciones
	  map = new google.maps.Map(document.getElementById('map-canvas'));

	$("#filtrarBtn_mapa").click(function()
			{
				document.getElementById("lista").innerHTML = "";

				var fecha_desde = document.getElementById('fecha_desde_hidden').value;	
				var fecha_hasta = document.getElementById('fecha_hasta_hidden').value;	
				var seleccionado_operadores_moviles = [];
				$('#operadores_moviles option:selected').each(function() {
					seleccionado_operadores_moviles.push($(this).attr('value'));
				});
				var operadores_moviles = JSON.stringify(seleccionado_operadores_moviles);
			
					var seleccionado = [];
					$('#sucursales option:selected').each(function() {
						seleccionado.push($(this).attr('value'));
					});
					var localizaciones_jerarquicas = JSON.stringify(seleccionado);
			
					ajax=ajaxs();
					ajax.open('POST', 'Modules/ver_clientes_mapa/libreria_general.php',true);
					ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
					ajax.send('case=3&fecha_desde='+fecha_desde
									+'&fecha_hasta='+fecha_hasta
									+'&localizaciones_jerarquicas='+localizaciones_jerarquicas
									+'&operadores_moviles='+operadores_moviles
									+'&ultimo_nivel='+ultimo_nivel);
					
					ajax.onreadystatechange=function() 
					{
						if (ajax.readyState==4) 
						{
							if(ajax.responseText)
							{
								graficarmapa();
							}
							else
							{
							   jQuery.gritter.add({
								 title: 'Información.',
								 text: 'No se ha podido llevar adelante el proceso. Intente nuevamente.',
								 class_name: 'growl-danger',
								 sticky: false,
								 time: '3000'
							   });
							}
						}
					}
			});
});

function graficarmapa()
{
        
	var map;   
	var json = eval('(' + ajax.responseText + ')');
    var registroCero = 0;    
    var marcador = 0;
    var cant_pedidos = 0;
	
	//[{"title":"2015070113072584111369","latitude":"-32.17111333333333 ","longitude":" -60.206085"},{"title":"2015070113140025801370","latitude":"-32.17088666666667 ","longitude":" -60.20638"},{"title":"2015070115305811431371","latitude":"-32.17107333333333 ","longitude":" -60.20625166666667"},{"title":"2015070115392825801372","latitude":"-32.171145 ","longitude":" -60.20619666666666"}]; 
	  
	  // opciones de mapa
	  var mapOptions = {
	    zoom: 13,
    	animation: google.maps.Animation.DROP,
        mapTypeId: google.maps.MapTypeId.ROADMAP
	  };

  
	  // crea mapa con las opciones
	  map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
	  
	  // Looping through all the entries from the JSON data
	  for(var i = 0; i < json.length; i++) {
		  
	    // Current object
	    var obj = json[i];
	    
	    //Toma el primer registro para centrar el mapa
	    if (i == 1){
	  	 	map.setCenter(new google.maps.LatLng(obj.latitude,obj.longitude));	  	
	  	  }

	    // Registra cantidad de posicionamiento en 0
	    if (obj.latitude == 0 &&! obj.longitude ==0){
	    	registroCero = registroCero + 1;
	    }

	    // Registra cantidad de motivos
	    if (obj.motivo == null || obj.motivo == ""){
	    	cant_pedidos = cant_pedidos + 1;
	    }


	    var fecha = obj.fecha;
	    var vendedor = obj.vend;
	    var fechapedido = "Fecha visita: "+obj.fecha;
	    var hora = "Hora visita: "+obj.hora;
	    var cliente = "Cliente: "+obj.cliente;
	    var pedido = "Pedido Nro.: "+obj.pedido;
	    if (obj.total == null || obj.total == ""){
	    	var total = "Motivo: "+obj.motivo;
	    } else {
	    	var total = "Importe pedido: "+obj.total;
	    }
	    var clickmarkerinfo = vendedor.bold() + "</br>" +fechapedido.small()+ "</br>"+ hora.small() + "</br>" +cliente.small()+ "</br>" +pedido.small()+ "</br>"+total.small();
	   

	    // Agrega marcador al mapa
	    var marker = new google.maps.Marker({
	      position: new google.maps.LatLng(obj.latitude,obj.longitude),
	      map: map,	      
	      title: obj.vendedor // this works, giving the marker a title with the correct title
	    });
	    
	    // Adding a new info window for the object
   	    var clicker = addClicker(marker, clickmarkerinfo);

		var ulc = document.getElementById("lista");
		var li = document.createElement("li");
		var lbl = document.createElement('label');

		lbl.innerHTML = clickmarkerinfo;
		if (obj.latitude == 0 &&! obj.longitude ==0){
			lbl.style.cursor = "default";
			lbl.style.color = "red";
	    	li.className = "panel-heading";
		} else {
			lbl.style.cursor = "pointer";
			li.className = "panel-heading nav-tabs li active";
		}
		lbl.id = obj.latitude+";"+obj.longitude;
		lbl.onclick = function() {reply_click(this.id)};
		lbl.style.lineHeight = "1";
		lbl.style.fontSize = "0.8em";
		li.style.padding = "10px";

		li.appendChild(lbl);
		ulc.appendChild(li);


	  } // end loop
		function reply_click(clicked_id)
		{
			pos = clicked_id.split(";");
		    map.setCenter(new google.maps.LatLng(pos[0],pos[1]));
		    map.setZoom(17);
		}
	  document.getElementById('registros').innerHTML = "<a class='btn btn-success'> GPS Correctos: " + (json.length - registroCero) + "</a> " + "<a class='btn btn-danger'> GPS no tomados: " + registroCero + "</a>  " +"Total de pedidos: "+ cant_pedidos + "   |    Total de motivos: "+ (json.length - cant_pedidos) + "   |    Registros totales: "+ json.length ; 
	  
	  var infowindow = new google.maps.InfoWindow;
	  
	  // Adding a new click event listener for the object
	  function addClicker(marker, content) {
	    google.maps.event.addListener(marker, 'click', function() {
	      
	      if (infowindow) {infowindow.close();}
	      infowindow = new google.maps.InfoWindow({content: content});
	      infowindow.open(map, marker);
	      
	    });
	  }

	// Initialize the map
//	google.maps.event.addDomListener(window, 'load', initialize);
	}



function ajaxs()
{
	var xmlhttp=false;
	try 
	{
		xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
	}
 	catch (e) 
	{
		try 
		{
			xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
		}
 		catch (E) 
		{
			xmlhttp = false;
		}
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') 
	{
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}

function distritos()
{
	var $select_distritos = $('#distritos');
	var $select_zonas = $('#zonas');  
	
	var seleccionado = [];
	$('#sucursales option:selected').each(function() {
		seleccionado.push($(this).attr('value'));
	});
	var sucursales = JSON.stringify(seleccionado);		
	
	//request the JSON data and parse into the select element
	$.getJSON('Modules/ver_clientes_mapa/libreria_general.php?case=1&sucursales='+sucursales, function(data){
 
	  //eliminamos todos los 
	  $select_distritos.html('');
	  $select_zonas.html('');
 
	  //iteramos sobre cada elemento sucursal del json.
	  $.each(data, function(key, val){ 
		$select_distritos.append('<option value="' + val.LocalizacionJerarquicaID + '">' + val.Descripcion + '</option>');
	  })
	});
}


function zonas()
{	
	var $select_zonas = $('#zonas'); 
	
	var seleccionado = [];
	$('#distritos option:selected').each(function() {
		seleccionado.push($(this).attr('value'));
	});
	var distritos = JSON.stringify(seleccionado);		
	
	//request the JSON data and parse into the select element
	$.getJSON('Modules/ver_clientes_mapa/libreria_general.php?case=2&distritos='+distritos, function(data){
 
	  //eliminamos todos los 
	  $select_zonas.html('');
 
	  //iteramos sobre cada elemento sucursal del json.
	  $.each(data, function(key, val){ 
		$select_zonas.append('<option value="' + val.LocalizacionJerarquicaID + '">' + val.Descripcion + '</option>');
	  })
	});
}

function test()
{
		var fecha_desde = document.getElementById('fecha_desde_hidden').value;	
		var fecha_hasta = document.getElementById('fecha_hasta_hidden').value;	
		
		var seleccionado_operadores_moviles = [];
		$('#operadores_moviles option:selected').each(function() {
			seleccionado_operadores_moviles.push($(this).attr('value'));
		});
		var operadores_moviles = JSON.stringify(seleccionado_operadores_moviles);
	
		var ultimo_nivel = document.getElementById('ultimo_nivel').value;
		if(ultimo_nivel == 1)
		{
			var seleccionado = [];
			$('#sucursales option:selected').each(function() {
				seleccionado.push($(this).attr('value'));
			});
			var localizaciones_jerarquicas = JSON.stringify(seleccionado);

		}
		else if(ultimo_nivel == 2)
		{
			var seleccionado = [];
			$('#distritos option:selected').each(function() {
				seleccionado.push($(this).attr('value'));
			});
			var localizaciones_jerarquicas = JSON.stringify(seleccionado);
		}
		else
		{
			var seleccionado = [];
			$('#zonas option:selected').each(function() {
				seleccionado.push($(this).attr('value'));
			});
			var localizaciones_jerarquicas =JSON.stringify(seleccionado);	
		}		
	
	ajax=ajaxs();
	ajax.open('POST', 'Modules/ver_clientes_mapa/libreria_general.php',true);
	ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	ajax.send('case=3&fecha_desde='+fecha_desde
																		+'&fecha_hasta='+fecha_hasta
																		+'&localizaciones_jerarquicas='+localizaciones_jerarquicas
																		+'&operadores_moviles='+operadores_moviles
																		+'&ultimo_nivel='+ultimo_nivel);
	ajax.onreadystatechange=function() 
	{
		if (ajax.readyState==4) 
		{			
			if(ajax.responseText)
			{
				window.location='login.php';
			}else{
				alert(ajax.responseText);
			}
		}		
	}
}


