var msecDay = 24 * 60 * 60 * 1000;
var msecTenMinutes = 10 * 60 * 1000;
var msecSixtyMinutes = 60 * 60 * 1000;
var timezone = -3;
var automatic = true;
var counter;

$(function() {
	// Status message
	$.ajaxSetup({ contentType: "application/x-www-form-urlencoded;charset=UTF-8" });
	$.ajax({
	  url: "RetrieveMessage.aspx",
	  success: function(data){
		var okText = $(data).find(".ok").html();
		var errorText = $(data).find(".error").html();
		if (okText != null && okText.length > 0) {
			$(".ok").html(okText).show();
		} else if (errorText != null && errorText.length > 0) {
			$(".error").html(errorText).show();
		}
	  }
	});

	// Tooltips
	$('#infoviento').click(function(e) { 
		e.preventDefault();
	}).tooltip({ bodyHandler: function() { return $("#infovientobox").html(); }, showURL: false, extraClass: "pretty"});
	
	$('#imgCurrentSituation').click(function(e) { 
	e.preventDefault();}).tooltip({ bodyHandler: function() { return $("#infobox").html(); }, showURL: false,extraClass: "pretty"});

	// Dropdowns
	$("#timezoneSelect").change(onTimezoneChange);

	$("#currentSituationSelect").change(onSituationChange);
	
	$("#timezoneSelect").val(-3);
	$("#currentSituationSelect").val(0);
	$("#pacSelect").val(0);
	$("#dateSelect, #hourSelect").addClass("buttonDisabled").attr("disabled", "true");
	
	updateDateSelect();
	updateHourSelect();
	
	// Generate images
	generateImages();
	
	$("#dateSelect").change(function() {
		
		//pregunta si no es PAC acumulado
		var valfun = $("#currentFuncionalidadSelect").val();
		var valpac = $("#pacSelect").val();
		debug(valpac + " " + valfun);
		if (valpac == 0 || valfun == 0 ) { //para ciclar con hora

			// If date is old, set all the hours available
			var selDate = new Date(parseInt($(this).val()));
			var currDate = getTime(timezone);

			if (selDate.getFullYear() == currDate.getFullYear() &&
				selDate.getMonth() == currDate.getMonth() &&
				selDate.getDate() == currDate.getDate()) {
				updateHourThisDate(selDate);
			} else {
				updateHourOtherDate(selDate);			
			}
			generateOldImages();
		} else {
			var fechasel = parseInt($("#dateSelect").val());
			generatepacImage(fechasel);
		}
	});
	
	$("#hourSelect").change(function() {
		generateOldImages();
	});
	
	window.setInterval(timerCalled, 60000);
	
	//Intensidad
	$("#currentFuncionalidadSelect").change(onFuncionalidadChange);
	$("#currentFuncionalidadSelect").val(0);
	
	$("#pacSelect").change(onFuncionalidadChange);
	$("#pacSelect").addClass("buttonDisabled").attr("disabled", "true");
	
	$("#reflectividad").click(function() {
		if (!$(this).hasClass("actionSelected")) {
			$("#currentFuncionalidadSelect").val("0");
			$("#pacSelect").val("");
			$(".action").removeClass("actionSelected");
			$(this).addClass("actionSelected");
			onFuncionalidadChange();
		}
	});

	$("#intensidad").click(function() {
		if (!$(this).hasClass("actionSelected")) {
			$("#currentFuncionalidadSelect").val("1");
			$("#pacSelect").val("0");
			$(".action").removeClass("actionSelected");
			$(this).addClass("actionSelected");
			onFuncionalidadChange();
		}
	});

	$("#totalDiario").click(function() {
		if (!$(this).hasClass("actionSelected")) {
			$("#currentFuncionalidadSelect").val("1");
			$("#pacSelect").val("1");
			$(".action").removeClass("actionSelected");
			$(this).addClass("actionSelected");
			onFuncionalidadChange();
		}
	});

	$("#totalMensual").click(function() {
		if (!$(this).hasClass("actionSelected")) {
			$("#currentFuncionalidadSelect").val("1");
			$("#pacSelect").val("2");
			$(".action").removeClass("actionSelected");
			$(this).addClass("actionSelected");
			onFuncionalidadChange();
		}
	});
	
});

