-function ajax_request(funcname, params, callback, error_callback)
-{
- if (params === null)
- params = 'func='+funcname;
- else if (typeof params == 'object')
- params['func'] = funcname
- else if (typeof params == 'string')
- params = 'func='+funcname+'&'+params
- else
- return false;
-
- $.post('/ajax.php', params,
- function(data){
- if (!data.status) {
- if (typeof data.error == 'string')
- var error = data.error;
- else
- var error = 'An error occurred'
- alert(error);
- if (typeof error_callback == 'function')
- error_callback(data);
- return;
- }
- if (typeof callback == 'function')
- callback(data);
- });
-}
-
function show_message(text, timeout)
{
if (typeof timeout == 'undefined') timeout = 3;
$('#error_div').hide();
return false;
}
+
+(function($){
+ $.fn.ltag = function() {
+ return this.prop("tagName").toLowerCase();
+ };
+
+ $.fn.center = function () {
+ this.css("position","absolute");
+ this.css("top", Math.max(0, (($(window).height() - $(this).outerHeight()) / 2) +
+ $(window).scrollTop()) + "px");
+ this.css("left", Math.max(0, (($(window).width() - $(this).outerWidth()) / 2) +
+ $(window).scrollLeft()) + "px");
+ return this;
+ };
+
+$.invoke = function(name, parms, callback) {
+ if (typeof(parms) == 'string' && parms.length)
+ parms = 'route='+name+'&'+parms;
+ else if (typeof(parms) == 'object')
+ parms['route'] = name;
+ else
+ parms = 'route='+name;
+
+ $.post('/ajax.php',
+ parms,
+ function(data){
+ if (!data.status) {
+ if (data.error) {
+ if (data.redirect_login) {
+ show_message(data.error, 5);
+ setTimeout(function(){window.location.href = '/';}, 5000);
+ return;
+ } else
+ return show_error(data.error);
+ } else
+ return show_error('Fehler im Backend zu "'+name+'" aufgetreten');
+ }
+ if (typeof(data.html) == 'object')
+ for (id in data.html) {
+ var elem = $('#'+id);
+ if (elem.length) {
+ elem.html(data.html[id]);
+ }
+ }
+ if (typeof(data.values) == 'object')
+ for (id in data.values) {
+ var elem = $('#'+id);
+ if (elem.length)
+ elem.val(data.values[id]);
+ }
+
+ if (typeof(callback) == 'function')
+ return callback(data);
+ });
+};
+})(jQuery);