// valida onKeyPress se não há nenhum caracter problemático
function onKeyPressValidateSecureInput(e){
	var key = window.event ? e.keyCode : e.which;
	var keychar = String.fromCharCode(key);
	//var reg = /[^a-zA-Z0-9ç#£$+*-.=,!@() ]/;
   	//return !reg.test(keychar);
   	//todos os caracteres excepto <>&%\/"'
   	var filter = /[^<>&%\\/"']/;
	return filter.test(keychar);
} 

function onKeyPressBlockNumbers(e)
{
	var key = window.event ? e.keyCode : e.which;
	var keychar = String.fromCharCode(key);
	reg = /\d/;
	return !reg.test(keychar);
}

// valida onKeyPress se foi digitado um numérico
function onKeyPressValidateNumbers(evt){
   var charCode = (evt.which) ? evt.which : event.keyCode
   if (charCode > 31 && (charCode < 48 || charCode > 57))
  	    return false;
   return true;
}

// valida endereço de email  
function validateEmail(email){
	//var filter = /^(\w|\.|-)+@(\w|\.|-)+(\.[a-zA-Z]{2,6})$/ ;
	var filter = /^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i ;
	if (!filter.test(email))
		return false;
	return true;
}

function IsNumeric(sText){
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++){ 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1){
         IsNumber = false;
      }
   }
   return IsNumber;
}

// valida valor numérico
function validateNumber(valor){
	if (isNaN(valor) || valor<0 || Math.round(valor)!=valor)
		return false;
	return true;
}

//valida se dois campos são iguais, usado na confirmação de campos.
function doubleConfirmation(field1, field2){
	if (field1.value==field2.value)
		return true;
	return false;	
}

// valida tamanho mínimo  
function validateMinimumSize(field,len){
	if (field.value.length>=len)
		return true;
	return false;
}
 
//valida os campos obrigatórios de um form 
function formValidator(formobj, fieldRequired, fieldDescription, alertMsg){
	var l_Msg = alertMsg.length;
	
	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
			//alert (fieldRequired[i] + '---' + obj.type);
		if (obj){
			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "text":
			case "textarea":
			case "password":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			default:
			}
			if (obj.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
			}
		}
	}

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}

	
