function NeutralXMLHttpRequest(){
	var versions;
	var i;

	//Comprovem si estem en un entorn no-IE(Gecko,khtml,webkit,opera)
	if(window.XMLHttpRequest){ //Entorn no-IE
		return new XMLHttpRequest();
	}else if(window.ActiveXObject){//Entorn IE
		//Del ActiveX en questio ja existeixen varies implementacions, anirem provant de nova a vella.
		versions=new Array(
			'Msxml2.XMLHTTP.5.0',
			'Msxml2.XMLHTTP.4.0',
			'Msxml2.XMLHTTP.3.0',
			'Msxml2.XMLHTTP',
			'Microsoft.XMLHTTP');
		//Anem provant instanciar
		for(i=0;i<versions.length;i++){
			try{
				return new ActiveXObject(versions[i]);
			}catch(foo){ //Controlem error 

			}
		}
		throw new Error("Error al crear l'ActiveX de XMLHttpResponse. IE SUCKS!!!");
	}

	throw new Error("Error al crear el XMLHttpResponse. Fes servir un navegador de veritat n0000000b");
} 

function AJAXObject(){
	//Atributs
	this.request=new NeutralXMLHttpRequest();
	this.stateLoading=function(){};
	this.stateLoaded=function(){};
	this.stateInteractive=function(){};
	this.stateComplete=function(state,statusText,responseText,responseXML){};



	//Funcions
	//Funcio de peticio
	this.petition=function(tipus,url,async,datos){
		var requestObject;
		var actualObject;
		
		//Obtenim l'objecte actual
		actualObject=this;
	
		//Obtenim el XMLHttpRequest
		requestObject=this.request;

		//Obrim la conexio
		requestObject.open(tipus,url,async);
		
		//Establim la funcio de tractament
		requestObject.onreadystatechange=function(){
			switch(requestObject.readyState){
				case 1: //Loading
					actualObject.stateLoading();
					break;
				case 2: //Loaded
					actualObject.stateLoaded();
					break;
				case 3: //Interactive
					actualObject.stateInteractive();
					break;
				case 4: //Complete
					actualObject.stateComplete(	requestObject.status,
									requestObject.statusText,
									requestObject.responseText,
									requestObject.responseXML
									);
					break;
			}
		}

		//Si enviem per post
		if(tipus=='POST'){
			//Establim el header
			requestObject.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
			
			//Preparem les dades
			sendData=datos.join("&");
		}else{
			sendData=null;
		}

		//Iniciem la peticio
		requestObject.send(sendData);
	}
}

function ec(i)
{
	var con = new AJAXObject();
	var par = new Array();
	par[0] = "i=" + i;
	con.stateComplete = ec_complete;
	con.petition("POST","ec.ajax.php",true,par);
}

function ec_complete(state,statusText,responseText,responseXML)
{
	document.getElementById("mailerframe").src = responseText;
}