﻿var loadingPanel = $('<table><tr><td valign="middle" align="center"></td></tr></table>');

/**********************************************************
*
**********************************************************/
showLoadingPanel = function () {
    
    loadingPanel.css(
        {
            'position' : 'absolute',
            'left' : 0,
            'top' : 0,
            'width' : $(window).width(),
            'height' :  $(window).height(),
            'background-color' : 'white',
            'opacity' : 0
        });    
    loadingPanel.hide();
    $('body').append(loadingPanel);
    loadingPanel.fadeIn('slow');        
    

};
/**********************************************************
*
**********************************************************/
hideLoadingPanel = function () {
   loadingPanel.fadeOut('slow'); 
   
};

/**********************************************************
*
**********************************************************/
callServer = function(url, data, callback) {
    showLoadingPanel();
    jQuery.ajax({
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify(data),
        dataType: 'json',
        url: "/PublicRP.asmx" + "/" + url,
        success: function(result){
            var res = result.d;
            try
            {
                res = JSON.parse(res);
            }
            catch(e) {}
            hideLoadingPanel();
            callback(res);
        }
    });            
}                                                               		

/********************************************************************
* Parse as Jquery
********************************************************************/           			
p = function(xml) {
	return $(JsonML.parse(xml));
}

var button = function(name) {
    return p(["a", {'href' : 'javascript:void(0)'}, name]);
}
var label = function(name) {
    return p(["label", name]);
}            

/********************************************************************
* Widgets
********************************************************************/           			
var menu = function(active) {
    var statLinks = 
        [{'Url' : 'News.aspx', 'Name' : 'Nyheter'},
         {'Url' : 'Info.aspx', 'Name' : 'Info'},
         {'Url' : 'Contact.aspx', 'Name' : 'Kontakt'}]
    var mn = p( ["div",""]);
    callServer("ActiveCategories", {}, function(categories) {    
        var links = statLinks.concat(categories);
        $.each(links, function (e) {
            var link = p(
                ['span',                            
                    ['a', 
                        {'href' : this.Url}, 
                        this.Name.toLowerCase()
                        
                    ],
                    ' // '
                ]
            );
            if(this.Name.toLowerCase() == active.toLowerCase()) {
                link.addClass("activeMenu");
            }
            mn.append(link);
        });
    });
    return mn;
}