// Called everytime a minute passes
function timerCalled() {
	debug("timer called");
	if (automatic) {
		debug("automatic");
		if (isUpdateHourNeeded()) updateHourSelect();
		if (isUpdateDayNeeded()) updateDateSelect();
		
		currentMsec = getTime(0).getTime();
		previousMsec = parseInt($("#imagesContainer img:last-child").attr("alt"));

		if (currentMsec - previousMsec > 20 * 60 * 1000) {
			generateImages();
		}
	} else {
		debug("not automatic");
		var imagePac = $("#imagesContainer img:last-child");
		currentMsec = getTime(0).getTime();
		previousMsec = parseInt(imagePac.attr("alt"));
		
		if (currentMsec - previousMsec > msecSixtyMinutes) {
			var valpac = $("#pacSelect").val();
			var state = $("#currentSituationSelect").val();
			if (valpac != 0 && state != "1") {
				generatepacImage(0);
				imagePac = $("#imagesContainer img:last-child");
	
				var pacSrc = imagePac.attr("src");
				imagePac.attr("src", pacSrc + "?" + (new Date()).getTime());
			}
		}

	}
}

// Generate PAC  image
function generatepacImage(fecha) {
	debug("generatepacImage");
	if (fecha==0) {
		var utcDate = getTime(0);
		var msec = utcDate.getTime() - (((utcDate.getMinutes() % 10) + 10) * 60 * 1000);
	
		var one_day  = 1000 * 60 * 60 * 24;
		var msec = msec - (1 * one_day);
		debug("hoy");
	} else {
		var msec = fecha;
		debug("anterior");
	}
	debug(msec);
	$('#imagesContainer').html("");
	
	$("#imagesContainer").prepend($('<img />').attr('alt', msec).attr('title', prettyPrintHourAndTime(msec)).attr('src', generateFilename(msec)).attr('style', 'display:block;opacity:1').error(
		function() {
			debug("error loading file PAC");
			$(this).attr('src', 'img/map-not-generated.png');
		}
	));
}

// Generate images
function generateImages() {
	counter = 20;
	var utcDate = getTime(0);
	var msec = utcDate.getTime() - (((utcDate.getMinutes() % 10) + 10) * 60 * 1000);
	$('#imagesContainer').html("");
	addPreloadedImage(msec);
}

function generateOldImages() {
	counter = 20;
	var utcDate = new Date(parseInt($("#hourSelect").val()));
	var msec = utcDate.getTime() - (((utcDate.getMinutes() % 10) + 10) * 60 * 1000);
	$('#imagesContainer').html("");
	addPreloadedImage(msec);
}

function addPreloadedImage(msec) {
	debug("addPreloadedImage", counter, generateFilename(msec));
	
	while (counter > 0) {
		$("#imagesContainer").prepend($('<img />').attr('alt', msec).attr('title', prettyPrintHourAndTime(msec)).attr('src', generateFilename(msec)).error(function() {
			debug("error loading file");
			$(this).attr('src', 'img/map-not-found.png');
		}));
		counter--;
		msec -= msecTenMinutes;
	}
	
	if (automatic) {
		$("#currentSituationSelect, #timezoneSelect").removeAttr('disabled').removeClass("buttonDisabled");
	} else {
		$("#hourSelect, #dateSelect, #currentSituationSelect, #timezoneSelect").removeAttr('disabled').removeClass("buttonDisabled");
	}
	cycleImages();
	
	/*$('<img />').attr('alt', msec).attr('title', prettyPrintHourAndTime(msec)).attr('src', generateFilename(msec)).error(function() {
		debug("error loading file");
		$('<img />').attr('alt', msec).attr('title', prettyPrintHourAndTime(msec)).attr('src', 'img/map-not-found.png').load(function() {
			counter--;
			$("#imagesContainer").prepend($(this));
			if (counter > 0) {
				msec -= msecTenMinutes;
				addPreloadedImage(msec);
			} else {
				$('#imagesContainer').removeClass("preloading");
				if (automatic) {
					$("#currentSituationSelect, #timezoneSelect").removeAttr('disabled').removeClass("buttonDisabled");
				} else {
					$("#hourSelect, #dateSelect, #currentSituationSelect, #timezoneSelect").removeAttr('disabled').removeClass("buttonDisabled");
				}
				cycleImages();
			}
		}).each(function() {
			if ((this.complete && jQuery.browser.msie) || (jQuery.browser.msie && parseInt(jQuery.browser.version) == 6)) {
				debug("trigger load");
				$(this).trigger("load");
			}
		});
	}).load(function() {
		debug("success loading file");
		counter--;
		$("#imagesContainer").prepend($(this));
		if (counter > 0) {
			msec -= msecTenMinutes;
			addPreloadedImage(msec);
		} else {
			$('#imagesContainer').removeClass("preloading");
			if (automatic) {
				$("#currentSituationSelect, #timezoneSelect").removeAttr('disabled').removeClass("buttonDisabled");
			} else {
				$("#hourSelect, #dateSelect, #currentSituationSelect, #timezoneSelect").removeAttr('disabled').removeClass("buttonDisabled");
			}
			cycleImages();
		}
	}).each(function() {
		if ((this.complete && jQuery.browser.msie) || (jQuery.browser.msie && parseInt(jQuery.browser.version) == 6)) {
			debug("trigger load");
			$(this).trigger("load");
		}
	});*/
}

