var xmlhttp;

function validateSuscription(nombre, email, lang){
	if (!isValidData(trim(nombre), trim(email), lang)){
		return;
	}
	
	xmlhttp = GetXmlHttpObject();
	if (xmlhttp==null){
	  alert ("Browser does not support HTTP Request");
	  return;
	}
	
	var url = "bottom_suscribe.php";
	var enviar = "";
	enviar += "nombre=" + Urlenc.encode(trim(nombre), trim(nombre).length);
	enviar += "&email=" + Urlenc.encode(trim(email), trim(email).length);
	enviar += "&idioma=" + lang;
	
	url += "?"+enviar;
	
	url += "&sid="+Math.random();
	xmlhttp.onreadystatechange=stateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

function isValidData(nombre, email, lang){
	var err = "";
	if (nombre=='' || nombre==' '){
		if (lang=='es'){
			err += "Nombre invalido\n";
		}
		else if (lang=='en'){
			err += "Invalid name\n";
		}
		else {
			err += "Error en idioma\n";
		}
	}
	if (email=='' || email==' ' || !isValidEmail(email)){
		if (lang=='es'){
			err += "Email invalido\n";
		}
		else if (lang=='en'){
			err += "Invalid email\n";
		}
		else {
			err += "Error en idioma\n";
		}
	}
	if (lang=='' || lang==' '){
		err += "Idioma invalido";
	}
	
	if (err!=""){
		alert(err);
		return false;
	}
	return true;
}

function isValidEmail(str){
   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

function trim(myString){
return myString.replace(/^s+/g,'').replace(/s+$/g,'')
}

function stateChanged(){
/*	if (xmlhttp.readyState==4){
		div = document.createElement("div");
		div.setAttribute("id", "capa");
		texto = document.createTextNode(xmlhttp.responseText);
		div.appendChild(texto);
		div_comentario = document.createComment("comentario");
		div.appendChild(div_comentario);
		document.getElementById("tablaSuscribir").appendChild(div);
	}*/
	
	if (xmlhttp.readyState==4){
		document.getElementById("tablaSuscribir").innerHTML=xmlhttp.responseText;
	}
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}








var Urlenc = {
 
	// public method for url encoding
	encode : function (string) {
		return escape(this._utf8_encode(string));
	},
 
	// public method for url decoding
	decode : function (string) {
		return this._utf8_decode(unescape(string));
	},
 
	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
 
}
