﻿
// Script to load MeteoData from www.aemet.es
// Needs jQuery

$(document).ready(function(){ 
	/* var lang = 0;
	var qs = location.search.substring(1, location.search.length);
	qs = qs.replace(/\+/g, ' ');
	var args = qs.split('&');
	for (var i = 0; i < args.length; i++) {
		var pair = args[i].split('=');
		var name = decodeURIComponent(pair[0]);
		var value = (pair.length==2)
			? decodeURIComponent(pair[1])
			: name;
		if(name == "L")
			lang = value;
	} */
	
	var urlImages = 'fileadmin/templates/web-nueva/themes/castrelo/images/meteoicons/';
	var imageFormat = '.png';
	var urlImagesEncoro = 'fileadmin/templates/web-nueva/themes/castrelo/images/encoro/';
	
	/*
	$.getJSON('fileadmin/templates/web-nueva/meteo.php?lang='+lang, function(data) {
		$('#weather-data').html('<div class="external-img"></div><div class="external-info"></div>');
		var img = $('<img />').attr('src', urlImages + data.ImageCode + imageFormat).attr('alt', data.Status).attr('title', data.Status);
		$('#weather-data .external-img').append(img);
		$('#weather-data .external-info').append('<p>' + data.MaxTemp + 'º/' + data.MinTemp + 'º<br />' + data.Status + '</p>');
	});
	*/ 
	/*
	$.getJSON('fileadmin/templates/web-nueva/encoro.php', function(data) {
		$('#encoro-data').html('<div class="external-img"></div><div class="external-info"></div>');
		var img = $('<img />').attr('src', urlImagesEncoro + data.ImageCode + imageFormat).attr('alt', data.Percent).attr('title', data.Percent);
		$('#encoro-data .external-img').append(img);
		$('#encoro-data .external-info').append('<p>' + data.Percent + '%<br />' + data.Volume + '</p>');
	}); */ 
	
	
	var now = new Date();
	var date = now.getFullYear() + '-' + ('0' + (now.getMonth()+1)).slice(-2) + '-' + ('0' + now.getDate()).slice(-2);
	var interval = [/06$/, /12$/, /18$/, /24$/];
	var hour = now.getHours();
	var pos = Math.floor(hour / 6);
	getAemetWeatherInfo('http://www.castrelo.org/fileadmin/templates/web-nueva/meteo.php', date, interval[pos], urlImages, imageFormat);
	getEncoroInfo('http://www.castrelo.org/fileadmin/templates/web-nueva/encoro.php', urlImagesEncoro, imageFormat);
});


/* XML URL from aemet, date string format yyyy-mm-dd */
function getEncoroInfo(xmlURL, urlImagesEncoro, imageFormat) {
	$.ajax({
		url: xmlURL,
		type: 'GET',
		success: function(xml) {
			var dataEncoro = {Percent: '20', Volume: '10', ImageCode: '11'};
			
			$(xml).find('encoro').each(function() {
				dataEncoro.Percent = $(this).find('percent').text();
				dataEncoro.Volume = $(this).find('volume').text();
				dataEncoro.ImageCode = $(this).find('imagecode').text();
				return false;
			});
				
			printEncoroInfo(urlImagesEncoro, imageFormat, dataEncoro);
			
		},
		error: function(jqXHR, textStatus, errorThrown){
			$('#external li:last-child').hide();
		}
	});
}

function printEncoroInfo(urlImagesEncoro, imageFormat, data) {
	$('#encoro-data').html('<div class="external-img"></div><div class="external-info"></div>');
	var img = $('<img />').attr('src', urlImagesEncoro + data.ImageCode + imageFormat).attr('alt', data.Percent).attr('title', data.Percent);
	$('#encoro-data .external-img').append(img);
	$('#encoro-data .external-info').append('<p>' + data.Percent + '%<br />' + data.Volume + '</p>');
}



/* XML URL from aemet, date string format yyyy-mm-dd */
function getAemetWeatherInfo(xmlURL, date, hour, urlImages, imageFormat) {
	$.ajax({
		url: xmlURL,
		type: 'GET',
		success: function(xml) {
			var dataWeather = {MaxTemp: '20', MinTemp: '10', Status: 'El tiempo', ImageCode: '11'};
			
			$(xml).find('dia').each(function() {
				var fecha = $(this).attr('fecha');
				if(fecha == date)
				{
					dataWeather.MaxTemp = $(this).find('temperatura').find('maxima').text();
					dataWeather.MinTemp = $(this).find('temperatura').find('minima').text();
					$(this).find('estado_cielo').each(function() {
						var periodo = $(this).attr('periodo');
						if(periodo.match(hour)) {
							var estado_cielo = $(this);
							dataWeather.Status = estado_cielo.attr('descripcion');
							dataWeather.ImageCode = estado_cielo.text();
							return false;
						}
					});
					return false;
				}
			});
			
			printWeatherInfo(urlImages, imageFormat, dataWeather);
			
		},
		error: function(jqXHR, textStatus, errorThrown){
			$('#external li:first-child').hide();
		}
	});
}

function printWeatherInfo(urlImages, imageFormat, data) {
	$('#weather-data').html('<div class="external-img"></div><div class="external-info"></div>');
	var img = $('<img />').attr('src', urlImages + data.ImageCode + imageFormat).attr('alt', data.Status).attr('title', data.Status);
	$('#weather-data .external-img').append(img);
	$('#weather-data .external-info').append('<p>' + data.MaxTemp + 'º/' + data.MinTemp + 'º<br />' + data.Status + '</p>');
}


/* function printWeatherInfo() {
	$(xml).find('prediccion').each(function(){
		var pred_date = $(this).attr('fecha');
		alert(pred_date);
		if(pred_date == date){
			var imageCode = 11;
			var status = 'Despejado';
			var maxTemp = $(this).find('temperatura').find('maxima');
			var minTemp = $(this).find('temperatura').find('maxima');
			
			$('#weather-data').html('<div class="external-img"></div><div class="external-info"></div>');
			var img = $('<img />').attr('src', 'fileadmin/templates/web-nueva/themes/castrelo/images/meteoicons/' + imageCode + '.png').attr('alt', status).attr('title', status);
			$('#weather-data .external-img').append(img);
			$('#weather-data .external-info').append('<p>' + maxTemp + 'º/' + minTemp + 'º<br />' + status + '</p>'); 
		} 
	});
} */
