if (!self.g_IS)g_IS = new Is()

function getStyle(obj){
	if (g_IS.w3c) return obj.style
	else return obj;
}

function Is(){
    var agent = navigator.userAgent.toLowerCase();
	this.major = parseInt(navigator.appVersion);
    this.minor = parseFloat(navigator.appVersion);
    this.ns  = ((agent.indexOf('mozilla')!=-1) && ((agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1)));
    this.ns2 = (this.ns && (this.major == 2));
    this.ns3 = (this.ns && (this.major == 3));
    this.ns4b = (this.ns && (this.minor < 4.04));
    this.ns4 = ((this.ns && (this.major >= 4))&&!(agent.indexOf('netscape6')!=-1));
	this.gek = (agent.indexOf('gecko')!=-1);
	this.ns6 = (agent.indexOf('netscape6')!=-1);
    this.ie   = (agent.indexOf("msie") != -1);
    this.ie3  = (this.ie && (this.major == 2));
    this.ie4  = (this.ie && (this.major == 4));
    this.ie5  = (this.ie && (this.major >= 4));
    this.op  =  (agent.indexOf("opera") != -1);
	this.w3c = ((agent.indexOf('netscape6') != -1)||(this.ie && (this.major >= 4)));
}

if (g_IS.ns4){
	g_sSTYLE_REF 	= "";
	g_sDOC_REF 		= "document.layers";
	g_sDOC			= "document.";		// Netscape aceita visibility igual ao Explorer:
	g_sVISIBLE_REF 	= "show";			// setar style visibility como 'visible' ou 'hidden' 
	g_sHIDE_REF		= "hide";			// buscar eh que tem diferenca 'show' e 'hide'g_sSTYLE_REF 			= ".style";
}else{
	g_sSTYLE_REF	= ".style";
	g_sDOC_REF 		= "document.all";
	g_sDOC			= "";
	g_sVISIBLE_REF 	= "visible"; 	
	g_sHIDE_REF 	= "hidden";		   
}										
// funções de acessibilidade
function pegaObjeto(sObj,oOrigem){
	if(!oOrigem){	oOrigem = self 	}
	if(!isObject(oOrigem)){ 
		oOrigem = frames[oOrigem]
		if (!oOrigem){
			var sOrigem = oOrigem ;
			oOrigem = pegaObjeto(sOrigem,self.parent)}
		if (!oOrigem){	oOrigem = pegaObjeto(sOrigem,self.top);}
		if (!oOrigem){	alert('erro - frame não localizado:'+sOrigem);return}
	}
	 // netscape 4
	if (g_IS.ns4){  
		if  (oOrigem.document.forms[sObj]){   return oOrigem.document.forms[sObj];	}
		for (var f=0;f<oOrigem.document.forms.length;f++){   
			if (oOrigem.document.forms[f].elements[sObj]){   
				return oOrigem.document.forms[f].elements[sObj];
			}
		}
		if (oOrigem.document.images[sObj]){	return oOrigem.document.images[sObj];}
		if (oOrigem.document.links[sObj]){	return oOrigem.document.links[sObj];}
		if (oOrigem.document.anchors[sObj]){	return oOrigem.document.anchors[sObj];}
		if (oOrigem.document.applets[sObj]){	return oOrigem.document.applets[sObj];}
		if (oOrigem.document.layers[sObj]){	return oOrigem.document.layers[sObj];}
		var obj = null;
		for (var l=0;l<oOrigem.document.layers.length;l++){	
			obj = pegaObjeto(sObj,oOrigem.document.layers[l]);
			if(obj)	return obj;
		}
	}else{
		//explorer 4 ou superior	
		if (g_IS.ie4){
			if (oOrigem.document.all[sObj]){	return oOrigem.document.all[sObj];}
		}else{ 	
			//netscape 6 e explorer 5 (w3c)
			if (g_IS.w3c){   
				var col = oOrigem.document.getElementsByName(sObj)
				if (col.length == 1) return col[0];
				if (col.length > 1) return col;
				if (oOrigem.document.getElementById(sObj))	return oOrigem.document.getElementById(sObj);
			}
	 	}
	}
	if(oOrigem.frames){ 	
		if (oOrigem.frames[sObj]) return oOrigem.frames[sObj]
		for (var fr=0;fr<oOrigem.frames.length;fr++){	
			obj = pegaObjeto(sObj,oOrigem.frames[fr]);
			if(obj)	return obj;
		}
	}
	return;
}
// Verifica tipo de dado criado por alguma classe especifica ex: instanceOf([dfsfsd],Array) =true
function instanceOf(obj, constructor){	
	if (!g_IS.ns4)	{return (eval("obj instanceof constructor"));}
	while (obj != null){	
		if (obj == constructor.prototype) return true;       
		obj = obj.__proto__;
	}
	return false;
}

