/*
* Funes JavaScrip utilizadas por todo o sistema
*
*/


//Formata uma string com base em uma mascara de entrada
//onkeyup="mascara(this, '###-####', event);
//resultado = ABC-1234 formatando a string para o formato de placa automotiva
//na mascara # representam caracteres alfanuméricos, e os caracteres
//[-] - menos
//[.] - ponto
//[ ] - espaço
//[(] - parentese
//[)] - parentese
//são considerados como separadores
//compatibilidade IE6+ Firefox
	function mascara(campo, Mascara, evento){
		var boleanoMascara;
		
		var Digitato = evento.keyCode;
		exp = /\-|\.|\/|\(|\)| /g
		campoSoNumeros = campo.value.toString().replace( exp, "" );
		var posicaoCampo = 0;    
		var NovoValorCampo="";
		var TamanhoMascara = campoSoNumeros.length;
		
		if (Digitato != 8) { // backspace
			for(i=0; i<= TamanhoMascara; i++) {
				boleanoMascara  = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".")
									|| (Mascara.charAt(i) == "/"))
				boleanoMascara  = boleanoMascara || ((Mascara.charAt(i) == "(")
									|| (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " "))
				if (boleanoMascara) {
					NovoValorCampo += Mascara.charAt(i);
					  TamanhoMascara++;
				}else {
					NovoValorCampo += campoSoNumeros.charAt(posicaoCampo);
					posicaoCampo++;
				  }
			  }    
			campo.value = NovoValorCampo.substr(0,Mascara.length);
			  return true;
		}else {
			return true;
		}
	}
	
//Submete um formulário em um objeto
//submete(form1,div1);
//resultado = o conteúdo html retornado ao submeter o formulário form1 será devolvido no objeto com id div1
//dependencia: enviaForm, extraiScript, ajax.js
//compatibilidade IE6+ Firefox
	function submete(cad,div){
		div = (div) ? div : 'loader';
		var ajax = new AJAX();
		ajax.url=cad.action;
		ajax.modo = 'T';
		ajax.metodo = cad.method.toUpperCase();
		if(ajax.metodo=='GET'){
			ajax.url=ajax.url+enviaForm(cad);
		}else{
			ajax.params = enviaForm(cad);
		}
		ajax.processaresultado=
		function(conteudo){
			document.getElementById(div).innerHTML = conteudo;
			extraiScript(conteudo,ajax.url);
		}
		ajax.conectar();
	}
	function enviaForm(cad){
		var objeto;
		if(cad.method.toUpperCase() == "GET"){
			var query = '?';
		}else if(cad.method.toUpperCase() == "POST"){
			var query = '';
		}       
		for (i=0;i<cad.elements.length;i++){
			if(cad.elements[i].type == "radio"){
				if(cad.elements[i].checked){
					query += cad.elements[i].name + '=' + encodeURIComponent(cad.elements[i].value);
					query += '&';
				}
			}
			
			if(cad.elements[i].type == "checkbox"){
				if(cad.elements[i].checked){
					query += cad.elements[i].name;
					if(cad.elements[i].name.indexOf('[')==-1 && cad.elements[i].name.indexOf(']')==-1){
						query += '%5B%5D';
					}
					query +='='+ encodeURIComponent(cad.elements[i].value);
					query += '&'; 
				}
			}else if(cad.elements[i].type == "password" || cad.elements[i].type == "text" || cad.elements[i].type == "textarea" || cad.elements[i].type == "hidden"){
				query += cad.elements[i].name + '=' + encodeURIComponent(cad.elements[i].value);
				query += '&';
			
			}else if(cad.elements[i].type == "select-one"){
				query += cad.elements[i].name + '=' + encodeURIComponent(cad.elements[i].value);
				query += '&';
			
			}else if(cad.elements[i].type == "select-multiple"){
				objeto = cad.elements[i];
				if(objeto.length>0){
					for(j=0;j<objeto.length;j++){
						if(objeto.options[j].selected == true){
							query += objeto.name;
							if(objeto.name.indexOf('[')==-1 && objeto.name.indexOf(']')==-1){
								query += '%5B%5D';
							}
							query +='='+ encodeURIComponent(objeto.options[j].value);
							query += '&';
						}
					}
				}
			}
	   	} 
		return query;
	}
	function extraiScript(texto,url){
		var ini, pos_src, fim, codigo, uri;
		if(url!=''){
			uri=url.split('/');
			uri.pop();
			url=uri.join('/')+'/';
		}
		var objScript = null;
		ini = texto.indexOf("<script", 0);
		while(ini!=-1){
			var objScript = document.createElement("script");
			//Busca se tem algum src a partir do inicio do script
			pos_src = texto.indexOf(" src", ini);
			ini = texto.indexOf(">", ini) + 1;
			//Verifica se este e um bloco de script ou include para um arquivo de scripts
			if(pos_src < ini && pos_src >=0){//Se encontrou um "src" dentro da tag script, esta e um include de um arquivo script
				//Marca como sendo o inicio do nome do arquivo para depois do src
				ini = pos_src + 4;
				//Procura pelo ponto do nome da extencao do arquivo e marca para depois dele
				fim = texto.indexOf(".", ini)+4;
				//Pega o nome do arquivo
				codigo = texto.substring(ini,fim);
				//Elimina do nome do arquivo os caracteres que possam ter sido pegos por engano
				codigo = codigo.replace("=","").replace(" ","").replace("\"","").replace("\"","").replace("\'","").replace("\'","").replace(">","");
				// Adiciona o arquivo de script ao objeto que sera adicionado ao documento
				objScript.src = url+codigo;
			}else{//Se nao encontrou um "src" dentro da tag script, esta e um bloco de codigo script
				// Procura o final do script
				fim = texto.indexOf("</script", ini);
				// Extrai apenas o script
				codigo = texto.substring(ini,fim);
				// Adiciona o bloco de script ao objeto que sera adicionado ao documento
				objScript.text = codigo;
			}
			//Adiciona o script ao documento
			document.body.appendChild(objScript);
			// Procura a proxima tag de <script
			ini = texto.indexOf("<script", fim);
			//Limpa o objeto de script
			objScript = null;
		}
	}

