var loading_msg = "cargando";
var loaded_msg = "cargado";
var finished_msg = "";
var httprequest_global;

function createRequestObject(){
  var request_o = null;
  if ( httprequest_global ) {
    request_o = httprequest_global;
    return request_o;
  }
  try {
    request_o = new XMLHttpRequest();
    return request_o;
  } catch (e) { request_o = false; }

  var objectnames = [ "Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "Msxml2.XMLHTTP.3.0",
     "Msxml2.XMLHTTP", "Microsoft.XMLHTTP" ];
    for(var i=0; !request_o && i<objectnames.length; i++) {
    try {
      request_o = new ActiveXObject(objectnames[i]);
      return request_o;
    } catch (e) { request_o = false; }
  }

  return request_o;
}

function setEventListener(httprequest, eventlistener) {
  if ( httprequest.addEventListener ) {
    httprequest.addEventListener('load', eventlistener, false);
  } else if ( httprequest.attachEvent ) {
    httprequest.attachEvent('onload', eventlistener);
  } else {
    httprequest_global = httprequest;
    httprequest_global.onreadystatechange = eventlistener;
  }
}

function eventListener_response_to(to, event){
  /* [0: Uninitialized, 1: Loading, 2: Loaded, 3: Interactive,] 4: Finished */
  if ( httprequest_global ) {
  	var httprequest = httprequest_global;
  } else {
  	if ( event ) var httprequest = event.target;
  }
  if ( !httprequest ) return false;

  if (httprequest.readyState == 1) {
    if ( document.getElementById && document.getElementById('bz_requeststate') )
         document.getElementById('bz_requeststate').innerHTML = loading_msg;
  }
  if (httprequest.readyState == 2) {
    if ( document.getElementById && document.getElementById('bz_requeststate') )
         document.getElementById('bz_requeststate').innerHTML = loaded_msg;
  }
  if (httprequest.readyState == 4) {
    if ( document.getElementById && document.getElementById('bz_requeststate') )
      document.getElementById('bz_requeststate').innerHTML = finished_msg;
    if ( (httprequest.responseXML != null) && httprequest.responseXML.getElementById ) {
      var response = httprequest.responseXML;
      document.getElementById(to).innerHTML = response.getElementById('response').innerHTML;
    } else {
      var response = httprequest.responseText;
      document.getElementById(to).innerHTML = response;
    }
  }
}

function formelems2parstr_att(form, att) {
  var paramstr='';
  for (var iel = 0; iel < form.length; iel++ ) {
    if ( form.elements[iel][att] && (form.elements[iel][att] != '') ) {
      paramstr += '&'+form.elements[iel][att]+'='+form.elements[iel].value;
    }
  }
  return paramstr;
}

