﻿//basic.js
path_css = "";
Path_js = "";

var W3CDOM = (document.createElement && document.getElementsByTagName && document.getElementById);

function addEvent(obj, evType, fn, useCapture){
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, useCapture);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		alert("Handler could not be attached");
	}
}

function addExtLinks() {
    if(W3CDOM) {
        var anchors = $tags('a');
        for(var i=0; i<anchors.length; i++) {
            var anchor = anchors[i];
            if(anchor.getAttribute("href") && anchor.getAttribute('rel')=='externo') {
                anchor.target = '_blank';
                var title = anchor.title + ' (Este link abre uma nova janela)';
                anchor.title = title;
            }
        }
    }
}

addEvent(window,"load",addExtLinks);

function createEl(x){
	return(document.createElement(x));
}

function $(strId){
	var i, arrReturn,arrStrId;
	if(arguments.length > 1){
		arrStrId = new Array();
		for(i=0;i<arguments.length;i++)
			arrStrId.push(arguments[i]);
	}
	if(strId instanceof Array){
		arrStrId = strId;
	}
	if(arrStrId instanceof Array){
		arrReturn = new Array();
		for(i=0; i<arrStrId.length; i++)
			arrReturn[i] = document.getElementById(arrStrId[i]);
	} else {
		arrReturn = document.getElementById(strId);
	}
	return arrReturn;
}

function $tags(strTagName,objParentNode){
	if(typeof objParentNode == "undefined"){
		objParentNode = document;
	}
	return objParentNode.getElementsByTagName(strTagName);
}

function $before(objNew,objRefer){ 
	return objRefer.parentNode.insertBefore(objNew,objRefer);
}

function $after(objNew,objRefer){ 
	return objRefer.parentNode.insertBefore(objNew,objRefer.nextSibling);
}

function $replace(objNew,objOld){
	if(objOld.parentNode){
		return objOld.parentNode.replaceChild(objNew,objOld);
	} else {
		return false;
	}
}

function $newTN(strConteudo){
	if(typeof strConteudo == "string"){
		return document.createTextNode(strConteudo);
	} else {
		return false;
	}
}

function $new(strTagName, strParams, strConteudo){
	var i, newElement, arrParameters;
	if(typeof strConteudo == "undefined"){
		strConteudo = strParams;
		strParams = null;
	}
	newEl = createEl(strTagName);
	if(strParams instanceof Array){
		for(i=0; i<strParams.length && (arrParameters = strParams[i].split("=")); i++){	
			newEl[arrParameters[0]] = arrParameters[1];
		}
	} else {
		if(typeof strParams == "string" && ( arrParameters = strParams.split("="))){
			newEl[arrParameters[0]] = (arrParameters.length==2) ? arrParameters[1] : "";
		}
	}
	if(strConteudo instanceof Array){
		for(i=0; i<strConteudo.length; i++){
			(typeof(strConteudo[i]) =="string") ? $append($newTN(strConteudo[i]), newEl) : $append(strConteudo[i], newEl);
		}
	} else {
		$append(strConteudo, newEl);
	}
	return newEl;
}

function $append(objNode, objParentNode){
	var i;
	if(typeof(objParentNode) == "undefined"){
		objParentNode = document.body;
	}
	if(objNode=="" || objNode == null){
		return true;
	}
	if(objNode instanceof Array){
		for(i=0; i<objNode.length; i++)	{
			$append(objNode[i], objParentNode);
		}
	} else {
		if(typeof(objNode) == "string")	{
			objParentNode.appendChild($newTN(objNode))
		} else {
			objParentNode.appendChild(objNode);
		}
	}
	return objParentNode.childNodes.length;
}

function $remove(objNode){
	if(objNode && objNode.parentNode){
			objNode.parentNode.removeChild(objNode);
	}
}

function getSrc(evt){
	if(typeof(evt) == "undefined"){
		evt=window.event;
	}
	var objSrc=evt.target?evt.target:evt.srcElement;
	if(objSrc.nodeType==3){
		objSrc=objSrc.parentNode;
	}
	return objSrc;
}

