
ajax.handler.standard = function(data) {
console.group('ajax.handler.standard');

    var default_data = {
        title   : '',
        content : ''
    }
    data = $.extend(default_data,data);

console.groupEnd('ajax.handler.standard');
}



ajax.handler.blank = function(data) {
console.group('ajax.handler.blank');

    var default_data = {
    }
    data = $.extend(default_data,data);

    console.debug(data);


console.groupEnd('ajax.handler.blank');
}



ajax._error = function(data) {

    if (data) {
        if (data.flash) {
            if (data.flash.level == '-1') {
                return true;
            }
        }
    }

return false;
}


ajax.handler.add_comment = function(data) {
console.group('ajax.handler.add_comment');

    var default_data = {
    }
    data = $.extend(default_data,data);

    if (ajax._error(data)) {
        message = data.flash;
        $(e.add_comment).find(e.message_wrapper).message(message);
    }

    else {
        message = data.flash;
        $(e.add_comment).find(e.message_wrapper).message(message);
        $("#latest-comments").click();
    }

    setTimeout("ui.ajax('welcome')",5000);

console.groupEnd('ajax.handler.add_comment');
}



ajax.handler.correction = function(data) {
console.group('ajax.handler.correction(data)');

    var default_data = {
    }
    data = $.extend(default_data,data);

    // element = '#'+data.element.replace(/\./g,'\\\\.')+'';
    element = '#'+data.element;
    console.info(element);
    console.info($(element).length);

    $(element).find('.be_editable').hide().html(data.content);
    // $(element).find(e.be_editable).html(data.content);
    message = data.flash;
    message.timeout   = 1000;
    message.speed_out = 500;
    message.callback_hide = function() {
        $(element).find('.be_editable').fadeIn(500);
    }
    console.info('$("'+element+'").find(".message_wrapper").length');
    $(element).find(e.message_wrapper).message(message);


console.groupEnd('ajax.handler.correction(data)');
}



ajax.handler.airline_comments = function(data) {
console.group('ajax.handler.airline_comments');

    var default_data = {
    }
    data = $.extend(default_data,data);

    $('.comments').html(data.content);
    ui.attach.pager ( '.comments' );
    ui.attach.starratings ( '.comments' );

    $('.comments .comments_set:eq(0)').fadeIn(500);

console.groupEnd('ajax.handler.airline_comments');
}



ajax.handler.comment_bump = function(data) {
console.group('ajax.handler.comment_bump(data)');

    var default_data = {
    }
    data = $.extend(default_data,data);


    if (ajax._error(data)) {
        if (data.flash.text) {
            message = data.flash;
            $('#comment_'+data.comment.Comment.id).find(e.message_wrapper).message(message);
        }
    }

    else {
        message = data.flash;
        $('#comment_'+data.comment.Comment.id).find(e.message_wrapper).message(message);
        var name = data.comment.Visitor.name || 'Anonymous';
        $('#comment_'+data.comment.Comment.id+' .comment_actions').html('You thanked '+name+' for this comment'+' ['+data.comment.Comment.bumps+' thanks]');
    }

console.groupEnd('ajax.handler.comment_bump(data)');
}





ajax.handler.geo = function(data) {

    var default_data = {
    }
    data = $.extend(default_data,data);

    if (data.cities) {
        $.extend (geo.cities, data.cities);
    }
    if (data.airports) {
        $.extend (geo.airports, data.airports)
    }
    if (data.airlines) {
        $.extend (geo.airlines, data.airlines)
    }
    if (data.top_cities) {
        $.extend (geo.top_cities, data.top_cities)
    }
    if (data.top_airports) {
        $.extend (geo.top_airports, data.top_airports)
    }
    if (data.subregions) {
        $.extend (geo.subregions, data.subregions)
    }

    if (data.routes) {
        $.each(data.routes, function(airline) {
            if (!geo.routes[airline]) geo.routes[airline] = {};
            $.extend (geo.routes[airline], data.routes[airline])
        })
    }

    // ui.gmap.clear();
    // ui.gmap.pop_routemap();
    // gm.set_item_pos(data.la, data.lo, zoom);

}


ajax.handler.city2airline = function(data) {

    var default_data = {
        title   : '',
        content : ''
    }
    data = $.extend(default_data,data);


    $(e.city2airline_header).html(data.title);
    $(e.city2airline).html(data.content).fadeIn(500);

}




