//-----------------------------------------------------------------
// DECLARAÇÃO VARIAVEIS
//-----------------------------------------------------------------
	var BASE_URL = "http://"+window.location.hostname+"/"; // URL ABSOLUTA DO SITE
    var IMG_URL = "http://img."+window.location.hostname+"/"; // URL ABSOLUTA DO SITE
	var xhr = new Array(); // ARRAY OF XML-HTTP REQUESTS
	var xi = new Array(0); // ARRAY OF XML-HTTP REQUEST INDEXES
	xi[0] = 1; // FIRST INDEX SET TO 1 MAKING IT AVAILABLE
	
//-----------------------------------------------------------------
// FUNÇÃO AJAX REQUEST
//-----------------------------------------------------------------
function xhrRequest(type) {
	if (!type) { type = 'html'; }
	// xhrsend IS THE xi POSITION THAT GETS PASSED BACK
	// INITIALIZED TO THE LENGTH OF THE ARRAY(LAST POSITION + 1)
	// IN CASE A FREE RESOURCE ISN'T FOUND IN THE LOOP
	var xhrsend = xi.length;	
	// GO THROUGH AVAILABLE xi VALUES
	for (var i=0; i<xi.length; i++) {
		// IF IT'S 1 (AVAILABLE), ALLOCATE IT FOR USE AND BREAK
		if (xi[i] == 1) { xi[i] = 0; xhrsend = i;			
			break;
		}
	}
	// SET TO 0 SINCE IT'S NOW ALLOCATED FOR USE
	xi[xhrsend] = 0;
	// SET UP THE REQUEST
	if (window.ActiveXObject) {
		try {
			xhr[xhrsend] = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xhr[xhrsend] = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	} else if (window.XMLHttpRequest) {
		xhr[xhrsend] = new XMLHttpRequest();
		if (xhr[xhrsend].overrideMimeType) {
			xhr[xhrsend].overrideMimeType('text/' + type);
		}
	}
	return (xhrsend);
}

//-------------------------------------------------------------------
// FUNÇÃO GLOBAL, PARA DIMINUIR O GETELEMENTBYID, COMO NO MYSQLQUERY
//-------------------------------------------------------------------
function getById(elementoID) { return document.getElementById(elementoID); }
function getByTagName(tag) { return document.getElementsByTagName(tag); }
function getByClassName(cl) { return document.getElementsByClassName(cl); }
function urlencode(s) { s = encodeURIComponent(s); return s.replace(/~/g,'%7E').replace(/%20/g,'+' ); }

//-------------------------------------------------------------------
// FUNÇÃO CORREÇÃO IE 
// http://www.netlobo.com/javascript_getelementsbyclassname.html
//-------------------------------------------------------------------
document.getElementsByClassName = function(clsName){
    var retVal = new Array();
    var elements = getByTagName("*");
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName)
                    retVal.push(elements[i]);
            }
        }
        else if(elements[i].className == clsName)
            retVal.push(elements[i]);
    }
    return retVal;
}

//-----------------------------------------------------------------------------------------
// FUNÇÃO RETORNA LARGURA E ALTURA DOS ELEMENTOS
//-----------------------------------------------------------------------------------------
function getelWH(elementoID){	
	var el = getById(elementoID);
	if (el){ return {x: el.offsetWidth, y: el.offsetHeight} }
	return false;
}

//--------------------------------------------------------------------------------------
// FUNÇÕES ABRIR E FECHAR ELEMENTOS EM POP-UP
//--------------------------------------------------------------------------------------
function abrir(elementoID){
	var elemento = getById(elementoID);
	if (elemento.style.display != 'block'){
		elemento.style.display = 'block';
		elemento.style.left = (coodX -10) + "px";
		elemento.style.top = (coodY + 10)  + "px";
	} else { elemento.style.display = 'none'; }
}

function fechar(elementoID){
	getById(elementoID).style.display = 'none';
	getById(elementoID).innerHTML = "";
	if(elementoID == 'c-popup'){
		var objBody = getByTagName("body").item(0);
		var child = document.getElementById(elementoID);
		objBody.removeChild(child);
	}
}

//--------------------------------------------------------------------------------------
// FUNÇÃO PARA ADICIONAR AOS FAVORITOS
//--------------------------------------------------------------------------------------
function add_favoritos(titulo, url){
	if (document.all){ window.external.AddFavorite(url, titulo);
	} else if (window.sidebar){ window.sidebar.addPanel(titulo, url, ""); }
}