function cEvt(evt){
	try{ evt.preventDefault(); }
	catch(e){ event.returnValue=false; } 
	return false;
}

function JSON(t){
	try{ return eval("["+t+"]")[0]; }
	catch(e){ throw("Eval Error on code:\n"+t); }
}

function remEvent(o, evType, fn){
  if (document.detachEvent) { o.detachEvent('on'+ evType, fn, true); return true; }
  if (o.removeEventListener) { o.removeEventListener(evType, fn, true); return true; }
}

function addClass(o, strClass){
	if(o.className.indexOf(strClass) == -1)o.className += " "+strClass;	
}

function removeClass(o, strClass){
	o.className = o.className.replace(strClass,"");	
}

function getPosition(e) {
    e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } else {
        cursor.x = e.clientX + 
            (document.documentElement.scrollLeft || 
            document.body.scrollLeft) - 
            document.documentElement.clientLeft;
        cursor.y = e.clientY + 
            (document.documentElement.scrollTop || 
            document.body.scrollTop) - 
            document.documentElement.clientTop;
    }
    return cursor;
}

function $attr(aAttribute,aValue,aInElement){
	var ElVerifier;
	var Elements=new Array();
	function searchEl(aElement){ 
		if(aElement==null||aElement==undefined)return
		if(ElVerifier(aElement)){ 
			Elements[Elements.length]=aElement;
		}
		searchEl(aElement.firstChild);
		searchEl(aElement.nextSibling);
	}
	if(aInElement==undefined)aInElement=document.body;
	str="if(Element."+aAttribute+"=='"+aValue+"'){return true;}else{return false}";
	ElVerifier=function(aElement){
		Element=aElement;
		if(aElement.nodeName=='#text')return false;
		var E=new Function(str);
		if(E()){return true;}else{return false};
	}
	searchEl(aInElement);
	return Elements;
  }


function $class(className, tag, elm){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : $tags(tag, elm);
	var returnEl = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnEl.push(current);
		}
	}
	return returnEl;
}

String.prototype.find=function(what){
	return(this.indexOf(what)>=0 ? true : false);
}

function $selector(selector){
	var i,j,selid="",selclass="",tag=selector,tag2="",v2,k,f,a,s=[],objlist=[],c;
	if(selector.find("#")){
		if(selector.find(" ")){
			s=selector.split(" ");
			var fs=s[0].split("#");
			if(fs.length==1) return(objlist);
			f=$(fs[1]);
			if(f){
				v = $tags((s[1]), f);
				for(i=0;i<v.length;i++) objlist.push(v[i]);
			}
			return(objlist);
		} else{
			s=selector.split("#");
			tag=s[0];
			selid=s[1];
			if(selid!=""){
				f=$(selid);
				if(f) objlist.push(f);
				return(objlist);
			}
		}
	}
	if(selector.find(".")){
		s=selector.split(".");
		tag=s[0];
		selclass=s[1];
		if(selclass.find(" ")){
			s=selclass.split(" ");
			selclass=s[0];
			tag2=s[1];
		}
	}
	var v = $tags(tag);
	if(selclass==""){
		for(i=0;i<v.length;i++) objlist.push(v[i]);
		return(objlist);
	}
	for(i=0;i<v.length;i++){
		c=v[i].className.split(" ");
		for(j=0;j<c.length;j++){
			if(c[j]==selclass){
				if(tag2=="") objlist.push(v[i]);
				else{
					v2 = $tags(tag2, v[i]);
					for(k=0;k<v2.length;k++) objlist.push(v2[k]);
				}
			}
		}
	}
	return(objlist);
}
	var loadingImage = '/web/_skin/2007/galeria/spin.gif';