//Submete um formulário em um objeto
//getUrl('info.php',div1);
//resultado = o conteúdo html retornado na execução da url info.php devolvido no objeto com id div1
//dependencia: extraiScript, ajax.js
//compatibilidade IE6+ Firefox
	function getUrl(url,div){
		div = (div) ? div : 'loader';
		var ajax = new AJAX();
		ajax.url=url;
		ajax.modo = 'T';
		ajax.metodo = 'GET';
		ajax.processaresultado = 
		function(res) {
			document.getElementById(div).innerHTML=res;
			extraiScript(res,ajax.url);
		}
		ajax.conectar();
	}

//Abre e fecha o menu lateral
//abreFecha(1);
//resultado = se o menu com id botao1 estiver aberto, ele é fechado e vice versa
//compatibilidade IE6+ Firefox
	function abreFecha(num){
		var obj=document.getElementById('botao'+num);
		var obj2=document.getElementById('sub_menu'+num);
		if(obj.className=='menu_fundo'){
			//abriu
			obj.className='menu_fundo2';
			obj2.className='sub_menu_fundo';
		}else{
			//fechou
			obj.className='menu_fundo';
			obj2.className='sub_menu_fundo2';
		}
	}

//Utilizado em menus do tipo ABA para fazer o controle dos objetos que serão visiveis
//hide('c1,c2,c3','c4');
//resultado = esconde os objetos de ids c1,c2,c3 e mostra o objeto de id c4
//compatibilidade IE6+ Firefox
	function hide(divs,aparece){
		var f = divs.split(',');
		for(var ftl = 0; ftl < f.length; ftl++){
			document.getElementById(f[ftl]).style.display = "none";
		}
		document.getElementById(aparece).style.display = "block";
	}


function numero2moeda(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+'.'+
	num.substring(num.length-(4*i+3));
	//return (((sign)?'':'-') + 'R$' + num + ',' + cents);
	return (((sign)?'':'-') + '' + num + ',' + cents);
}

// getElementById Special to handle quirky browsers
function getElementById(id){
	var obj = null;
	if(document.getElementById){
		/* Prefer the widely supported W3C DOM method, if
		available:-
		*/
		obj = document.getElementById(id);
	}else if(document.all){
		/* Branch to use document.all on document.all only
		browsers. Requires that IDs are unique to the page
		and do not coincide with NAME attributes on other
		elements:-
		*/
		obj = document.all[id];
	}
	/* If no appropriate element retrieval mechanism exists on
	this browser this function always returns null:-
	*/
	return obj;
}


