var oForm = {
  fields : [],
  findBy : function(code){},
  findLabel : function(id){
    var label = $(id+'-label');
    if(valid.obj(label)){
      return label.innerHTML;
    }
    return id;
  },
  getValidations : function(){
    var validations = $('validations');
    if(valid.obj(validations)){
      //['pwd_user':['noEmpty','email'],'pwd_user':['noEmpty'],'user_user':[]]
      eval('var val=' + validations.value + ';');
      return val;
    }else{
      return [];
    }
  },
  getValFieldToArray : function(field){
    return ( valid.obj(this.fields[field])?conv.stringToArray(this.fields[field].value):[] );
  },
  load : function(form) {
    var validations = this.getValidations();
    for(i=0;i<form.elements.length;i++){
      this.fields[form.elements[i].name] = form.elements[i];
      this.fields[form.elements[i].name]['index'] = i;
      this.fields[form.elements[i].name]['validation'] = (validations[form.elements[i].name])?validations[form.elements[i].name].val:[];
    }
  },
  isValid : function(){
    var error = '';
    var msg = $('msgValidation');
    var HTML = false;
    if(valid.obj(msg))HTML = true;
    for( field in this.fields){
      if(this.fields[field].validation.length > 0){
        for( val in this.fields[field].validation ){
          eval('var rta = valid.' + this.fields[field].validation[val] + '(\'' + this.fields[field].value + '\')');
          if( rta!=true ){
            //marca el campo e indica el error
            //$(field).style.backgroundColor = '#FF9D2E';
            $(field).className = 'fielderror '+$(field).className;
            //alert(parseInt(rta));
            if(parseInt(rta)>-1){
              error += 'El campo \'' + this.findLabel(field) + '\' ' + valid.errors[rta] + ( (HTML)?'.<br />':'.\n' );
            }else{
              error += rta + ( (HTML)?'.<br />':'.\n' );
            }
          }
        }
      }
    }
    if(error == ''){
      return true;
    }else{
      if(HTML){
        msg.innerHTML = error;
        msg.style.display = 'block';
      }else{
        alert(error);
      }
      return false;
    }
  }
  //,test : {teta:['hola','chota']}
};
//alert(oForm['test'].teta[1]);
function validate(form){
  oForm.load(form);
  return oForm.isValid();
}