function getxmlhttp(){
		var xmlhttp = false;
		//comprobamos si se esta utilizando msIExplorer
		try{
			//si la version de javascript es superior a la 5
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			//En caso contrario utilizar el tradicional objeto de activex
			try{
				//se utiliza msIExplorer
				xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
			}catch(E){
				//En caso contrario no se está utilizando msIExplorer
				xmlhttp = false;
			}			
		}

		//si no se está usando msIExplorer, crear una instancia javascript del objeto
		if(!xmlhttp && typeof XMLHttpRequest != 'undefined'){
			xmlhttp = new XMLHttpRequest();
		}
		return xmlhttp;
}

function procesaajax(serverpage, obj, getOrPost,str){
	xmlhttp=getxmlhttp();
	if(getOrPost == "GET"){
		obj.innerHTML = '<div class="cargando">&nbsp;<br />&nbsp;</div>';
		xmlhttp.open("GET", serverpage);
		xmlhttp.onreadystatechange = function(){
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
				obj.innerHTML = xmlhttp.responseText;
			}
		}
		xmlhttp.send(null);
	}else{
		obj.innerHTML = '<div class="cargando">&nbsp;<br />&nbsp;</div>';
		xmlhttp.open("POST",serverpage,true);
		xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=ISO-8859-1");
		xmlhttp.onreadystatechange = function(){
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
				obj.innerHTML = xmlhttp.responseText;
			}
		}
		xmlhttp.send(str);
	}	
}

//FUNCIONES PARA ENVIAR UN FORMULARIO
function getformvalues (fobj, valfunc){
	var str="";
	aok = true;
	var val;

	for(var i=0; i<fobj.elements.length;i++){
		if(valfunc){
			if (aok == true){
				val = valfunc (fobj.elements[i].value, fobj.elements[i].name);
				if (val == false){
					aok=false;
				}
			}
		}

		if (fobj.elements[i].type == "radio") {
			if (fobj.elements[i].checked) {
				str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
			} 
		/*} else if (fobj.elements[i].tagName == "select") {
			var sel = fobj.elements[i];
			/*if (fobj.elements[i].id == "countryarray") {
			var numopts = document.forms[0].elements['countryarray[]'].length
			
				for(var q=0;q<=numopts;q++){
						// WHAT NOW?	
				}
			} else {
					str += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
			//}
			alert("selection");*/				
		} else {
			str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
		}
	}			
	//alert(str);
	return str;
}

function submitform(theform, serverPage, objID, valfunc){
	var file = serverPage;
	var str = getformvalues(theform,valfunc);
	//Si la validación es correcta
	if (aok == true){
		obj = document.getElementById(objID);
		procesaajax (serverPage, obj, "post", str);
	}
}
