// value validation
function valueValidation(objValue) {
	var valueTest;
	var iPos;
	iPos = objValue.value.indexOf(",");
	valueTest = objValue.value.substring(0, iPos) + objValue.value.substring(iPos + 1) + "";
	// check value format
	if (objValue.value.indexOf(".") != -1) {
        alert("Por favor utilize o formato \"1234,56\".");
        objValue.focus();
        return false;
	}
	if (iPos == -1) {
        alert("Por favor utilize o formato \"1234,56\".");
        objValue.focus();
        return false;
    // centavos length is 2?
	} else {
		cent_len = (objValue.value.substring(iPos+1, objValue.value.length)).length;
		if (cent_len != 2) {
	        alert("Por favor utilize o formato \"1234,56\".");
	        objValue.focus();
	        return false;
		}
	}
	// value is numeric?
    if (!IsNumeric(valueTest)) {
        alert("O valor inserido deve conter apenas números.");
        objValue.focus();
        return false;
    }
	return true;
}

//measure validation
function measureValidation(objMeasure, dec) {
	var mesureTest;
	var iPos;
	iPos = objMeasure.value.indexOf(".");
	mesureTest = objMeasure.value.substring(0, iPos) + objMeasure.value.substring(iPos + 1) + "";
	dec_len = (objMeasure.value.substring(iPos+1, objMeasure.value.length)).length;
	// check measure format
	if (objMeasure.value.indexOf(",") != -1) {
		if (dec == 2) {
	        alert("Por favor utilize o formato \"123.45\".");
	        objMeasure.focus();
	        return false;
		}
		if (dec == 3) {
	        alert("Por favor utilize o formato \"123.456\".");
	        objMeasure.focus();
	        return false;
		}
	}
	if (iPos == -1) {
		if (dec == 2) {
	        alert("Por favor utilize o formato \"123.45\".");
	        objMeasure.focus();
	        return false;
		}
		if (dec == 3) {
	        alert("Por favor utilize o formato \"123.456\".");
	        objMeasure.focus();
	        return false;
		}
    // decimals length is 2?
	} else {
		if (dec == 2) {
			if (dec_len != 2) {
		        alert("Por favor utilize o formato \"123.45\".");
		        objMeasure.focus();
		        return false;
			}
		}
		if (dec == 3) {
			if (dec_len != 3) {
		        alert("Por favor utilize o formato \"123.456\".");
		        objMeasure.focus();
		        return false;
			}
		}
	}
	// value is numeric?
    if (!IsNumeric(mesureTest)) {
        alert("A medida inserida deve conter apenas números.");
        objMeasure.focus();
        return false;
    }
	return true;
}

//email validation
function emailValidation(objEmail) {
    var at = "@";
    var dot = ".";
    var lat = objEmail.value.indexOf(at);
    var lstr = objEmail.value.length;
    var ldot = objEmail.value.indexOf(dot);
    if (objEmail.value.indexOf(at) == -1) {
        alert("Digite um formato de endereço de email válido. Ex.:usuario@exemplo.com.br");
        return false;
    }
    if (objEmail.value.indexOf(at) == -1 || objEmail.value.indexOf(at) == 0 || objEmail.value.indexOf(at) == lstr) {
        alert("Digite um formato de endereço de email válido. Ex.:usuario@exemplo.com.br");
        return false;
    }
    if (objEmail.value.indexOf(dot) == -1 || objEmail.value.indexOf(dot) == 0 || objEmail.value.indexOf(dot) == lstr) {
        alert("Digite um formato de endereço de email válido. Ex.:usuario@exemplo.com.br");
        return false;
    }
    if (objEmail.value.indexOf(at, (lat+1)) != -1) {
        alert("Digite um formato de endereço de email válido. Ex.:usuario@exemplo.com.br");
        return false;
    }
    if (objEmail.value.substring((lat-1), lat) == dot || objEmail.value.substring((lat+1), (lat+2)) == dot) {
        alert("Digite um formato de endereço de email válido. Ex.:usuario@exemplo.com.br");
        return false;
    }
    if (objEmail.value.indexOf(dot, (lat+2)) == -1) {
        alert("Digite um formato de endereço de email válido. Ex.:usuario@exemplo.com.br");
        return false;
    }
    if (objEmail.value.indexOf(" ") != -1){
        alert("Digite um formato de endereço de email válido. Ex.:usuario@exemplo.com.br");
        return false;
    }
    return true;
}

//telephone validation
function telValidation(objTel) {
	if (!IsNumeric(objTel.value)) {
        alert("Número de telefone inválido: digite apenas números.");
        return false;
	}
	if (objTel.value.length < 6 || objTel.value.length > 8) {
        alert("Número de telefone inválido: números de dígitos insuficientes.");
        return false;
	}
    var strSeqInvalidas = new Array("00000000", "12312312", "12345678", "32132132", "11112222");
    for (i = 0; i < strSeqInvalidas.length; i++) {
        if (strSeqInvalidas[i].search(objTel.value) != -1) {
            alert("Número de telefone inválido");
            return false;
        }
    }
    return true;
}
