function MM_validateForm() 
	{ //v4.0
  	if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) 
		{ 
		test=args[i+2]; 
		val=document.getElementById(args[i]);
      	if (val) 
			{ 
			nm=val.id; 
			val=val.value
	  		if (val.charAt(0) != " " && (val)!="" && val !="Nome:" && val !="Telefone:" && val !="Melhor hor&aacute;rio:" ) 
				{
        		if (test.indexOf('isEmail')!=-1) 
					{ 
					a=val.indexOf('@');
					p=val.substring(a).indexOf('.');
					d=val.substring(a+p).length;
          			if (a<1 || a==(val.length-1) || p<3 || d<3) 
						errors+= nm.substring(1)+' deve conter um endereço de email válido.\n\n';
        			} 
				else if (test.indexOf('isFone')!=-1) 
					{
					num = parseFloat(val);
          			if (isNaN(val) || val.length<8) 
						errors+= nm.substring(1)+' deve conter um números de telefone válido.\n\n';
          			}
				else if (test!='R') 
					{ 
					num = parseFloat(val);
          			if (isNaN(val)) errors+= nm.substring(1)+' deve conter somente números.\n\n';
          			if (test.indexOf('inRange') != -1) 
						{ 
						p=test.indexOf(':');
            			min=test.substring(8,p); max=test.substring(p+1);
            			if (num<min || max<num) errors+= nm.substring(1)+' deve conter um número entre '+min+' e '+max+'.\n\n';
      					} 
					} 
				} 
			else if (val.charAt(0) == " ") 
				errors += 'O valor informado para ' +nm.substring(1)+ ' é inválido. \n\n'; 
			else if (test.charAt(0) == 'R') 
				errors += nm.substring(1)+' é obrigatório \n\n'; }
    		} 
		if (errors) alert(errors);
    	document.MM_returnValue = (errors == '');
		} 
	}