/* IDENTIFICAÇÃO DE BROWSER--------------------------------------------------------------*/
var isNav4, isNav, isIE;

if (parseInt(navigator.appVersion.charAt(0)) >= 4) {
  isNav = (navigator.appName == "Netscape") ? true : false;
  isIE = (navigator.appName.indexOf("Microsoft") != -1) ? true : false;
}

if (navigator.appName == "Netscape") {
	isNav4 = (parseInt(navigator.appVersion.charAt(0)) == 4);
}
/*FIM IDENTIFICAÇÃO DE BROWSER------------------------------------------------------------*/

function alteraFundo(obj, fundo){
	obj.style.background = fundo;
}

function alteraCor(obj, cor){
	obj.style.color = cor;
}

function Trim(str) {
	while (str.charAt(0) == " ") {
		str = str.substr(1,str.length -1);
	}

	while (str.charAt(str.length-1) == " ") {
		str = str.substr(0,str.length-1);
	}

	return str;
}

// FUNÇÃO CHAMADA NA GRID QUANDO O MOUSE PASSA POR CIMA DE UMA LINHA
function gridOver(linha, id) {
	if (linha.className != "checked") {
		if ((id%2) == 0) {
			linha.className = "par over";
		} else {
			linha.className = "impar over";
		}
	}
}


// FUNÇÃO CHAMADA NA GRID QUANDO O MOUSE SAI DE CIMA DE UMA LINHA
function gridOut(linha, id) {
	if (linha.className != "checked") {
		if ((id%2) == 0) {
			linha.className = "par";
		} else {
			linha.className = "impar";
		}
	}
}


// SELECIONA TODOS OS REGISTROS DE UMA GRID
function selectAll(name) {
	var input = document.getElementsByTagName("input");
	var check = document.getElementById("ckbselectall").checked;
	var j     = 0;
	
	// marca ou desmarca todos os checkbox's das CIs
	for (i=0; i<input.length; i++) {
		
    	if (input[i].getAttribute("name") == name) {
			input[i].checked = check;
			
			if (check) {
				//document.getElementById("linec"+j).style.backgroundColor = "#FFFFCC";
				document.getElementById("linec"+j).className = "checked";
			} else {
				//document.getElementById("linec"+j).style.backgroundColor = "";
				if ((j%2) == 0) {
					document.getElementById("linec"+j).className = "par";
				} else {
					document.getElementById("linec"+j).className = "impar";
				}
			}
			
			j++;
		}
	}
}


// CHAMA O FORM QUE EXCLUI OS REGISTROS SELECIONADOS DE UMA GRID
function deleteSelected(name) {
	var input   = document.getElementsByTagName("input");
	var qtde    = 0;
	var codigos = "";
	
	// captura a qtde e os códigos dos checkbox's que estão marcados
	for (i=0; i<input.length; i++) {
    	if (input[i].getAttribute("name") == name) {
			if (input[i].checked == true) {
				qtde++;
				
				codigos += parseInt(input[i].value, 10) + ",";
			}
		}
	}
	
	// tira a última vírgula
	codigos = codigos.substr(0, codigos.length-1);
	
	if (qtde == 0) {
		alert("Nenhum registro foi selecionado!");
	} else {
		if (confirm("Confirma a exclusão de "+qtde+" registro(s)?")) {
			document.getElementById("id").value = codigos;
			document.getElementById("delete").submit();
		}
	}
}


// CHAMA O FORM QUE EXCLUI UM REGISTRO CARREGADO NO FORMULÁRIO
function deleteCurrent() {
	if (confirm("Confirma a exclusão do registro?")) {
		document.getElementById("delete").submit();
	}
}


// MUDA A COR DA LINHA DA GRID QUANDO SELECIONA O REGISTRO
function changeColor(cb, id) {
	var elemento = document.getElementById("line"+cb.id);
	
	if (cb.checked) {
		elemento.className = "checked";
	} else {
		if ((id%2) == 0) {
			elemento.className = "par";
		} else {
			elemento.className = "impar";
		}
	}
}

