// JavaScript Document
//Declarando variáveis para controlar a versão do navegador.
var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1;
var ns6=document.getElementById&&!document.all;
var ns4=document.layers;

function js_retornaObj(obj){

	if (ie4){
		
		if (obj.indexOf(".") == -1) {
			return document.all[obj];
		}
		else {
			obj = obj.split(".");
			i = obj.length - 1;
			obj = obj[i];
			return document.all[obj];
		}
		
	} else if (ns6) {
		
		if (obj.indexOf(".") == -1) {
			return document.getElementById(""+obj+"");
		}
		else {
			return eval("document."+obj);
		}
		
	} else if (ns4) {
		
		if (obj.indexOf(".") == -1) {
			return document[obj];
		}
		else {
			obj = obj.split(".");
			i = obj.length - 1;
			return document[obj[i]];
		}
		
	} else {
		
		if (obj.indexOf(".") == -1) {
			return document.getElementById(""+obj+"");
		}
		else {
			return eval("document."+obj);
		}
		
	}
	
}

//////////////////////////////////////////////////////////////////////////////////////////////

function js_setInt(e) {
	if (ie4) {
		return ((e.keyCode >= 48 && e.keyCode <= 57) || (e.keyCode == 8 || e.keyCode == 9 || e.keyCode == 13 || e.keyCode == 46));
	} else {
		return ((e.which >= 48 && e.which <= 57) || (e.which == 8 || e.which == 9 || e.wich == 13 || e.wich == 46));
	}
}

//////////////////////////////////////////////////////////////////////////////////////////////

function js_retornaObjPai(obj){
	if (ie4){
		return parent.document.all[obj];
	} else if (ns6) { 
		return parent.document.getElementById(""+obj+"");
	} else if (ns4) { 
		return parent.document[obj];
	} else {
		return parent.document.getElementById(""+obj+"") ;
	}
}

//////////////////////////////////////////////////////////////////////////////////////////////

//funcção  para abrir janela popup
function js_newWindow(mypage,myname,w,h,scrollb) {

	var winl = (screen.width-w)/2;
	var wint = (screen.height-h)/2;
	
	var settings ='height='+h+',';
	settings +='width='+w+',';
	settings +='top='+wint+',';
	settings +='status=0,';		
	settings +='statusbar=no,';		
	settings +='left='+winl+',';
//	settings +='scrollbars='+scrollb+',';	
	settings +='resizable=no,';

	win=window.open(mypage,myname,settings);
	
	if(parseInt(navigator.appVersion) >= 4) {
		win.window.focus();
	}
}

//funcção  para abrir janela popup
function js_newWindowResize(mypage,myname,w,h,bars,res) {

	var winl = (screen.width-w)/2;
	var wint = (screen.height-h)/2;
	
	var settings ='height='+h+',';
	settings +='width='+w+',';
	settings +='top='+wint+',';
	settings +='status=no,';		
	settings +='statusbar=no,';		
	settings +='left='+winl+',';
	settings +='resizable='+res+',';
	settings +='scrollbars='+bars;

	win=window.open(mypage,myname,settings);
	
	if(parseInt(navigator.appVersion) >= 4) {
		win.window.focus();
	}
}


//////////////////////////////////////////////////////////////////////////////////////////////
/* funcao que verifica o preenchimento dos campos do formulario */

function js_doValidarCampo(campo, msg){

	if(campo.value == "" || campo.length == 0){
		alert(msg);
		campo.focus();
		return false;
	}
	return true;
}
//////////////////////////////////////////////////////////////////////////////////////////////
/* funcao que verifica o preenchimento de dois campos iguais */

function js_doValidarCampoIgual(campo1,campo2, msg){
	if(campo1.value != campo2.value){
		alert(msg);
		campo1.focus();
		return false;
	}
	return true;
}
//////////////////////////////////////////////////////////////////////////////////////////////
/* funcao que verifica o preenchimento dos campos do formulario */

function js_doValidarCampoEditor(campo, msg, num){

	if(campo.value == "" || campo.value.length < num){
		alert(msg);
		return false;
	}
	return true;
}

//////////////////////////////////////////////////////////////////////////////////////////////
// Funcao para js_doCentralizar a janela
function js_doCentralizar()
{
	var top = (screen.width-window.document.body.clientWidth)/2;
	var left = (screen.height-window.document.body.clientHeight)/2;
	window.moveTo(top,left); 
}

//////////////////////////////////////////////////////////////////////////////////////////////

