var defaults = new Array();

function get_json (filename, funct, params) {
   var paramString = '';
   for (var key in defaults) {
      if (paramString.length > 0) {
         paramString += '&';
      }
      
      paramString += escape(key) + '=' + escape(defaults[key]);
   }
   
   for (var key in params) {
     if (paramString.length > 0) {
       paramString += '&';
     }
     paramString += escape(key) + '=' + escape(params[key]);
   }
   
   var success = function (t) {
      get_json_success(funct, t);
   }
   
   new Ajax.Request(filename, {asynchronus: true, method: 'post', postBody:paramString, onSuccess:success, onFailure:get_json_failure});
}

function get_json_success (funct, t) {
   var json_obj = JSON.parse(t.responseText);
   funct(json_obj);
}

function get_json_failure (t) {
   alert(t.responseText);
}