function txtBoxFormat(objeto, sMask, evtKeyPress) {
    var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
	
	if(document.all) {
		// Internet Explorer
	    nTecla = evtKeyPress.keyCode;
	} else if(document.layers) {
		// Nestcape
	    nTecla = evtKeyPress.which;
	} else {
	    nTecla = evtKeyPress.which;
	    
	    if ((nTecla == 8) || (nTecla == 13) || (nTecla == 0)) {
	        return true;
	    }
	}
	
    sValue = objeto.value;

    // Limpa todos os caracteres de formatação que
    // já estiverem no campo.
    sValue = sValue.toString().replace( "-", "" );
    sValue = sValue.toString().replace( "-", "" );
    sValue = sValue.toString().replace( ".", "" );
    sValue = sValue.toString().replace( ".", "" );
    sValue = sValue.toString().replace( "/", "" );
    sValue = sValue.toString().replace( "/", "" );
    sValue = sValue.toString().replace( ":", "" );
    sValue = sValue.toString().replace( ":", "" );
    sValue = sValue.toString().replace( "(", "" );
    sValue = sValue.toString().replace( "(", "" );
    sValue = sValue.toString().replace( ")", "" );
    sValue = sValue.toString().replace( ")", "" );
    sValue = sValue.toString().replace( " ", "" );
    sValue = sValue.toString().replace( " ", "" );
    fldLen = sValue.length;
    mskLen = sMask.length;

    i = 0;
    nCount = 0;
    sCod = "";
    
    if (objeto.value.length == 0) {
    	mskLen = fldLen;
    } else {
    	mskLen = fldLen - 1;
    }
	
    while (i <= mskLen) {
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
		
		if (bolMask) {
			sCod += sMask.charAt(i);
			mskLen++;
		} else {
			sCod += sValue.charAt(nCount);
			nCount++;
		}
		
		i++;
	}
	
	objeto.value = sCod;
	
	if (nTecla != 8) {
		// backspace
		if (sMask.charAt(i-1) == "9") {
			// apenas números...
			return ((nTecla > 47) && (nTecla < 58));
		} else {
			// qualquer caracter...
			return false;
		}
	} else {
		return true;
	}
}

function removeStr(str, sub) {
	i = str.indexOf(sub);
	r = "";
	
	if (i == -1) {
		return str;
	}
	
	r += str.substring(0,i) + removeStr(str.substring(i + sub.length), sub);
	
	return r;
}


// VALIDAÇÃO DE CPF (TESTA O DÍGITO VERIFICADOR)
function validaCPF(cpf) {
	var filtro = /^\d{3}.\d{3}.\d{3}-\d{2}$/i;
	
	if (!filtro.test(cpf)) {
		return false;
	}
	
	cpf = removeStr(cpf, ".");
	cpf = removeStr(cpf, "-");
	
	var i;
	var c = cpf.substr(0,9); 
	var dv = cpf.substr(9,2);
	var d1 = 0;
 	
	for (i = 0; i < 9; i++) {
		d1 += c.charAt(i)*(10-i);
 	}
	
	if (d1 == 0) {
		return false;
	}
	
	d1 = 11 - (d1 % 11);
	
	if (d1 > 9) {
		d1 = 0;
	}
	
	if (dv.charAt(0) != d1) {
		return false;
	}
	
	d1 *= 2;
	
	for (i = 0; i < 9; i++) {
		d1 += c.charAt(i)*(11-i);
	}
	
	d1 = 11 - (d1 % 11);
	
	if (d1 > 9) {
		d1 = 0;
	}
	
	if (dv.charAt(1) != d1) {
		return false;
	}
	
	return true;
}

function soNumero(e) {
	var keyNumber = (isIE) ? event.keyCode : e.which;
	if ( ( ((keyNumber<48)||(keyNumber>57)) && ((keyNumber<95)||(keyNumber>106)) ) && (keyNumber!=13) && (keyNumber!="0") && (keyNumber!=8) && (keyNumber!=116) && (keyNumber!=17) ) {
		if (isIE) {
			event.keyCode=0
		}
		return false;
	}
	return true;
}

// CRIA O OBJETO DE REQUISIÇÃO AJAX
function createRequest() {
	var request = null;
	
	try {
	    request = new XMLHttpRequest();
	} catch(trymicrosoft) {
	    try {
	        request = new ActiveXObject("Msxml2.XMLHTTP");
	    } catch(othermicrosoft) {
	        try {
	            request = new ActiveXObject("Microsoft.XMLHTTP");
	        } catch(failed) {
	            request = null;
	        }
	    }
	}
	
	if (request == null) {
		alert('Erro ao criar objeto request!');
	}
	else {
		return request;
	}
}

