var ajaxloader = {
    init: function () {
        if (!$('.ajax-loader').size()) $('body').append('<div class="ajax-loader"></div>');
    },
    start: function (xhr) {
        if (xhr)
            xhr.setRequestHeader("If-Modified-Since", "0");
        $('.ajax-loader').show();
    },
    stop: function () {
        $('.ajax-loader').hide();
    }
};

var iModal = {
    init: function() {
    },
    create: function(){
        $('body').append('<div id="iModal-background"></div>');
        $('body').append('<div id="iModal"></div>');
    },
    destroy: function(){
        $('#iModal').remove();
        $('#iModal-background').remove();
        $('#payment-iframe').remove();
        Compare.current.checkedItems = [];
    },
    load: function(url,data,callback,beforeSend) {
        var url = url || false;
        var data = data || {};
        var callback = callback || function(){};
        var beforeSend = beforeSend || function(){};

        
        if (!url) return false;
        
        iModal.destroy();
        $.ajax({
            url: url,
            data: data,
            timeout: 120000,
            beforeSend: function(){
                ajaxloader.start();
                beforeSend();
            },
            error: function(xhr, ajaxOptions, thrownError){
                ajaxloader.stop();
                ajax_send_error();
            },
            success: function(data){
                iModal.init();
                iModal.create();
                $('#iModal').append($(data).filter('#ajaxcontainer'));
                
            },
            complete: function () {
                ajaxloader.stop();
                $('#iModal input').not(':hidden').first().addClass('first-focus').focus();
                callback();
            }  
        });
    }
};



function ajax_send_error() {
    iModal.load(global.url.Error);
}

debug = {
    print: function(data) {
        if (typeof(console)=='function') {
            console.log(data);
        };
    }
}

