/** XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08        **
 ** Code licensed under Creative Commons Attribution-ShareAlike License      **
 ** http://creativecommons.org/licenses/by-sa/2.0/                           **/
function XHConn()
{
  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone)
  {
    if (!xmlhttp) return false;
    bComplete = false;
    sMethod = sMethod.toUpperCase();

    try {
      if (sMethod == "GET")
      {
        xmlhttp.open(sMethod, sURL+"?"+sVars, true);
	//xmlhttp.setRequestHeader("Method", "GET "+sURL+" HTTP/1.1");
	//xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
        sVars = "";
      }
      else
      {
	//metode, url i asincon
	xmlhttp.open(sMethod, sURL, true);
	//xmlhttp.setRequestHeader("Accept", "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");
	xmlhttp.setRequestHeader("Accept-Language", "es-es,es,en-us,en;q=0.5");
	xmlhttp.setRequestHeader("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7") 
	//xmlhttp.setRequestHeader("Accept","text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"); 
	
	//aquest metode no canvia la codificacio
	//es queda configurat en utf
	//totes les crides amb ajax a explorer o firefox es fan en utf-8
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	/*
	if(xmlhttp.overrideMimeType){
	xmlhttp.overrideMimeType('application/x-www-form-urlencoded; charset=iso-8859-1');
	}
	*/
	//xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	//xmlhttp.setRequestHeader('Content-length', params.length);
	xmlhttp.setRequestHeader('Connection', 'close');
      }
      xmlhttp.onreadystatechange = function(){
        if (xmlhttp.readyState == 4 && !bComplete)
        {
          bComplete = true;
          fnDone(xmlhttp);
        }};
      xmlhttp.send(sVars);
    }
    catch(z) { return false; }
    return true;
  };
  return this;
}