function isObject(obj){
	var stobj = typeof obj;
	return (stobj.indexOf("object") >= 0);
}

function isString(obj){
	var stobj = typeof obj;
	return (stobj.indexOf("string") >= 0);
}

function isDate(obj){	return (obj&&obj.year)?true:false;}
function isArray(obj){	return (obj&&obj.sort)?true:false}

function dw(div,stexto,frame){
	if (!isObject(frame)){ 
		if (frame){frame = frames[frame];}
		else{frame = self}
	}	
	sframe = (frame.name)?frame.name:((frame.title)?frame.title:frame.id)
	if (!isObject(div)){	
		oDiv = pegaObjeto(div,frame);
		if(!oDiv){
			if(top.debug)	alert(div + ", em " + sframe + " não encontrada");
			return false;
		}
	}else oDiv = div
	if (g_IS.ns4){
		oDiv.document.open(); 
	  	oDiv.document.write(stexto);
		oDiv.document.close();
	}else  	oDiv.innerHTML = stexto;	
}
// The code by Captain <cerebrum@iname.com>
// Mead & Company, http://www.meadroid.com/wpm/ fake print() for IE4.x
if ( !printIsNativeSupport() ){
  window.print = printFrame;
}

function imprimirPrinc(){  
 	this.focus();
	if (!printIsNativeSupport() )
		print(this)
	else 
	  window.print();
}
// main stuff
function printFrame(frame, onfinish){
	if ( !frame ) frame = window;
	if ( frame.document.readyState !== "complete" &&
    	!confirm("A página ainda não está completa! Continuar a impressão?") ){
    	if ( onfinish ) onfinish();
    	return;
  	}
	if ( printIsNativeSupport() ){
	  /* focus handling for this scope is IE5Beta workaround,
	     should be gone with IE5 RTM.  */
	  var focused = document.activeElement; 
	  frame.focus();
	  frame.self.print();
	  if ( onfinish ) onfinish();
	  if ( focused && !focused.disabled ) focused.focus();
	  return;
	}	
	var eventScope = printGetEventScope(frame);
	var focused = document.activeElement;
	window.printHelper = 	function(){
								execScript("on error resume next: printWB.ExecWB 6, 1", "VBScript");
								printFireEvent(frame, eventScope, "onafterprint");
								printWB.outerHTML = "";
								if ( onfinish ) onfinish();
								window.printHelper = null;
							}
	document.body.insertAdjacentHTML("beforeEnd","<object id=\"printWB\" width=0 height=0 \
    classid=\"clsid:8856F961-340A-11D0-A96B-00C04FD705A2\"></object>");
	printFireEvent(frame, eventScope, "onbeforeprint");
  	frame.focus();
  	window.printHelper = printHelper;
  	setTimeout("window.printHelper()", 0);
}

// helpers
function printIsNativeSupport(){
	var agent = window.navigator.userAgent.toLowerCase();
	if  ((agent.indexOf('mozilla') != -1) && (parseInt(navigator.appVersion) >= 4) && (agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1))
		return true;
	var i = agent.indexOf("msie ") + 5;
	return parseInt(agent.substr(i)) >= 5 && agent.indexOf("5.0b1") < 0;
}

function printFireEvent(frame, obj, name){
	var handler = obj[name];
	switch ( typeof(handler) ){
		case "string": frame.execScript(handler); break;
		case "function": handler();
	}
}

function printGetEventScope(frame){
	var frameset = frame.document.all.tags("FRAMESET");
	if ( frameset.length ) return frameset[0];
	return frame.document.body;
}

//- funções de navegação ======================================================================
function gerAjuda(sPagina){
	sPagina = (sPagina!=null)?sPagina:Dados.document.title
 	return window.open(g_sDIR_AJUDA+ sPagina,"AjudaWin","width=340,height=385,scrollbars=yes,dependent");
}

