Consultas = {
vGuia : 'undefined',
init: function(config){
$('#brujula').on('mouseenter', function(){
$('.brujulaTt').filter(':not(:animated)').fadeIn();
});
$('#brujula').on('mouseleave', function(){
$('.brujulaTt').fadeOut();
})
this.config = config;
//Caching de dom
sEst = $('#estacion'),
sPar = $('#parametro'),
sCons = $('#consulta'),
sTipo = $("#tipoEstadistico"),
idClima = $('#clima'),
compa = $('#check'),
formulario = $('#consultaDiaria'),
infoConsultas = $('#infoConsultas'),
clima = $('#clima');
//Proceso formulario de consultas
$('#enviar').on('click', function(){
Consultas.enviarConsulta(formulario);
})
//cargo las estaciones en el select
this.estaciones();
//cargo los tipos de consulta en el select
this.crearSelectConsultas();
//cargo los tipos estadisticos
sTipo.append("");
clima.draggable();
$('#cerrarBrujula').on('click', function(){
clima.fadeOut();
})
//Al cambiar el select de contaminantes debo verificar si tienen valor guia asociado
sPar.on('change', function(){
var param = $(this).val();
Consultas.isValorGuia(param);
if(sEst.val()==9) {
Consultas.mostrarCapa('media','diario');
$("#mediaTipo").hide();
}
else {
$("#mediaTipo").show();
}
});
//Al hacer click en valor guia, actualiza el valor de la variable
$('#vg').on('change', function(){
if(this.checked){
Consultas.vGuia = $(this).val();
} else {
Consultas.vGuia = 'undefined';
}
})
},
calcularMax: function(val){
var v = val;
var r = val / 50;
r = Math.round(r);
r = r * 50;
console.log(v);
if(r < v){
r = r + 50;
}
console.log(r)
return r;
},
estaciones: {},
estaciones: function() {
var self = Consultas;
$.ajax({
type: 'POST',
url: 'modelo/modelo.php',
data: { estacionesC:'estacionesC'},
beforeSend: function() {
$('.aLoader').fadeIn();
},
complete: function() {
$('.aLoader').fadeOut();
},
success: function(resp){
self.estaciones = resp;
self.crearSelect();
}
});
},
crearSelect: function(){//Crea el select de estaciones y los input check de consultas
var self = Consultas;
console.log(self.estaciones);
sEst.append("")
$.each(self.estaciones, function(i){
//El select recibe el valor del sitio, por data va la estacion
sEst.append("");
//compa.append(""+self.estaciones[i].sit_descripcion+" ");
});
sEst.append("");
sEst.on('change', function(){
//Carga el valor de la estacion
var sitio = $(this).val();
//carga el valor del sitio
var estacion = $('option:selected', this).attr('data-est');
//actualiza el valor del input de estacion en el formulario
$('#estacionParche').val(estacion);
self.cargarParam(sitio,estacion);
self.datepickerPorEstacion(sitio,estacion);
})
},
cargarParam: function(sitio,estacion){
if(estacion!=9) {
$("#mjeRed").hide();
sCons.empty().append("");
$.ajax({
type: 'POST',
url: 'modelo/modelo.php',
data: {
contParam: estacion,
sitio: sitio
},
beforeSend: function() {
$('.aLoader').fadeIn();
},
success: function(resp){
sPar.empty().append('');
if(resp.length == 0){
sPar.append("");
} else {
$.each(resp, function(i){
sPar.append("");
});
}
}
});
} else {
sPar.empty().append('');
sPar.append("");
sPar.append("");
sCons.empty().append('');
$("#mjeRed").show();
}
},
crearComparacion: function(cont,est){
var formCompa = $('#formCompa');
//Obtengo los datos que se enviaron por formulario
var par = formulario.find('#parametro').val(),
fecha = formulario.find('#fecha').val(),
fi = formulario.find('#fi').val(),
ff = formulario.find('#ff').val();
tipo = formulario.find('#tipoConsulta').val();
estadis = formulario.find('#tipoEstadistico').val();
//Creo los campos para append
var campos = "";
//Crear el formulario de comparacion, vaciando los anteriores
formCompa.find("#variables").html('').append(campos);
//bindeo el submit
formCompa.fadeIn().find("#sbmtCompa").off('click').on('click', function(){
Consultas.enviarFormCompa(formCompa);
});
},
crearSelectConsultas: function(){
self = Consultas;
sCons.append("");
sCons.on('change', function() {
var valor = $(this).val();
if(valor == 'diario'){
self.mostrarCapa('diario','media')
} else {
self.mostrarCapa('media','diario')
}
});
},
dibujarBrujula: function(rotacion){
var rotar = rotacion;
var paper = Raphael($("#brujula")[0], 130, 130);
//pongo la imagen de la brujula
var brujula = paper.image("images/brujula.png",0,0,130,130);
//pongo la imagen de una flechita (src, x, y, width, height)
var arrow = paper.image("images/flecha.png",0,0,130,130);
//lo siguiente rota (r) una x cantidad de grados
arrow.attr({
"transform": "r 0"
});
arrow.animate({
"transform": "r "+rotar
},
2000,
"bounce")
},
enviarConsulta: function(formulario){
var data = formulario.serialize();
var met = data.search('media');
$.ajax({
type: 'POST',
url: 'modelo/modelo.php',
data: data,
dataType: 'JSON',
beforeSend: function() {
$('.aLoader').fadeIn();
},
complete: function() {
$('.aLoader').fadeOut();
},
success: function(resp){
$('.botonExporte').fadeIn();
$('.tablaExportar').fadeOut();
$('#clima').fadeOut();
/*recibo JSON con data y labels*/
Consultas.graficarSimple(resp, met);
estacion = resp.estacion;
console.log(data);
/*crear Formulario de comparación*/
//Consultas.crearComparacion();
if(sEst.val()!=9) {
const estNo = [23, 24];
const parNo = [7,18];
/* Si hay datos Generar tabla */
if(resp.data !== 'No hay datos' && resp.data !== 'Esta consulta se encuentra bloqueada momentaneamente.'){
console.log('no deberia');
$('.tablaExportar').fadeIn();
var relleno = $('.tablaExportar .contenido');
relleno.html('');
console.table(resp.agrupado);
$.each(resp.agrupado, function(i) {
var valor = resp.agrupado[i][1];
if(valor == null){
valor = '';
}
if(estNo.includes(sEst.val())) {
var unidad = resp.agrupado[i][2];
}
else {
if(parNo.includes(sPar.val())) {
var unidad = resp.agrupado[i][2];
}
else {
var unidad = resp.agrupado[i][2].replace('micro','µ').replace('u','µ');
}
}
/* iterate through array or object */
relleno.append('
'+resp.agrupado[i][0]+'
'+valor+'
'+unidad+'
');
});
}
}
},
});
},
enviarFormCompa: function(formCompa){
var data = formCompa.serialize();
$.ajax({
type: 'POST',
url: 'modelo/modelo.php',
data: data,
dataType: 'JSON',
beforeSend: function() {
$('.aLoader').fadeIn();
},
complete: function() {
$('.aLoader').fadeOut();
},
success: function(resp){
Consultas.graficarCompara(resp);
},
});
},
graficarCompara: function(data){
var linea = new Array;
var est = new Array;
var maximo = new Array;
var titulo = data[0].titulo;
var unidad = data[0].unidad;
var labels = data[0].labels;
console.log(data);
$.each(data, function(i,value) {
if(value.data !== 'No hay datos'){//Si vuelven datos
$.each(value.data, function(j){
value.data[j] = (value.data[j] === null) ? 'null' : eval(value.data[j]);
if(value.data[j] !== 'null'){
maximo.push(value.data[j]);
}
});
linea.push(value.data);
est.push(value.estacion);
};
});
var max = Math.max.apply(null,maximo);
RGraph.Reset(grafico);
var line = new RGraph.Line("grafico", linea);
// Configure the chart to appear as you wish.
line.Set("title", titulo);
line.Set('chart.ymax', max);
line.Set('chart.labels', labels);
line.Set('chart.background.barcolor1', 'white');
line.Set('chart.background.barcolor2', 'white');
line.Set('chart.background.grid.color', 'rgba(238,238,238,1)');
line.Set('chart.colors', ['#f00', '#0f0', '#666', '#333', '#f0f', '#ff0', '#0ff']);
line.Set('chart.linewidth', 2);
line.Set('chart.key', est);
line.Set('chart.filled', false);
line.Set("chart.labels.above", true); // MUESTRA SOBRE LA lineRA EL VALOR, boolean
line.Set("chart.labels.above.decimals", 2); //DECIMALES ON, cta. de decimales
line.Set("chart.text.angle", 90); //DECIMALES ON, cta. de decimales
line.Set("title", titulo);
line.Set("chart.gutter.top", 50);
line.Set("chart.gutter.left", 80);
line.Set("chart.gutter.bottom", 150);
line.Set("chart.scale.point", ',');
//line.Set("ymax", maximo);
line.Set("chart.xlabels.offset", 20);
line.Set("title.yaxis", unidad);
line.Set("chart.title.yaxis.pos", 0.10);
line.Set("chart.title.yaxis.color", "black");
line.Set("chart.scale.decimals",2);
// Now call the .Draw() method to draw the chart.
line.Draw();
},
graficarSimple: function(data,met){
if(sEst.val()!=9) {
const estNo = [23, 24];
const parNo = [7,18];
const estMCI = [5,6,21,22];
if(data.data === 'No hay datos'){
RGraph.Reset(grafico);
if(estMCI.includes(sEst.val())) {
$('#noData').fadeIn().html('No se realizaron mediciones para el contaminante en la fecha y estación solicitada.' +
' A continuación, se detallan las fechas de funcionamiento de cada equipo analizador para la EMC I:' +
'
Diciembre 2010-Actualmente: Azufrados, Nitrogenados, Ozono, Monóxido de Carbono y Material Particulado PM10.
' +
'
Junio 2012-Actualmente: Benceno, Etilbenceno, Tolueno y Xilenos.
' +
'
Diciembre 2014-Actualmente: Material Particulado PM2.5.
' +
'
Diciembre 2010-Abril 2021: Hidrocarburos.
' +
'
Diciembre 2010-Agosto 2015: PM10 Diario.
');
} else {
$('#noData').fadeIn().html('No se realizaron mediciones para el contaminante en la fecha y estación solicitada.');
}
} else if(data.data === 'Esta consulta se encuentra bloqueada momentaneamente.') {
RGraph.Reset(grafico);
if(estMCI.includes(sEst.val())) {
$('#noData').fadeIn().html('No se realizaron mediciones para el contaminante en la fecha y estación solicitada.' +
' A continuación, se detallan las fechas de funcionamiento de cada equipo analizador para la EMC I:' +
'
Diciembre 2010-Actualmente: Azufrados, Nitrogenados, Ozono, Monóxido de Carbono y Material Particulado PM10.
' +
'
Junio 2012-Actualmente: Benceno, Etilbenceno, Tolueno y Xilenos.
' +
'
Diciembre 2014-Actualmente: Material Particulado PM2.5.
' +
'
Diciembre 2010-Abril 2021: Hidrocarburos.
' +
'
Diciembre 2010-Agosto 2015: PM10 Diario.
');
} else {
$('#noData').fadeIn().html('Esta consulta se encuentra bloqueada momentaneamente.');
}
} else {
console.log(data);
RGraph.Reset(grafico);
$('#noData').html('');
$.each(data.data, function(i){
data.data[i] = (data.data[i] === null) ? 'null' : eval(data.data[i]);
})
if(estNo.includes(sEst.val())) {
var unidad = data.unidad;
}
else {
if(parNo.includes(sPar.val())) {
var unidad = data.unidad;
}
else {
var unidad = data.unidad.replace('micro','\xB5').replace('u','\xB5');
}
}
var resultados = data.data;
var titulo = data.titulo;
var maximo = eval(data.maximo);
var point = new RGraph.Point('grafico', resultados);
point.Set('chart.labels', data.labels);
//bar.Set('chart.ymax', maximo);
//bar.Set("chart.labels.above", true); // MUESTRA SOBRE LA BARRA EL VALOR, boolean
point.Set("chart.labels.above.decimals", 2); //DECIMALES ON, cta. de decimales
point.Set("chart.labels.above.angle", 180); //labels del eje y, angulo
point.Set("chart.text.angle", 90); //labels del eje x, angulo
point.Set("title", titulo);
point.Set("title.size", 10);
point.Set("title.y", 50);
point.Set("chart.gutter.top", 90);
point.Set("chart.gutter.left", 60);
point.Set("chart.gutter.bottom", 150);
point.Set("chart.scale.point", ',');
point.Set("chart.scale.thousand", '.');
point.Set("ymax", Consultas.calcularMax(maximo));
point.Set("tooltips", data.tt); //uso el toolptip para pasar datos, no cargo la api de tooltips
point.Set("chart.xlabels.offset", 20);
point.Set("title.yaxis", unidad);
point.Set("title.yaxis.size", 8);
point.Set("text.size", 7); //Tamaño de los labels del eje x
point.Set("chart.ylabels", true); //No muestra los valores en el eje y
point.Set("chart.hmargin", 0); //Espacio entre columnas del grafico
point.Set("chart.title.yaxis.pos", 0.25);
point.Set("chart.title.yaxis.color", "black");
point.Set("chart.scale.decimals",data.cifras);
point.Set("title.xaxis.pos", 0.25);
point.Set('chart.tickmarks', 'dot');
point.Set('chart.ticksize', 4);
point.Set('chart.colors', ['#66AD25']);
point.Set('chart.background.grid.vlines', false);
if(met === -1){point.Set('chart.events.click', Consultas.mm)};
if(Consultas.vGuia != 'undefined'){
//console.log('Se activo '+Consultas.vGuia);
Consultas.vGuia = eval(Consultas.vGuia);
//El valor guia si existe
var line = new RGraph.Line('grafico', [Consultas.vGuia,Consultas.vGuia]);
line.Set('chart.tickmarks', 'endcircle');
line.Set('chart.noaxes', true);
line.Set('chart.key', ['Estándar de Calidad del Aire – Resolución ACUMAR N° 2/2007']);
line.Set('chart.key.position.x', 100);
line.Set('chart.linewidth', 1);
line.Set('chart.colors', ['red']);
console.log(maximo+' '+Consultas.vGuia);
if(maximo > Consultas.vGuia){
console.log('supero');
line.Set('chart.ymax', Consultas.calcularMax(maximo));
point.Set('chart.ymax', Consultas.calcularMax(maximo));
} else {
console.log('no');
point.Set('chart.ymax', Consultas.vGuia);
line.Set('chart.ymax', Consultas.vGuia);
}
//El grafico combinado
var combo = new RGraph.CombinedChart(point, line);
combo.Draw();
} else {
point.Draw();
}
$("#aviso").show();
}
} else {
const estMCI = [5,6,21,22];
if(data[0].data === 'No hay datos'){
RGraph.Reset(grafico);
if(estMCI.includes(sEst.val())) {
$('#noData').fadeIn().html('No se realizaron mediciones para el contaminante en la fecha y estación solicitada.' +
' A continuación, se detallan las fechas de funcionamiento de cada equipo analizador para la EMC I:' +
'
Diciembre 2010-Actualmente: Azufrados, Nitrogenados, Ozono, Monóxido de Carbono y Material Particulado PM10.
' +
'
Junio 2012-Actualmente: Benceno, Etilbenceno, Tolueno y Xilenos.
' +
'
Diciembre 2014-Actualmente: Material Particulado PM2.5.
' +
'
Diciembre 2010-Abril 2021: Hidrocarburos.
' +
'
Diciembre 2010-Agosto 2015: PM10 Diario.
');
} else {
$('#noData').fadeIn().html('No se realizaron mediciones para el contaminante en la fecha y estación solicitada.');
}
} else {
RGraph.Reset(grafico);
$('#noData').html('');
$.each(data[0].data, function(i){
data[0].data[i] = (data[0].data[i] === null) ? 'null' : eval(data[0].data[i]);
});
$.each(data[1].data, function(i){
data[1].data[i] = (data[1].data[i] === null) ? 'null' : eval(data[1].data[i]);
});
$.each(data[2].data, function(i){
data[2].data[i] = (data[2].data[i] === null) ? 'null' : eval(data[2].data[i]);
});
var resultados = data[0].data;
var resultados2 = data[1].data;
var resultados3 = data[2].data;
var unidad = data[0].unidad.replace('micro','\xB5').replace('u','\xB5');
var titulo = data[0].titulo;
var maximo = eval(data[0].maximo);
var maximo2 = eval(data[1].maximo);
var maximo3 = eval(data[2].maximo);
var max_total = Math.max(maximo,maximo2,maximo3);
var point = new RGraph.Point('grafico', resultados);
var point2 = new RGraph.Point('grafico', resultados2);
var point3 = new RGraph.Point('grafico', resultados3);
point.Set('chart.labels', data[0].labels);
//bar.Set('chart.ymax', maximo);
//bar.Set("chart.labels.above", true); // MUESTRA SOBRE LA BARRA EL VALOR, boolean
point.Set("chart.labels.above.decimals", 2); //DECIMALES ON, cta. de decimales
point.Set("chart.labels.above.angle", 180); //labels del eje y, angulo
point.Set("chart.text.angle", 90); //labels del eje x, angulo
point.Set("title", titulo);
point.Set("title.size", 10);
point.Set("title.y", 50);
point.Set("chart.gutter.top", 90);
point.Set("chart.gutter.left", 60);
point.Set("chart.gutter.bottom", 150);
point.Set("chart.scale.point", ',');
point.Set("chart.scale.thousand", '.');
point.Set("ymax", max_total*1.1);
point2.Set("ymax", max_total*1.1);
point3.Set("ymax", max_total*1.1);
point.Set("tooltips", data[0].tt); //uso el toolptip para pasar datos, no cargo la api de tooltips
point2.Set("tooltips", data[1].tt); //uso el toolptip para pasar datos, no cargo la api de tooltips
point3.Set("tooltips", data[2].tt); //uso el toolptip para pasar datos, no cargo la api de tooltips
point.Set("chart.xlabels.offset", 20);
point.Set("title.yaxis", unidad);
point.Set("title.yaxis.size", 8);
point.Set("text.size", 7); //Tamaño de los labels del eje x
point.Set("chart.ylabels", true); //No muestra los valores en el eje y
point.Set("chart.hmargin", 0); //Espacio entre columnas del grafico
point.Set("chart.title.yaxis.pos", 0.25);
point.Set("chart.title.yaxis.color", "black");
point.Set("chart.scale.decimals",data[0].cifras);
point.Set("title.xaxis.pos", 0.25);
point.Set('chart.tickmarks', 'dot');
point2.Set('chart.tickmarks', 'dot');
point3.Set('chart.tickmarks', 'dot');
point.Set('chart.ticksize', 4);
point2.Set('chart.ticksize', 4);
point3.Set('chart.ticksize', 4);
point2.Set('chart.colors', ['black']);
point3.Set('chart.colors', ['blue']);
point.Set('chart.background.grid.vlines', false);
point2.Set('chart.noaxes', true);
point3.Set('chart.noaxes', true);
point.Set('chart.key', ['EMC I','OP I','OP II']);
point.Set('chart.colors', ['#66AD25','black','blue']);
var combo = new RGraph.CombinedChart3(point, point2, point3);
combo.Draw();
$("#aviso").show();
}
}
},
isValorGuia: function(param){
var data = {
valorGuiaConsultas : param
}
if(sEst.val()!=9) {
$.ajax({
type: 'POST',
url: 'modelo/modelo.php',
data: data,
dataType: 'JSON',
beforeSend: function() {
$('.aLoader').fadeIn();
},
complete: function() {
$('.aLoader').fadeOut();
},
success: function(resp){
if(resp.status == 1){
$('#guia').fadeIn();
$('#vg').val(resp.data[0][1]);
$('#vg').attr('checked', false);
} else {
$('#guia').fadeOut();
$('#vg').val('undefined');
$('#vg').attr('checked', false);
}
Consultas.vGuia = 'undefined';
},
});
}
},
mm: function(e, shape) {
// If you have multiple charts on your canvas the .__object__ is a reference to
// the last one that you created
//obtengo la fecha del tooltip de la barra
var obj = e.target.__object__;
var value = shape;
//Highlight
obj.context.beginPath();
obj.context.fillStyle = 'rgba(255,255,255,0.5)';
obj.context.fillRect(shape['x'], shape['y'], shape['width'], shape['height']);
obj.context.fill();
$("#clima").fadeIn();
//llama a los datos meteorológicos
Consultas.mostrarMeteoHora(value.tooltip);
},
mostrarCapa: function(mostrar,ocultar){
$("#"+ocultar).fadeOut('slow', function(){$("#"+mostrar).fadeIn();})
$("#tipoConsulta").attr("value" , mostrar);
},
datepickerPorEstacion: function(sitio,estacion){
if(sitio==25) {
var ranges = [ { start: new Date(2017, 6, 8), end: new Date(2017, 10, 26) },
{ start: new Date(2022, 5, 2), end: new Date(), } ];
console.log(ranges);
$(".datepicker").datepicker( "destroy" );
$('.aLoader').fadeOut();
$(".datepicker").datepicker({
beforeShowDay: function(date) {
for(var i=0; i= ranges[i].start && date <= ranges[i].end) return [true, ''];
}
return [false, ''];
},
minDate: ranges[0].start,
maxDate: ranges[ranges.length -1].end,
changeMonth: true,
changeYear: true,
dateFormat: "dd-mm-yy",
dayNamesMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"],
dayNamesShort: ["Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"],
monthNames: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
monthNamesShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun","Jul", "Ago", "Sep", "Oct", "Nov", "Dic"]
});
}
else if(estacion!=9) {
$(".datepicker").datepicker( "destroy" );
$.ajax({
type: 'POST',
url: 'modelo/modelo.php',
data: {
'maxmin' : estacion,
'sitio' :sitio
},
complete: function() {
$('.aLoader').fadeOut();
},
success: function(resp){
/*Convertir a latino*/
mD = Consultas.aFechaLatina(resp.max);
miD = Consultas.aFechaLatina(resp.min);
$(".datepicker").datepicker({
changeMonth: true,
changeYear: true,
dateFormat: "dd-mm-yy",
defaultDate: ""+miD,
minDate: ""+miD,
maxDate: ""+mD,
dayNamesMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"],
dayNamesShort: ["Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"],
monthNames: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
monthNamesShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun","Jul", "Ago", "Sep", "Oct", "Nov", "Dic"]
});
}
});
} else {
const hoy = new Date();
if(hoy.getDate()<15) {
var d = new Date(hoy.getFullYear(), hoy.getMonth()-1, 0);
} else {
var d = new Date(hoy.getFullYear(), hoy.getMonth(), 0);
}
$(".datepicker").datepicker( "destroy" );
$(".datepicker").datepicker({
changeMonth: true,
changeYear: true,
dateFormat: "dd-mm-yy",
minDate: "21-11-2012",
maxDate: d.getDate() + "-" + (d.getMonth()+1) + "-" + d.getFullYear(),
dayNamesMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"],
dayNamesShort: ["Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"],
monthNames: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
monthNamesShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun","Jul", "Ago", "Sep", "Oct", "Nov", "Dic"]
});
}
},
mostrarMeteoHora: function(hora){
var self = Consultas;
var data = { meteo: 'hora', hora: hora, est: estacion};
var rotacion = null;
$.ajax({
type: 'POST',
url: 'modelo/meteo.php',
data: data,
beforeSend: function() {
$('.aLoader').fadeIn();
},
complete: function() {
$('.aLoader').fadeOut();
},
success: function(resp){
//vaciar los contenidos
$("#brujula").html("");
$("#datosMeteo .resp").html("");
if(resp.length == 0){
$("#datosMeteo .resp").html("No hay datos");
rotacion = null;
$("#brujula").html("");
} else {
$.each(resp, function(index){
var param = resp[index].con_descripcion;
var valor = resp[index].med_valor;
var imagen = resp[index].urlImagen;
var unidad = resp[index].uni_descripcion;
if(param == "Dirección del Viento") {
rotacion = valor;
} else {
if(param == "Temperatura"){
$("#datosMeteo .resp").append("
"+valor+" grados
");
} else {
$("#datosMeteo .resp").append("
"+valor+" "+unidad+"
");
}
}
});
};
if(rotacion != null) {self.dibujaBrujula(rotacion)} else {};
}
});
},
dibujaBrujula: function(rotacion){
//console.log(rotacion);
rotacion = Number(rotacion);
if(rotacion > 180){
rotacion = rotacion + 180 - 360;
} else {
rotacion = rotacion + 180;
}
//console.log(rotacion);
var rotar = rotacion;
var paper = Raphael($("#brujula")[0], 130, 130);
//pongo la imagen de la brujula
var brujula = paper.image("images/brujula.png",0,0,130,130);
//pongo la imagen de una flechita (src, x, y, width, height)
var arrow = paper.image("images/flecha.png",0,0,130,130);
//lo siguiente rota (r) una x cantidad de grados
arrow.attr({
"transform": "r 0"
});
arrow.animate({
"transform": "r "+rotar
},
2000,
"bounce")
},
aFechaLatina: function(fecha){
var parts = fecha.split('-');
// new Date(year, month [, day [, hours[, minutes[, seconds[, ms]]]]])
//return new Date(parts[0], parts[1]-1, parts[2]);
return parts[2]+"-"+parts[1]+"-"+parts[0];
}
}