function creaAjax(){//CREA EL OBJETO AJAX
  var objetoAjax=false;
  try {
   /*Para navegadores distintos a internet explorer*/
   objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
     /*Para explorer*/
     objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
     } 
     catch (E) {
     objetoAjax = false;
   }
  }

  if (!objetoAjax && typeof XMLHttpRequest!='undefined') {
   objetoAjax = new XMLHttpRequest();
  }
  return objetoAjax;
}

function enviarFormulario(formid){//Recoge todos los valores de un formulario
	var nombre=""//nombre del campo radio que esta validando
	var j=0 //total de valores que posee el campo radio
	var campo_radio //nombre del campo radio
	
	var Formulario = document.getElementById(formid);
	var longitudFormulario = Formulario.elements.length;
	var cadenaFormulario = ""
	var sepCampos
	sepCampos = ""
	
	for (var i=0; i <= Formulario.elements.length-1;i++) {
		
		if(Formulario.elements[i].type!="button" && Formulario.elements[i].type!="checkbox" && Formulario.elements[i].type!="radio"){//RESTO DE CAMPOS
			cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI(Formulario.elements[i].value);
			sepCampos="&";
		}
						
		if(Formulario.elements[i].type=="checkbox"){//CAMPOS CHECKBOX
			if(Formulario.elements[i].checked==true){	
				cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI(Formulario.elements[i].value);
				sepCampos="&";
			}
			else{
				cadenaFormulario += sepCampos+Formulario.elements[i].name+'=""';
				sepCampos="&";
			}
		}
		
		
		if(Formulario.elements[i].type=="radio" &&  nombre!=Formulario.elements[i].name){//ELEMENTO RADIO, valida los marcados
				campo_radio=Formulario.elements[i].name;
				
				if (document.getElementById(campo_radio + j).checked == true) {
					//alert(document.getElementById(campo_radio + j).value)
					cadenaFormulario += sepCampos+campo_radio+'='+encodeURI(document.getElementById(campo_radio + j).value);
					sepCampos="&";
					nombre=campo_radio;
					j=0;
					}
				j++;
		}		
		
	}
	//alert (cadenaFormulario);
	return cadenaFormulario;
	
}




function envia_valores(formid,url,capa,borrar)//ENVIA VALORES VIA POST
{
	//borrar-->0 se activa , 1 se desactiva
	
	var ajax=creaAjax();
   	var capaContenedora = document.getElementById(capa);
	var valores=enviarFormulario(formid);
	
	// Coloco el mensaje "Cargando..." en la capa
	capaContenedora.innerHTML="Espere por favor ... <br /><img src='imagenes/loading.gif' /><br />";
	// Abro la conexin, envo cabeceras correspondientes al uso de POST y envo los datos con el mtodo send del objeto AJAX
	ajax.open("POST",url, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(valores);

	ajax.onreadystatechange=function()
	{
		if (ajax.readyState==4)
		{
			// Respuesta recibida. Coloco el texto plano en la capa correspondiente
			capaContenedora.innerHTML=unescape(ajax.responseText);
			if(borrar==0)
				borrarFormulario(formid);
				
		}
	}
}

function borrarFormulario(formid){//Borra todos los elementos del formulario
	var Formulario = document.getElementById(formid);
	var longitudFormulario = Formulario.elements.length;	
	for (var i=0; i <= Formulario.elements.length-1;i++) {
		
		if(Formulario.elements[i].type!="checkbox" && Formulario.elements[i].type!="hidden"){	
			Formulario.elements[i].value="";
		}
		if(Formulario.elements[i].type == "checkbox"){	
			Formulario.elements[i].checked=0;
		}
	
	}
	
	Formulario.elements[0].focus();
}