var AUXCOMUM ;
function gerPegaCookie(sChave){
	var sArg = sChave + "=";
	var nLenA = sArg.length;
	var nLenC = document.cookie.length;
	var i=0;
	while(i < nLenC){
		var j = i + nLenA;
		if (document.cookie.substring(i,j) == sArg)
			return gerPegaCookieVal(j);
		i = document.cookie.indexOf(" ",i)+1;
		if (i == 0) break;
	}
	return "";
}

function gerPegaCookieVal(nOffset){
	if (document.cookie.length > 0){
		var nEnd = document.cookie.indexOf(";",nOffset);
		if (nEnd == -1) nEnd = document.cookie.length;
		return unescape(document.cookie.substring(nOffset,nEnd));
	}else{	return "";}
}

function gerGravaCookie(sChave,sValor){
	var sArgv = gerGravaCookie.arguments;
	var nArgc = gerGravaCookie.arguments.length;
	var sExpires = (nArgc>2)? sArgv[2]:null;
	var sPath = (nArgc>3)? sArgv[3]:null;
	var sDomain = (nArgc>4)? sArgv[4]:null;
	var bSecure = (nArgc>5)? sArgv[5]:null;
	document.cookie = sChave + "=" + escape(sValor) + ((sExpires == null)? "":(";expires="+sExpires.toGMTString())) +
	 ((sPath == null)? "":(";path="+ sPath )) + ((sDomain == null)? "":(";domain="+ sDomain )) +
	 ((bSecure == true)? ";secure":"");
}