function js_doValidarCEP(obj) {

 var data = new String(obj.value);
 var dataok = '';
 var cont = 0;

 
	 for (i = 0; i < data.length; i++) {
		  if ((data.charAt(i) >= '0') && (data.charAt(i) <= '9') || (data.charAt(i) == '-') && i==5) {
			dataok += data.charAt(i);
		  }
		  else cont++;
	 }
		
	 if (cont > 0) {  
		obj.value = dataok;
	 }

	if (obj.value.indexOf("-") == -1 && obj.value.length > 5){ 
		obj.value = ""; 
	}
	if (obj.value.length == 5){
		obj.value += "-";
	}
}

//////////////////////////////////////////////////////////////////////////////////////////////

function js_setMascaraCPF (formato, objeto) {
	
	campo = eval (objeto);
	if (formato=='CPF')
	{
		caracteres = '01234567890';
		separacoes = 3;
		separacao1 = '.';
		separacao2 = '-';
		conjuntos = 4;
		conjunto1 = 3;
		conjunto2 = 7;
		conjunto3 = 11;
		conjunto4 = 14;
	if ((caracteres.search(String.fromCharCode (window.event.keyCode))!=-1) && campo.value.length < (conjunto4))
	{
		if (campo.value.length == conjunto1) 
			campo.value = campo.value + separacao1;
		else if (campo.value.length == conjunto2) 
			campo.value = campo.value + separacao1;
		else if (campo.value.length == conjunto3) 
			campo.value = campo.value + separacao2;
	}
	else 
		event.returnValue = false;
	} 
}

//////////////////////////////////////////////////////////////////////////////////////////////

function js_doValidarEmail(DES_EMAIL) {

	var mail = DES_EMAIL.value;
	
	if ((mail.indexOf('@') < 3) || ((mail.lastIndexOf('.') < (mail.indexOf('@') + 3)) || (mail.indexOf('.') == -1))) { 
		return false;
	}
	else {
		return true;	
	}
}

function js_doValidaChecked(obj){

	var is_checked = 0;
	var count = obj.length;
	alert(obj.length);
	for (i=0;i < count;i++){
		if  (obj[i].checked == true) {
			is_checked = 1;
		}
	}
	if (is_checked) {
		return true;
	}
	else {
		return false;
	}
}


//////////////////////////////////////////////////////////////////////////////////////////////
// Valida campo para apenas numérico

function js_setNumberOnly(Obj) {
	
	var data = new String(Obj.value);
	var dataok = '';
	var cont = 0;
	
	for (i = 0; i < data.length; i++) {
		if ((data.charAt(i) >= '0') && (data.charAt(i) <= '9')) {
			dataok += data.charAt(i);
		}
		else {
			cont++;
		}
	}
	
	if (cont > 0) {  
		Obj.value = dataok;
	}
	
}

// Função para verficar se o usuário está digitando uma cor válida
function js_setValidaCodCor(obj, obId, isBlur) {
	
	var valid = "0123456789ABCDEF";
	var ok = "yes";
	var val = "";
	var temp;

	obj.value = obj.value.toUpperCase();

	if (obj.value.length > 7) {
		obj.value = obj.value.substring(0, 7);
	}

	for (i = 0; i < obj.value.length; i++) {
		
		temp = "" + obj.value.substring(i, i+1);
		
		if (i == 0) {
			if (temp == "#") {
				
			}
			else {
				ok = "no";
				val = obj.value.substring(0, i);
			}
			
		}
		else {
			if (valid.indexOf(temp) == "-1"){
				ok = "no";
				val = obj.value.substring(0, i);
			}
		}
		
	}
	
	if (ok == "no") {
		obj.value = val;
		obj.focus();
	}
	
	if (obj.value.length == 7) {	
		obId.style.background = obj.value;
	}
	else {
		if (isBlur == 1) {
			obj.value = "";
			obId.style.background = "#FFFFFF";
		}
	}
	
}


// Controla o valor máximo de caracteres de um campo textarea
function js_getMaxValue(obj, maxValue) {

	if (obj.value.length > maxValue) {
		obj.value = obj.value.substring(0, maxValue);
	}
	
}