//verifica_data_maior('15/01/2007','16/01/2007'); true se data1 maior que data2 seno false
function verifica_data_maior(data1,data2,igual){
	if(igual=='1' && data1==data2) return true;
	var ano1,ano2,mes1,mes2,dia1,dia2;
	dia1=parseInt(data1.substr(0,2),10);
	mes1=parseInt(data1.substr(3,2),10);
	ano1=parseInt(data1.substr(6,4),10);
	dia2=parseInt(data2.substr(0,2),10);
	mes2=parseInt(data2.substr(3,2),10);
	ano2=parseInt(data2.substr(6,4),10);
	data1=new Date(ano1,mes1-1,dia1);
	data2=new Date(ano2,mes2-1,dia2);
	if(data1.getTime()>data2.getTime()){
		return true;
	}else{
		return false;
	}
}

function verifica_data(sdata){
day2 = sdata.substr(0,2);
month2 = sdata.substr(3,2);
year2 = sdata.substr(6,4);

if ((sdata.substr(2,1) != "/") || (sdata.substr(5,1) != "/"))
{
	day2 = "";
	month2 = "";
	year2 = "";
}

var DayArray = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var MonthArray = new Array("01","02","03","04","05","06","07","08","09","10","11","12");
var inpDate = day2 + month2 + year2;
var filter=/^[0-9]{2}[0-9]{2}[0-9]{4}$/;

//Check ddmmyyyy date supplied
if (! filter.test(inpDate))
  {
  return false;
  }
/* Check Valid Month */
filter=/01|02|03|04|05|06|07|08|09|10|11|12/;
if (! filter.test(month2))
  {
  return false;
  }
/* Check For Leap Year */
var N = Number(year2);
if ( ( N%4==0 && N%100 !=0 ) || ( N%400==0 ) )
  	{
   DayArray[1]=29;
  	}
/* Check for valid days for month */
for(var ctr=0; ctr<=11; ctr++)
  	{
   if (MonthArray[ctr]==month2)
   	{
      if (day2<= DayArray[ctr] && day2 >0 )
        {
        inpDate = day2 + '/' + month2 + '/' + year2;
        return true;
        }
      else
        {
        return false;
        }
   	}
   }
}
function verifica_email(imeiu){
	erro=0;
	if(imeiu.indexOf('@')<=0){
		erro=1;
	}else if(imeiu.indexOf('.')== -1 || imeiu.indexOf('.')==imeiu.indexOf('@')+1){
		erro=1;
	}else if(imeiu.length -1 == imeiu.indexOf('.')){
	    erro=1;
	}else{
        erro=1;
	    for(i=imeiu.indexOf('@')+1;i<imeiu.length-1;i++){
			if(imeiu.charAt(i)=='.' && imeiu.charAt(imeiu.length-1)!='.'){
	  		   erro=0;
	           break;
   			}
	    }
    }
	if(erro==1){
		return false;
	}else{
		return true;
	}
}

// muda a cor da linha na tabela onMouseover="changeto('#CCCCCC')" onMouseout="changeback('#FFFFFF')"
function changeto(highlightcolor){
source=event.srcElement
if (source.tagName=="TR"||source.tagName=="TABLE")
return
while(source.tagName!="TR")
source=source.parentElement
if (source.style.backgroundColor!=highlightcolor&&source.id!="ignore")
source.style.backgroundColor=highlightcolor
}
function changeback(originalcolor){
if (event.fromElement.contains(event.toElement)||source.contains(event.toElement)||source.id=="ignore")
return
if (event.toElement!=source)
source.style.backgroundColor=originalcolor
}