function generateFilename(msec) {
	var timeNumber = "?" + new Date().getTime();
	//var date = new Date(msec - (3 * 60 * 60 * 1000)); // TODO Fix
	var date = new Date(msec); // TODO Fix
	var year = date.getFullYear();
	var month = (date.getMonth() + 1);
	if (month < 10) month = "0" + month;
	var day = (date.getDate() < 10) ? "0" + date.getDate() : date.getDate();
	var hours = date.getHours();
	if (hours < 10) hours = "0" + hours;
	var minutes = date.getMinutes();
	if (minutes < 10) minutes = "0" + minutes;
	
	var value = $("#currentFuncionalidadSelect").val();
	if (value == 0) { // Reflectividad
		var imgFile = year + "" + month + "" + day + "" + hours + "" + minutes + "0000dBZ.cmax.gif";
		return 'http://radar.inta.gov.ar/Images/cmax/' + imgFile + timeNumber;
	} else { // Intensidad
		var valpac = $("#pacSelect").val();
		if (valpac == 0 ) { // cada 10'
			var imgFile = "app_" + year + "" + month + "" + day + "" + hours + "" + minutes + ".png";
			//return 'http://geointa.inta.gov.ar/modis/radar/sri/web/' + imgFile;
			return 'http://radar.inta.gov.ar/Images/sri/web/' + imgFile + timeNumber;
		} else {
			if (valpac == 1) { // pac diario
				var argDate =  getTime(timezone);
				var pacDate = argDate.getDate();
				var pacHour = argDate.getHours();
				var pacMinutes = argDate.getMinutes();
				
				if (pacHour <= 9 && pacMinutes < 30) {
					// mostrar la de ayer
					var currDate = new Date(msec);
					var yesterdayDate = new Date(currDate.getTime() - msecDay * 2);
					year = yesterdayDate.getFullYear();
					month = (yesterdayDate.getMonth() + 1);
					if (month < 10) month = "0" + month;
					day = (yesterdayDate.getDate() < 10) ? "0" + yesterdayDate.getDate() : yesterdayDate.getDate();
					hours = yesterdayDate.getHours();
					if (hours < 10) hours = "0" + hours;
					minutes = yesterdayDate.getMinutes();
					if (minutes < 10) minutes = "0" + minutes;
				}
				
				var imgFile = "PAC_" + year + "" + month + "" + day + ".png";
				debug("File Pac diario");
				debug(imgFile);
				return 'http://radar.inta.gov.ar/Images/sri/webpac/' + imgFile + timeNumber;
			} else { //pac mensual (en este caso el parametro trae armado el anio y mes a mostrar, salvo que sea la fecha actual donde hay que tomar el mes actual
				var argDate =  getTime(timezone);
				var pacDate = argDate.getDate();
				var pacHour = argDate.getHours();
				var pacMinutes = argDate.getMinutes();
				
				msec = msec + "";
				
				if (msec.length > 6) {
					if (pacDate == 1 || pacDate == 2) {
						if ((pacDate == 1) || (pacDate == 2 && pacHour <= 9 && pacMinutes < 30)) {
							if (month == "01") {
								year = year - 1;
								month = "12";
							} else {
								month = date.getMonth();
								if (month < 10) month = "0" + month;
							}
						}
					}
				} else {
					year = msec.substring(0, 4);
					month = msec.substring(4, 6);
				}
				
				var imgFile = "PACm_" + year + "" + month + ".png";				
				debug("File Pac mensual " + imgFile);
				return 'http://radar.inta.gov.ar/Images/sri/webpac/' + imgFile + timeNumber;
			}	
		}
	}
}