//persistencia de forms em cookie para recuperacao posterior
function gerPersisteForms(inframe){ 
	var posValor = ''
	var bExiste =false
	var sForms
	var titulo
	var sChecked = ""
	try{
		titulo = inframe.document.title.toUpperCase();
	    inframe = (!inframe)?this.window:inframe;
		for (var i=0;i<inframe.document.forms.length;i++){	    
			for (var j=0;j<inframe.document.forms[i].elements.length;j++){
		    	if (parent.parent.Auxiliar.document.forms[i].elements[j].name == inframe.document.forms[i].elements[j].name){	
					if (parent.parent.Auxiliar.document.forms[i].elements[j].type.toUpperCase()=="CHECKBOX"){						
						parent.parent.Auxiliar.document.forms[i].elements[j].checked = inframe.document.forms[i].elements[j].checked					
					}else
						parent.parent.Auxiliar.document.forms[i].elements[j].value = inframe.document.forms[i].elements[j].value				
				}		
			}	
		}		
		for (var k=0;k<parent.parent.Navegacao.ArrPosNomes.length;k++){				
			if (titulo.search("-"+parent.parent.Navegacao.ArrPosNomes[k].toUpperCase()+"-")>=0){				
				bExiste = true;
				posValor = k;
				break;
			}else	bExiste = false;
		}	
		for (var h=0;h<inframe.document.forms.length;h++){
			sForms =  sForms + "<form name='"+inframe.document.forms[h].name+"'>"
			for (var j = 0; j<inframe.document.forms[h].length;j++){
				if (inframe.document.forms[h].elements[j].type.toUpperCase()=='CHECKBOX'){	
					if (inframe.document.forms[h].elements[j].checked)
						sChecked = "checked"
					else	
						sChecked = ""
					if (inframe.document.forms[h].elements[j].disabled)
					 	sChecked = sChecked + " Disabled "
					if (inframe.document.forms[h].elements[j].readOnly)
					 	sChecked = sChecked + " readOnly " 	
					sForms = sForms + "<input type="+inframe.document.forms[h].elements[j].type+" name='"+inframe.document.forms[h].elements[j].name+"' "+sChecked+">"
				}else{					
					if (inframe.document.forms[h].elements[j].type.toUpperCase()=='SELECT-ONE'){	
						sChecked = ""
						if (inframe.document.forms[h].elements[j].disabled)
							sChecked = sChecked + " Disabled "
						if (inframe.document.forms[h].elements[j].readOnly)
							sChecked = sChecked +" readOnly "	
							sForms = sForms + "<SELECT "+sChecked+" name='"+inframe.document.forms[h].elements[j].name+"'>"
							for (var iSel = 0 ; iSel<inframe.document.forms[h].elements[j].length ; iSel++){
								if (inframe.document.forms[h].elements[j].options[iSel].selected)
									sSelected = "selected";
								else
									sSelected = "";
								sForms = sForms + "<OPTION "+sSelected+" VALUE="+inframe.document.forms[h].elements[j].options[iSel].value+">"+inframe.document.forms[h].elements[j].options[iSel].text+"</OPTION>"
							}
							sForms = sForms + "</SELECT>";
						}else{
							if (inframe.document.forms[h].elements[j].type.toUpperCase()=='SELECT-MULTIPLE'){	
								sChecked = "";
								if (inframe.document.forms[h].elements[j].disabled)
									sChecked = sChecked + " Disabled "
								if (inframe.document.forms[h].elements[j].readOnly)
									sChecked = sChecked +" readOnly "	
								sForms = sForms + "<SELECT "+sChecked+" MULTIPLE name='"+inframe.document.forms[h].elements[j].name+"'>"
								for (var iSel = 0 ; iSel<inframe.document.forms[h].elements[j].length ; iSel++){
									if (inframe.document.forms[h].elements[j].options[iSel].selected)
										sSelected = "selected";
									else	
										sSelected = "";
									sForms = sForms + "<OPTION "+sSelected+" VALUE="+inframe.document.forms[h].elements[j].options[iSel].value+">"+inframe.document.forms[h].elements[j].options[iSel].text+"</OPTION>"
								}
								sForms = sForms + "</SELECT>";
							}else{
								if (inframe.document.forms[h].elements[j].type.toUpperCase()=='RADIO'){
									sChecked = "";
									if (inframe.document.forms[h].elements[j].checked)
										sChecked = "checked";
									else
										sChecked = "";
									if (inframe.document.forms[h].elements[j].disabled)
										sChecked = sChecked + " Disabled ";
									if (inframe.document.forms[h].elements[j].readOnly)
										sChecked = sChecked +" readOnly ";
									sForms = sForms + "<input type="+inframe.document.forms[h].elements[j].type+" name='"+inframe.document.forms[h].elements[j].name+"' "+sChecked+">"
								}else{
									sChecked = "";
									if (inframe.document.forms[h].elements[j].disabled)
										sChecked = sChecked + " Disabled ";
									if (inframe.document.forms[h].elements[j].readOnly)
											sChecked = sChecked + " readOnly ";
									sForms = sForms + "<input "+sChecked+" type="+inframe.document.forms[h].elements[j].type+" name="+inframe.document.forms[h].elements[j].name+" value='"+inframe.document.forms[h].elements[j].value+"'>"
								}
							}
						}
					}	
				}
				sForms =  sForms + "</form>";
			}
			if (bExiste){
				parent.parent.Navegacao.ArrValores[posValor] = sForms;
			}
	}catch(e){}
}
// monta forms a partir do cookie
function gerRecupForms(inframe){	
	var titulo
	var objBody
	var bExiste = false
	var sForms = ""
	var posValor = 0
	try{	
		objBody = parent.parent.Auxiliar.document.body;
		titulo = inframe.document.title.toUpperCase();
		objBody.innerHTML = "";
		inframe = (!inframe)?this.window:inframe;
		for (var k=0;k<parent.parent.Navegacao.ArrPosNomes.length;k++){				
			if (titulo.search("-"+parent.parent.Navegacao.ArrPosNomes[k].toUpperCase()+"-")>=0){				
				bExiste = true;
				posValor = k;
				break;			
			}else
				bExiste = false;				
		}		
		if (bExiste){				
			objBody.innerHTML = parent.parent.Navegacao.ArrValores[posValor];			
		}			
		for (var i=0;i<inframe.document.forms.length;i++){
			for (var j=0;j<inframe.document.forms[i].elements.length;j++){
				if (parent.parent.Auxiliar.document.forms[i].elements[j].name == inframe.document.forms[i].elements[j].name){				
					if (inframe.document.forms[i].elements[j].type.toUpperCase()=='CHECKBOX'){					
						if (parent.parent.Auxiliar.document.forms[i].elements[j].checked)
							inframe.document.forms[i].elements[j].checked = true
						if (parent.parent.Auxiliar.document.forms[i].elements[j].disabled)
							inframe.document.forms[i].elements[j].disabled = true
						if (parent.parent.Auxiliar.document.forms[i].elements[j].readOnly)
							inframe.document.forms[i].elements[j].readOnly = true;
					}else{
						if (inframe.document.forms[i].elements[j].type.toUpperCase()=='SELECT-ONE'){						
							for (var iSel = 0;iSel<parent.parent.Auxiliar.document.forms[i].elements[j].length;iSel++){
								inframe.document.forms[i].elements[j].options[iSel].selected=parent.parent.Auxiliar.document.forms[i].elements[j].options[iSel].selected
							}	
							if (parent.parent.Auxiliar.document.forms[i].elements[j].disabled)
								inframe.document.forms[i].elements[j].disabled = true;
							if (parent.parent.Auxiliar.document.forms[i].elements[j].readOnly)
								inframe.document.forms[i].elements[j].readOnly = true;
						}else
							if (inframe.document.forms[i].elements[j].type.toUpperCase()=='SELECT-MULTIPLE'){					
								for (var iSel = inframe.document.forms[i].elements[j].length;iSel>=0; iSel--){								
									inframe.document.forms[i].elements[j].options.remove(iSel)
								}
								for (var iSel = 0;iSel<parent.parent.Auxiliar.document.forms[i].elements[j].length;iSel++){
									var oOption = inframe.document.createElement("OPTION");
									inframe.document.forms[i].elements[j].options.add(oOption);
									oOption.innerText = parent.parent.Auxiliar.document.forms[i].elements[j].options[iSel].text 
									oOption.value =  parent.parent.Auxiliar.document.forms[i].elements[j].options[iSel].value
									oOption.selected = parent.parent.Auxiliar.document.forms[i].elements[j].options[iSel].selected
								}					
								if (parent.parent.Auxiliar.document.forms[i].elements[j].disabled)
									inframe.document.forms[i].elements[j].disabled = true
								if (parent.parent.Auxiliar.document.forms[i].elements[j].readOnly)
									inframe.document.forms[i].elements[j].readOnly = true
							}else{
								if (inframe.document.forms[i].elements[j].type.toUpperCase()=='RADIO'){		
									if (parent.parent.Auxiliar.document.forms[i].elements[j].checked)
										inframe.document.forms[i].elements[j].checked = true
									if (parent.parent.Auxiliar.document.forms[i].elements[j].disabled)
										inframe.document.forms[i].elements[j].disabled = true
									if (parent.parent.Auxiliar.document.forms[i].elements[j].readOnly)
										inframe.document.forms[i].elements[j].readOnly = true		
								}else{
									if (parent.parent.Auxiliar.document.forms[i].elements[j].disabled)
										inframe.document.forms[i].elements[j].disabled = true
									if (parent.parent.Auxiliar.document.forms[i].elements[j].readOnly)
										inframe.document.forms[i].elements[j].readOnly = true	
									inframe.document.forms[i].elements[j].value = parent.parent.Auxiliar.document.forms[i].elements[j].value				
								}	
							}   
					}		   
				}	
			}
		}
	}catch(e){}
}
// recuperar valor para o campo - usa o nro do campo pois podem haver campos de mesmo nome
// se o nome do campo = ao do cookie =atribui valor e retorna true
// senao - ignora e retorna false
// formato da aValores= <#nro>nome%=valor[,vvvvv,vvv,vvv]
function gerBuscaValorCampo(elemento,item){
	aconteudo = item.split("=")
	if (aconteudo[0].indexOf(">"+elemento.name+"%")==-1){return false}
	conteudo = aconteudo[1];
	sw = elemento.type;
	var x = conteudo;
	if (sw.indexOf("radio")>=0){
		if (elemento.value==x)elemento.checked = true
	}else{
		if (sw.indexOf("checkbox")>=0){
			if (elemento.value==x)elemento.checked = true
		}else{ 
			if (sw.indexOf("multiple")>=0&&x.indexOf(",")>=0){
				x = x.split(",")
				elemento.selectedIndex = -1
				for(var i=0;i<x.length;i++){
					for (var j=0;j<elemento.options.length;j++){
						if (elemento.options[j].value==x[i]){elemento.options[j].selected = true;}
					}
				}
			}else{ elemento.value = x;	}
		}
	}
	return true;
}
// recupera o campo do elemento. em caso de selects - retorna lista 
// com texto, valor e selected
function gerMontaValor(elemento,textvalue){
	var sw = elemento.type
	var textvalue = (textvalue=='text')?'t':'v'
	var x = String(elemento.value)
	if (sw.indexOf("radio") >= 0)
		x = (elemento.checked)?x:""
	if (sw.indexOf("checkbox") >= 0)
		x = (elemento.checked)?x:""
	if  (sw.indexOf("select") >= 0){	
		x = "";
		var cx = "";
		for (var i=0;i<elemento.options.length;i++){	 
			if(elemento.options[i].selected){	
				x+= cx+((textvalue=='v')?elemento.options[i].value:elemento.options[i].text);
			 	cx = ",";
			}
		}
	}
	x = x.replace(/\n/gi,"\n");
	return x.replace(/\r/gi,"\r");
}
//funções de manipulacao basica de strings =====================================================
function gerExtraiStr(str1,str2){
  return gerTrocaStr(str1, str2, "")
}