var closeButton = '/web/_skin/2007/galeria/close.gif';
function getPageScroll(){
	var y;
	if (self.pageYOffset) {
		y = self.pageYOffset;
	} else if(document.documentElement && document.documentElement.scrollTop){
		y = document.documentElement.scrollTop;
	} else if(document.body){
		y = document.body.scrollTop;
	}
	return arrayPageScroll = ['',y];
}
function getPageSize(){
	var x, y, w, h;
	if(window.innerHeight && window.scrollMaxY){
		x = document.body.scrollWidth;
		y = window.innerHeight + window.scrollMaxY;
	} else if(document.body.scrollHeight > document.body.offsetHeight){
		x = document.body.scrollWidth;
		y = document.body.scrollHeight;
	} else {
		x = document.body.offsetWidth;
		y = document.body.offsetHeight;
	}
	if(self.innerHeight){
		w = self.innerWidth;
		h = self.innerHeight;
	} else if(document.documentElement && document.documentElement.clientHeight){
		w = document.documentElement.clientWidth;
		h = document.documentElement.clientHeight;
	} else if(document.body){
		w = document.body.clientWidth;
		h = document.body.clientHeight;
	}	
	if(y < h){ ph = h; } else { ph = y; }
	if(x < w){ pw = w; } else { pw = x; }
	return arrayPageSize = [pw,ph,w,h];
}
function pause(numberMillis) {
	var now = new Date();
	var exitTime = now.getTime() + numberMillis;
	while (true) {
		now = new Date();
		if (now.getTime() > exitTime)
			return;
	}
}
function getKey(e){
	if(e == null){ keycode = event.keyCode; }
	else { keycode = e.which; }
	key = String.fromCharCode(keycode).toLowerCase();
	if(key=='x'){ rLBhide(); }
}
function listenKey(){ document.onkeypress = getKey; }
	