function cycleImages() {
	$("#hoursShown").html("");
	$('#imagesContainer').cycle({
		speed: 0,
		timeout: 800,
		pager:  '#hoursShown',
		pagerEvent: 'mouseover', 
		fastOnEvent: true,
		pagerAnchorBuilder: function(idx, slide) { 
			var msecToDisplay = parseInt(slide.alt);
			if (timezone == -3) {
				msecToDisplay -= 3 * 60 * 60 * 1000;
			}
			
			var anchor = $("<div id='" + msecToDisplay + "' class='timedImage'>" + prettyPrintHour(msecToDisplay) + "</div>");
			anchor.mouseover(function() {
				$("#pausaLbl").text(prettyPrintDate(msecToDisplay) + " " + prettyPrintHour(msecToDisplay)).show();
				$("#imagesContainer").cycle('pause');
			});
			
			anchor.mouseout(function() {
				$("#pausaLbl").hide();
				$("#imagesContainer").cycle('resume');
			});
			
			return anchor; 
		}
	});
}

function onTimezoneChange() {
	timezone = $("#timezoneSelect").val();
	
	var selectedDate = $("#dateSelect option:selected").text();
	var selectedHour = $("#hourSelect option:selected").text();
	
	var d = Date.parseDate(selectedDate + " " + selectedHour, "d/m/Y H:i");
	if (timezone == -3) {
		d = new Date(d.getTime() - msecSixtyMinutes * 3);
	} else {
		d = new Date(d.getTime() + msecSixtyMinutes * 3);
	}
	
	selectedDate = prettyPrintDate(d.getTime());
	selectedHour = prettyPrintHour(d.getTime());
	
	updateDateSelect();
	
	$("#dateSelect option").each(function(i, val) {
		if ($(this).text() == selectedDate) {
			$("#dateSelect").val($(this).attr("value"));
			if (i == 0) {
				var time = parseInt($("#dateSelect").val());
				updateHourThisDate(new Date(time));
			} else updateHourOtherDate(d);
		}
	});
	
	$("#hourSelect option").each(function() {
		if ($(this).text() == selectedHour) {
			$("#hourSelect").val($(this).attr("value"));
		}
	});
	
	if (automatic) generateImages();
	else generateOldImages();
}

function onSituationChange() {
	debug("onSituationChange"); 
	
	var value = $("#currentSituationSelect").val();
	if (value == 0) { // Current situation
		var valfun = $("#currentFuncionalidadSelect").val();
		var valpac = $("#pacSelect").val();

		if (valpac == 0 || valfun == 0 ) { //cada 10'
			// intensidad cada '10 o reflectividad
			automatic = true;
			$("#dateSelect, #hourSelect").addClass("buttonDisabled").attr("disabled", "true");
			$("#hoursShown").html("");
			updateDateSelect();
			updateHourSelect();
			
			generateImages();
		} else {
			automatic = false;
			//dehabilita fecha y hora
			$("#dateSelect, #hourSelect, #timezoneSelect").addClass("buttonDisabled").attr("disabled", "true");
			$("#hoursShown").html("");
			if (valpac == 1) { // pac diario	
				generatepacImage(0);
			} else { //pac mensual
				generatepacImage(0);
			}
		}		
	} else { // Previous situation
		var valfun = $("#currentFuncionalidadSelect").val();
		var valpac = $("#pacSelect").val();

		automatic = false;

		if (valpac == 0 || valfun == 0 ) { //cada 10'
			// intensidad cada '10 o reflectividad
			$("#dateSelect, #hourSelect").removeClass("buttonDisabled").removeAttr("disabled");
			updateDateSelect();
			generateOldImages();
		} else {
			//dehabilita hora
			$("#hourSelect, #timezoneSelect").addClass("buttonDisabled").attr("disabled", "true");
			$("#hoursShown").html("");

			if (valpac == 1) { // pac diario
				$("#dateSelect").removeClass("buttonDisabled").removeAttr("disabled");
				updateDateSelect();
				generatepacImage(0);
			} else { //pac mensual 
				$("#dateSelect").removeClass("buttonDisabled").removeAttr("disabled");
				updateDateSelect();
				generatepacImage(0);
			}

		}		
	}
}