function gerTrim(str1){
	return str1.replace(/^\s*(.*[^\s])\s*$/,"$1");
}
function gerExtraiSpc(str1){
	return str1.replace(/\s/g,"");
}

function gerLimpaString(str1){
	str1 = innerText(str1) //extrai tags html
	str1 = gerTrocaStr(str1, '\\&(\\w)(\\w){1,8}\\;',"$1") // traduz &ccedil; para c; etc.
	return gerExtraiAcentos(str1);
}

function gerExtraiAcentos(str1){
	str1 = gerTrocaStr(str1, "ã", "a")
	str1 = gerTrocaStr(str1, "â", "a")
	str1 = gerTrocaStr(str1, "á", "a")
	str1 = gerTrocaStr(str1, "à", "a")
	str1 = gerTrocaStr(str1, "ä", "a")
	str1 = gerTrocaStr(str1, "õ", "o")
	str1 = gerTrocaStr(str1, "ô", "o")
	str1 = gerTrocaStr(str1, "ó", "o")  
	str1 = gerTrocaStr(str1, "ó", "o")
	str1 = gerTrocaStr(str1, "ò", "o")  
	str1 = gerTrocaStr(str1, "ç", "c")
	str1 = gerTrocaStr(str1, "í", "i")
	str1 = gerTrocaStr(str1, "ì", "i")
	str1 = gerTrocaStr(str1, "î", "i")
	str1 = gerTrocaStr(str1, "ï", "i")
	str1 = gerTrocaStr(str1, "é", "e")
	str1 = gerTrocaStr(str1, "ê", "e")
	str1 = gerTrocaStr(str1, "ë", "e")
	str1 = gerTrocaStr(str1, "ú", "u")
	str1 = gerTrocaStr(str1, "ù", "u")
	str1 = gerTrocaStr(str1, "ü", "u")
	str1 = gerTrocaStr(str1, "û", "u")
	str1 = gerTrocaStr(str1, "ÿ", "y")
	str1 = gerTrocaStr(str1, "Ã", "A")
	str1 = gerTrocaStr(str1, "Â", "A")
	str1 = gerTrocaStr(str1, "Á", "A")
	str1 = gerTrocaStr(str1, "À", "A")
	str1 = gerTrocaStr(str1, "Ä", "A")
	str1 = gerTrocaStr(str1, "Õ", "O")
	str1 = gerTrocaStr(str1, "Ô", "O")
	str1 = gerTrocaStr(str1, "Ó", "O")  
	str1 = gerTrocaStr(str1, "Ó", "O")
	str1 = gerTrocaStr(str1, "Ò", "O")  
	str1 = gerTrocaStr(str1, "Ç", "C")
	str1 = gerTrocaStr(str1, "Í", "I")
	str1 = gerTrocaStr(str1, "Ì", "I")
	str1 = gerTrocaStr(str1, "Î", "I")
	str1 = gerTrocaStr(str1, "Ï", "I")
	str1 = gerTrocaStr(str1, "É", "E")
	str1 = gerTrocaStr(str1, "Ê", "E")
	str1 = gerTrocaStr(str1, "Ë", "E")
	str1 = gerTrocaStr(str1, "Ú", "U")
	str1 = gerTrocaStr(str1, "Ù", "U")
	str1 = gerTrocaStr(str1, "Ü", "U")
	str1 = gerTrocaStr(str1, "Û", "U")
	return str1;  
}
//substitui todas as ocorrencias de uma string expressão regular por outra
function gerTrocaStr(instr, reBusca, sTroca,umavez,ignorecase){
	instr = "" + instr + "";
	if (isString(reBusca)){ 
		reBusca = new RegExp(reBusca,((ignorecase)?"i":"")+((umavez)?"":"g"))
	}
	return instr.replace(reBusca,sTroca);
}
// elimina tags html e deixa somente o innertext
function innerText(str){	
	str = "" + str + ""
	str = str.replace (/\<[^\>]*\>/g,"")
	return(str);
}

