//FUNCAO QUE VERIFICA SE OS CAMPOS (vetor) DE UM FORMULARIO ESTAO PREENCHIDOS
function validateForm(form, fields)
{
	var pForm = 0;
	var pVet = 0;
	while (form.elements[pForm] != null)
	{
		if ((form.elements[pForm].name == fields[pVet]) || (form.elements[pForm].id == fields[pVet]))
		{
			if ((form.elements[pForm].type == "text") || (form.elements[pForm].type == "password") ||
				(form.elements[pForm].type == "textarea"))
			{
				if (trim(form.elements[pForm].value) == "")
				{
					alert("O campo '"+ fields[pVet+1] + "' não pode ser nulo!");
					form.elements[pForm].focus();
					return false;
				}
			}
			if (form.elements[pForm].type == "select-one")
			{
				if (form.elements[pForm].value == "0")
				{
					alert("O campo '"+ fields[pVet+1] + "' não pode ser nulo!");
					form.elements[pForm].focus();
					return false;
				}
			}
			pVet = pVet + 2;
		}
		pForm++;
	}
	return true;
}

function onlyIntegerNumbers(e)
{
	var charCode;
	var ret;
	if(navigator.appName.indexOf("Microsoft")!= -1) 
		charCode = event.keyCode;
	else
  		charCode = e.which;
	if (((charCode >= 48) && (charCode <= 57)) || (charCode == 8) || (charCode == 9) || (charCode == 127) || (charCode == 16) || (charCode == 17) || (charCode == 0))
	{
		return true;
	}
	return false;
}

function onlyRealNumbers(e)
{
	var charCode;
	if(navigator.appName.indexOf("Microsoft")!= -1)
	{ 
		charCode= event.keyCode;
		texto = event.srcElement.value;
	}
	else
	{
  		charCode= e.which;
		texto = e.currentTarget.value;
	}
	if (((charCode >= 48) && (charCode <= 57)) || (charCode == 8) || (charCode == 9) || (charCode == 127) || (charCode == 16) || (charCode == 17) || (charCode == 0) || (charCode == 46))
	{
		if(charCode == 46)
		{
			if(texto.indexOf(".") >= 0)
				return false;
			else return true;
		}
		return true;
	}
	return false;
}

function onlyInteger(event)
{
	return onlyIntegerNumbers(event);
}

function onlyReal(event)
{
	return onlyRealNumbers(event);
}

function validateStartEndDate(startDateField,endDateField)
{
	if ((trim(startDateField.value) == "") && (trim(endDateField.value) == ""))
	{
		return true;
	}

	if ((trim(startDateField.value) != "") && (trim(endDateField.value) == ""))
	{
		alert("Preencha a 'Data Final'!");
		endDateField.focus();
		return false;
	}

	if ((trim(startDateField.value) == "") && (trim(endDateField.value) != ""))
	{
		alert("Preencha a 'Data Inicial'!");
		startDateField.focus();
		return false;
	}

	if (!validateDate(startDateField.value))
	{
		alert('Data Inválida!');
		startDateField.focus();
		return false;
	}

	if (!validateDate(endDateField.value))
	{
		alert('Data Inválida!');
		endDateField.focus();
		return false;
	}

	var startDay = startDateField.value.substring(0,2);
	var startMonth = startDateField.value.substring(3,5);
	var startYear = startDateField.value.substring(6,10);
	var intStartDate = parseInt(startYear + startMonth + startDay,10);

	var endDay = endDateField.value.substring(0,2);
	var endMonth = endDateField.value.substring(3,5);
	var endYear = endDateField.value.substring(6,10);
	var intEndDate = parseInt(endYear + endMonth + endDay,10);

	if (intStartDate > intEndDate)
	{
		alert("A 'Data Final' deve ser maior ou igual a 'Data Inicial'!");
		startDateField.focus();
		return false;
	}

	return true;
}

function validateFormEmail(field)
{
	if (!validateEmail(field.value))
	{
		alert("'" + field.value + "' é um endereço de e-mail inválido!");
		field.focus();
		return false;
	}
	return true;
}
