var ajax_capability_ids = new Array();
var ac_count = 0;

function dump(arr,level) {
    var dumped_text = "";
    if(!level) level = 0;

    //The padding given at the beginning of the line.
    var level_padding = "";
    for(var j=0;j<level+1;j++) level_padding += "    ";

    if(typeof(arr) == 'object') { //Array/Hashes/Objects
        for(var item in arr) {
            var value = arr[item];

            if(typeof(value) == 'object') { //If it is an array,
                dumped_text += level_padding + "'" + item + "' ...\n";
                dumped_text += dump(value,level+1);
            } else {
                dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
            }
        }
    } else { //Stings/Chars/Numbers etc.
        dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
    }
    return dumped_text;
}

function ajax_request(method, request, data) {
	$.ajax({
		type: 	method,
		url: 	ajax_base_href + request + '/',
		data: 	data,
		success:ajax_response
		});
}


function ajax_full_request(method, request, data) {
	$("#ajax_box").css("display", "block");
	$.ajax({
			type: 	method,
	  		url: 	request,
	  		data: 	data,
			success:ajax_response
	});
}

function ajax_response(Request) {
	$("#ajax_box").css("display", "none");
	var data = $.evalJSON(Request);
    for (i = 0; i < data.elements_count; i++) {
        if (typeof data.json[i] == 'object') {
            if (typeof(data.json[i].data) != "undefined" && typeof(data.json[i].data) == "object") {
				for (var element in data.json[i].data) {
					var $div = $("#"+element);
					var $content = data.json[i].data[element];
					$div.html($content);
					$div.css("display", "block");
                }
            }
            if (typeof(data.json[i].action) != "undefined" && typeof(data.json[i].action) == "object") {
                for (var element in data.json[i].action) {
                    eval(data.json[i].action[element]);
//                    eval(element + "();");
                }
            }
        }
    }
}

function ajax_test() {
    ajax_request('get', 'ajaxtest', '');
}