function zeraForm(form){
	for (var i = 0 ; i < form.length; i++){
		if (!form[i].readOnly){
			if (form[i].type == 'text') form[i].value = ""
			if (form[i].type == 'select') form[i].selectedIndex = -1
			if (form[i].type == 'radio' || form[i].type == 'checkbox') form[i].checked = false;
		}
	}
}

function gerLimpar(inframe,fLimparTudo){
	var auxLimpar;
	re = / /gi;		
	if (inframe.parent.Acoes.window.document.Script.self.document.activeElement.tagName=="INPUT")
		auxLimpar=inframe.parent.Acoes.window.document.Script.self.document.activeElement.value
	else	
		auxLimpar = "";
	auxLimpar = auxLimpar.replace(re,"")		
	if (gerLimpar.arguments.length==1)
		pos = 1;
	else
		pos = gerLimpar.arguments[1];
    inframe = (!inframe)?this.window:inframe;
	for (var i=0;i<inframe.document.forms.length;i++){
		if (fLimparTudo){
			zeraForm(inframe.document.forms[i])
		}else{
			inframe.document.forms[i].reset()
		}
	}// no Netscape chama recursivamente para cada Layer
	if ((auxLimpar!="Limpar") && (!g_IS.ns4)){
		var el = inframe.document.all.tags("DIV")
		AtivaDiv(el(pos).id, inframe); //Ativa DIV, no exemplo DIV 0, isto é: a primeira!
	} 
	if (g_IS.ns4){
		for (var i=0;i<inframe.document.layers.length;i++){
        	gerLimpar(inframe.document.layers[i])
		}
	}
	//Coloca foco no primeiro campo da DIV ativa, evita q o foco fique no frame de Acoes (IE5.5)
	var oDiv = inframe.document.all.tags("DIV")
	for (var n=0;n<inframe.document.all.tags("DIV").length;n++)
		if(oDiv(n).style.visibility == "visible"){	
			AtivaDiv(oDiv(n).id, inframe);	
			return;	
		}
}

