function loadPage(destino,capa){
  capa.set('tween',{
    duration: 500,
    transition: Fx.Transitions.Expo.easeIn,
    link: 'chain'
  })
  var req = new Request({
    method: 'get',
    url: destino,
    onRequest: function(){
      capa.setOpacity(0);
    },
    onSuccess: function(texto,xml){
      capa.set('html',texto);
      capa.tween('opacity',1);
    }
  }).send();
}

function enviarFormulario(formulario,capa){
    if(validar(formulario)){
      url = formulario.action+"?"+formulario.toQueryString();
      req = new Request({
        method:'get',
        url:url,
        onRequest:function(){
          capa.set('html','<p>Enviando...</p>');
        },
        onSuccess:function(texto,xml){
          capa.set('html',texto);
        }
      }).send();
    }else{
      return false;
    }
}

function validar(formulario){
  var valido = true;
  var frmEl = formulario.elements;
  var contChk = 0;
  var hayChk = false;
  for(var i=0; i<frmEl.length; i++){
    var obj = frmEl[i];
    switch(obj.type){
      case 'text':{
        if(obj.value == '' && obj.className != 'nulo'){
		  //obj.setStyle('border','1px solid red');
          obj.style.border = "1px solid red";
          valido = false;
        }
        else{
		  if(obj.name == 'correo'){
			if(!(/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(obj.value))){
			  alert("direccion de correo invalida");
              valido = false;
			  //obj.setStyle('border','1px solid red');
              obj.style.border = "1px solid red";
			}else{
			  //obj.setStyle('border','1px solid #aaaaaa');
              obj.style.border = "1px solid #aaaaaa";
            }
		  }else{
		    //obj.setStyle('border','1px solid #aaaaaa');
            obj.style.border = "1px solid #aaaaaa";
		  }
          if(obj.name == 'txtCaptcha'){
            if(formulario.code.value!=obj.value){
              alert("No Coincide el texto del la imagen, intentelo nuevamente");
              valido = false;
              //obj.setStyle('border','1px solid red');
              obj.style.border = "1px solid red";
            }
            else{
                //obj.setStyle('border','1px solid #aaaaaa');
                obj.style.border = "1px solid #aaaaaa";
            }
          }
        }
        break;
      }
      case 'file':{
        if(obj.value==''){
          //obj.setStyle('border','1px solid red');
          obj.style.border = "1px solid red";
          valido = false;
        }else{
          //obj.setStyle('border','1px solid #aaaaaa');
          obj.style.border = "1px solid #aaaaaa";
        }
        break;
      }
      case 'password':{
        if(obj.value == ''){
		  //obj.setStyle('border','1px solid red');
          obj.style.border = "1px solid red";
          valido = false;
        }
        else{
          if(obj.name=='confirmacion'){
            if(frmEl[i-1].value!=obj.value){
              alert("los campos de clave y confirmación deben coincidir, verifiquelo e intentelo nuevamente");
              //obj.setStyle('border','1px solid red');
              obj.style.border = "1px solid red";
              valido = false;
            }
            else{
              //obj.setStyle('border','1px solid #aaaaaa');
              obj.style.border = "1px solid #aaaaaa";
            }
          }else{
             //obj.setStyle('border','1px solid #aaaaaa');
             obj.style.border = "1px solid #aaaaaa";
          }
        }
		break;
      }
	 case 'textarea':{
		if(obj.value == ''){
		  //obj.setStyle('border','1px solid red');
          obj.style.border = "1px solid red";
		  valido = false;
		}
		else{
		  //obj.setStyle('border','1px solid #aaaaaa');
          obj.style.border = "1px solid #aaaaaa";
		}
        break;
	 }
     case 'checkbox':{
       hayChk = true;
       if(obj.checked) contChk++;

       if(obj.name == 'changePass') hayChk = false;

       break;
     }
     case 'select-one':{
       if(obj.value==0){
         //obj.setStyle('border','1px solid red');
         obj.style.border="1px solid red";
         valido = false;
       }else{
         //obj.setStyle('border','1px solid #aaaaaa');
         obj.style.border="1px solid #aaaaaa";
       }
     }
    }
  }
   if(contChk==0 && hayChk){
      valido = false;
      alert('Debe seleccionar al menos un elemento de la lista');
    }
  return valido;
}
