﻿var weatherControl = function () {
    var that = {};

    var changeWeather = function () {
        var callbacks = {};

        callbacks.Begin = function (updatePanelId, refreshPanelId) {
            //jQuery('#' + refreshPanelId).show(500);
            jQuery('#' + updatePanelId).html('');
        };
        callbacks.Success = function (updatePanelId, result) {
            var html = "<ul class=\"tiempo\">";

            if (result.Current !== null) {
                html += "<li class=\"tiempo_actual\">";
                html += "<span class=\"titulo\">Actual</span><br />";
                html += "<img src=\"" + result.Current.Icon + "\" title=\"" + result.Current.Condition + "\" alt=\"" + result.Current.Condition + "\" />";
                html += "<span class=\"temp\">" + result.Current.Temp + "</span><br />";
                html += "<span class=\"humidity\">" + result.Current.Humidity + "</span><br />";
                html += "<span class=\"wind\">" + result.Current.Wind + "</span>";
                html += "</li>";
            }

            for (var index = 0; index < result.Forecast.length; index++) {
                html += "<li>";

                switch (index) {
                    case 0:
                        {
                            html += "<span class=\"titulo\">Hoy</span><br />";
                            break;
                        }
                    case 1:
                        {
                            html += "<span class=\"titulo\">Mañana</span><br />";
                            break;
                        }
                    default:
                        {
                            html += "<span class=\"titulo\">" + result.Forecast[index].Day + "</span><br />";
                            break;
                        }
                }

                html += "<img src=\"" + result.Forecast[index].Icon + "\" title=\"" + result.Forecast[index].Condition + "\" alt=\"" + result.Forecast[index].Condition + "\" />";
                html += "<span class=\"temp\"><span class=\"temp_min\">" + result.Forecast[index].Low + "</span> / <span class=\"temp_max\">" + result.Forecast[index].High + "</span></span>";
                html += "</li>";
            }

            html = html + "</ul>";

            jQuery('#' + updatePanelId).html(html);
        };
        callbacks.Error = function (updatePanelId, errorMessage) {
            jQuery('#' + updatePanelId).html("<p class=\"error\">" + errorMessage + "</p>");
        };
        callbacks.Complete = function (refreshPanelId, updatePanelId) {
            //jQuery('#' + refreshPanelId).hide(500);
        };

        return callbacks;
    };

    that.ChangeWeather = changeWeather();

    return that;
};

internovat.addObject('WeatherControl', weatherControl());