// Update functions
function updateDateSelect() {
	var valfun = $("#currentFuncionalidadSelect").val();
	var valpac = $("#pacSelect").val();

	if (valpac == 0 || valfun == 0 ) { //cada 10'
		var date = getTime(timezone);
		var totalMsec = date.getTime() - 10 * 60 * 1000; // Minus 10 minutes

		$("#dateSelect").html("");
		$("#dateSelect").append("<option value='" + totalMsec + "' selected>" + prettyPrintDate(totalMsec) + "</option>");

		totalMsec -= msecDay;
		for (var i = 0; i < 32; i++) {
			$("#dateSelect").append("<option value='" + totalMsec + "'>" + prettyPrintDate(totalMsec) + "</option>");
			totalMsec -= msecDay;
		}				
	} else {
		if (valpac == 1 ) { //PAC Diario
		
			var date = getTime(timezone);
			var totalMsec = date.getTime() - msecDay; // Minus 1 day
		
			$("#dateSelect").html("");
			
			var argDate =  getTime(timezone);
			var pacDate = argDate.getDate();
			var pacHour = argDate.getHours();
			var pacMinutes = argDate.getMinutes();
			
			if (pacHour >= 9 && pacMinutes >= 30) {
			   	$("#dateSelect").append("<option value='" + totalMsec + "' selected>" + prettyPrintDate(totalMsec) + "</option>");
			}
			
		 	totalMsec -= msecDay;
			for (var i = 0; i < 31; i++) {
				$("#dateSelect").append("<option value='" + totalMsec + "'>" + prettyPrintDate(totalMsec) + "</option>");
				totalMsec -= msecDay;
			}				
		} else { //PAC Mensual
			var date = getTime(timezone);
			var totalMsec = date.getTime(); 
		
		 	var date = new Date(totalMsec);
			$("#dateSelect").html("");
			
			var year = date.getFullYear();
			var month = (date.getMonth() +1);
			if (month < 10) month = "0" + month;
			
			var argDate =  getTime(timezone);
			var pacDate = argDate.getDate();
			var pacHour = argDate.getHours();
			var pacMinutes = argDate.getMinutes();
				
			if (pacDate == 1 || pacDate == 2) {
				if ((pacDate == 1) || (pacDate == 2 && pacHour <= 9 && pacMinutes < 30)) { }
			} else {
				$("#dateSelect").append("<option value='" + year + month + "' selected>" + month + "/" + year + "</option>");
			}

			for (var i = 0; i < 11; i++) {
				var year = date.getFullYear();
				var month = (date.getMonth() - i);
				if (month <= 0 ) {
					month = month +12;
					year = date.getFullYear() - 1;
				}
				 
				if (month < 10) month = "0" + month;
			
				$("#dateSelect").append("<option value='" + year + month + "' >" + month + "/" + year + "</option>");
			}				
		}
	}
}

function updateHourSelect() {
	var utcDate = getTime(0);
	
	var date = getTime(timezone);
	var totalMsec = date.getTime() - 10 * 60 * 1000; // Minus 10 minutes
	date = new Date(totalMsec);
	
	utcDate = new Date(utcDate.getTime() - 10 * 60 * 1000); // Minus 10 minutes
	var utcTotalMsec = utcDate.getTime() - utcDate.getMinutes() * 60 * 1000 - utcDate.getSeconds() * 1000 - utcDate.getMilliseconds();

	date = new Date(date.getTime() - date.getMinutes() * 60 * 1000);
	totalMsec = date.getTime();

	$("#hourSelect").html("");
	$("#hourSelect").append("<option value='" + utcTotalMsec + "'>" + prettyPrintHour(totalMsec) + "</option>");

	totalMsec -= msecSixtyMinutes;
	utcTotalMsec -= msecSixtyMinutes;
	stop = false;
	while (!stop) {
		var newDate = new Date(totalMsec);
		if (newDate.getDate() == date.getDate()) {
			$("#hourSelect").append("<option value='" + utcTotalMsec + "'>" + prettyPrintHour(totalMsec) + "</option>");
		} else {
			stop = true;
		}
		totalMsec -= msecSixtyMinutes;
		utcTotalMsec -= msecSixtyMinutes;
	}
}

