﻿// JScript File
function mostraBtn(valor){
	document.all['td_btn_'+valor+'_2'].style.display = 'none';
	document.all['td_btn_'+valor+'_1'].style.display = '';
}
	
function escondeBtn(valor){
	document.all['td_btn_'+valor+'_2'].style.display = '';
	document.all['td_btn_'+valor+'_1'].style.display = 'none';
}
	
function desclick(campo){
	for(var i=0; i < document.all['TD_1'].length; i++){
		document.all['TD_1'][i].className = 'TDMenuInativo';
	}
	campo.className = 'TDMenuAtivo';
}
	
function abrir(pagina, largura, altura){
	window.open(pagina,"regis","status=no,menubar=no,scrollbars=yes,toolbar=no,location=no,resizable=yes,width="+largura+"px, height="+altura+"px, left=150, top=30")
}


//Objetivo: Validar o Formulário com exceção dos campos definidos pelo programador.
//Sintaxe: f_ValidaForm(sNomeForm, sMsgObrigatorio, NomeCampo1, NomeCampo2, NomeCampo3...)
//sNomeForm = nome do formulário, passado como uma string. Ex: "form1"
//sMsgObrigatorio = mensagem enviada para o usuário de campo obrigatório. Ex: "Campo Obrigatório!"
//NomeCampo1...NomeCampoN = nome dos campos não validados, pode conter quantos campos necessário, o nome do campo
//							é passado como uma string. Ex: "txtNome"
//Exemplo Real: s_ValidaForm("form1", "Os campos com * são obrigatórios", "txtNome")
//Descrição do Exemplo Real:
//	será validado o formulário "form1", exibindo a mensagem "Os campos com * são obrigatórios" para o campo obrigatório
//	não preenchido. todos os campos do formulário serão validados com exceção do campo de nome "txtNome"

//oForm = document.form1;
//var bValidaForm = s_ValidaForm("form1", "Preencha os Campos Obrigatórios") 
//if (bValidaForm == true){ 
//oForm.PrmAcao.value = "InserirTipoRotina"; oForm.submit();
//} 


function f_ValidaForm(sNomeForm, sMsgObrigatorio){
	oForm = eval("document."+ sNomeForm);
	for (var i = 0; i < oForm.length; i++){
		var bEParaValidar = true;
		for (var j = 0; j < f_ValidaForm.arguments.length; j++){
			var sNomeNaoValidar = f_ValidaForm.arguments[j];
			if (sNomeNaoValidar == oForm[i].name){
				bEParaValidar = false;
			}
		}
		if (bEParaValidar == true){
			if (oForm[i].type == "text" || 
					oForm[i].type == "textarea" ||
						oForm[i].type == "password" ||
							oForm[i].type == "file" ||
								oForm[i].type == "select-one" ||
									oForm[i].type == "select-multiple"){
				var sValor = f_eVazio(oForm[i].value)
				if (sValor == true){
					alert(sMsgObrigatorio);
					oForm[i].value = "";
					oForm[i].focus();
					return false;
				}
			}
			if (oForm[i].type == "radio" || oForm[i].type == "checkbox"){
				var sNome = oForm[i].name;
				var bTodosDesmarcados = true;
				for (var k = 0; k < oForm.length; k++){
					if (oForm[k].type == "radio" && oForm[k].name == sNome){
						if (oForm[k].checked == true){
							bTodosDesmarcados = false;
						}
					}
					if (oForm[k].type == "checkbox" && oForm[k].name == sNome){
						if (oForm[k].checked == true){
							bTodosDesmarcados = false;
						}
					}							
				}
								
				if (bTodosDesmarcados == true){
					alert(sMsgObrigatorio);
					oForm[i].value = "";
					oForm[i].focus();
					return false;						
				}
			}	
		}
	}
	return true;
}


//Verifica se o valor passado é vazio, ou só tem espaço
function f_eVazio(sString){
	var regEspaco = /\s/g;
	sString = sString.replace(regEspaco, "");
	if (sString == ""){
		return true;
	} else {
		return false;
	}
}  


//Permite somente caracteres numéricos
//Ex: onKeyPress="f_bSoNumero(event.keyCode)"
// Autor: Adriano Pamplona
function f_bSoNumero(keyCodigo){
	if (keyCodigo!=null){
		if ((keyCodigo >= 48 && keyCodigo <= 57)){return true;}
		else {event.keyCode = 0;}
	}			
}


// Para usar voce passa a tecla e o nome do form
// exemplo: onkeypress('event.keyCode', 'nome do seu form')
function f_bEnter(vTecla, sNoForm){
	// Executa Enter no Form.
	if (vTecla == 13){
		eval("document."+sNoForm+".submit()");
	}
}


