// Funcoes para validacao de formularios

var formRef = "document." + formName;

function checkForm(){
	count = 0;
	for(i=0;i<fieldName.length;i++){
		if(checkField(fieldName[i],fieldType[i])){
			count++;
		}
		else{
			if(fieldErrorMsg[i]){
				alert(fieldErrorMsg[i]);
				if(fieldName[i].indexOf(",") != -1)
				{
					target = fieldName[i].split(",");
					eval(formRef + "." + target[0]).focus();
					break;
				}
				if(eval(formRef + "." + fieldName[i])[0])
				{
					eval(formRef + "." + fieldName[i])[0].focus();
				}
				else
				{
					eval(formRef + "." + fieldName[i]).focus();
				}
			}
			return;
		}
	}
	if(count == fieldName.length){
		eval(formRef).submit();
	}
}

function checkField(field,type){
	switch(type){
		case 'notEmpty':
			if(isEmpty(field)){
				return false;
			}
			else{
				return true;
			}
		break;
		case 'Email':
			if(isMail(field)){
				return true;
			}
			else{
				return false;
			}
		break;
		default:
			alert('Os tipos que podem ser validados são: notEmpty ; Email ; Number ; Day ; Month ; Year ; CEP ; Selected ; Checked ; Equal; Pair; EmptyorNumber; Length; CPF. Você selecionou:' + type);
			return false;
		break;
	}
}


function isEmpty(campo){
	if(eval(formRef+'.'+campo).value == ""){
		return true;
	}
	else{
		return false;
	}
}


function isMail(campo){
	field = eval(formRef+'.'+campo).value;
	if(field.indexOf("@") != -1){
		mail_back = field.substring(field.indexOf("@")+1,field.length);
		if(mail_back.indexOf(".") > 0){
			mail_end = mail_back.substring(mail_back.lastIndexOf(".")+1,mail_back.length);
			if(mail_end.length != 2 && mail_end.length != 3){
				return false;
			}
			else{
				return true;
			}		
		}
		else{
			return false;
		}
	}
	else{
		return false;
	}
}