
/**********************************************************************/
function fnkey(evt, cor, tipo) {
evt = (evt) ? evt : (window.event) ? event : null;
if (evt){
	var charCode = (evt.charCode) ? evt.charCode :
	((evt.keyCode) ? evt.keyCode :
	((evt.which) ? evt.which : 0));
	var vKey =  String.fromCharCode(charCode);
	if ( vKey == '.' || vKey == '-' && tipo == 'N' ){
		mRet = "9";
		return true;
	}
	if ( tipo=='A'){
		if (charCode == 13){
			return charCode;
		}else{
			return true;
		}
	}
	if ( vKey >= '0' && vKey <= '9' ){
		mRet = "9";
		if ( cor.value.length == 2 && tipo == 'D'){	cor.value = cor.value + '/'; }
		if ( cor.value.length == 5 && tipo == 'D'){	cor.value = cor.value + '/'; }
		return true;
	}
	if (charCode > 13 && charCode <= 32){
		mRet = "";
		return false;
	}
	if (vKey > '9' || vKey < '0'){
		mRet = "";
		return false;
	}
	switch (charCode){
	case 8:
	case 46:
		mRet = "9";
		return true;
	case 9:
		mRet = "";
		return true;
	case 13:
		mRet = "9";
		return true;
	}
	mRet = "";
	return true;
	}    
}

/**********************************************************************/
function fnvalor(frm){
	var valor=frm.value;
	var newvalor=""
	/* remove diferentes de numericos */
	for (i=0; i <= valor.length; i++) {
		if (valor.substr(i,1) >= 0 && valor.substr(i,1) <= 9) {
			newvalor=newvalor+valor.substr(i,1);
		}
	}
	/* remove zeros a esquerda */
	valor=newvalor
	for (i=0; i <= valor.length; i++) {
		if (valor.substr(i,1) != 0) {
			newvalor = valor.substr(i,valor.length-i);
			break;
		}
	}
	/* formata a string tipo 999.999,99 */
	switch (newvalor.length) {
	case 0:
		valor = "0,00";
		break;
	case 1:
		valor = "0,0"
		+ newvalor;
		break;
	case 2:
		valor = "0,"
		+ newvalor;
		break;
	case 3:
		valor = newvalor.substr(0,1)
		+ ","+newvalor.substr(1,2);
		break;
	case 4:
		valor = newvalor.substr(0,2)
		+ ","+newvalor.substr(2,2);
		break;
	case 5:
		valor = newvalor.substr(0,3)
		+ ","+newvalor.substr(3,2);
		break;
	case 6:
		valor = newvalor.substr(0,1)
		+ "."+newvalor.substr(1,3)
		+ ","+newvalor.substr(4,2)
		break;
	case 7:
		valor = newvalor.substr(0,2)
		+ "."+newvalor.substr(2,3)
		+ ","+newvalor.substr(5,2)
		break;
	case 8:
		valor = newvalor.substr(0,3)
		+ "."+newvalor.substr(3,3)
		+ ","+newvalor.substr(6,2)
		break;
	case 9:
		valor = newvalor.substr(0,1)
		+ "."+newvalor.substr(1,3)
		+ "."+newvalor.substr(4,3)
		+ ","+newvalor.substr(7,2)
		break;
	case 10:
		valor = newvalor.substr(0,2)
		+ "."+newvalor.substr(2,3)
		+ "."+newvalor.substr(5,3)
		+ ","+newvalor.substr(8,2)
		break;
	case 11:
		valor = newvalor.substr(0,3)
		+ "."+newvalor.substr(3,3)
		+ "."+newvalor.substr(6,3)
		+ ","+newvalor.substr(9,2)
		break;
	case 12:
		valor = newvalor.substr(0,1)
		+ "."+newvalor.substr(1,3)
		+ "."+newvalor.substr(4,3)
		+ "."+newvalor.substr(7,3)
		+ ","+newvalor.substr(10,2)
		break;
	case 13:
		valor = newvalor.substr(0,2)
		+ "."+newvalor.substr(2,3)
		+ "."+newvalor.substr(5,3)
		+ "."+newvalor.substr(8,3)
		+ ","+newvalor.substr(11,2)
		break;
	case 14:
		valor = newvalor.substr(0,3)
		+ "."+newvalor.substr(3,3)
		+ "."+newvalor.substr(6,3)
		+ "."+newvalor.substr(9,3)
		+ ","+newvalor.substr(12,2)
		break;
	}
	frm.value=valor;
}

/**********************************************************************/
function decvalor(frm){
	var valor=frm.value;
	var newvalor=""
	/* remove diferentes de numericos */
	for (i=0; i <= valor.length; i++) {
		if (valor.substr(i,1) >= 0 && valor.substr(i,1) <= 9) {
			newvalor=newvalor+valor.substr(i,1);
		}
	}
	/* remove zeros a esquerda */
	valor=newvalor
	for (i=0; i <= valor.length; i++) {
		if (valor.substr(i,1) != 0) {
			newvalor = valor.substr(i,valor.length-i);
			break;
		}
	}
	switch (newvalor.length) {
		case 0:
			valor = "0.00";
			break;
		case 1:
			valor = "0.0"
			+ newvalor;
			break;
		case 2:
			valor = "0."
			+ newvalor;
			break;
		default:
			valor = newvalor.substr(0, newvalor.length-2)
			+ "." + newvalor.substr(newvalor.length-2);
			break;
	}
	frm.value=valor;
	return;
}

