function decimal_valido(numero) {
	var validos = "0123456789.";
	if (numero.length == 0)
		 return (false);
	for (i = 0; i < numero.length; i++)  {
		if (validos.indexOf(numero.charAt(i)) == -1)
			return (false)
	}
	if (numero.indexOf(".") == -1)
		return (false);

	if (numero.indexOf(".") != numero.lastIndexOf("."))
		return (false);

	return (true)
}

function hora_valida(hora) {
	var formato = "[0-2][0-9]:[0-5][0-9]";
	var reg = new RegExp(formato);
	var formato_ok = reg.test(hora);
	var h = hora.substring(0,2);
	var m = hora.substring(3,5);
	var nova_hora = new Date(2000, 1, 1, h, m);
	var h_ok = (nova_hora.getHours() == h);
	var m_ok = (nova_hora.getMinutes() == m);
	return (formato_ok && h_ok && m_ok)
}

function Press_Numerico( intTecla ){
	if( intTecla < 48 || intTecla > 58 ){
		return event.keyCode = '';
	}else{
		return event.keyCode = intTecla;
	}
}

function checkdate(objName)
{
/* exemplo
// Data <input type=text name=from onBlur="checkdate(this)" size=11 maxlength=11>
//
//           nao esta funcionando a funcao
*/
	var datefield = objName;
	if (chkdate(objName) == false)
	{
		datefield.select();
		alert("Esta data esta incorreta, tente novemente. \n Ex.: 12/03/2000");
		datefield.focus();
		return false;
	}
	else
	{
		return true;
	}
}

function isEmail(str) {
  /* are regular expressions supported? */
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported)
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

function LTrim(str)
/*
PURPOSE: Remove leading blanks from our string.
IN: str - the string we want to LTrim
*/
{
	var whitespace = new String(" \t\n\r");	
	var s = new String(str);	
	if (whitespace.indexOf(s.charAt(0)) != -1) {
	    var j=0, i = s.length;	
	    while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
	        j++;	
	    s = s.substring(j, i);
	}	
	return s;
}

function RTrim(str)
/*
PURPOSE: Remove trailing blanks from our string.
IN: str - the string we want to RTrim	
*/
{
	var whitespace = new String(" \t\n\r");
	var s = new String(str);
	if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
	    var i = s.length - 1;
	    while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
	        i--;
	    s = s.substring(0, i+1);
	}	
	return s;
}

function Trim(str)

/*PURPOSE: Remove trailing and leading blanks from our string.
  IN: str - the string we want to Trim
  RETVAL: A Trimmed string!
*/
{
	return RTrim(LTrim(str));
}

function isNumber(value){
	if( isNaN( value ) || (value=="")){
		return false;
	}else{
		return true;
	}
}

function getLength(field){
	var TrimStr = Trim(field.value);
	var s = new String(TrimStr);
	return s.length;
}

function isValidField(field, fieldName) {
	if( field.value.indexOf("'") >= 0  ) {
		alert("Caracter apóstrofe ( \' ) nao é permitido em " + fieldName + ".");
		return false;
	}
	if( field.value.indexOf('"') >= 0  ) {
		alert("Caracter aspas ( \" ) nao é permitido em " + fieldName + ".");
		return false;
	}
	return true;
}

/* author: Paulo Rodrigo Cavalin
   creation date: 19/12/00
*/ 

function CPFValido(CPF){
	var k, i, j, Soma;
	if (CPF.length != 11) return false;
	k=0;
	while( k <= 1){
		Soma = 0;
		j = 10 + k;
		for (i=0; i<9+k; i++){
			Soma += parseInt(CPF.charAt(i),10)*j;
			j--;
		}
		Soma = 11 - Soma%11;
		if (Soma >= 10) Soma = 0;
		if (parseInt(CPF.charAt(9+k),10) != Soma) return false;
		k++;
	}
	return true;
}

function CNPJValido(CNPJ){
	var i, j, k, Soma;
	if (CNPJ.length != 14) return false;
	k = 0;
	while (k <= 1){
		Soma = 0;
		j = 5 + k;
		for (i=0; i <= 11+k; i++){
			Soma += parseInt(CNPJ.charAt(i),10)*j;
			if ( j != 2) j--;
			else j = 9;
		}
		Soma = 11 - Soma%11;
		if (Soma >= 10) Soma = 0;
		if ( Soma != parseInt(CNPJ.charAt(12+k))) return false;
		k++;
	}
	return true;
}

function just_number(valor){
	/* limpa a string e retorna apenas os numeros */
	var i, str_ret;
	str_ret = "";
	for (i=0; i <= valor.length-1; i++){
		if(isNumber(valor.substr(i, 1))) str_ret = str_ret + valor.substr(i, 1);
	}
	return str_ret;
}

function OpenWindow(wUrl, wName, wWidth, wHeight, wFeature) {
  if (isNaN(wName)) wName = '';
  if (isNaN(wWidth)) wWidth = '';
  if (isNaN(wHeight)) wHeight = '';
  if (wFeature == undefined)  wFeature = '';

  if (wWidth.length > 0) wWidth = ', width=' + wWidth;
  if (wHeight.length > 0) wHeight = ', height=' + wHeight;
  if (wFeature.length > 0) wFeature = ', ' + wFeature;

  window.open(wUrl, wName, ('menubar=no ' + wWidth + wHeight + wFeature));
}
