/////////////////////////////////////////
// GLOBAL REGISTER FOR CALLBACK FUNCTIONS


var globalRegister = new Array();

function register(funName, fun){
    if(globalRegister[funName] == undefined){
	globalRegister[funName] = fun;
    }
}

function regCall(fnName){
    return 'globalRegister[\''+fnName+'\']()';
}

function globalCall(fnName){
    return 'globalRegister[\''+fnName+'\']';
}

function globalCallArgs(fnName, arr){
    return globalCall(fnName) + '(\'' + escape(JSON.stringify(arr)) + '\')';
}

function bindArgs(toObject, methodName){
    return function(args){
	var argsArr = JSON.parse(unescape(args));
	toObject[methodName](argsArr);
    }
}

function bind(toObject, methodName){
    return function(args){toObject[methodName](args);}
}


function ajaxPost(url, postData, callBackFn, currentObject){
    jQuery.post(url, postData, function(data){currentObject[callBackFn](data);} , "json");
}
