function submitForm( frm , need ) {
	
	var ne = ''; var ferr = '';
	var erro = new Array();
	var leed = new Array();
	
	if (0<=need.length){
		for (var l in need){ var inpv = frm.elements[need[l][0]] ; if(!inpv)continue;
			
			switch(need[l][1]){
				case 'mail': ne = '^[a-zA-Z0-9\-\._]*[a-zA-Z0-9_]@[a-zA-Z0-9][a-zA-Z0-9\-\._]*[a-zA-Z0-9]\.[a-zA-Z]{2,6}$' ; break;
				case 'url': ne = '^(https?|ftp)://([a-zA-Z0-9]{1,})+[\.]+([a-zA-Z0-9._-]*).([a-z0-9]{1,4})'; break;
				default: ne = '['+need[l][1]+']' ;
			}
			
			// SELECT
			
			if ( need[l][3] == 1 && inpv.value.replace(need[l][2],'') == ''
			 || need[l][3] == 1 && inpv.value.search(ne) == -1 
			 || need[l][3] != 1 && need[l][1].search('mail|url') !=-1 && inpv.value.replace(need[l][2],'') != '' && inpv.value.search(ne) == -1 
			 ){
				erro.push( '* ' + need[l][4] + ' ' + inpv.value.replace(need[l][2],'') );
				inpv.className = 'inp_error' ; if(ferr=='')ferr=need[l][0] ;
			} else { inpv.className = '' ;}
			
			if(need[l][2]!='' && inpv.value==need[l][2])
				leed.push( Array(need[l][0], need[l][1], need[l][2]) );
		}
		
		if (erro.length==0&&0<leed.length){
			for (var l in leed ){ var inp = frm.elements[leed[l][0]] ;
				var j = erro.length ; /* alert(' ('+j+')siin:'+inp.value); */
				if ( inp.value == leed[l][2] ) inp.value = '' ;
			}
		}
		
	}
	
	if (erro.length){ alert('Palun täida väljad korrektselt (vigasid: '+erro.length+")\n\n"+erro.join("\n")); frm.elements[ferr].focus(); }
	else{ return true ; }
	return false ;
}