/*Retorna un objeto AJAX */

function getObject(){
var pagina_requerida = false

if (window.XMLHttpRequest) {
	pagina_requerida = new XMLHttpRequest()
	return pagina_requerida
} else if (window.ActiveXObject){ 
		try {
			pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP")
			return pagina_requerida
		} 
		catch (e){ 
			try{
				pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
				return pagina_requerida
			}
			catch (e){alert("Actualice su navegador a una version mas actual.")}
		}
}else{
	return false
	}
}

/* Marketing Viral AJAX */
function llamarasincrono(url, id_contenedor,redirectOK,redirectKO,actual,total){
	var pagina_requerida = getObject()

	/* Abre y envia el archivo requerido*/
	pagina_requerida.open('GET', url, true)
	pagina_requerida.send(null)
	
	pagina_requerida.onreadystatechange=function(){
		cargarpagina(pagina_requerida,redirectOK,redirectKO,actual,total);
	}
}

// todo es correcto y ha llegado el momento de poner la información requerida
// en su sitio en la pagina xhtml
function cargarpagina(pagina_requerida,redirectOK,redirectKO,actual,total){
	if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1)){
		if (actual == total){
				window.location.href = redirectOK;
			}	
	}else{
		if (pagina_requerida.readyState == 4){
				window.location.href = redirectKO;
		}
	}
}

function validarMails(){
	
	de = document.getElementById("de").value;
	if (de==""){
		alert("Debe especificar el nombre del destinatario");
		return false;
	}
	
	var valid = false;
	array = document.getElementsByTagName("input");
	n = array.length;
	for (i=0;i<n;i++){
		key = array[i].name;
		value = array[i].value;
	  if ((key.substr(0,5)=="para_") && (value!="")){		  
	  	  valid = true;
		  var regexp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/;
		  if (regexp.test(value)==false){
				alert("Hay direcciones de email erroneas.")  
				return false;
			}
	  }
  }
  
	if (valid==false){
		alert("Debe especificar al menos un destinatario.")  
	}
	return valid;
}
