function YY_checkform(){
	var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
	for (i=1; i<a.length;i=i+4){
	if (a[i+1].charAt(0)=='#'){
		r=true;
		a[i+1]=a[i+1].substring(1);
	}
	else{
		r=false;
	}
	o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
	o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
	v=o.value;t=a[i+2];
	if (o.type=='text'||o.type=='password'||o.type=='hidden'){
	if (r&&v.length==0){
		err=true;
	}
	if (v.length>0)if (t==1){ //fromto
		ma=a[i+1].split('_');
		if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){
			err=true;
		}
	}
	else if(t==2){
		rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");
		if(!rx.test(v))err=true;
	}
	else if (t==3){ // date
		ma=a[i+1].split("#");at=v.match(ma[0]);
		if(at){
			cd=(at[ma[1]])?at[ma[1]]:1;
			cm=at[ma[2]]-1;cy=at[ma[3]];
			dte=new Date(cy,cm,cd);
			if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){
				err=true;
			}
		}
		else{
			err=true;
		}
	}
	else if(t==4){ // time
		ma=a[i+1].split("#");
		at=v.match(ma[0]);
		if(!at){
			err=true;
		}
	}
	else if (t==5){ // check this 2
		if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
		if(!o1.checked){
			err=true;
		}
	}
	else if (t==6){ // the same
		if(v!=MM_findObj(a[i+1]).value){
			err=true;
		}
	}
	}
	else if(!o.type&&o.length>0&&o[0].type=='radio'){
		at=a[i].match(/(.*)\[(\d+)\].*/i);
		o2=(o.length>1)?o[at[2]]:o;
		if(t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){
			err=true;
		}
		if(t==2){
			oo=false;
			for(j=0;j<o.length;j++){
				oo=oo||o[j].checked;
			}
			if(!oo){
				s+='* '+a[i+3]+'\n';
			}
		}
	}
	else if (o.type=='checkbox'){
		if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){
			err=true;
		}
	}
	else if (o.type=='select-one'||o.type=='select-multiple'){
		if(t==1&&o.selectedIndex/1==0){
			err=true;
		}
	}
	else if (o.type=='textarea'){
		if(v.length<a[i+1]){
			err=true
		}
	}
	if (err){
		s+='* '+a[i+3]+'\n';
		err=false
	}
	}
	if (s!=''){
		alert('The required information is incomplete or contains errors:\t\t\t\t\t\n\n'+s);
	}
	document.MM_returnValue = (s=='');
}