function rLBFixBG(vis){
	selects = $tags("select");
	for(i=0;i!=selects.length;i++){
		selects[i].style.visibility = vis;
	}
}
function rLBinit(){
	if(!W3CDOM){ return; }
	var anchors = $tags("a");
	for (var i=0; i<anchors.length; i++){
		var anchor = anchors[i];
		if(anchor.getAttribute("href") && (anchor.className.find("rLB"))){
			anchor.onclick = function(){ rLBshow(this); return false; }
		}
	}
	rLBdoSkin()
}
function rLBdoSkin(){
	var objBody = $tags("body")[0];
	var objOverlay = $new('div','id=overlay','');
	objOverlay.onclick = function(){ rLBhide(); return false; }
	$before(objOverlay, objBody.firstChild);
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
	var imgPreloader = new Image();
	imgPreloader.onload=function(){
		var objLoadingImageLink = $new('a','href=#','');
		objLoadingImageLink.onclick = function () {rLBhide(); return false;}
		$append(objLoadingImageLink, objOverlay);
		var objLoadingImage = $new('img',['src='+ loadingImage,'id=rLBloading'],'');
		$append(objLoadingImage, objLoadingImageLink);
		imgPreloader.onload=function(){};
		return false;
	}
	imgPreloader.src = loadingImage;
	var objLightbox = $new('div','id=rLB','');
	$before(objLightbox, objOverlay.nextSibling);
	var objLink = $new('a',['href=#','title=Click to close'],'');
	objLink.onclick = function () {rLBhide(); return false;}
	$append(objLink, objLightbox);
	var imgPreloadCloseButton = new Image();
	imgPreloadCloseButton.onload=function(){
		var objCloseButton = $new('img',['src='+ closeButton,'id=rLBclose'],'');
		$append(objCloseButton, objLink);
		return false;
	}
	imgPreloadCloseButton.src = closeButton;
	var objImage = $new('img','id=rLBimage','');
	$append(objImage, objLink);
	var objLightboxSWF = $new('div','id=rLBswf','');
	$append(objLightboxSWF, objLightbox);
	var objLightboxDetails = $new('div','id=rLBdetails','');
	$append(objLightboxDetails, objLightbox);
	var objCaption = $new('div','id=rLBcaption','');
	$append(objCaption, objLightboxDetails);
	var objKeyboardMsg = $new('div','id=rLBmsg','');
	objKeyboardMsg.innerHTML = 'press <a href="#" onclick="rLBhide(); return false;"><kbd>x</kbd></a> to close';
	$append(objKeyboardMsg, objLightboxDetails);
}
function rLBshow(objLink){
	var objLoadingImage = $('rLBloading');
	var objOverlay = $('overlay');
	if (objLoadingImage) {
		objLoadingImage.style.top = (arrayPageScroll[1] + ((arrayPageSize[3] - 35 - objLoadingImage.height) / 2) + 'px');
		objLoadingImage.style.left = (((arrayPageSize[0] - 20 - objLoadingImage.width) / 2) + 'px');
		objLoadingImage.style.display = 'block';
	}
	objOverlay.style.height = (arrayPageSize[1] + 'px');
	objOverlay.style.display = 'block';
	if(objLink.href.find('.jpg'||'.jpeg'||'.gif'||'.png')){
		rLBdoImg(objLink);
	} else if(objLink.href.find('.swf'||'youtube')){
		rLBdoSwf(objLink);
	} else if(objLink.href.find('.mp3')){
		rLBdoMp3(objLink);
	} else {
		return false;
	}
}
function rLBdoImg(objLink){
	var objOverlay = $('overlay'), objLoadingImage = $('rLBloading'), objLightbox = $('rLB');
	var objImage = $('rLBimage'), objSwf = $('rLBswf');
	var objLightboxDetails = $('rLBdetails'), objCaption = $('rLBcaption');
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
	imgPreload = new Image();
	imgPreload.onload=function(){
		objImage.src = objLink.href;
		var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 35 - imgPreload.height) / 2);
		var lightboxLeft = ((arrayPageSize[0] - 20 - imgPreload.width) / 2);
		objLightbox.style.width = imgPreload.width + "px";
		objLightbox.style.top = (lightboxTop < 0) ? "10px" : lightboxTop + "px";
		objLightbox.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px";
		objLightboxDetails.style.width = imgPreload.width + 'px';
		if(objLink.getAttribute('title')){
			objCaption.style.display = 'block';
			objCaption.innerHTML = objLink.getAttribute('title');
		} else {
			objCaption.style.display = 'none';
		}
		if(navigator.appVersion.find("MSIE")){
			pause(250);
		}
		if (objLoadingImage) { objLoadingImage.style.display = 'none'; }
		rLBFixBG("hidden");
		objLightbox.style.display = 'block';
		objOverlay.style.height = arrayPageSize[1] + 'px';
		listenKey();
		return false;
	}
	imgPreload.src = objLink.href;
	objImage.style.display = 'block';
	objSwf.style.display = 'none';
}
function rLBdoSwf(objLink){
	var objOverlay = $('overlay'), objLoadingImage = $('rLBloading'), objLightbox = $('rLB');
	var objImage = $('rLBimage'), objSwf = $('rLBswf');
	var objLightboxDetails = $('rLBdetails'), objCaption = $('rLBcaption');
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
	objImage.style.display = 'none';
	objSwf.style.display = 'block';
	var valor, swf, swfWidth, swfHeight, movie;
	if(objLink.href.find('youtube' && 'v=')){
		movie = objLink.href.split('v=')[1];
		swf = "http://www.youtube.com/v/"+ movie;
		//swf = "http://www.youtube.com/v/r6-ZYpO5HvM";
		swfWidth = 425;
		swfHeight = 350;
	} else {
		if(objLink.href.find('?')){
			valor = objLink.href.split('?');
			swf = valor[0];
			swfWidth = valor[1].split(',')[0];
			swfHeight = valor[1].split(',')[1];
		} else {
			swf = objLink.href;
			swfWidth = 720;
			swfHeight = 400;
		}
	}
	objSwf.innerHTML = "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+swfWidth+"\" height=\""+swfHeight+"\""+ 
						"codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\">"+
						"<param name=\"movie\" value=\""+swf+"\" />"+
						"<param name=\"quality\" value=\"high\" />"+
						"<param name=\"allowscriptaccess\" value=\"sameDomain\" />"+
						"<param name=\"wmode\" value=\"transparent\" />"+
						"<param name=\"scale\" value=\"noScale\" />"+
						"<embed wmode=\"transparent\" allowscriptaccess=\"sameDomain\" src=\""+swf+"\" width=\""+swfWidth+"\" height=\""+swfHeight+"\" "+
						"quality=\"high\" scale=\"noscale\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\">"+
						"</embed></object>";
	var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 35 - swfHeight) / 2);
	var lightboxLeft = ((arrayPageSize[0] - 20 - swfWidth) / 2);
	objLightbox.style.width = swfWidth + "px";
	objLightbox.style.top = (lightboxTop < 0) ? "10px" : lightboxTop + "px";
	objLightbox.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px";
	objLightboxDetails.style.width = swfWidth + 'px';
	if(objLink.getAttribute('title')){
		objCaption.style.display = 'block';
		objCaption.innerHTML = objLink.getAttribute('title');
	} else {
		objCaption.style.display = 'none';
	}
	if(navigator.appVersion.find("MSIE")){
		pause(250);
	}
	if(objLoadingImage){ objLoadingImage.style.display = 'none'; }
	rLBFixBG("hidden");
	objLightbox.style.display = 'block';
	objOverlay.style.height = arrayPageSize[1] + 'px';
	listenKey();
	return false;
}
function rLBdoMp3(objLink){
	var objOverlay = $('overlay'), objLoadingImage = $('rLBloading'), objLightbox = $('rLB');
	var objImage = $('rLBimage'), objSwf = $('rLBswf');
	var objLightboxDetails = $('rLBdetails'), objCaption = $('rLBcaption');
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
	objImage.style.display = 'none';
	objSwf.style.display = 'block';
	objSwf.innerHTML = "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"200\" height=\"120\""+ 
						"codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\">"+
						"<param name=\"movie\" value=\"_js/player.swf\" />"+
						"<param name=\"quality\" value=\"high\" />"+
						"<param name=\"allowscriptaccess\" value=\"sameDomain\" />"+
						"<param name=\"wmode\" value=\"transparent\" />"+
						"<param name=\"scale\" value=\"noScale\" />"+
						"<param name=\"flashvars\" value=\"file="+ objLink.href +"&nome="+ objLink.title +"\" />"+
						"<embed wmode=\"transparent\" allowscriptaccess=\"sameDomain\" src=\"_js/player.swf\" width=\"200\" height=\"120\" "+
						"flashvars=\"file="+ objLink.href +"&nome="+ objLink.title +"\" quality=\"high\" scale=\"noscale\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\">"+
						"</embed></object>";
	var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 35 - 120) / 2);
	var lightboxLeft = ((arrayPageSize[0] - 20 - 200) / 2);
	objLightbox.style.width = "200px";
	objLightbox.style.top = (lightboxTop < 0) ? "10px" : lightboxTop + "px";
	objLightbox.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px";
	objLightboxDetails.style.width = '200px';
	if(objLink.getAttribute('title')){
		objCaption.style.display = 'block';
		objCaption.innerHTML = objLink.getAttribute('title');
	} else {
		objCaption.style.display = 'none';
	}
	if(navigator.appVersion.find("MSIE")){
		pause(250);
	}
	if(objLoadingImage){ objLoadingImage.style.display = 'none'; }
	rLBFixBG("hidden");
	objLightbox.style.display = 'block';
	objOverlay.style.height = arrayPageSize[1] + 'px';
	listenKey();
	return false;
}
function rLBhide(){
	var objOverlay = $('overlay'), objLightbox = $('rLB'), objSwf = $('rLBswf');
	objOverlay.style.display = 'none';
	objLightbox.style.display = 'none';
	objSwf.innerHTML = '';
	rLBFixBG("visible");
	document.onkeypress = '';
}
addEvent(window,'load',rLBinit);