function AtivaDiv(tab, inframe){
	try{	    	
		this.Acoes.mAbas.escreve("dAbasCab");
		this.Acoes.mAbas.selTab(tab);
	}catch(e){}
}			
// frame a pegar os forms, action , lista de campos extras (nome, conteudo)...
function gerEnviaTodosForms(inframe, saction,starget){
	var oDest = null;
	var err = false;
	smetod = 'post';
	starget = (starget)?starget:""
	var sArgv = gerEnviaTodosForms.arguments;
	var nArgc = gerEnviaTodosForms.arguments.length;
	// verifica se ha frame Controle
	if(!frames.Controle){
		if(top.debug){alert("erro - estrutura de frames");
			Controle = window.open("","","width=200,  height=300, dependent");
			err = true ;
		}
	}
	//cria formulario de trabalho
	var str = '<form name="zzzzFormUnico" action="'+saction+'" method="'+smetod+'" target="'+((starget&&starget!="")?starget:'Controle')+'">\n'
	//se informado frame - varre os forms , senão somente os outros
	oDest = pegaObjeto('zzzzControle'); if (!oDest)oDest=frames["Controle"]
	dw(oDest,"");
	if (inframe) str+=gerMontaForms(inframe);
	//grava campos informados pela linha de comando nome,valor,...
	if (nArgc > 3){
		var xValor = "";
		for (var i=3; i<nArgc;i+=2){
			xValor = gerTrocaStr(innerText(sArgv[i+1]),"'",'&lsquo;')
			xValor = gerTrocaStr(xValor,'"','&quot;')
			str+="<input type=text name="+sArgv[i]+" value='"+xValor+"'>\n"
		}
	}
	if(top.debug){str+='<input type=submit value=enviar>'}
	str+='</form>';
	dw(oDest,str);
	if(top.debug&&!g_IS.ns4){frames.Controle.document.write(str)}
	if(!top.debug||confirm("enviar?")){
		pegaObjeto("zzzzFormUnico").submit();
		dw(oDest,"");
	}
	return;
} 

