// atualizado em 27/12/2005

var browser = (navigator.appName.indexOf('Netscape') != -1)?('NE'):('IE');


/*** DIVs ***/
// Exibe e esconde uma DIV (id:nome da div, param:true/false)
divDisplay = function(id, param){
	document.getElementById(id).style.display = (param)?('block'):('none');
}


/*** CARREGA OS SELECTS MULTIPLOS, ATUALIZA, SELECIONA E DELETA ***/
inputSelectMultipleInit = function(n){
	a = eval(n); i = document.formEnviar.elements.length; hidden = ","+document.formEnviar.elements[i-1].value+","; divShow = "";
	htm = "<select name='"+n+"__select' onChange='inputSelectMultipleChange("+i+")'><option SELECTED>escolha</option>";
	for(c=0; c<a.length; c++){
		if(hidden.indexOf(","+a[c].value+",") != -1){
			divShow += ((divShow != "")?(", "):(""))+"<a href='javascript:inputSelectMultipleDelete("+i+","+c+")'>"+a[c].label+"</a>";
			a[c].selecionado = true;
		}else{ htm += "<option value='"+c+"'>"+a[c].label+"</option>"; }
	}
	htm += "</select><div class='multiple' id='"+n+"__selectshow'>"+divShow+"</div>";
	document.write(htm);
}
inputSelectMultipleChange = function(i){
	f = document.formEnviar.elements[i]; f1 = f.name.split("__"); a = eval(f1[0]);
	a[f[f.selectedIndex].value].selecionado = true;	
	inputSelectMultipleRefresh(i);
}
inputSelectMultipleDelete = function(i, id){
	f = document.formEnviar.elements[i]; f1 = f.name.split("__"); a = eval(f1[0]);
	a[id].selecionado = false;
	inputSelectMultipleRefresh(i);	
}
inputSelectMultipleRefresh = function(i){
	f = document.formEnviar.elements[i]; f1 = f.name.split("__"); a = eval(f1[0]);
	hidden = eval("document.formEnviar."+f1[0]+"__"+((typeof(eval("document.formEnviar."+f1[0]+"__0"))!="undefined")?("0"):("1")));
	f.length = 1; hidden.value = ""; document.getElementById(f1[0]+"__selectshow").innerHTML = "";
	for(c=0; c<a.length; c++){
		if(a[c].selecionado){
			if(document.getElementById(f1[0]+"__selectshow").innerHTML.length>0){hidden.value += ","; document.getElementById(f1[0]+"__selectshow").innerHTML += ", "; }
			hidden.value += a[c].value; document.getElementById(f1[0]+"__selectshow").innerHTML += "<a href='javascript:inputSelectMultipleDelete("+i+","+c+")'>"+a[c].label+"</a>";
		}else{ f.length ++; f[f.length-1].value = c; f[f.length-1].text = a[c].label; }
	}
	f.selectedIndex = 0;
}

/*** CARREGA E GERENCIA INPUT FILE ***/
inputFile = function(f){
	arq = f.value.split(".");
	if(arq.length<2)return false;
	n = f.name.split("__");
	if((arq[arq.length-1].toLowerCase()=="jpg") || (arq[arq.length-1].toLowerCase()=="gif") || (arq[arq.length-1].toLowerCase()=="png")){
		inputFileView(n[0],true)	
		f.style.display = 'none';
	}
}
inputFileView = function(n, thumb){
	f = eval("document.formEnviar."+n+"__filebrowse");
	hidden = eval("document.formEnviar."+n+"__"+((typeof(eval("document.formEnviar."+n+"__0"))!="undefined")?("0"):("1")));	
	arq = (f.value!="")?(f.value):(hidden.value);
	document.getElementById(n+"__fileshow").innerHTML = "<a href=\"javascript:inputFileView('"+n+"',"+((thumb)?("false"):("true"))+")\"><img src='img/bt_file_"+((thumb)?("in"):("out"))+".gif' alt='"+((thumb)?("tamanho original"):("reduzir"))+"'></a><a href=\"javascript:inputFileClear('"+n+"')\"><img src='img/bt_file_clear.gif' alt='remover a imagem'></a>";
	document.getElementById(n+"__fileshow").innerHTML += "<img src='"+arq+"'"+((thumb)?(" height=20"):(""))+">";
}
inputFileClear = function(n){
	f = eval("document.formEnviar."+n+"__filebrowse");
	hidden = eval("document.formEnviar."+n+"__"+((typeof(eval("document.formEnviar."+n+"__0"))!="undefined")?("0"):("1")));	
	if(f.value=="")hidden.value="";	
	document.getElementById(n+"__fileinput").innerHTML = inputFileHtmInput(n, hidden.value);	
}
inputFileInit = function(n, style){
	if(style==undefined){ style=""; }
	hidden = eval("document.formEnviar."+n+"__"+((typeof(eval("document.formEnviar."+n+"__0"))!="undefined")?("0"):("1")));
	document.write("<div class='file' id='"+n+"__fileinput'>"+inputFileHtmInput(n, hidden.value, style)+"</div>");
}
inputFileHtmInput = function(n, arq, style){
	htm = "<div id='"+n+"__fileshow'>";	
	if(arq!=""){htm += "<a href=\"javascript:inputFileView('"+n+"',false)\"><img src='img/bt_file_in.gif' alt='tamanho original'></a><a href=\"javascript:inputFileClear('"+n+"')\"><img src='img/bt_file_clear.gif' alt='remover a imagem'></a><img src='"+hidden.value+"' height=40>"}
	htm += "</div><input type='file' name='"+n+"__filebrowse' accept='image/gif,image/jpeg,text/html' onChange='inputFile(this)' style='"+style+"'></div>";
	return htm;
}

