﻿/// <reference name="MicrosoftAjax.js"/>
AXIS =
{

    //===============================================================
    //Show a Growl style message box
    showGrowl: function(title, message, type, timeout, onClose) {
        var $m = $('#growlBox');
        if ($m.length > 0)
            $m.remove();

        $m = $('<div id="growlBox" class="growlUI ' + type + '_box"></div>');
        if (title) $m.append('<h3>' + title + '</h3>');
        if (message) $m.append('<div class="message">' + message + '</div>');
        if (timeout == undefined) timeout = 3000;

        $m.css({
            opacity: 0.9
        });

        $('body').append($m);

        $m.fadeIn(700);
        setTimeout(function() {
            $m.fadeOut(1000, function() { $m.remove(); });
            if (onClose != undefined)
                onClose();
        }, timeout);
    },

    setMenu: function(name) {
        var $mm = $('#main-menu');
        if (name != "") {
            $("#mm-" + name).addClass('active');
        } else {
            $mm.find("ul li:first").addClass('active');
        }
    },


    readGoogleCalendar: function(rssUrl, count) {
        $('#eventslist').addClass('loading');
        var jsonData = "{" +
            "'rssUrl':'" + rssUrl + "'," +
            "'count':'" + count + "'" + "}";

        //Call the page method    
        $.ajax({
            type: "POST",
            url: "/AXISWebService.asmx/ReadUpcomingEventsExcerpt",
            data: jsonData,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                $('#eventslist').removeClass('loading');
                $('#eventslist').html(msg.d);
            },
            error: function(xhr, ajaxOptions, thrownError) {
                var err = 'Read Google Calendar' + eval("(" + xhr.responseText + ")");
                AXIS.showGrowl('Error', err.Message, 'error');
            }
        });
    },

    bindCountryProvince: function(c, p) {
        var $objC = $("select#" + c);
        var $objP = $("select#" + p);

        $objC.change(function() {
            var jsonData = "{" +
                "'countryId':'" + $objC.val() + "'" + "}";
            //Call the page method    
            $.ajax({
                type: "POST",
                url: "/AXISWebService.asmx/GetProvincesByCountry",
                data: jsonData,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(msg) {
                    $objP.empty();
                    var options = '';
                    for (var i = 0; i < msg.d.length; i++) {
                        options += '<option value="' + msg.d[i].Value + '">' + msg.d[i].Text + '</option>';
                    }
                    $objP.html(options);
                },
                error: function(xhr, ajaxOptions, thrownError) {
                    var err = 'Read Provinces Failed: ' + eval("(" + xhr.responseText + ")");
                    AXIS.showGrowl('Error', err.Message, 'error');
                }
            });
        });
    }

}