function YY_checkform() { //v4.65
  var myDot=true;
  var myV='';
  var myErr='';
  var addErr=false;
  var myReq;
  for (var i=1; i<arguments.length;i=i+4){
    if (arguments[i+1].charAt(0)=='#'){myReq=true; arguments[i+1]=arguments[i+1].substring(1);}else{myReq=false}
    var myObj = MM_findObj(arguments[i].replace(/\[\d+\]/ig,""));
    myV=myObj.value;
    if (myObj.type=='text'||myObj.type=='password'||myObj.type=='hidden'){
      if (myReq&&myObj.value.length==0){addErr=true}
      if ((myV.length>0)&&(arguments[i+2]==1)){ //fromto
        var myMa=arguments[i+1].split('_');if(isNaN(parseInt(myV))||myV<myMa[0]/1||myV > myMa[1]/1){addErr=true}
      } else if ((myV.length>0)&&(arguments[i+2]==2)){
          var rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-z]{2,4}$");if(!rx.test(myV))addErr=true;
      } else if ((myV.length>0)&&(arguments[i+2]==3)){ // date
        var myMa=arguments[i+1].split("#"); var myAt=myV.match(myMa[0]);
        if(myAt){
          var myD=(myAt[myMa[1]])?myAt[myMa[1]]:1; var myM=myAt[myMa[2]]-1; var myY=myAt[myMa[3]];
          var myDate=new Date(myY,myM,myD);
          if(myDate.getFullYear()!=myY||myDate.getDate()!=myD||myDate.getMonth()!=myM){addErr=true};
        }else{addErr=true}
      } else if ((myV.length>0)&&(arguments[i+2]==4)){ // time
        var myMa=arguments[i+1].split("#"); var myAt=myV.match(myMa[0]);if(!myAt){addErr=true}
      } else if (myV.length>0&&arguments[i+2]==5){ // check this 2
            var myObj1 = MM_findObj(arguments[i+1].replace(/\[\d+\]/ig,""));
            if(myObj1.length)myObj1=myObj1[arguments[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!myObj1.checked){addErr=true}
      } else if (myV.length>0&&arguments[i+2]==6){ // the same
            var myObj1 = MM_findObj(arguments[i+1]);
            if(myV!=myObj1.value){addErr=true}
      }
    } else
    if (!myObj.type&&myObj.length>0&&myObj[0].type=='radio'){
          var myTest = arguments[i].match(/(.*)\[(\d+)\].*/i);
          var myObj1=(myObj.length>1)?myObj[myTest[2]]:myObj;
      if (arguments[i+2]==1&&myObj1&&myObj1.checked&&MM_findObj(arguments[i+1]).value.length/1==0){addErr=true}
      if (arguments[i+2]==2){
        var myDot=false;
        for(var j=0;j<myObj.length;j++){myDot=myDot||myObj[j].checked}
        if(!myDot){myErr+='* ' +arguments[i+3]+'\n'}
      }
    } else if (myObj.type=='checkbox'){
      if(arguments[i+2]==1&&myObj.checked==false){addErr=true}
      if(arguments[i+2]==2&&myObj.checked&&MM_findObj(arguments[i+1]).value.length/1==0){addErr=true}
    } else if (myObj.type=='select-one'||myObj.type=='select-multiple'){
      if(arguments[i+2]==1&&myObj.selectedIndex/1==0){addErr=true}
    }else if (myObj.type=='textarea'){
      if(myV.length<arguments[i+1]){addErr=true}
    }
    if (addErr){myErr+='* '+arguments[i+3]+'\n'; addErr=false}
  }
  if (myErr!=''){alert('The required information is incomplete or contains errors:\t\t\t\t\t\n\n'+myErr)}
  document.MM_returnValue = (myErr=='');
}