//-----------------------------------------------------------------------------------------
// FUNÇÃO RETORNA RESOLUÇÃO, LAGURA E ALTURA
// ADAPTADA DE http://highslide.com/
//-----------------------------------------------------------------------------------------
function resWH(){
	var ie = (document.all && !window.opera);
	var d = document, w = window, iebody = d.compatMode && d.compatMode != 'BackCompat' ? d.documentElement : d.body;
	var width = ie ? iebody.clientWidth : (d.documentElement.clientWidth || self.innerWidth), height = ie ? iebody.clientHeight : self.innerHeight;
		
	return {
		width: width,
		height: height,		
		scrollLeft: ie ? iebody.scrollLeft : pageXOffset,
		scrollTop: ie ? iebody.scrollTop : pageYOffset
	}
}

//
// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org
// Edit for Firefox by pHaez
function pagWH(){
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

//----------------------------------------------------------------
// FUNÇÃO PEGAR COORDENADAS MOUSE X,Y
//----------------------------------------------------------------

	var IE = document.all ? true:false; // Variavel detecta navegador	
	var coodX = 0
	var coodY = 0
	
if (!IE){
	document.addEventListener('mousemove', getMouseXY, true);
} else {
	// Set-up to use getMouseXY function onMouseMove
	document.onmousemove = getMouseXY;
}
 
// Main function to retrieve mouse x-y pos.s
 
function getMouseXY(e) {
  if (IE) { // grab the x-y pos.s if browser is IE
    coodX = event.clientX + document.documentElement.scrollLeft;
    coodY = event.clientY + document.documentElement.scrollTop;
  } else {  // grab the x-y pos.s if browser is NS
    coodX = e.pageX;
    coodY = e.pageY;
  }
  // catch possible negative values in NS4
  if (coodX < 0){coodX = 0}
  if (coodY < 0){coodY = 0}
  return true;
}

var hexcase=0;function hex_md5(a){return rstr2hex(rstr_md5(str2rstr_utf8(a)))}function hex_hmac_md5(a,b){return rstr2hex(rstr_hmac_md5(str2rstr_utf8(a),str2rstr_utf8(b)))}function md5_vm_test(){return hex_md5("abc").toLowerCase()=="900150983cd24fb0d6963f7d28e17f72"}function rstr_md5(a){return binl2rstr(binl_md5(rstr2binl(a),a.length*8))}function rstr_hmac_md5(c,f){var e=rstr2binl(c);if(e.length>16){e=binl_md5(e,c.length*8)}var a=Array(16),d=Array(16);for(var b=0;b<16;b++){a[b]=e[b]^909522486;d[b]=e[b]^1549556828}var g=binl_md5(a.concat(rstr2binl(f)),512+f.length*8);return binl2rstr(binl_md5(d.concat(g),512+128))}function rstr2hex(c){try{hexcase}catch(g){hexcase=0}var f=hexcase?"0123456789ABCDEF":"0123456789abcdef";var b="";var a;for(var d=0;d<c.length;d++){a=c.charCodeAt(d);b+=f.charAt((a>>>4)&15)+f.charAt(a&15)}return b}function str2rstr_utf8(c){var b="";var d=-1;var a,e;while(++d<c.length){a=c.charCodeAt(d);e=d+1<c.length?c.charCodeAt(d+1):0;if(55296<=a&&a<=56319&&56320<=e&&e<=57343){a=65536+((a&1023)<<10)+(e&1023);d++}if(a<=127){b+=String.fromCharCode(a)}else{if(a<=2047){b+=String.fromCharCode(192|((a>>>6)&31),128|(a&63))}else{if(a<=65535){b+=String.fromCharCode(224|((a>>>12)&15),128|((a>>>6)&63),128|(a&63))}else{if(a<=2097151){b+=String.fromCharCode(240|((a>>>18)&7),128|((a>>>12)&63),128|((a>>>6)&63),128|(a&63))}}}}}return b}function rstr2binl(b){var a=Array(b.length>>2);for(var c=0;c<a.length;c++){a[c]=0}for(var c=0;c<b.length*8;c+=8){a[c>>5]|=(b.charCodeAt(c/8)&255)<<(c%32)}return a}function binl2rstr(b){var a="";for(var c=0;c<b.length*32;c+=8){a+=String.fromCharCode((b[c>>5]>>>(c%32))&255)}return a}function binl_md5(p,k){p[k>>5]|=128<<((k)%32);p[(((k+64)>>>9)<<4)+14]=k;var o=1732584193;var n=-271733879;var m=-1732584194;var l=271733878;for(var g=0;g<p.length;g+=16){var j=o;var h=n;var f=m;var e=l;o=md5_ff(o,n,m,l,p[g+0],7,-680876936);l=md5_ff(l,o,n,m,p[g+1],12,-389564586);m=md5_ff(m,l,o,n,p[g+2],17,606105819);n=md5_ff(n,m,l,o,p[g+3],22,-1044525330);o=md5_ff(o,n,m,l,p[g+4],7,-176418897);l=md5_ff(l,o,n,m,p[g+5],12,1200080426);m=md5_ff(m,l,o,n,p[g+6],17,-1473231341);n=md5_ff(n,m,l,o,p[g+7],22,-45705983);o=md5_ff(o,n,m,l,p[g+8],7,1770035416);l=md5_ff(l,o,n,m,p[g+9],12,-1958414417);m=md5_ff(m,l,o,n,p[g+10],17,-42063);n=md5_ff(n,m,l,o,p[g+11],22,-1990404162);o=md5_ff(o,n,m,l,p[g+12],7,1804603682);l=md5_ff(l,o,n,m,p[g+13],12,-40341101);m=md5_ff(m,l,o,n,p[g+14],17,-1502002290);n=md5_ff(n,m,l,o,p[g+15],22,1236535329);o=md5_gg(o,n,m,l,p[g+1],5,-165796510);l=md5_gg(l,o,n,m,p[g+6],9,-1069501632);m=md5_gg(m,l,o,n,p[g+11],14,643717713);n=md5_gg(n,m,l,o,p[g+0],20,-373897302);o=md5_gg(o,n,m,l,p[g+5],5,-701558691);l=md5_gg(l,o,n,m,p[g+10],9,38016083);m=md5_gg(m,l,o,n,p[g+15],14,-660478335);n=md5_gg(n,m,l,o,p[g+4],20,-405537848);o=md5_gg(o,n,m,l,p[g+9],5,568446438);l=md5_gg(l,o,n,m,p[g+14],9,-1019803690);m=md5_gg(m,l,o,n,p[g+3],14,-187363961);n=md5_gg(n,m,l,o,p[g+8],20,1163531501);o=md5_gg(o,n,m,l,p[g+13],5,-1444681467);l=md5_gg(l,o,n,m,p[g+2],9,-51403784);m=md5_gg(m,l,o,n,p[g+7],14,1735328473);n=md5_gg(n,m,l,o,p[g+12],20,-1926607734);o=md5_hh(o,n,m,l,p[g+5],4,-378558);l=md5_hh(l,o,n,m,p[g+8],11,-2022574463);m=md5_hh(m,l,o,n,p[g+11],16,1839030562);n=md5_hh(n,m,l,o,p[g+14],23,-35309556);o=md5_hh(o,n,m,l,p[g+1],4,-1530992060);l=md5_hh(l,o,n,m,p[g+4],11,1272893353);m=md5_hh(m,l,o,n,p[g+7],16,-155497632);n=md5_hh(n,m,l,o,p[g+10],23,-1094730640);o=md5_hh(o,n,m,l,p[g+13],4,681279174);l=md5_hh(l,o,n,m,p[g+0],11,-358537222);m=md5_hh(m,l,o,n,p[g+3],16,-722521979);n=md5_hh(n,m,l,o,p[g+6],23,76029189);o=md5_hh(o,n,m,l,p[g+9],4,-640364487);l=md5_hh(l,o,n,m,p[g+12],11,-421815835);m=md5_hh(m,l,o,n,p[g+15],16,530742520);n=md5_hh(n,m,l,o,p[g+2],23,-995338651);o=md5_ii(o,n,m,l,p[g+0],6,-198630844);l=md5_ii(l,o,n,m,p[g+7],10,1126891415);m=md5_ii(m,l,o,n,p[g+14],15,-1416354905);n=md5_ii(n,m,l,o,p[g+5],21,-57434055);o=md5_ii(o,n,m,l,p[g+12],6,1700485571);l=md5_ii(l,o,n,m,p[g+3],10,-1894986606);m=md5_ii(m,l,o,n,p[g+10],15,-1051523);n=md5_ii(n,m,l,o,p[g+1],21,-2054922799);o=md5_ii(o,n,m,l,p[g+8],6,1873313359);l=md5_ii(l,o,n,m,p[g+15],10,-30611744);m=md5_ii(m,l,o,n,p[g+6],15,-1560198380);n=md5_ii(n,m,l,o,p[g+13],21,1309151649);o=md5_ii(o,n,m,l,p[g+4],6,-145523070);l=md5_ii(l,o,n,m,p[g+11],10,-1120210379);m=md5_ii(m,l,o,n,p[g+2],15,718787259);n=md5_ii(n,m,l,o,p[g+9],21,-343485551);o=safe_add(o,j);n=safe_add(n,h);m=safe_add(m,f);l=safe_add(l,e)}return Array(o,n,m,l)}function md5_cmn(h,e,d,c,g,f){return safe_add(bit_rol(safe_add(safe_add(e,h),safe_add(c,f)),g),d)}function md5_ff(g,f,k,j,e,i,h){return md5_cmn((f&k)|((~f)&j),g,f,e,i,h)}function md5_gg(g,f,k,j,e,i,h){return md5_cmn((f&j)|(k&(~j)),g,f,e,i,h)}function md5_hh(g,f,k,j,e,i,h){return md5_cmn(f^k^j,g,f,e,i,h)}function md5_ii(g,f,k,j,e,i,h){return md5_cmn(k^(f|(~j)),g,f,e,i,h)}function safe_add(a,d){var c=(a&65535)+(d&65535);var b=(a>>16)+(d>>16)+(c>>16);return(b<<16)|(c&65535)}function bit_rol(a,b){return(a<<b)|(a>>>(32-b))};



//----------------------------------------------------------------
// FUNÇÃO NAVEGAÇÃO GERAL COM HISTÓRICO - SEM ELEMENTOS ID´S
//----------------------------------------------------------------

function requisicao(crt){
	var xhri = xhrRequest('html');
	var elemento = getById("carrega-conteudo");
		
	xhr[xhri].onreadystatechange = function(){
		if (xhr[xhri].readyState == 1) {
			elemento.innerHTML =  "<div class=\"carregando\"><img src=\""+IMG_URL+"carregando.gif\" /> Aguarde, carregando dados...</div>";
		}
		if (xhr[xhri].readyState == 4){
			if(xhr[xhri].status == 200) {
				var texto = xhr[xhri].responseText;
				texto = texto.replace(/([^\x01-\x7E])/g,function(word){return'&#'+word.charCodeAt(0)+ ';';});
				elemento.innerHTML = texto;
				xi[xhri] = 1;
				xhr[xhri] = null;
				// Analytics Monitoramento para AJAX
                pageTracker._trackPageview("/"+crt+"");
			} else{
				setTimeout("requisicao('" + crt + "')", 1000);
			}
		}
	};
	xhr[xhri].open("GET", BASE_URL+"navega/"+crt+".ajax", true);
	xhr[xhri].setRequestHeader("encoding", "ISO-8859-1");
	xhr[xhri].setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
    xhr[xhri].setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
    xhr[xhri].setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
    xhr[xhri].setRequestHeader("Pragma", "no-cache");
	xhr[xhri].send(null);
}

//-----------------------------------------------------------------------------------------
// FUNÇÃO ENVIAR FORMULARIOS - PASSANDO ID, ARQUIVO E TEMPO
//-----------------------------------------------------------------------------------------

function requisicao_post(crt,elementoID,formID){
	
	var xhri = xhrRequest('html');
	var elementosFormulario = getById(formID).elements;
    var qtdElementos = elementosFormulario.length;
    var queryString = "";
    var elemento;
	
	//Cria uma funcao interna para concatenar os elementos do form
    this.ConcatenaElemento = function(nome,valor) {
		if (queryString.length>0) {
			queryString += "&";
		}
		queryString += encodeURIComponent(nome) + "=" + encodeURIComponent(valor);
	};
	
	//Loop para percorrer todos os elementos
	for (var i=0; i<qtdElementos; i++) {
		//Pega o elemento
        elemento = elementosFormulario[i];
		if (!elemento.disabled) {
			//Trabalha com o elemento caso ele nao esteja desabilitado
            switch(elemento.type) {
				//Realiza a acao dependendo do tipo de elemento
                case 'text':  case 'hidden': case 'textarea':
                    this.ConcatenaElemento(elemento.name,elemento.value);
                    break;
                case 'password':
                    if(elemento.name == 'Senha'){
                        this.ConcatenaElemento(elemento.name,hex_md5(elemento.value));
                    } else {
                        this.ConcatenaElemento(elemento.name,elemento.value);                        
                    }
                    break;                
                case 'select-one':
                    if (elemento.selectedIndex>=0) {
                        this.ConcatenaElemento(elemento.name,elemento.options[elemento.selectedIndex].value);
                    }
                    break;
                case 'select-multiple':
                    for (var j=0; j<elemento.options.length; j++) {
                        if (elemento.options[j].selected) {
                            this.ConcatenaElemento(elemento.name,elemento.options[j].value);
                        }
                    }
                    break;
                case 'checkbox': case 'radio':
                    if (elemento.checked) {
                        this.ConcatenaElemento(elemento.name,elemento.value);
                    }
                    break;
            }
        }
    }
    
    xhr[xhri].onreadystatechange = function(){
	
		if (xhr[xhri].readyState==1) {
			getById(elementoID).innerHTML =  "<div class=\"carregando\"><img src=\""+IMG_URL+"carregando.gif\" /> Aguarde, enviando dados...</div>";
		}
		if (xhr[xhri].readyState == 4){
			if (xhr[xhri].status == 200){
				getById(elementoID).innerHTML = xhr[xhri].responseText;
				xi[xhri] = 1;
				xhr[xhri] = null;
			} else {
				setTimeout("requisicao_post('" + crt + "','" + elementoID + "','" + formID + "')", 1000);
			}
		}
	};
	xhr[xhri].open("POST", BASE_URL+"form/"+crt+".ajax", true);
	xhr[xhri].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xhr[xhri].send(queryString);

}

//-----------------------------------------------------------------------------------------
// FUNÇÃO ATUALIZAR DADOS A CADA X TEMPO - PASSANDO ID DOS ELEMENTOS
//-----------------------------------------------------------------------------------------
function atualiza_dados(crt, elementoID, tempoR){
	
	var xhri = xhrRequest('html');
	var elemento = getById(elementoID);
	
	xhr[xhri].onreadystatechange = function(){
		if (xhr[xhri].readyState == 4){
			if (xhr[xhri].status == 200) {
				if (elemento){
					var texto = xhr[xhri].responseText;
					texto = texto.replace(/([^\x01-\x7E])/g,function(word){return'&#'+word.charCodeAt(0)+ ';';});
					elemento.innerHTML = texto;
					xi[xhri] = 1;
					xhr[xhri] = null;
				}
			}
		}
	};
	
	xhr[xhri].open('GET', BASE_URL+"atualiza/"+crt+".ajax", true);
	xhr[xhri].setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	xhr[xhri].setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
	xhr[xhri].setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
	xhr[xhri].setRequestHeader("Pragma", "no-cache");
	xhr[xhri].send(null);
	setTimeout("atualiza_dados('" + crt + "','" + elementoID + "','" + tempoR + "')", tempoR);
}

//-----------------------------------------------------------------------------------------
// FUNÇÃO NAVEGAR GERAL - PASSANDO ID DOS ELEMENTOS
//-----------------------------------------------------------------------------------------

function req_id(crt,elementoID){
	
	var xhri = xhrRequest('html');
	var elemento = getById(elementoID);
	
	xhr[xhri].onreadystatechange = function(){
		if (xhr[xhri].readyState == 1) {
			elemento.innerHTML = "<div class=\"carregando\"><img src=\""+IMG_URL+"carregando.gif\" /> Aguarde, carregando dados...</div>";
		}
		if (xhr[xhri].readyState == 4){
			if (xhr[xhri].status == 200) {
				var texto = xhr[xhri].responseText;
				texto = texto.replace(/([^\x01-\x7E])/g,function(word){return'&#'+word.charCodeAt(0)+ ';';});
				elemento.innerHTML = texto;
				xi[xhri] = 1;
				xhr[xhri] = null;
			} else {
				setTimeout("req_id('" + crt + "','" + elementoID + "')", 2000);
			}
		}
	};
	xhr[xhri].open('GET', BASE_URL+"conteudo/"+crt+".ajax", true);
	xhr[xhri].setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	xhr[xhri].setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
	xhr[xhri].setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
	xhr[xhri].setRequestHeader("Pragma", "no-cache");
	xhr[xhri].send(null);

}

//-----------------------------------------------------------------------------------------
// FUNÇÃO CARREGA POP-UP E IMAGENS
//-----------------------------------------------------------------------------------------
function popup(crt){
	
	var xhri = xhrRequest('html');
	var objBody = getByTagName("body").item(0);
	var child = document.getElementById('c-popup');
    if (child){
        objBody.removeChild(child);
    }
	var objOverlay = document.createElement("div");
	objOverlay.setAttribute('id','c-popup');
	objBody.insertBefore(objOverlay, objBody.firstChild);
	var elemento = getById('c-popup');
	var pagT = pagWH();
	var resT = resWH();
	var cX = resT['width'];
	var cY = resT['height'];
	
	elemento.innerHTML = '<div id="bloqueio" class="bloqueio-tela"></div><div id="c-pop-dados" class="c-popup"></div>';
	
	xhr[xhri].onreadystatechange = function(){
		if (getById('c-pop-dados')){
			if (xhr[xhri].readyState == 1) {
				getById('c-pop-dados').innerHTML = "<a href=\"javascript:void(0);\" title=\"Cancelar\" onclick=\"fechar('c-popup');\" class=\"cancelar\"><img src=\""+IMG_URL+"carregando.gif\" /> Cancelar</a>";
				getById('c-pop-dados').style.left = parseInt((cX - 80) / 2)+'px';
				getById('c-pop-dados').style.top = parseInt((cY - 80) / 2)+'px';
			}
			
			if (xhr[xhri].readyState == 4){
				if (xhr[xhri].status == 200) {
					var texto = xhr[xhri].responseText;
					texto = texto.replace(/([^\x01-\x7E])/g,function(word){return'&#'+word.charCodeAt(0)+ ';';});
					getById('c-pop-dados').innerHTML = texto;
                    // Verifica o id da imagem
                    var imgA = getById('img-amp');
                    // Se existir o id da imagem execut ações diferente para imagem
                    if (imgA){
                        var imgx = imgA.width;
						var imgy = imgA.height;
						if ((imgx > cX) || (imgy > cY)){
							var imgamp = imgA.src;	
							var objimgh4 = getById('img-original');
							var objOverlay = document.createElement("a");
							objOverlay.innerHTML = 'Tamanho Original ['+imgx+'x'+imgy+']';							
							objOverlay.setAttribute('href', imgamp);
							objOverlay.setAttribute('title', 'Ver Imagem Original');
							objOverlay.setAttribute('onclick','window.open(this.href); return false;');
							objimgh4.insertBefore(objOverlay, objimgh4.firstChild);							
						}
                        var links = getByClassName('ampliar');
                        var total = links.length;
                        var pag = crt.split('&p=');
                        var pg = parseInt(pag[1]);                          
                        if (!pg){
                            var imgc = crt.split('&img=');
                            var imgc = imgc[1];
                            for (i=0; i<(total); i++){
                                var imgurl = links[i].getAttribute('href');
                                imgurl = urlencode(urlencode(imgurl));
                                if (imgurl == imgc){
                                    var pagc = i + 1;
                                }
                            }
                            pg = pagc;
                        }                           

                        if (total > 1){
                            var proxima = (pg + 1);
                            if(proxima <= total){
                                var imgurl = links[pg].getAttribute('href');
                                h4id = getById('img-original');
                                var objlink = document.createElement("a");
                                objlink.innerHTML = '[>]';
                                objlink.setAttribute('href', imgurl);
                                objlink.setAttribute('title', 'Próxima');
                                objlink.onclick = new Function("popup('amp&img="+urlencode(urlencode(imgurl))+"&p="+proxima+"');return false;");
                                h4id.insertBefore(objlink, h4id.firstChild);
                            }
                            var anterior = (pg - 1);
                            if(anterior >= 1){
                                var imgurl = links[pg-2].getAttribute('href');
                                h4id = getById('img-original');
                                var objlink = document.createElement("a");
                                objlink.innerHTML = '[<]';
                                objlink.setAttribute('href', imgurl);
                                objlink.setAttribute('title', 'Anterior');
                                objlink.onclick = new Function("popup('amp&img="+urlencode(urlencode(imgurl))+"&p="+anterior+"');return false;");
                                h4id.insertBefore(objlink, h4id.firstChild);
                            }
                        }
	
						if (imgx > (cX - 200)){
							imgA.style.maxWidth = parseInt(cX - 100)+'px';			
						}
						if (imgy > (cY - 200)){
							imgA.style.maxHeight = parseInt(cY - 100)+'px';
						}
						cX = cX - imgA.width; cY = cY - imgA.height;
					} else {
						var elwh = getelWH('elwh');
						if (elwh){cX = cX - elwh['x']; cY = cY - elwh['y']; } else { cX = cX - 200; cY = cY - 200; };
					}
															
					getById('c-pop-dados').style.left = parseInt((cX - 20) / 2)+'px';
					getById('c-pop-dados').style.top = parseInt((cY - 20) / 2 )+'px';
					xi[xhri] = 1;
					xhr[xhri] = null;
				} else {
					setTimeout("popup('" + crt + "')", 2000);
				}
			}
		}
	};
		
	getById('bloqueio').style.height = (pagT[1] + 'px');
	getById('bloqueio').style.display = 'block';
	
	xhr[xhri].open('GET', BASE_URL+"conteudo/"+crt+".ajax", true);
	xhr[xhri].setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	xhr[xhri].setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
	xhr[xhri].setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
	xhr[xhri].setRequestHeader("Pragma", "no-cache");
	xhr[xhri].send(null);
}

//-----------------------------------------------------------------------------------------
// FUNÇÃO PARA CARREGAR FRAMES GERAL - PASSANDO ID E ARQUIVO NA FUNÇÃO
//-----------------------------------------------------------------------------------------
function carregaFrame(crt,elementoID){
    var xhri = xhrRequest('html');
    xhr[xhri].onreadystatechange = function() {
		if (xhr[xhri].readyState == 1) {
			getById(elementoID).innerHTML = "<img src=\""+IMG_URL+"atualizando.gif\" />";
		}
		if(xhr[xhri].readyState == 4) {
        	if(xhr[xhri].status == 200){
				getById(elementoID).innerHTML = xhr[xhri].responseText;
        	} else {
				getById(elementoID).innerHTML = "Erro!";
        	}
		}
	}	
	xhr[xhri].open('GET', BASE_URL+"frame/"+crt+".ajax", true);
    xhr[xhri].send(null);
}

//-----------------------------------------------------------------------------------------
// FUNÇÃO PARA LER COOKIES
//-----------------------------------------------------------------------------------------
function LerCookie(strCookie)
{
    var strNomeIgual = strCookie + "=";
    var arrCookies = document.cookie.split(';');

    for(var i = 0; i < arrCookies.length; i++)
    {
        var strValorCookie = arrCookies[i];
        while(strValorCookie.charAt(0) == ' ')
        {
            strValorCookie = strValorCookie.substring(1, strValorCookie.length);
        }
        if(strValorCookie.indexOf(strNomeIgual) == 0)
        {
            return strValorCookie.substring(strNomeIgual.length, strValorCookie.length);
        }
    }
    return null;
}


//-----------------------------------------------------------------------------------------
// FUNÇÃO PARA CHAMAR OUTRAS FUNÇÕES AO CARREGAR O SITE
//-----------------------------------------------------------------------------------------

function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}