// FORMATAÇÃO DE CAMPOS TIPO DOUBLE (MÁSCARA DE VALOR)
function FormataValor(obj) {
	obj.onkeypress = exibirValorFormatado;
	obj.onkeydown = capturaCodTecla;
	//obj.value = "0,00"
	
	if ((obj.maxLength == -1) || (obj.maxLength == 2147483647) || (obj.maxLength == "undefined")) {
		obj.maxLength = 17;
	}
}


// FUNÇÃO DE SUPORTE À FUNÇÃO "FormataValor"
function exibirValorFormatado(e) {
		var obj,tecla;
		//verificando se o que foi digitado é um número
		if (!soNumero(e)){
			return false;
		}
		obj = (isNav) ? e.target : event.srcElement;
		codTecla = (isNav) ? e.which : event.keyCode;
		switch (codTeclaKeyDown) {
			case 8:
				obj.value = formatarValor(obj.value.substring(0,obj.value.length-1));
				break;
			case 9:
				return true;
				break;
			case 46:
				obj.value = formatarValor(obj.value.substring(0,obj.value.length-1));	
				break;
			default :
					if ((codTecla>47) && (codTecla<58)) {
						if (obj.maxLength > obj.value.length) {
							obj.value = formatarValor(obj.value + String.fromCharCode(codTecla));
						}
					}	
		}
		return false;
}


// FUNÇÃO DE SUPORTE À FUNÇÃO "FormataValor"
function capturaCodTecla(e) {
	codTeclaKeyDown = (isNav) ? e.which : event.keyCode;
	if (isIE) {
		switch (codTeclaKeyDown) {
			case 8:
				event.srcElement.value = formatarValor(event.srcElement.value.substring(0,event.srcElement.value.length-1));
				return false;
			break;
			case 46:
				event.srcElement.value = formatarValor(event.srcElement.value.substring(0,event.srcElement.value.length-1));
				return false;
			break;
		}
	}
}


// FUNÇÃO DE SUPORTE À FUNÇÃO "FormataValor"
function soNumero(e) {
	var keyNumber = (isIE) ? event.keyCode : e.which;
	if ( ( ((keyNumber<48)||(keyNumber>57)) && ((keyNumber<95)||(keyNumber>106)) ) && (keyNumber!=13) && (keyNumber!="0") && (keyNumber!=8) && (keyNumber!=116) && (keyNumber!=17) ) {
		if (isIE) {
			event.keyCode=0
		}
		return false;
	}
	return true;
}


// FUNÇÃO DE SUPORTE À FUNÇÃO "FormataValor"
function formatarValor(str) {
	var decimal,inteiro;
	var i,count;
	STR = new String(str);
	STR = tirarZerosEsquerda(STR);
	inteiro='';
	
	if (STR.length == 1) {
		inteiro  = '0';
		decimal = '0' + STR;
	} else {
		if (STR.length == 2) {
			inteiro  = '0';
			decimal = STR;
		} else {
			decimal = STR.substring(STR.length-2,STR.length);
			i=3;
			count=0;
			
			while (i<=STR.length) {
				if (count==3) {
					inteiro = '.' + inteiro;
					count = 0;
				}
				
				inteiro = STR.charAt(STR.length-i) + inteiro;
				count++;
				i++;
			}
		}
	}
	
	if (inteiro == '') {
		inteiro = '0';
	}
	
	if (decimal == '') {
		decimal = '00';
	}
	
	return inteiro+','+decimal;
}


// FUNÇÃO DE SUPORTE À FUNÇÃO "formatarValor"
function tirarZerosEsquerda(STR)
{
	var sAux = '';
	STR = new String(STR);  
	var i = 0;
	while (i < STR.length ) {
		if ((STR.charAt(i)!='.') && (STR.charAt(i)!=',')) {
			sAux += STR.charAt(i);
		}
		i++
	}
	STR = new String(sAux);
	sAux = '';
	i = 0;
	
	while (i < STR.length ) {
 		if (STR.charAt(i) != '0') {
			sAux = STR.substring(i,STR.length)
			i = STR.length;
		}
		i++;
	}
	
	return sAux;
}

function trocaImagem(img){
	document.getElementById('fotoG').src = "fotos/"+img;
}