//
// mascara o valores reais.
// ex: onKeyPress="f_sMascaraReal(event.keyCode,null);" onKeyUp="f_sMascaraReal(null,this);"
// funções utilizadas: f_sMascaraInteiro
// Autor: Adriano Pamplona
//
function f_sMascaraReal(keyCodigo,obj){
	if (keyCodigo!=null){
		f_sMascaraInteiro(keyCodigo,null);
	}
	if (obj!=null){
		var vRetorno = "";
		vValor = obj.value;
		switch (vValor.length){
			case 0:
				vRetorno = "0,00";
				break;
			case 1:
				vRetorno = "0,0"+vValor;
				break;
			case 2:
				vRetorno = "0,"+vValor;
				break;
			default:
				vValor = vValor.replace(",","");
				vValor = vValor.replace(".","");
				vValor = f_sColocaString(vValor,",",2);
				if (vValor.charAt(0)==0){vValor = vValor.substr(1,vValor.length);}
				if (vValor.charAt(0)==","){vValor = vValor.substr(1,vValor.length);}
				if (vValor.length==2){vValor = "0,"+vValor;}
							
				if (vValor.length > 6){
					var bPonto = /\./g;
					var vValorTemp = vValor.substr(0,vValor.indexOf(","))
					var vValorTemp = vValorTemp.replace(bPonto,"");
					var vRet = "";
					cont = 0;
					for (var i = vValorTemp.length; i >= 0; i--){
						vRet = vValorTemp.charAt(i) + vRet;
						if (cont == 3){
							vRet = "." + vRet;
							cont = 0;
						}
						cont ++;
					}
					while (vRet.charAt(0)=="." || vRet.charAt(0)=="0"){
						vRet = vRet.substr(1,vRet.length);
					}
					vValor = vRet + vValor.substr(vValor.indexOf(","),vValor.length);						
				}
				vRetorno = vValor;
		}
		obj.value = vRetorno;
	}
}

//
// mascara de valores inteiros
// o parâmetro passado tem que ser o código da tecla
// ex:  onKeyPress="f_sMascaraInteiro(event.keyCode,null);" onKeyUp="f_sMascaraInteiro(null,this);"
// Autor: Adriano Pamplona
//
function f_sMascaraInteiro(keyCodigo,obj){
	if (keyCodigo!=null){
		if ((keyCodigo >= 48 && keyCodigo <= 57)){return true;}
		else {event.keyCode = 0;}
	}
	if (obj!=null){
		var vRetorno = "";
		vValor = obj.value;
		switch (vValor.length){
			case 0:
				vRetorno = "0";
				break;
			default:
				if (vValor.length >= 4){
					var bPonto = /\./g;
					var vValorTemp = vValor
					var vValorTemp = vValorTemp.replace(bPonto,"");
					var vRet = "";
					cont = 0;
					for (var i = vValorTemp.length; i >= 0; i--){
						vRet = vValorTemp.charAt(i) + vRet;
						if (cont == 3){
							vRet = "." + vRet;;
							cont = 0;
						}
						cont ++;
					}
					while (vRet.charAt(0)=="." || vRet.charAt(0)=="0"){
						vRet = vRet.substr(1,vRet.length)
					}
					vValor = vRet;
				}
				vRetorno = vValor;
		}
		obj.value = vRetorno;}
}

//
// insere um caracter onde quer que queira.
// parametros: string com o valor , caracter a ser inserido, index da string a ser inserida.
// o index da string é da direita para a esquerda
// ex: f_sColocaString("xxx",".",2) retorna x.xx
// Autor: Adriano Pamplona
//
function f_sColocaString(vSt,vChar,vCasa){
	var vStRetorno = "";
	if (vSt.indexOf(",")!=-1){
		vBusVir = /\,/g;
		vSt = vSt.replace(vBusVir,"");}
	for (var i = 0; i < vSt.length; i++){
		if (i == (vSt.length - parseInt(vCasa, 10))){
			vStRetorno = vStRetorno + vChar ;}
		vStRetorno = vStRetorno + vSt.charAt(i);
	}
	return vStRetorno;
}


// insere a barra no campo de data
// quando voce digita o numero ele verifica e se for
// o tamanho igual a 2 ele colocar a primeira barra
// se o tamanho for igual a 5 ele coloca a segunda barra
// exemplo: como usar: onkeypress="ColocaBarra(this)";

function ColocaBarra(Parametro)
{
	if (Parametro.value.length == '2')
	{
		Parametro.value = Parametro.value + "/";
	}
	else if (Parametro.value.length == '5')
	{
		Parametro.value = Parametro.value + "/";
	}
}


//Parametro que coloca o mes e ano
//Coloca a barra depois de colocar o mes, digitado pelo usuario
//exemplo: onkeypress="PeriodoBarra(this);"
function PeriodoBarra(Parametro)
{
	if (Parametro.value.length == '4')
	{
		Parametro.value = Parametro.value + "/";
	}
}