function format_number2(pnumber,decimals) 
{
  var strNumber = new String(pnumber);
  var arrParts = strNumber.split('.');
  var intWholePart = parseInt(arrParts[0],10);
  var strResult = '';
  if (isNaN(intWholePart))
    intWholePart = '0';
  if(arrParts.length > 1)
  {
    var decDecimalPart = new String(arrParts[1]);
    var i = 0;
    var intZeroCount = 0;
     while ( i < String(arrParts[1]).length )
     {
       if( parseInt(String(arrParts[1]).charAt(i),10) == 0 )
       {
         intZeroCount += 1;
         i += 1;
       }
       else
         break;
    }
    decDecimalPart = parseInt(decDecimalPart,10)/Math.pow(10,parseInt(decDecimalPart.length-decimals-1)); 
    Math.round(decDecimalPart); 
    decDecimalPart = parseInt(decDecimalPart)/10; 
    decDecimalPart = Math.round(decDecimalPart); 

   //If the number was rounded up from 9 to 10, and it was for 1 'decimal' 
   //then we need to add 1 to the 'intWholePart' and set the decDecimalPart to 0. 

    if(decDecimalPart==Math.pow(10, parseInt(decimals)))
    { 
      intWholePart+=1; 
      decDecimalPart="0"; 
    } 
    var stringOfZeros = new String('');
    i=0;
    if( decDecimalPart > 0 )
    {
      while( i < intZeroCount)
      {
        stringOfZeros += '0';
        i += 1;
      }
    }
    decDecimalPart = String(intWholePart) + "." + stringOfZeros + String(decDecimalPart); 
    var dot = decDecimalPart.indexOf('.');
    if(dot == -1)
    {
      decDecimalPart += '.'; 
      dot = decDecimalPart.indexOf('.'); 
    } 
    var l=parseInt(dot)+parseInt(decimals); 
    while(decDecimalPart.length <= l) 
    {
      decDecimalPart += '0'; 
    }
    strResult = decDecimalPart;
  }
  else
  {
    var dot; 
    var decDecimalPart = new String(intWholePart); 

    decDecimalPart += '.'; 
    dot = decDecimalPart.indexOf('.'); 
    var l=parseInt(dot)+parseInt(decimals); 
    while(decDecimalPart.length <= l) 
    {
      decDecimalPart += '0'; 
    }
    strResult = decDecimalPart;
  }
  return strResult;
}
function formata_numero(p,d){
  var r;
  if(p<0){p=-p;r=format_number2(p,d);r="-"+r;}
  else   {r=format_number2(p,d);}
  return r;
}
//formata moeda onFocus="formata_numero_cpp2(this);" onBlur="formata_numero_cpp(this,2);" onkeypress="return validaval(this, event);"
function formata_numero_cpp(p,d){ 
  var r;
  p.value=valor2js(p.value);
  if(p.value<0){p.value=-p.value;r=format_number2(p.value,d);r="-"+r;}
  else   {r=format_number2(p.value,d);}
  p.value=real2valor(r,d);
  p.value=formataMoedaSimple(p.value,d);
}
function formata_numero_cpp2(p){
	while(p.value.indexOf('.')!=-1){
		p.value = p.value.replace(".","");
	}
	if(p.value.indexOf(',')!=-1){
		for(i=p.value.length-1;i>p.value.indexOf(',');i--){
			if(p.value.charAt(i)=='0'){
				p.value=p.value.substring(0,i);
			}else{
				break;
			}
		}
		if(p.value.indexOf(',')==p.value.length-1) p.value=p.value.substring(0,p.value.length-1);
	}
	//posicionaCursor(p, "F", 0);
	p.select();
}
function valor2real(val){
	val = val.replace(".","");
	val = eval(val.replace(",","."));
	return val;
}
function real2valor(val,casas){
	val=formata_numero(val,casas);
	val = val.replace(".",",");
	return val;
}

function selsel(objeto,valor,padrao){ //marca o selected de um campo select pelo value parametros objeto=nomedoform.nomedoselect / valor=valor a ser selecionado / padrao=valor padrao a ser selecionado caso nao encontre o valor
	if(valor==''){ valor=padrao }
	if(objeto.length>0){
		for(i=0;i<objeto.length;i++){
			if(objeto.options[i].value==valor){
				objeto.options[i].selected=true;
				return true;
			}
		}
		return false;
	}
}
function selsel2(objeto,valor,padrao){ //marca o selected de um campo select pelo text parametros objeto=nomedoform.nomedoselect / valor=valor a ser selecionado / padrao=valor padrao a ser selecionado caso nao encontre o valor
	if(valor==''){ valor=padrao }
	if(objeto.length>0){
		for(i=0;i<objeto.length;i++){
			if(objeto.options[i].text==valor){
				objeto.options[i].selected=true;
				return true;
			}
		}
		return false;
	}
}
function selrad(objeto,valor,padrao){ //marca o checked de um campo radio parametros objeto=nomedoform.nomedoradio / valor=valor a ser selecionado / padrao=valor padrao a ser selecionado caso nao encontre o valor
	for(i=0;i<objeto.length;i++){
		if(objeto[i].value==valor){
			objeto[i].checked=true;
			i=-1;
			break;
		}
	}
	if(i>=0){
		for(i=0;i<objeto.length;i++){
			if(objeto[i].value==padrao){
				objeto[i].checked=true;
				break;
			}
		}
	}
}