function js_formatCurrency(campo, tammax, teclapres) {

		var tecla = teclapres.keyCode;
		var CampoSelecionado = '';
		
		if (tecla >=48 && tecla <= 57 || tecla >=96 && tecla <=105) { 
			if (CampoSelecionado==true) {
				CampoSelecionado = false;
				campo.value = "";
				return true;
			} 
		} 
		else
			CampoSelecionado = false;
	  
			vr = campo.value;
			vr = vr.replace("/", "");
			vr = vr.replace("/", "");
			vr = vr.replace(",", "");
			vr = vr.replace(".", "");
			vr = vr.replace(".", "");
			vr = vr.replace(".", "");
			vr = vr.replace(".", "");
			tam = vr.length;
		
		if (tam < tammax && tecla != 8)
			tam = vr.length + 1;
		 
		if (tecla == 8)
			tam = tam - 1;
		  
		if (tecla == 8 || tecla >=48 && tecla <= 57 || tecla >=96 && tecla <=105) {
			if (tam <= 2)
				campo.value = vr;
		  
			if ((tam > 2) && (tam <= 5))
				campo.value = vr.substr(0, tam - 2) + ',' + vr.substr(tam - 2, tam); 
		  
			if ((tam >= 6) && (tam <= 8))
				campo.value = vr.substr(0, tam - 5) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam); 
		  
			if ((tam >= 9) && (tam <= 11))
				campo.value = vr.substr(0, tam - 8) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam); 
		 
			if ((tam >= 12) && (tam <= 14))
				campo.value = vr.substr(0, tam - 11) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam); 
		  
			if ((tam >= 15) && (tam <= 17))
				campo.value = vr.substr(0, tam - 14) + '.' + vr.substr(tam - 14, 3) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam); 
		}  
		else {
			return false;   
		} 

	
}

function js_doTrim(texto) {
	var c;
	var t;
	return c = "[" + (c == undefined ? " " : c.replace(/([\^\]\\-])/g, "\\\$1")) + "]+",
    texto.replace(new RegExp((t != 2 ? "^" : "") + c + (t != 1 ? "|" + c + "$" : ""), "g"), "");
}

function js_doClearCampo(obj) {

	campo = obj.type;

	switch (campo) {
		case 'text':
			obj.value = '';
		break;
		
		case 'textarea':
			obj.value = '';
		break;
		
		case 'select-one':
		
			for (var i=(obj.length-1); i>=0; i--) {
				obj.options[i] = null;
			}

		break;
	}
	
}

function js_doFormataMascara(obj, sMask, evtKeyPress) {
	
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

	if(document.all) {
		nTecla = evtKeyPress.keyCode;
	}
	else {
		nTecla = evtKeyPress.which;
	}
	
	sValue = obj.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( " ", "" );
	fldLen = sValue.length;
	mskLen = sMask.length;
	
	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;
	
	// Caso seja pressionado backspace, então ignora a verificação da máscara
	if (nTecla != 8) {
		
		tam = mskLen;

		while (i <= mskLen) {
			
			bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
			bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " ") || (sMask.charAt(i) == ":"))
	
			if (bolMask) {
				sCod += sMask.charAt(i);
				mskLen++; 
			}
			else {
				sCod += sValue.charAt(nCount);
				nCount++;
			}
			
			i++;
			
		}

		if (sMask.charAt(i-1) == "9") {
			var data = sCod;
			var dataok = '';
			var cont = 0;
	
			for (i = 0; i < data.length; i++) {
				if (((data.charAt(i) >= '0') && (data.charAt(i) <= '9')) || 
					(data.charAt(i) == '-' || data.charAt(i) == '.' || data.charAt(i) == '/' || 
					 data.charAt(i) == '(' || data.charAt(i) == ')' || data.charAt(i) == ' ' || data.charAt(i) == ':')) {
					dataok += data.charAt(i);
				}
				else {
					cont++;
				}
			}
			
			if (cont > 0) {  
				sCod = dataok;
			}
		}
		
		if (sCod.length > sMask.length) {
			sCod = sCod.substr(0, sMask.length);
		}
		
		obj.value = sCod;
		
		return true;
		
	}

}
function getUrlString() {

	var arrObjInput 	= document.getElementsByTagName('input');
	var arrObjTextArea  = document.getElementsByTagName('textarea');	
	var arrObjSelect  	= document.getElementsByTagName('select');	
	
	var urlString       = "";
	
	for (i = 0; i < arrObjInput.length; i++) {
		
		
		if (arrObjInput[i].type == "radio") {
			
			if (arrObjInput[i].checked) {
				urlString += ""+arrObjInput[i].name+"="+arrObjInput[i].value+"&"
			}
		}
		else if (arrObjInput[i].type == "checkbox") {
		
			if (arrObjInput[i].checked) {
				urlString += ""+arrObjInput[i].name+"="+arrObjInput[i].value+"&"
			}  
		}
		else {
			urlString += ""+arrObjInput[i].name+"="+arrObjInput[i].value+"&"
		}
	}

	for (i = 0; i < arrObjTextArea.length; i++) {
		urlString += ""+arrObjTextArea[i].name+"="+arrObjTextArea[i].value+"&"
	}
	
	for (i = 0; i < arrObjSelect.length; i++) {
		urlString += ""+arrObjSelect[i].name+"="+arrObjSelect[i].value+"&"
	}	
	
	urlString +="VAZIO=1";

	return urlString;
}
function js_setCheckedByAttribute(cod, attr, is) {
	
	var arrObj = document.getElementsByTagName('input');
	
	for (i = 0; i < arrObj.length; i++) {
		if (arrObj[i].getAttribute(attr) != null) {
			if (cod == arrObj[i].getAttribute(attr)) {
				arrObj[i].checked = is;
			}
		}
	}

}

