function isEmail(Mail) {
	Mail=Mail.toLowerCase();
	return (Mail.search(/^[a-zA-Z]+([_\.-]?[a-zA-Z0-9]+)*@[a-zA-Z0-9]+([\.-]?[a-zA-Z0-9]+)*(\.[a-zA-Z]{2,4})+$/) != -1);
}

function getXhttp ( )
{
    var ajax_request;
    if (  window.ActiveXObject  )  {
        var mSoftVersions = [
            'MSXML2.DOMDocument.5.0',
            'MSXML2.DOMDocument.4.0',
            'MSXML2.DOMDocument.3.0',
            'MSXML2.DOMDocument.2.0',
            'MSXML2.DOMDocument',
            'Microsoft.XmlDom',
            'Msxml2.XMLHTTP',
            'Microsoft.XMLHTTP'
        ];

        for (  i=0; i<mSoftVersions.length; i++  )  {
            try {
                ajax_request = new ActiveXObject (  mSoftVersions[i]  );
            }  catch (  e  )  {    }
        }
    }  else if (  !ajax_request && typeof XMLHttpRequest != 'undefined'  )  {
        try {
            ajax_request = new XMLHttpRequest;
        }  catch (  e  )  {    }
    }  else if (  !ajax_request && window.createRequest  )  {
        try {
            ajax_request = window.createRequest;
        }  catch (  e  )  {    }
    }  else  {
        ajax_request = false;
    }

    return ajax_request;
}

/* params:
method: "GET" o "POST" (default: "GET")
url: "caca.php" o "http://www.caca.es/caca.php"
callback(texto): funcion a la que se manda el resultado
params: objeto con parametros: { param1 : "valor1", param2: "valor2" } No hace falta hacer escaping de las variables!!!
*/
/*
AjaxCall(
{
	method: "POST", 
	url: "getuser.php", 
	params:
	{
		a: "alf@faud.com", 
		b: "2"
	}, 
	callback: function(txt)
	{
		alert(txt);
	}
});
*/
function AjaxCall(params)
{
	getXhttp();
	var xml = getXhttp( );
	if ( !xml )
	{
		document.getElementById("divreadinguser").style.display = "none";
		return; //Usually you alert something but I don't :d
	}
	
	if(params.method == null) params.method = "GET";

	xml.open(params.method, params.url);

	xml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	xml.onreadystatechange = function()
	{
		if(xml.readyState != 4) return;
	
		params.callback(xml.responseText);
	};

	var query = "";
	for(index in params.params)
	{
		if(query != "") query += "&";
		query += index + "=" + urlencode(params.params[index]);
	}

	xml.send(query);
}

function urlencode (str)
{
	str = escape(str);

	return str.replace(/[*+\/@]|%20/g,

	function (s)
	{
		switch (s)
		{
			case "*": s = "%2A"; break;
			case "+": s = "%2B"; break;
			case "/": s = "%2F"; break;
			case "@": s = "%40"; break;
			case "%20": s = "+"; break;
		}

		return s;
	});
}

function resuelvenewsletter()
{
	if (document.getElementById("namenewsletter").value == ""  || document.getElementById("namenewsletter").value == "Escribe un nombre") {
		document.getElementById("namenewsletter").value = "Incompleto";
		return;	}
	
	if (document.getElementById("emailnewsletter").value == "" || document.getElementById("emailnewsletter").value == "Incorrecto" || !isEmail(document.getElementById("emailnewsletter").value)) {
		document.getElementById("emailnewsletter").value = "Incorrecto";
		return;	}

	envianewsletter();
}

function envianewsletter()
{
	document.getElementById('botonnewsletter').style.display = 'none';
	
	var xml = getXhttp( );
    if ( !xml )
       return false; //Usually you alert something but I don't :d
    xml.open('POST', '../altanewsletter.php');
    xml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

    var email = urlencode(document.getElementById('emailnewsletter').value);
    var nombre = urlencode(document.getElementById('namenewsletter').value);

	var superdebug = 'email=' + email + '&nombre=' + nombre;
	
    xml.onreadystatechange = function() {
			if (xml.readyState == 4){
										if(xml.responseText == "OK")
										{
											document.getElementById('mandamelonesw').innerHTML = "Ya est&aacute;s registrado, ahora recibir&aacute;s nuestras ofertas en tu email";
										}
										else
										{
											document.getElementById('mandamelonesw').innerHTML = "Ya est&aacute;s registrado, ahora recibir&aacute;s nuestras ofertas en tu email";
											document.getElementById('botonnewsletter').style.display = 'block';
										}
									}
	}
	
	xml.send(superdebug);
}
