function currencyFormat(fld, milSep, decSep, e, limite) {
	var sep = 0;
	var key = '';
	var i = j = 0;
	var len = len2 = 0;
	var strCheck = '0123456789';
	var aux = aux2 = '';
	var whichCode = (window.Event) ? e.which : e.keyCode;
	var tamanho = fld.value.length;

    if (tamanho >= limite) {
	   return;
	}   

	if (whichCode == 13) {
		return true;  // Enter
	}
	key = String.fromCharCode(whichCode);  // Get key value from key code
	if (strCheck.indexOf(key) == -1) {
		return false;  // Not a valid key
	}
	len = fld.value.length;
	for(i = 0; i < len; i++) {
		if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)){
			 break;
		}
	}
	
	aux = '';
	for(; i < len; i++) {
		if (strCheck.indexOf(fld.value.charAt(i))!=-1){
			aux += fld.value.charAt(i);
		}
	}
	aux += key;
			
	len = aux.length;
	if (len == 0) {
		fld.value = '';
	} else if (len == 1) {
		fld.value = '0'+ decSep + '0' + aux;
	} else if (len == 2) {
		fld.value = '0'+ decSep + aux;
	} else if (len > 2) {
		aux2 = '';

		for (j = 0, i = len - 3; i >= 0; i--) {
			if (j == 3) {
				aux2 += milSep;
				j = 0;
			}
			aux2 += aux.charAt(i);
			j++;
		}
		fld.value = '';
		len2 = aux2.length;
		for (i = len2 - 1; i >= 0; i--) {
			fld.value += aux2.charAt(i);
		}
		
		fld.value += decSep + aux.substr(len - 2, len);
	}
	return false;
}

function check_date(field){
var checkstr = "0123456789";
var DateField = field;
var Datevalue = "";
var DateTemp = "";
var seperator = "/";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
   err = 0;
   DateValue = DateField.value;
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   month = DateValue.substr(2,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* Validation of day*/
   day = DateValue.substr(0,2);
   if (day < 1) {
     err = 22;
   }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) {
      DateField.value = day + seperator + month + seperator + year;
   }
   /* Error-message if err != 0 */
   else {
      alert("Incorrect Date!");
      DateField.select();
	  DateField.focus();
	  }
}

function numericodec(qual){
	if((event.keyCode<45 || event.keyCode>57) && (event.keyCode<96 || event.keyCode>105) && (event.keyCode<37 || event.keyCode>40) && (event.keyCode<8 || event.keyCode>13) && (event.keyCode!=13)){
		if(event.keyCode!=188 && event.keyCode!=190 && event.keyCode!=194 || (qual.indexOf('.')>0 || qual.indexOf(',')>0)){
			return false;
		}
	}		
}

function numericoint(qual){
	if((event.keyCode<45 || event.keyCode>57) && (event.keyCode<96 || event.keyCode>105) && (event.keyCode<37 || event.keyCode>40) && (event.keyCode<8 || event.keyCode>13) && (event.keyCode!=13)){
	//	if(event.keyCode!=188 && event.keyCode!=190 && event.keyCode!=194 || (qual.indexOf('.')>0 || qual.indexOf(',')>0)){
			return false;
	//	}
	}		
}


function numericodata(qual){
    //alert(event.keyCode); 
	if((event.keyCode<45 || event.keyCode>57) && (event.keyCode<96 || event.keyCode>105) && (event.keyCode<37 || event.keyCode>40) && (event.keyCode<8 || event.keyCode>12)){
		if(event.keyCode!=191){
			return false;
		}
	}		
}


function pegaenter(form){
	//alert ('passei aqui');
	if(event.keyCode==13){
		return false;
		if (critica('pegaenter')){
		   form.submit();
		   		}
		}	
}

function veroufal (str) {
	// verifica se um campo do access é verdadeiro ou falso
	str = str.toUpperCase();
	if ((str != '0') && (str != 'NO') && (str != 'NÃO'))
	   {return true;}
	else
	   {return false;}
	}
	
function selmarcatudo(objeto,estado) 
{
var cont;
cont = objeto.options.length;
for (var i = 0 ; i < cont ; i++) 
  {
  objeto.options[i].selected=estado;
  }
}



function selcriaopcao(objeto,texto,valor,posicao,checa) 
  {
  // checa se já existe texto igual, se existir nao cria
    if (checa){
       var cont = objeto.options.length;
       for (var i = 0 ; i < cont ; i++) 
       {
         if (objeto.options[i].text==texto) 
            return false;
       }
       }
       
    var opcao = document.createElement("OPTION");
    objeto.options.add(opcao,posicao);
    opcao.innerText = texto ;
    opcao.value = valor;
    return true;
  }
  
function selapagaopcao(objeto) 
{
// apaga todas as opções selecionadas
var cont;
cont = objeto.options.length - 1;
for (var i = cont ; i > -1 ; i-=1) 
  {
  if (objeto.options[i].selected==true){
     objeto.remove(i);}
  }
}


function arrselect(objeto) 
{
// retorna um array com todos os valores do select
var cont;
cont = objeto.options.length - 1;
var arrselect = new Array();
for (var i = cont ; i > -1 ; i-=1) 
  {
  arrselect[i] = objeto.options[i].value;
  }
//alert (arrselect.join());
return arrselect;  
}

  
function mostraopcao(objeto) {
var sel = objeto.selectedIndex;
var str = 'valor = ' + objeto.options(sel).value + ' tela = ' + objeto.options(sel).text;
alert (str);
}
    
function invertedata(data){
	// considera data no formato 'dd/mm/aaaa' inclusive com barras
	var res = '';
	res = res.concat(data.slice(6,10),data.slice(3,5),data.slice(0,2));
	return res;
}
	
function criticafxdata(fx1,fx2){
	if (invertedata(fx1) > invertedata(fx2) || (fx1.length==0 && fx2.length==0))
	   return false;
	else
	   return true;
									   
}

function criticafxnumero(fx1,fx2){
    if ((fx1 == '') && (fx2 == ''))
       return false;
    fx1 = parseInt(fx1)
    fx2 = parseInt(fx2)
    //alert (fx1 + fx2);
	if ((fx1 > fx2) || ((fx1 < 0) && (fx2 <0)))
	   return false;
	else
	    return true;
}