/*** ATUALIZA O O ÚLTIMO INPUT SELECT ESTAMPADO PARA O VALOR INDICADO ***/
inputSelectRefresh = function(value){
	if(value==""){ return false; }
	f = document.formEnviar.elements[document.formEnviar.elements.length-1];
	for(c=0; c<f.length; c++){
		if(f[c].value == value){ f.selectedIndex = c; return true;}
	}
}



/*** FILTROS DE DIGITACAO ***/
// Entrada so de data (f:objeto - "this")
inputDate = function(f){
	if(browser == "NE")return true;
	k = window.event.keyCode;	
	if((k==13) || (k==27))return true;
	k = String.fromCharCode(k);		
	if(("0123456789/").indexOf(k) == -1)return false;
	t = f.value.split("/");
	if(f.value.length==10)return false;
	if((f.value.length==0) && (k=="/")){f.value = ""; return false; }	
	if((f.value.length==1) && (k=="/")){f.value = "0"+f.value+"/"; return false; }		
	if((f.value.length==2) && (k!="/")){f.value = f.value+"/"+k; return false; }
	if((f.value.length==3) && (k=="/")){return false; }
	if((f.value.length==4) && (k=="/")){f.value = t[0]+"/0"+t[1]+"/"; return false; }		
	if((f.value.length==5) && (k!="/")){f.value = f.value+"/"+k; return false; }
	if((f.value.length>=6) && (k=="/")){return false; }	
	return true;
}
// Entrada so de numeros (f:objeto - "this")
inputNumber = function(f){
	if(browser == "NE"){ return true; }
	if(window.event.keyCode==44){ window.event.keyCode=46; }	
	k = String.fromCharCode(window.event.keyCode);
	if(("0123456789.").indexOf(k) == -1){ return false; }
	if((k==".") && (f.value.split(".").length>1))return false
	return true;
}


/*** FORM VALIDACAO ***/
formCheck = function(f){
	send = true;
	for(c=0; c<f.elements.length; c++){
		f1 = f.elements[c].name.split("__");	
		if((f.elements[c].type != "button") && (f.elements[c].type != "submit") && (f.elements[c].type != "reset") && (f1[1]!="select") && (f.elements[c].type != "hidden")){
			document.getElementById(f.name+"__"+f1[0]).style.color = "000000";		
			if((f.elements[c].type=="text") && (f1[1]==1) && (!formCheckText(f1[2], f.elements[c].value))){ formCheckAlert(f.name+"__"+f1[0]); }
			if((f.elements[c].type=="textarea") && (f1[1]==1) && (!formCheckText(f1[2], f.elements[c].value))){ formCheckAlert(f.name+"__"+f1[0]); }
			if((f.elements[c].type=="select-one") && (f1[1]==1) && (f.elements[c].selectedIndex==0)){ formCheckAlert(f.name+"__"+f1[0]); }
			if((f.elements[c].type=="hidden") && (f1[1]==1) && f.elements[c].value.length==0){ formCheckAlert(f.name+"__"+f1[0]); }
			if((f.elements[c].type=="checkbox") && (f1[1]==1) && (!f.elements[c].checked)){ formCheckAlert(f.name+"__"+f1[0]); }
		}
	}
	if(send){ for(c=0; c<f.elements.length; c++){ f1 = f.elements[c].name.split("__"); if((f.elements[c].type != "button") && (f.elements[c].type != "submit") && (f.elements[c].type != "reset") && (f1[1]!="select") && (f.elements[c].name != "acao") && (f.elements[c].name != "id") && (f.elements[c].name != "tabela")){ f.elements[c].name = f1[0]; } } }
	else{ alert("Os campos em vermelho estão incorretos!"); }
	return send;
}
formCheckAlert = function(n){
	send=false;
	document.getElementById(n).style.color = "FF0000";
}
 // Valida textos diversos
formCheckText = function(t, v){
	if((t == "text") && (v.length > 0)){ return true; }
	if((t == "number") && (v.length > 0) && (!isNaN(v))){ return true; }
	if((t == "currency") && (v.length > 0) && (formCheckCurrency(v))){ return true; }
	if((t == "birth") && (v.length > 0) && (formCheckDateBirth(v))){ return true; }
	if((t == undefined) && (v.length>0)){ return true; }
	return false;
}
// Valida data
formCheckDate = function(d){
	d = d.split("/"); t = new Date(d[2],(d[1]-1),d[0]);
	if((d[0] != t.getDate()) || (d[1] != (t.getMonth()+1)) || (d[2] != ((t.getYear()<1000)?(t.getYear()+1900):(t.getYear()))))return false
	else return true
}
// Valida data de Aniversario
formCheckDateBirth = function(d){
	if(formCheckDate(d)){
		d = d.split("/");  t = new Date();
		if((d[2] > t.getYear()) || ((d[2] == t.getYear())&&(d[1] > (t.getMonth()+1))) || ((d[2] == t.getYear())&&(d[1] == (t.getMonth()+1)) && (d[0] > t.getDate())))return false
		else return true
	}else return false
}
// Valida moeda
formCheckCurrency = function(v){
	v = v.replace(",",".")
	if(isNaN(v)){ return false; }
	if(v.indexOf(".")!=-1){ v = v.split(".");	if(v[1].length>2){ return false; } }
	return true
}


/*** FORM MENU ***/
formMenu = function(destino){
	document.formEnviarMenu.action = destino+".php";
	document.formEnviarMenu.submit();
}


/*** FORM LISTA EDICAO ***/
function edit(id){
	f=document.formEnviarEditar;
	f.id.value = id;	
	f.submit();
}