/**********************************************************************/
function fnmouse(quem) {
//	if (event.button==2) {
		var conf = prompt ("Adicione aqui novo conteudo para este campo.","");
		if (conf) {
			quem.options[quem.options.length] = new Option (conf, conf);
			quem.selectedIndex = quem.options.length-1;
		}
//	}
}


/**********************************************************************/
function fndata(pdata) {
	var dia=mes=ano=gdata="";
	for (i=k=0; i < pdata.length; i++){
		if(pdata.substr(i,1)>=0 && pdata.substr(i,1)<=9){
			gdata+=(pdata.substr(i,1));
			k++;
		}else{
			if (dia==""){
				if (k < 2){
					dia="0"+gdata;
				}else{
					dia=+gdata;
					k=0;
				}
				gdata="";
				continue;
			}else if (mes==""){
				if (k < 2){
					mes="0"+gdata;
				}else{
					mes=+gdata;
					k=0;
				}
				gdata="";
				continue;
			}
		}
	}
	ano=gdata;
	biano = ano%4;
	if ( (dia<1 || dia>31) || (mes<1 || mes>12) ){ return false; }
	if (!(mes==1 || mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12) && dia > 30){ return false; }
	if (mes==2){ if (biano!=0 && dia > 28){ return false; } }
	if (ano < 1900){ return false; }
	return true;
}

/***********************************************************************************/
function login_senha(pcampo,pnome){
	var v = pcampo;
	var vc = "";
	for (i=0; i < v.length; i++){
		if ( v.substr(i,1)=="."){
			vc += v.substr(i,1);
		}else{
			if (v.substr(i,1).toUpperCase()>="A" && v.substr(i,1).toUpperCase()<="Z"
			 || (v.substr(i,1).toUpperCase()>="0" && v.substr(i,1).toUpperCase()<="9") ) {
				vc += v.substr(i,1);
			}else{
				alert(pnome + "\nApenas letras numeros e pontos são aceitos.")
				return false;
				break;
			}
		}
	}
	if (vc == "") {
		alert(pnome + "\nCampo obrigatório.")
		return false;
	}
	return true;
}

/***********************************************************************************/
function alfanum(pcampo,pnome){
	var v = pcampo;
	var vc = "";
	for (i=0; i < v.length; i++){
		if (v.substr(i,1).toUpperCase()>="A" && v.substr(i,1).toUpperCase()<="Z"
		 || (v.substr(i,1).toUpperCase()>="0" && v.substr(i,1).toUpperCase()<="9") ) {
			vc += v.substr(i,1);
		}else{
			alert(pnome + "\nApenas letras numeros são aceitos.")
			return false;
			break;
		}
	}
	if (vc == "") {
		alert(pnome + "\nCampo obrigatório.")
		return false;
	}
}

/***********************************************************************************/
function fntrim(pcampo){
	var v = pcampo;
	var vc = "";
	for (i=0; i < v.length; i++){
		if (v.substr(i,1) != " "){
			vc = v.substr(i);
			break;
		}
	}
	return(vc);
}

/***********************************************************************************/
function nosp(pcampo){
	var v = pcampo;
	var vc = "";
	for (i=0; i < v.length; i++){
		if (v.substr(i,1) != " "){
			vc += v.substr(i,1);
		}
	}
	return(vc);
}

/***********************************************************************************/
function sonum(pcampo){
	var v = pcampo;
	var vc = "";
	for (i=0; i < v.length; i++){
		 if (v.substr(i,1) >= "0" && v.substr(i,1) <="9") {
			vc += v.substr(i,1);
		}
	}
	return(vc);
}

/***********************************************************************************/
function placa(pcampo){
	var v = pcampo;
	var vc = "";
	for (i=0; i < v.length;  i++) {
		if (v.substr(i,1).toUpperCase() >= "A" && v.substr(i,1).toUpperCase() <= "Z") {
			vc += v.substr(i,1).toUpperCase();
		}
		if (vc.length > 2){ break; }
	}
	for (; i < v.length;  i++) {
		 if (v.substr(i,1) >= "0" && v.substr(i,1) <="9") {
			vc += v.substr(i,1);
		}
	}
	return(vc);
}

/***********************************************************************************/
function justfld(pcampo){
	var v = fntrim(pcampo);
	var vc = "";
	for (i=0; i < v.length; i++){
		if (v.substr(i,1)=="'" || v.substr(i,1)=="!" || v.substr(i,1)=="$"
		 || v.substr(i,1)=="<" || v.substr(i,1)==">" || v.substr(i,1)=="%"
		 || v.substr(i,1)=="+" || v.substr(i,1)=="@" || v.substr(i,1)=="`"
		 || v.substr(i,1)=="´" || v.substr(i,1)=="{" || v.substr(i,1)=="["
		 || v.substr(i,1)=="}" || v.substr(i,1)=="]") { continue; }
		if (v.substr(i,1)=="&") {
			vc += "E";
			continue;
		}
		vc += v.substr(i,1);
	}
	return(vc);
}