//--------------------------------------------------------------------------------------
// FUNÇÃO INSERIR BBCODES - CLICAVÉIS
//--------------------------------------------------------------------------------------
function selecao(obj, def_texto_padrao){
    if(obj.constructor == String){obj = getById(obj);}
    var def_texto = (def_texto_padrao) ? function(text){obj.value += text;} : function(){return false;};
    var selecao = {text: "", defTexto: def_texto};
    if(document.selection){
        var faixa = document.selection.createRange();
        if(faixa.text){
            selecao.text = faixa.text;
            selecao.defTexto = function(text){
                faixa.text = text.replace(/\r?\n/g, "\r\n");
            }
    }
    } else if(typeof(obj.selectionStart) != "undefined"){
        selecao.text = obj.value.substring(obj.selectionStart, obj.selectionEnd);
        selecao.defTexto = function(text){
            obj.value = obj.value.substring(0, obj.selectionStart) + text + obj.value.substring(obj.selectionEnd);
            return false;
        }
    } else if(window.getSelection){
        selecao.text = window.getSelection().toString();
    }
    return selecao;
}

function selTexto(obj, antes, depois){
    var selecionado = selecao(obj, true);
    selecionado.defTexto(antes + selecionado.text + depois);
}

//-----------------------------------------------------------------------------------------
// FUNÇÃO PARA VALIDAR FORMULÁRIOS
//-----------------------------------------------------------------------------------------
/* Script Adptado por ThiagoInfo */