function mudaabas(aba,act){ //abre e fecha as abas
		absit[aba]=!absit[aba];
		if(act==1){
			absit[aba]=true;
		}else if(act==2){
			absit[aba]=false;
		}
		if(!absit[aba]){
			document.getElementById('minmax'+aba).src='../../image/icon_max2.gif';
			if(document.getElementById('traba'+aba)!=null){ document.getElementById('traba'+aba).style.display='none'; return false; }
			document.getElementById('tr'+aba).style.display='none';
		}else{
			document.getElementById('minmax'+aba).src='../../image/icon_min2.gif';
			if(document.getElementById('traba'+aba)!=null){ document.getElementById('traba'+aba).style.display='inline'; return false; }
			document.getElementById('tr'+aba).style.display='inline';
		}
}
function initabas(){ //inicia as abas
	for(i=1;i<=abas.length;i++){
		if(absit[i]){
			mudaabas(i,1);
		}else{
			mudaabas(i,2);
		}
	}
}


function ClearStr(str, char){ //pertence a validacao de CPF / CNPJ
  while((cx=str.indexOf(char))!=-1){		
    str = str.substring(0,cx)+str.substring(cx+1);
  }
  return(str);
}
function ParseNumb(c){ //pertence a validacao de CPF / CNPJ
  c=ClearStr(c,'-');
  c=ClearStr(c,'/');
  c=ClearStr(c,',');
  c=ClearStr(c,'.');
  c=ClearStr(c,'(');
  c=ClearStr(c,')');
  c=ClearStr(c,' ');
  if((parseFloat(c) / c != 1)){
    if(parseFloat(c) * c == 0){
      return(c);
    }else{
      return(0);
    }
  }else{
    return(c);
  }
}
function TestDigit(CNUMB,CTYPE,g){//pertence a validacao de CPF / CNPJ
  var dig=0;
  var ind=2;
  for(f=g;f>0;f--){
    dig+=parseInt(CNUMB.charAt(f-1))*ind;
    if (CTYPE=='CNPJ'){ 
		if(ind>8){
			ind=2
		}else{
			ind++
		} 
	}else{
		ind++
	}
  }
  dig%=11;
  if(dig<2){
    dig=0;
  }else{
    dig=11-dig;
  }
  if(dig!=parseInt(CNUMB.charAt(g))){
    return(false);
  }else{
    return(true);
  }
}
//verifica_cpfcnpj(numero,tipo);  tipo=CPF ou CNPJ
function verifica_cpfcnpj(CNUMB,CTYPE){
  if((CTYPE=='CPF' && CNUMB.length!=11) || (CTYPE=='CNPJ' && CNUMB.length!=14) || (CTYPE=='CPF' && CNUMB==77777777777)) return false;
  CNUMB=ParseNumb(CNUMB)
  if(CNUMB == 0){
    return(false);
  }else{
    g=CNUMB.length-2;
    if(TestDigit(CNUMB,CTYPE,g)){
      g=CNUMB.length-1;
      if(TestDigit(CNUMB,CTYPE,g)){	
        return(true);
      }else{
        return(false);
      }
    }else{
      return(false);
    }
  }
}

//desabilita todos os campos de um form uso = desabilita(nomedoformulario);
function desabilita(form){
	for(i=0;i<form.elements.length;i++){
		form.elements[i].disabled=true;
	}	
}
function desabilita2(){
	var x=document.getElementsByTagName("input");
	for(i=0; i < x.length; i++){
		x[i].disabled=true;
	}
}

//transforma valor visual p/ ponto flutuante 1.000,00 = 1000.00
function valor2js(val){
	var str='';
	//remove pontos
	for(i=0;i<val.length;i++){
		if(val.charAt(i)!='.'){
			str=str+val.charAt(i);
		}
	}
	val=str;
	str='';
	//muda virgula p/ ponto
	for(i=0;i<val.length;i++){
		if(val.charAt(i)==','){
			str=str+'.';
		}else{
			str=str+val.charAt(i);
		}
	}
	return parseFloat(str);
}
//transforma ponto flutuante em valor semi-visual 1000.00 = 1000,00
function js2valor(val,formata,naoarredonda){
	if(naoarredonda!=1){
		val=Math.round(val*100)/100;
	}
	val=val.toString();
	var str='';
	//muda ponto p/ virgula
	for(i=0;i<val.length;i++){
		if(val.charAt(i)=='.'){
			str=str+',';
		}else{
			str=str+val.charAt(i);
		}
	}
	if(str.indexOf(',')==-1)
		str=str+',00';
	if(formata==1){
		str=formataMoedaSimple(str);	
	}
	return str;
}