function updateHourThisDate(selDate) {
	selDate.setMinutes(0);
	selDate.setSeconds(0);
	selDate.setMilliseconds(0);
	var selMsec = selDate.getTime();
	var utcMsec = selMsec;
	if (timezone == -3) {
		utcMsec += 3 * 60 * 60 * 1000;
	}
	$("#hourSelect").html("");
	stop = false;
	while (!stop) {
		var newDate = new Date(selMsec);
		if (newDate.getDate() == selDate.getDate()) {
			$("#hourSelect").append("<option value='" + utcMsec + "'>" + prettyPrintHour(selMsec) + "</option>");
		} else {
			stop = true;
		}
		selMsec -= msecSixtyMinutes;
		utcMsec -= msecSixtyMinutes;
	}
}

function updateHourOtherDate(selDate) {
	selDate.setHours(23);
	selDate.setMinutes(0);
	selDate.setSeconds(0);
	selDate.setMilliseconds(0);
	
	var selMsec = selDate.getTime();
	var utcMsec = selMsec;
	if (timezone == -3) {
		utcMsec += 3 * 60 * 60 * 1000;
	}
	
	$("#hourSelect").html("");
	for (var i = 0; i < 24; i++) {
		$("#hourSelect").append("<option value='" + utcMsec + "'>" + prettyPrintHour(selMsec) + "</option>");
		selMsec -= msecSixtyMinutes;
		utcMsec -= msecSixtyMinutes;
	}
}

// Time getters
function getTime(offset) {
	// create Date object for current location
	var d = new Date();

	// convert to msec, add local time zone offset, get UTC time in msec
	var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
	return new Date(utc + (3600000 * offset));
}

// Update checks
function isUpdateHourNeeded() {
	var date = getTime(timezone);
	var totalMsec = date.getTime() - 10 * 60 * 1000; // Minus 10 minutes
	date = new Date(totalMsec);
	if (date.getMinutes() == 0) return true;
	else return false;
}

function isUpdateDayNeeded() {
	var date = getTime(timezone);
	var totalMsec = date.getTime() - 10 * 60 * 1000; // Minus 10 minutes
	date = new Date(totalMsec);
	if (date.getHours() == 0 && date.getMinutes() == 0) return true;
	else return false;
}

// Pretty prints

function prettyPrintMonth(time) {
	var date = new Date(time);
	var year = date.getFullYear();
	var month = date.getMonth() + 1;
	if (month < 10) month = "0" + month;
	return month + "/" + year;
}

function prettyPrintDate(time) {
	var date = new Date(time);
	var year = date.getFullYear();
	var month = date.getMonth() + 1;
	if (month < 10) month = "0" + month;
	var day = date.getDate();
	if (day < 10) day = "0" + day;
	return day + "/" + month + "/" + year;
}

function prettyPrintHour(time) {
	var date = new Date(time);
	var hour = date.getHours();
	if (hour < 10) hour = "0" + hour;
	var minutes = date.getMinutes();
	if (minutes < 10) minutes = "0" + minutes;
	return hour + ":" + minutes;
}

function prettyPrintHourAndTime(time) {
	var newTime = time;
	if (timezone == -3) {
		newTime = time - 3 * 60 * 60 * 1000;
	}

	var date = new Date(newTime);
	var month = date.getMonth() + 1;
	if (month < 10) month = "0" + month;
	var day = date.getDate();
	if (day < 10) day = "0" + day;
	var hour = date.getHours();
	if (hour < 10) hour = "0" + hour;
	var minutes = date.getMinutes();
	if (minutes < 10) minutes = "0" + minutes;
	return day + "/" + month + " " + hour + ":" + minutes;
}

// Debugging
function debug() {
	if (window.console) {
		var text = "";
		for (var i = 0; i < arguments.length; i++ ) {
			if (text.length > 0) text += " ";
			text += arguments[i];
		}
		console.log(text);
	}
}

