var Dajax = { users_remove_friend: function(argv){ this.dajax_call('users','remove_friend',argv); }, users_add_friend: function(argv){ this.dajax_call('users','add_friend',argv); }, dajax_call: function(app,fun,argv) { $.post('/hal/dajax/'+app+'.'+fun+'/', argv, function(data){ $.each(data, function(i,elem){ switch(elem.cmd) { case 'alert': alert(elem.val) break; case 'data': param = elem.val; eval( elem.fun+"(param);" ); break; case 'as': eval( "jQuery.each($(\""+elem.id+"\"),function(){ this."+elem.prop+" = \""+elem.val+"\";});"); break; case 'addcc': jQuery.each(elem.val,function(){ eval( "$('"+elem.id+"').addClass(\""+this+"\");" ); }); break; case 'remcc': jQuery.each(elem.val,function(){ eval( "$('"+elem.id+"').removeClass(\""+this+"\");" ); }); break; case 'ap': eval( "jQuery.each($(\""+elem.id+"\"),function(){ this."+elem.prop+" += \""+elem.val+"\";});"); break; case 'pp': eval( "jQuery.each($(\""+elem.id+"\"),function(){ this."+elem.prop+" = \""+elem.val+"\" + this."+elem.prop+";});"); break; case 'clr': eval( "jQuery.each($(\""+elem.id+"\"),function(){ this."+elem.prop+" = \"\";});"); break; case 'red': window.setTimeout('window.location="'+elem.url+'";',elem.delay); break; case 'js': eval(elem.val); break; case 'rm': eval( "$(\""+elem.id+"\").remove();"); break; default: alert('Unknown action!'); } }); }, "json"); } }; function my_callback(data){ jQuery.each(data, function(){ alert(this); }); }