var xmlHttp;
var sent = false;
var loadingMsg = "Enviando...";
var goodMsg = "&iexcl; Gracias por comunicarse !";
var badMsg = "Hay algunos campos con problemas. miauuu!";
var successMsg = 'Mensaje Enviado';

function popup(msg,fade,color){
	Mcolor = color || "#FFF";
	jQuery.blockUI({ css: {
		border: 'none', 
		padding: '20px',
		backgroundColor: '#000', 
		fontSize: '16px', 
		'-webkit-border-radius': '10px', 
		'-moz-border-radius': '10px', 
		opacity: '.9', 
		color: Mcolor
 },message: msg });
 
 if(fade==true) fade = 3000;
 if(fade>0) setTimeout(jQuery.unblockUI, fade); 
}

function validate(status,id){
	if(status == 0){
		document.getElementById(id).style.borderColor = '#c00';
		document.getElementById(id).style.color= '#c00';
	}else{
		document.getElementById(id).style.borderColor = '#666';
		document.getElementById(id).style.color= '#333';
	}
}

function parseParams(params){
	var s = '';
	for(var i in params){
		var t = gettype(params[i]);
		if(t == 'checkbox' || t == 'radio'){
			s += params[i]+'='+getcheck(params[i])+'&'
		}else if(t == 'select-multiple'){
			s += params[i]+'='+getMultiple(params[i])+'&'
		}else{
			s += params[i]+'='+escape(getval(params[i]))+'&'
		}
	}
	return s.substr(0,s.length-1);
}
// Get And Sets
function setval(id,val){
	document.getElementById(id).value = val;
}
function getval(id){
	return document.getElementById(id).value;
}
function getcheck(id){
	return document.getElementById(id).checked;
}
function gettype(id){
	return document.getElementById(id).type;
}
function getMultiple(ob){
	ob = document.getElementById(ob);
	selected = new Array();
	for(var i = 0; i < ob.options.length; i++) if(ob.options[i].selected) selected.push(ob.options[i].value);
	return selected;
}

var campos;

function sendForm(){
	if(sent) return false;
	popup(loadingMsg);
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
		alert ('Tu explorador no soporta AJAX.');
		return;
	} 
	
	campos = document.getElementById('campos').value;
	campos = campos.split(',');
	var params = parseParams(campos);
	
	xmlHttp.onreadystatechange = doSendForm
	xmlHttp.open("POST","validate.php",true)
	xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(params);
} 

function doSendForm(){ 
	if (xmlHttp.readyState==4){ 
		var r = xmlHttp.responseText;
		
		var x = 0;
		var f = new Array();
		
		for(i in campos){
			f[x] = r.substr(x,1);
			validate(f[x],campos[i]);
			x++;
		}
		
		var errores = 0;
		
		for(i in f){
			if(f[i] == '0') errores++;
		}
		
		if(errores > 0){
			popup(badMsg,true,"#fff");
		}else{
			sent = true;
			popup(goodMsg,true);
			document.getElementById('enviar').innerHTML = successMsg;
		}
	}
}
function GetXmlHttpObject(){var xmlHttp=null;try{xmlHttp=new XMLHttpRequest();}catch(e){try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}}return xmlHttp;}