function gerMontaForms(inframe){   
	inframe = (!inframe)?this.window:inframe;
    var str="";
	for (var i=0;i<inframe.document.forms.length;i++){
	    var sValor = "";
		for (var j=0;j<inframe.document.forms[i].elements.length;j++){
 		    var etype = (inframe.document.forms[i].elements[j].type)
			fTextArea = false
			if (etype == "textarea"){	fTextArea = true;	}
			//ignora botoes, submit e reset's
			if(etype!='submit'&&etype!='reset'&&etype!='button'){	
				var xValor=gerMontaValor(inframe.document.forms[i].elements[j])
				if (xValor!=""){
					var xValor = gerTrocaStr(innerText(xValor),"'",'&lsquo;')
					xValor = gerTrocaStr(xValor,'"','&quot;')
					if (fTextArea){
						str+='<textarea name="'+inframe.document.forms[i].elements[j].name+'">' + xValor + '</textarea>'
					}else{
			    		str+='<input type=text name="'+inframe.document.forms[i].elements[j].name+'" value="'+xValor+'">'
					}
				}
			}
		}
	    this.window.external.AutoCompleteSaveForm(inframe.document.forms[i]); //Registra AutoComplete para todos os objetos nos forms					
	}// no Netscape chama recursivamente para cada Layer
	if (g_IS.ns4){
		for (var l=0;l<inframe.document.layers.length;l++){
			str+= gerMontaForms(inframe.document.layers[l])
		}
	}
	return str;
}

function zeraForm(form){
	/* form é o forme que vai ser zerado.
	ATENÇÃO, essa função apaga todos os dados do formulario, não retorna ele para o seu estado original.*/
	for (var i=0;i<form.elements.length;i++){
		elem = form.elements[i];
		if (elem.type != 'button'&&elem.type != 'submit'&&elem.type != 'reset'){
			if (elem.type == "radio"||elem.type == "checkbox"){
				elem.checked = false;
			}else	elem.value = "";
		}
	}
}


function resizeImage(){
	if(screen.width > 800){		
		pegaObjeto("xBanner").src = "imagens/xbanner1024.jpg";		
	}
	else{
		pegaObjeto("xBanner").src = "imagens/xbanner800.jpg";	
	}
}

function clickSound(bolSom){
	if(bolSom){
		pegaObjeto('imgComSom').className = 'visivel';
		pegaObjeto('imgSemSom').className = 'invisivel';
	}
	else{
		pegaObjeto('imgComSom').className = 'invisivel';
		pegaObjeto('imgSemSom').className = 'visivel';
	}
}
function enviaForm(strAcao){	
	if (strAcao=="amigo"){
		if( (pegaObjeto("txtNome").value=="")||
		(pegaObjeto("txtMail")).value=="" ){
			alert("Para indicar este site informe seu nome e o e-mail do seu amigo!")			
			return false
		}
	}else
		if (strAcao=="recado"){
			if( (pegaObjeto("txtRecado").value=="")||
			(pegaObjeto("txtNick").value=="") ){
				alert("Para enviar uma mensagem informe seu nick e o seu recado!")
				return false
			}
		}
	pegaObjeto("acaoForm").value = strAcao;
	pegaObjeto("formEnvio").submit();
}
function enviaFormFa(strAcao){
	//try{	
	if (strAcao=="recadoFa"){
		if( (pegaObjeto("txtRecadoFa").value=="")){
			alert("Digite a mensagem que deseja enviar ao chat!")
			pegaObjeto("txtRecadoFa").focus();
			return false
		}
	}
	if(strAcao=="")
		pegaObjeto("acaoFormFa").value = "atualizaFa";
	else
		pegaObjeto("acaoFormFa").value = strAcao;
		
	pegaObjeto("formEnvioFa").submit();
	//}catch(e){}
}

function enviaGuest(){
	if ((pegaObjeto("txtNomeGuest").value=="")||(pegaObjeto("txtMailGuest").value=="")||
		(pegaObjeto("txtSiteGuest").value=="")||(pegaObjeto("txtareaGuest").value=="")){
		alert("Preencha todos os campos para enviar uma mensagem para o Guestbook.")		
		return false;
	}
	pegaObjeto("acaoFormGuest").value = "guest";
	pegaObjeto("formGuest").submit();
}


	function popWindow(url){
		var strFeat;
		strFeat = "channelmode=no,directories=no,fullscreen=no,height=1,left=3000,location=no,"+
		"menubar=no, resizeble=no, scrollbars=yes,status=no,titlebar=no,toolbar=no,top=3000,width=1,dependent"
		var janelaPop = window.open(url,"_blank", strFeat, true)
		return janelaPop
	}
function logarFaClube(user,senha){
	if ((user=="") || (senha=="") ){
		alert ("Informe Usuário e Senha.");
		return
	}
	document.location = "loginFP.asp?txUser=" + user + "&txSenha=" + senha;
}