var Validar = {
	isEmail : function(s) {
		return this.test(s, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$');
	},

	isAbsUrl : function(s) {
		return this.test(s, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+\\/?.*$');
	},

	isSize : function(s) {
		return this.test(s, '^[0-9]+(%|in|cm|mm|em|ex|pt|pc|px)?$');
	},

	isId : function(s) {
		return this.test(s, '^[A-Za-z_]([A-Za-z0-9_])*$');
	},

	isEmpty : function(s) {
		var nl, i;

		if (s.nodeName == 'SELECT' && s.options[s.selectedIndex].value == 'Selecione')
			return true;
		if (s.nodeName == 'INPUT' && s.value == '')
			return true;
		if (s.nodeName == 'TEXTAREA' && s.value == '')
			return true;

		if (s.type == 'checkbox' && !s.checked)
			return true;

		if (s.type == 'radio') {
			for (i=0, nl = s.form.elements; i<nl.length; i++) {
				if (nl[i].type == "radio" && nl[i].name == s.name && nl[i].checked)
					return false;
			}

			return true;
		}

		return new RegExp('^\\s*$').test(s.nodeType == 1 ? s.value : s);
	},
	test : function(s, p) {
		s = s.nodeType == 1 ? s.value : s;

		return s == '' || new RegExp(p).test(s);
	}
};

var AutoValidar = {
	settings : {
		id_cls : 'id',
		int_cls : 'int',
		url_cls : 'url',
		number_cls : 'number',
		email_cls : 'email',
		size_cls : 'size',
		required_cls : 'requerido',
		invalid_cls : 'invalido',
		min_cls : 'min',
		max_cls : 'max',
		verificado_cls : 'verificado'
	},

	init : function(s) {
		var n;

		for (n in s)
			this.settings[n] = s[n];
	},

	valida : function(f) {
		var i, nl, s = this.settings, c = 0;

		nl = this.tags(f, 'label');
		// Ao clicar no botão enviar, se tudo estiver ok, esconde a mensagem informativa
		getById("msg-form-erro").style.display = "none";
		for (i=0; i<nl.length; i++)
			this.removeClass(nl[i], s.invalid_cls);
			

		c += this.validaElms(f, 'input');
		c += this.validaElms(f, 'select');
		c += this.validaElms(f, 'textarea');

		return c == 3;
	},

	invalidate : function(n) {
		this.mark(n.form, n);
	},

	limpa : function(e) {
		var t = ['label', 'input', 'select', 'textarea'];
		var i, j, nl, s = this.settings;

		if (e == null)
			return;
			
		// Ao clicar no botão limpar, retira a mensagem de erro
		getById("msg-form-erro").style.display = "none";
		for (i=0; i<t.length; i++) {
			nl = this.tags(e.form ? e.form : e, t[i]);
			for (j=0; j<nl.length; j++){
				this.removeClass(nl[j], s.invalid_cls);
				this.removeClass(nl[j], s.verificado_cls);				
			}
				
		}
	},

	validaElms : function(f, e) {
		var nl, i, n, s = this.settings, st = true, va = Validar, v;

		nl = this.tags(f, e);
		for (i=0; i<nl.length; i++) {
			n = nl[i];

			this.removeClass(n, s.invalid_cls);
			
			if (this.removeClass(n, s.invalid_cls) && this.hasClass(n, s.required_cls)){
				this.addClass(n, s.verificado_cls);
			}

			if (this.hasClass(n, s.required_cls) && va.isEmpty(n))
				st = this.mark(f, n);			
				
			if (this.hasClass(n, s.number_cls) && !va.isNumber(n))
				st = this.mark(f, n);

			if (this.hasClass(n, s.int_cls) && !va.isNumber(n, true))
				st = this.mark(f, n);

			if (this.hasClass(n, s.url_cls) && !va.isAbsUrl(n))
				st = this.mark(f, n);

			if (this.hasClass(n, s.email_cls) && !va.isEmail(n))
				st = this.mark(f, n);
				
			if (this.hasClass(n, s.size_cls) && !va.isSize(n))
				st = this.mark(f, n);

			if (this.hasClass(n, s.id_cls) && !va.isId(n))
				st = this.mark(f, n);

			if (this.hasClass(n, s.min_cls, true)) {
				v = this.getNum(n, s.min_cls);

				if (isNaN(v) || parseInt(n.value) < parseInt(v))
					st = this.mark(f, n);
			}

			if (this.hasClass(n, s.max_cls, true)) {
				v = this.getNum(n, s.max_cls);

				if (isNaN(v) || parseInt(n.value) > parseInt(v))
					st = this.mark(f, n);
			}
		}

		return st;
	},

	hasClass : function(n, c, d) {
		return new RegExp('\\b' + c + (d ? '[0-9]+' : '') + '\\b', 'g').test(n.className);
	},

	getNum : function(n, c) {
		c = n.className.match(new RegExp('\\b' + c + '([0-9]+)\\b', 'g'))[0];
		c = c.replace(/[^0-9]/g, '');

		return c;
	},

	addClass : function(n, c, b) {
		var o = this.removeClass(n, c);
		n.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c;
	},

	removeClass : function(n, c) {
		c = n.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' ');
		return n.className = c != ' ' ? c : '';
	},

	tags : function(f, s) {
		return f.getElementsByTagName(s);
	},

	mark : function(f, n) {
		var s = this.settings;

		this.addClass(n, s.invalid_cls);
		this.markLabels(f, n, s.invalid_cls);
		getById("msg-form-erro").style.display = "block";
		getById("msg-form-erro").innerHTML =  "Os campos marcados em vermelho são de preenchimento obrigatório!";
		return false;
	},
	markLabels : function(f, n, ic) {
		var nl, i;

		nl = this.tags(f, "label");
		for (i=0; i<nl.length; i++) {
			if (nl[i].getAttribute("for") == n.id || nl[i].htmlFor == n.id)
				this.addClass(nl[i], ic);
		}

		return null;
	}
};


//-----------------------------------------------------------------------------------------
// CHAMANDO OS EVENTOS NA INICIALIZAÇÃO
//-----------------------------------------------------------------------------------------
addEvent(window, 'load', function(){
	atualiza_dados('destaques','destaques', 10000);
	carregaFrame('pub-uol2','pub-uol2');
});