/*--------------------------------------------------------------------------------
Criação: Rafael Christopher
Data de Criação: 27/11/2007 
--------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
    Instanciando FrameWork.js
  -----------------------------------------------------------------------------*/

//JSFramework
atachamentoDinamico("LEBJSFrameWork", "Recursos/JSFrameWork/JSFrameWork.js");
//objIdioma
atachamentoDinamico("objIdioma", "Globalizacao/objIdioma.js");

// variável usada para ajuste de contagem em browsers não-IE
var lngSubtrair 
 
function ChecaMaxText(objTextArea, lngMaxCaracteres, blnComparaCodificado)
{
  lngSubtrair = 0;
    
	var objFrameWork = new LEBJSFrameWork(objTextArea.value);    
	if(blnComparaCodificado != true)
	{
		blnComparaCodificado = false;    
	}

	if(blnComparaCodificado)
	{	        
		objFrameWork.HTMLEncode();
	}

 
	if(ComprimentoTexto(objTextArea) > lngMaxCaracteres)
	{	  	            
		try
		{	                
			ExibirCaixaMensagemRPC( "", objIdioma("E000757").Replace("[MAXCARACTERES]", lngMaxCaracteres) )
		}
		catch(e)
		{	             
			alert(objIdioma("E000757").Replace("[MAXCARACTERES]", lngMaxCaracteres));
			
		}

		if(blnComparaCodificado)
		{
		    objTextArea.value = objFrameWork.Left(lngMaxCaracteres - lngSubtrair).HTMLDecode().Value;
		    
		    if (objFrameWork.Value.lastIndexOf("&") > ComprimentoTexto(objTextArea) - 10)
	          {
			   objTextArea.value = objFrameWork.Left(objFrameWork.Value.lastIndexOf("&")).HTMLDecode().Value;
			   
			  }		
		}
		else
		{
			objTextArea.value = objFrameWork.Left(lngMaxCaracteres - lngSubtrair);
		}
		objTextArea.focus();    
		lngSubtrair = 0;
	}	      
}


function ComprimentoTexto(objTextArea) 
{
   var strTexto = objTextArea.value;
   var lngComprimento = strTexto.length;
   var arrLinhas = strTexto.split("\n");
   var strNavegador =navigator.appName;

   if (strNavegador.indexOf("Microsoft")<0) 
    {
      // corrigir a contagem adicionando o número de linhas ao número de caracteres
      lngComprimento += (arrLinhas.length-1);
      
      // variável global recebe o número de carcteres necessários para corrigir o comprimento
      lngSubtrair = arrLinhas.length-1;
    }
   return lngComprimento ;
}


// Realizando o atachamanento dinâmico
function atachamentoDinamico(strObjeto, strPath, strJanela){
	strJanela = (strJanela == undefined ? "window" : strJanela);
	var cstObject = "object";
	var cstFunction = "function";
	var cstJS = "js";
	var cstComplete = "complete";
	var arrPath = strPath.split(".");
	var blnJS = (arrPath[arrPath.length - 1] == cstJS);
	var strTipo = eval("typeof(" + strJanela + "." + strObjeto + ");");
	var objJanela = eval(strJanela);
	var blnCSS = false;
	if (!blnJS){
		for (var i = 0 ; i < document.styleSheets.length ; i ++){
			if (document.styleSheets[i].href && document.styleSheets[i].href.indexOf(strObjeto + ".css") != -1){
				blnCSS = true;
				break;
			}
		}
	}
	if ( ( !blnJS && !blnCSS) || (blnJS && strTipo != cstObject && strTipo != cstFunction) ){
	    if (document.all && blnJS && (objJanela.document.readyState != cstComplete)){
			objJanela.document.write('<scr' + 'ipt language="javascript" type="text/javascript" src="/' + strPath + '"></scr'+'ipt>');
		}
		else{
			var objScript;
			if (blnJS){
				objScript = document.createElement("script");
				objScript.setAttribute("language","javascript");
				objScript.setAttribute("type", "text/javascript");
				objScript.setAttribute("src", "/" + strPath);
			}
			else{
				objScript = document.createElement("link");
				objScript.setAttribute("rel","stylesheet");
				objScript.setAttribute("type", "text/css");
				objScript.setAttribute("href", "/" + strPath);
			}
			try{
				objJanela.document.getElementsByTagName("head")[0].appendChild(objScript);
			}
			catch(e){
				try{
					objJanela.document.getElementsByTagName("body")[0].appendChild(objScript);
				}
				catch(e){}
			}
		}
	}
}