//<DRAG LAYERS> //
//document.getElementById('objetoQueQuandoClicadoAtivaODragDrop').onmousedown= function(ev){ mouseOffset = getMouseOffset(document.getElementById('objetoQueSeraArrastado'), ev); makeDraggable(document.getElementById('objetoQueSeraArrastado')); }
document.onmousemove = mouseMove;
document.onmouseup   = mouseUp;
var dragObject  = null;
var mouseOffset = null;
function mouseCoords(ev){
	if(ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY};
	}
	if(!document.body) return {x:0, y:0};
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	};
}
function getMouseOffset(target, ev){
	ev = ev || window.event;

	var docPos    = getPosition(target);
	var mousePos  = mouseCoords(ev);
	return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}
function getPosition(e){
	var left = 0;
	var top  = 0;

	while (e.offsetParent){
		left += e.offsetLeft;
		top  += e.offsetTop;
		e     = e.offsetParent;
	}

	left += e.offsetLeft;
	top  += e.offsetTop;

	return {x:left, y:top};
}
function mouseMove(ev){
	ev           = ev || window.event;
	var mousePos = mouseCoords(ev)
	if(dragObject){
		dragObject.style.position = 'absolute';
		if(parseInt(dragObject.style.marginTop)<0){
			dragObject.style.top      = mousePos.y - mouseOffset.y + parseInt(dragObject.style.height)/2+'px';
		}else{
			dragObject.style.top      = mousePos.y - mouseOffset.y+'px';
		}
		if(parseInt(dragObject.style.marginLeft)<0){
			dragObject.style.left     = mousePos.x - mouseOffset.x + parseInt(dragObject.style.width)/2+'px';
		}else{
			dragObject.style.left     = mousePos.x - mouseOffset.x+'px';
		}
		return false;
	}
}
function mouseUp(){
	dragObject = null;
}
function makeDraggable(item){
	if(!item) return;
	dragObject  = item;
	return false;
}
//<DRAG LAYERS> //

function tochar(texto,tamanho){ //transforma varchar em char p/ comparacoes adicionando espaos em branco
	if(texto.length<tamanho){
		while(texto.length!=tamanho){
			texto=texto+' ';	
		}
	}
	return texto;
}


//Funes TRIM igual ao do ASP e PHP
function ltrim(sString){
	while (sString.substring(0,1) == ' '){
		sString = sString.substring(1, sString.length);
	}
	
	return sString;
}

function rtrim(sString){
	while (sString.substring(sString.length-1, sString.length) == ' '){
		sString = sString.substring(0,sString.length-1);
	}
	
	return sString;
}

function trim(sString){
	while (sString.substring(0,1) == ' '){
		sString = sString.substring(1, sString.length);
	}

	while (sString.substring(sString.length-1, sString.length) == ' '){
		sString = sString.substring(0,sString.length-1);
	}
	
	return sString;
}
function quest_txt2(num){
	var sel=document.getElementById('quest'+num);
	var p=false;
	var t='';
	if(sel.length>0){
		for(i=0;i<sel.length;i++){
			if(sel.options[i].selected && sel.options[i].pe=='S'){
				p=true;
				t=sel.options[i].tc;
				break;
			}
		}
	}
	var txt=document.getElementById('desc'+num);
	if(p){
		txt.style.display='inline';
		txt.maxlength=t;
	}else{
		txt.style.display='none';
		txt.maxlength='0';
	}
}
function quest_txt(num){
	var sel=document.getElementById('quest'+num);
	var p=false;
	if(sel.length>0){
		for(i=0;i<sel.length;i++){
			if(sel.options[i].selected==true && sel.options[i].pe=='S'){
				p=true;
				break;
			}
		}
	}
	var txt=document.getElementById('desc'+num);
	if(p){
		txt.style.display='inline';
	}else{
		txt.style.display='none';
		txt.value='';
	}
}
function calcula_pv(parcela,parcelas,juros,periodicidade){
	var pv=0;
	for(i=0;i<parcelas;i++){
		pv=pv+parcela/Math.pow((1+(juros/100)),(i*periodicidade));
	}
	return pv;
}
function trim(texto){
	return texto.replace(/(^\s*)|(\s*$)/g, "");
}
function extensao(url){
	url=url.substring(url.length-4 , url.length);
	if(url.indexOf('.')!=-1){
		url=url.substring(1 , url.length);
	}
	return url;
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
