var kForm={
  re:{
    mail: new RegExp("^([a-z0-9,!#\\$%&'\\*\\+/=\\?\\^_`\\{\\|}~-]+(\\.[a-z0-9,!#\\$%&'\\*\\+/=\\?\\^_`\\{\\|}~-]+)*)@(([a-z0-9-]+(\\.[a-z0-9-]+)*)\\.([a-z]{2,}))$",""),
    notempty: /[^\s]+/,
    uint: /^\d+$/,
    int: /^-?\d+$/
  },
  forms:{},
  inpErr:function(id){ if(document.getElementById(id).className.search(/ inpLineErr($| )/)==-1) document.getElementById(id).className+=" inpLineErr"; },
  inpOk:function(id){ document.getElementById(id).className=document.getElementById(id).className.replace("inpLineErr",""); },
  v:function(formName,id){
    var h=true;
    if(kForm.forms[formName]){
      var i;
      for(i in kForm.forms[formName]){
        if(id==null || i==id){
          if(kForm.forms[formName][i].pre!=null){
            document.getElementById(formName+"_"+i+"_inp").value=eval("document.getElementById(formName+'_'+i+'_inp').value."+kForm.forms[formName][i].pre+"();");
          }
          if(kForm.forms[formName][i].vre!=null){
            if(!document.getElementById(formName+"_"+i+"_inp").value.match(kForm.forms[formName][i].vre)){ h=false; kForm.inpErr(formName+"_"+i+"_cnt"); }else kForm.inpOk(formName+"_"+i+"_cnt");
          }        
          if(h && kForm.forms[formName][i].vfnc!=null){
            if(!kForm.forms[formName][i].vfnc(document.getElementById(formName+"_"+i+"_inp").value)){ h=false; kForm.inpErr(formName+"_"+i+"_cnt"); }else kForm.inpOk(formName+"_"+i+"_cnt");
          }
        }
      }
    }
    return h;      
  },
  selShow:function(formName,id){
    var cnt=el(formName+"_"+id+"_cnt");
    var box=el(formName+"_"+id+"_selectBox");
    box.style.top=(cnt.offsetHeight+cnt.offsetTop)+'px';
    box.style.left=cnt.offsetLeft+'px';
    box.style.display=box.style.display=='block'?'none':'block';
    return false;
  },
  selSet:function(formName,id,v){
    el(formName+"_"+id+"_disp").innerHTML=el(formName+"_"+id+"_sel_"+v).innerHTML;
    el(formName+"_"+id+"_selectBox").style.display='none';
    el(formName+"_"+id+"_inp").value=v;
    return false;
  }  
};