//Funciones Intensidad
function onFuncionalidadChange() {
	debug("onFuncionalidadChange");
	var value = $("#currentFuncionalidadSelect").val();
	if (value == 0) { // Reflectividad
		$("#escalader").html("");
		$("#escala").html("");
		$("#escala").append("<dl class='scale'><dt style='background-color:#fe00fe'>&nbsp;</dt> <dd>Muy fuerte y probable granizo</dd> <dd class='spacer'>&nbsp;</dd> <dt style='background-color:#d80100'>&nbsp;</dt> <dd>Fuerte</dd> <dd class='spacer'>&nbsp;</dd> <dt style='background-color:#fcff02'>&nbsp;</dt> <dd>Moderada</dd> <dd class='spacer'>&nbsp;</dd> <dt style='background-color:#4ce205'>&nbsp;</dt> <dd>Débil</dd> </dl>");
		$("#pacSelect").addClass("buttonDisabled").attr("disabled", "true");
	
	} else { // Intensidad	
		$("#pacSelect").removeClass("buttonDisabled").removeAttr("disabled");
		
		var valpac = $("#pacSelect").val();
		automatic = false;
		if (valpac == 0) { //cada 10'
			// escala cada '10
			$("#escala").html("");
			$("#escalader").html("");
			$("#escalader").append(" <dl class='escala' style='background-color:'> <dt style='background-color:#7B1500'>&nbsp;</dt></dt><dd> > 50 mm/h</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#990000'>&nbsp;<dd>45 a 50</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#CC0000'>&nbsp;</dt><dd>40 a 45</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#FF3300'>&nbsp;</dt><dd>35 a 40</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#FF6600'>&nbsp;</dt><dd>30 a 35</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#FFCC00'>&nbsp;</dt><dd>25 a 30</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#66FFFF'>&nbsp;</dt><dd>20 a 25</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#33CCFF'>&nbsp;</dt><dd>15 a 20</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#0066FF'>&nbsp;</dt><dd>10 a 15</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#0000CC'>&nbsp;</dt><dd>5 a 10</dd><dd class='spacer'>&nbsp;</dd> </dl>");
		} else {
			if (valpac == 1) { // pac diario
				// escala pac diario
				$("#escala").html("");
				$("#escalader").html("");
				$("#escalader").append("<dl class='escalarev' style='background-color:'> <dt style='background-color:#FF00FF'>&nbsp;</dt><dd >m&aacute;s de 200 mm</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#FF0000'>&nbsp;</dt><dd>150 a 200</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#993300'>&nbsp;</dt><dd>125 a 150</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#FFFF00'>&nbsp;</dt><dd>100 a 125</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#FFCC00'>&nbsp;</dt><dd>75 a 100</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#99CC00'>&nbsp;</dt><dd>50 a 75</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#008000'>&nbsp;</dt><dd>25 a 50</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#00FFFF'>&nbsp;</dt><dd>15 a 25</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#00CCFF'>&nbsp;</dt><dd>10 a 15</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#0066FF'>&nbsp;</dt><dd>5 a 10</dd><dd class='spacer'>&nbsp;</dd> </dl>");
			} else { //pac mensual
				// escala pac mensual
				$("#escala").html("");
				$("#escalader").html("");
				$("#escalader").append("<dl class='escalarev' style='background-color:'> <dt style='background-color:#FF00FF'>&nbsp;</dt><dd >m&aacute;s de 200 mm</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#FF0000'>&nbsp;</dt><dd>150 a 200</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#993300'>&nbsp;</dt><dd>125 a 150</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#FFFF00'>&nbsp;</dt><dd>100 a 125</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#FFCC00'>&nbsp;</dt><dd>75 a 100</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#99CC00'>&nbsp;</dt><dd>50 a 75</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#008000'>&nbsp;</dt><dd>25 a 50</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#00FFFF'>&nbsp;</dt><dd>15 a 25</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#00CCFF'>&nbsp;</dt><dd>10 a 15</dd><dd class='spacer'>&nbsp;</dd> <dt style='background-color:#0066FF'>&nbsp;</dt><dd>5 a 10</dd><dd class='spacer'>&nbsp;</dd> </dl>");
			}
		}
	}
	onSituationChange();
}