// validação de data.
// se data válida passa o objeto, caso contrário volta ao objeto.
// ex: onBlur="f_bValidaData(this);"
// obj: use em conjunto com a função f_sMascaraData
// Autor: Adriano Pamplona
//
function f_bValidaData(obj){
	var vRetorno = true;
	var vDia, vMes, vAno, vNDia, vNMes, vNAno, vNData;
	vValor = obj.value;

	if (vValor.length==0){return;}
	if (vValor.length!=10 && vValor.length>0){vRetorno = false;}
	
	if (vValor.charAt(2) != "/" || vValor.charAt(5) != "/"){
		vRetorno = false;
	}
	vDia = vValor.substr(0,2);
	vMes = vValor.substr(3,2);
	vAno = vValor.substr(6,4);
	vDia = parseInt(vDia, 10);
	vMes = parseInt(vMes, 10);
	vAno = parseInt(vAno, 10);
				
	vNData = new Date(vMes+"/"+vDia+"/"+vAno)
	vNDia = vNData.getDate();
	vNMes = vNData.getMonth()+1;
	vNAno = vNData.getFullYear();
	vNDia = parseInt(vNDia, 10);
	vNMes = parseInt(vNMes, 10);
	vNAno = parseInt(vNAno, 10);				
				
	if ((parseInt(vDia)!=parseInt(vNDia)) || (parseInt(vMes)!=parseInt(vNMes)) || (parseInt(vAno)!=parseInt(vNAno))) {
		vRetorno = false;
	}
				
	if (vRetorno==false){
		alert("Data Inválida.");
		obj.focus();
		obj.select();
	}
	return;
}

//
//Macara e Valida Telefone
//ex:   onBlur="f_sValMasTel(this)"
//autor: Regis Salomão
//
function f_sValMasTel(oObj){
	if (oObj.value != ''){
		if (oObj.value.length == 7){
			oObj.value = f_sColocaString(oObj.value,"-",4);
		}else if (oObj.value.length == 8){
			oObj.value = f_sColocaString(oObj.value,"-",4);
		}else if (oObj.value.length != 9){
			alert('Telefone invalido!');
			oObj.focus();
			return;
		}	
		
	}	
}




//
// mascara CEP
// ex:  onKeyPress="f_sMascaraCEP(event.keyCode,null);" onKeyUp="f_sMascaraCEP(null,this);"
// funções utilizadas: f_sMascaraInteiro
// Autor: Regis Salomão
//
function f_sMascaraCEP(keyCodigo,obj){
	if (keyCodigo!=null){
		f_sMascaraInteiro(keyCodigo,null);
		return;
	}
	if (obj != null){
		vValor = obj.value;
	}
	if (vValor.length >= 10){
		event.keyCode = 0;
	}else{
		if (obj!=null){
			var vRetorno = "";
			
			if (window.event.keyCode == 8){
				if (vValor.length==2 || vValor.length==6){
					vValor = vValor.substr(0,vValor.length-1);
					obj.value = vValor;
				}
			}
			switch (vValor.length){
				case 2:
					vRetorno = vValor + ".";
					break;
				case 6:
					vRetorno = vValor + "-";
					break;
				default:
					if (vValor.length >= 10){
						vRetorno = vValor.substr(0,2) +"."+ vValor.substr(3,3) +"-"+ vValor.substr(6,3);
					} else { 
						vRetorno = vValor;
					}
			}
			obj.value = vRetorno;
		}
	}
}


//
//Valida CEP
//ex:   onBlur="f_bValidaCEP(this)"
//autor: Regis Salomão
//
function f_bValidaCEP(oObj){
	if (oObj.value != ''){
		if (oObj.value.length != 10){
			alert('CEP invalido !!');
			oObj.focus();
			return;
		}
	}	
}

function fixPlugin() {
 	var objects = document.getElementsByTagName('object');
 	for (var i = 0; i < objects.length; i++) {
  		var paramEl = '';
  		var params = document.getElementsByTagName('param');
 	 	for (var j = 0; j < params.length; j++) {
 		  	paramEl += params[j].outerHTML;
  		}
 		 objects[i].outerHTML = objects[i].outerHTML.replace('>', '>' + paramEl);
 	}

 	var embeds = document.getElementsByTagName('embed');
 	for (var i = 0; i < embeds.length; i++) {
 		 embeds[i].outerHTML = embeds[i].outerHTML;
 	}

 	var applets = document.getElementsByTagName('applet');
 	for (var i = 0; i < applets.length; i++) {
  		var paramEl = '';
  		var params = document.getElementsByTagName('param');
  		for (var j = 0; j < params.length; j++) {
   			paramEl += params[j].outerHTML;
  		}
  		applets[i].outerHTML = applets[i].outerHTML.replace('>', '>' + paramEl);
 	}
}