ajax.handler.login = function(data) {

    var default_data = {
        title   : '',
        content : '',
        flash   : {}
    }
    data = $.extend(default_data,data);

    if (data.flash.text) {
        if (ajax._error(data)) {
            var old_html = $(e.global_message).find('.message').html();
            message = data.flash;
            message.timeout   = 1000;
            message.speed_out = 500;
            message.callback_hide = function() {
                $(e.global_message).find('.message').html( old_html ).show();
                ui.attach.ajax(e.global_message);
                // "ui.ajax('login')";
            }
            $(e.global_message).message(message);
        }

    }
    else
    {
        $(e.global_message).find('.message').fadeOut(500, function() {
            $(e.global_message).find('.message').html(data.content).fadeIn(500);
            ui.attach.ajax       (e.global_message);
            ui.attach.smartfields(e.global_message);
        } );
    }


}



ajax.handler.login_complete = function(data) {

    var default_data = {
        title   : '',
        content : ''
    }
    data = $.extend(default_data,data);

    message = data.flash;
    message.timeout   = 3000;
    message.speed_out = 500;
    message.callback_show = function() {
        window.location = window.location.href;
    }
    $(e.global_message).message(message);


}



ajax.handler.registration = function(data) {

    var default_data = {
        title   : '',
        content : ''
    }
    data = $.extend(default_data,data);

    if (data.flash.text) {
        if (ajax._error(data)) {
            var old_html = $(e.global_message).find('.message').html();
            var nameval = $(e.global_message).find('input:eq(0)').val();
            var passval = $(e.global_message).find('input:eq(1)').val();
            message = data.flash;
            message.timeout   = 3000;
            message.speed_out = 1000;
            message.callback_hide = function() {
                $(e.global_message).find('.message').html( old_html ).show();
                $(e.global_message).find('input:eq(0)').val(nameval);
                $(e.global_message).find('input:eq(1)').val(passval);
                ui.attach.ajax(e.global_message);
                // "ui.ajax('login')";
            }
            $(e.global_message).message(message);
        }
    }

    else {

        $(e.global_message).find('.message').fadeOut(500, function() {
            $(e.global_message).find('.message').html(data.content).fadeIn(500);
            ui.attach.ajax(e.global_message);
        } );

    }


}


ajax.handler.registration_complete = function(data) {

    var default_data = {
        title   : '',
        content : ''
    }
    data = $.extend(default_data,data);

    message = data.flash;
    message.timeout   = 3000;
    message.speed_out = 500;
    message.callback_show = function() {
        window.location = window.location.href;
    }
    $(e.global_message).message(message);



}



ajax.handler.logout = function(data) {

    var default_data = {
        title   : '',
        content : ''
    }
    data = $.extend(default_data,data);


        message = data.flash;
        message.callback_show = function() { window.location = window.location.href; };
        $(e.global_message).message(message);

    /*
    $(e.global_message).find('.message').html(data.content).fadeIn(500);
    ui.attach.ajax(e.global_message);
    */


    /*
    flash = data.flash;
    ui.flash( flash.text, flash.level, e.global_message_wrapper, "");
    */


}


ajax.handler.photo_upload = function(data) {
console.group('ajax.handler.photo_upload');

    var default_data = {
    }
    data = $.extend(default_data,data);

    if (ajax._error(data)) {
        message = data.flash;
        $(e.logo_wrapper).find(e.message_wrapper).message(message);
    }

    else {
        message = data.flash;
        $(e.logo_wrapper).find(e.message_wrapper).message(message);
        $(e.logo).fadeOut(500, function() { $(e.logo).html(data.content).fadeIn(1000); } )
    }


console.groupEnd('ajax.handler.photo_upload');
}




ajax.handler.welcome = function(data) {
console.group('ajax.handler.welcome()');


    var default_data = {
    }
    data = $.extend(default_data,data);

    message = {}
    message.text = data.content;
    // -=sticky and attach ajax after=- //
    message.sticky = true;
    message.level = 0;
    message.callback_show = function() { ui.attach.ajax(e.global_message) };
    $(e.global_message).message(message);


console.groupEnd('ajax.handler.welcome()');
}




ajax.handler.debug = function(data) {

        if ( typeof (json.debug) == 'object' ) {
            debug = json.debug;
            if ( typeof (debug.variable) == 'object') {
                console.dir(debug.variable);
            }
            if ( debug.time ) {
                console.debug(debug.time);
            }
        }

}


ajax.handler.pack = function(data) {

    message = data.flash;
    message.sticky = false;
    $(e.global_message).message(message);

}

ajax.handler.eval = function(data) {

    console.debug(data.content);

}