function js_setDivDisplayAttribute(cod, attr, is) {

	var arrObj = document.getElementsByTagName('div');

	for (i = 0; i < arrObj.length; i++) {
		if (arrObj[i].getAttribute(attr) != null) {
			if (cod == arrObj[i].getAttribute(attr)) {				
				arrObj[i].style.display = is;
			}
		}
	}			
}

function js_setVal(id,val) {
	js_retornaObj(""+id+"").innerHTML = val;
}

function js_setDisplay(id,val) {
	js_retornaObj(""+id+"").style.display = val;	
}

function js_setDisplayAll(id,val) {
	for (var a=0;a<js_retornaObj(""+id+"").length;a++ ){
		js_retornaObj(""+id+"")[a].style.display = val;
	
	}	
}



function js_doConfirm(msn) {
	if (confirm(msn)) {
		return true;			
	}
	else {
		return false;	
	}
}



function js_doAcaoWindows(msn, url,title, w,h) {
	

	if (js_doConfirm(msn)) {
		js_newWindow(url,title, w,h);
	}
}

function js_setAcao(acao) {
	obAcao	= js_retornaObj('ACAO');		
	obAcao.value = acao;
}

function js_setMensagem(id, mensagem) {
		var msn  	   = js_retornaObj(id);
		msn.innerHTML  = mensagem;
}

function js_doValidaForm(form) {

	var arrObj	  = js_retornaObj(form);
	var tipoCampo = ''

	for (i = 0; i < arrObj.length; i++) {
		
		tipoCampo = arrObj[i].getAttribute("tipo");
		if (arrObj[i].value == "" && arrObj[i].getAttribute("obrigatorio") == 1) {
			alert("O campo deve ser preenchido.");
			arrObj[i].focus();
			return false;
		}
		
		if (tipoCampo  != '' && arrObj[i].value != "") { 
			
			switch (tipoCampo) {
				
				case 'email': {
					
					if (!js_doValidarEmail(arrObj[i])) {
						alert("O campo E-mail não foi preenchido corretamente.");	
						arrObj[i].focus();
						return false;						
					}
				}
				break;
				/*
				case 'objetiva': {
					if (!js_doValidaChecked(arrObj[i])) {
						alert("O campo deve ter pelo menos um item selecionado.");	
						arrObj[i].focus();
						return false;						
					}					
				}
				break
				*/
				case 'cpf': {
					if (!js_setMascaraCPF("CPF", arrObj[i])) {
						alert("O campo não é um CPF válido.");	
						arrObj[i].focus();
						return false;						
					}					
				}
				break;			
			}
		}
	}

	return true;
}

function js_doLimparCampos(formulario) {
	var form = eval("document.getElementById('"+formulario+"')");
	form.reset();
}

function js_ValidarEmail(email)
{
	if(email.length < 6) {
		return false;
	}
	var x = 0;
	for (var c=0;c<email.length;c++) {
		if (email.substring(c,c+1) == '@') {
			x = c;
		}
	}
	var y = 0;
	if (x > 0) {
		for (c=x;c<email.length;c++) {
			if (email.substring(c,c+1)=='.') {
				y = c;
				var valida = 1;
			}
		}
		if (y > 0) {
			var dominio = '';
			for (c=x;c<y;c++) {
				dominio = dominio + email.substring(1,c);
			}
		}
	}
	else {
		return false;
	}					
	if (y <= x+2){
		return false;
	}				
	if (valida == 1){
		return true;
	}
}
