function ajaxRequest(){
 var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
 if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
  for (var i=0; i<activexmodes.length; i++){
   try{
    return new ActiveXObject(activexmodes[i])
   }
   catch(e){
    //suppress error
   }
  }
 }
 else if (window.XMLHttpRequest) // if Mozilla, Safari etc
  return new XMLHttpRequest()
 else
  return false
}


function send_request(uri)
{
    new Ajax.Request(uri, {
      method: 'get',
      onSuccess: function(transport) {
        $H(transport.responseJSON).each(function(pair) {
            if ($(pair.key))
            {
                $(pair.key).innerHTML = pair.value;   
            }
        });
      }
    });

}

var value_for_search = -1;
function submit_if_changed(new_value, uri)
{
    if (value_for_search == -1)
    {
        value_for_search = new_value;
        return;   
    }
    
    if (value_for_search != new_value)
    {
        send_request(uri);
        value_for_search = new_value;   
    }
}