var DragHandler = { 
_oElem : null,

attach : function(oElem,oMove) {
oElem.onmousedown = DragHandler._dragBegin;
oElem.dragBegin = new Function();
oElem.drag = new Function();
oElem.dragEnd = new Function();
oElem.oMove = new Function();
oElem.oMove = oMove;

return oElem;
},


_dragBegin : function(e) {
var oElem = DragHandler._oElem = this;
if (isNaN(parseInt(oElem.oMove.style.left))) { oElem.oMove.style.left = '0px'; }
if (isNaN(parseInt(oElem.oMove.style.top))) { oElem.oMove.style.top = '0px'; }

var x = parseInt(oElem.oMove.style.left);
var y = parseInt(oElem.oMove.style.top);

e = e ? e : window.event;
oElem.mouseX = e.clientX;
oElem.mouseY = e.clientY;
zidx++;
oElem.oMove.style.zIndex=zidx;

oElem.dragBegin(oElem, x, y);

document.onmousemove = DragHandler._drag;
document.onmouseup = DragHandler._dragEnd;
return false;
},

_drag : function(e) {
var oElem = DragHandler._oElem;

var x = parseInt(oElem.oMove.style.left);
var y = parseInt(oElem.oMove.style.top);

e = e ? e : window.event;
oElem.oMove.style.left = x + (e.clientX - oElem.mouseX) + 'px';
oElem.oMove.style.top = y + (e.clientY - oElem.mouseY) + 'px';

oElem.mouseX = e.clientX;
oElem.mouseY = e.clientY;

oElem.drag(oElem, x, y);

return false;
},

_dragEnd : function() {
var oElem = DragHandler._oElem;

var x = parseInt(oElem.style.left);
var y = parseInt(oElem.style.top);

oElem.dragEnd(oElem, x, y);

document.onmousemove = null;
document.onmouseup = null;
DragHandler._oElem = null;
}

}

function addEvent(object, evType, func, useCapture)	{
if(object.addEventListener) {
object.addEventListener(evType, func, useCapture);
} else 	if(object.attachEvent) {
object.attachEvent("on" + evType, func);
}
}


move = function (obj,dir,p) {
var oElem=document.getElementById(obj);
if (dir=='+') {
oElem.scrollLeft+=p;
} else {
oElem.scrollLeft-=p;
if (oElem.scrollLeft==0) {
clearInterval(this.interval);				
}
}
}



cScroll = function() {
var self=this;
this.oElem    = null;
this.interval = null;
}

cScroll.prototype.setElement = function (e) {
this.oElem=e;
}

cScroll.prototype.mousewheel = function (e) {
e = e ? e : window.event;
if(e.wheelDelta<0)
move(this.oElem.id,'+',8);
else
move(this.oElem.id,'-',8);
}

cScroll.prototype.startMove = function (dir) {
clearInterval(this.interval);
this.interval = setInterval("move('"+this.oElem.id+"','"+dir+"',2)", 2);
}

cScroll.prototype.stopMove = function () {
clearInterval(this.interval);
}


cScroller = function() {
var self=this;
this.oElem    = null;
this.interval = null;
}	

cScroller.prototype.attach = function (oElem,w,h){
dvScroll = document.createElement("DIV");
dvScroll.id=oElem.id;
dvScroll.style.width=(w-36)+'px';
dvScroll.style.height=h+'px';
dvScroll.style.overflow='hidden';
dvScroll.style.position='relative';
dvScroll.style.whiteSpace='nowrap';
dvScroll.style.cssFloat='left';
dvScroll.style.styleFloat='left';
dvScroll.style.float='left';
oElem.id='nav'+oElem.id;
oElem.style.width=w+'px';
oElem.style.height=h+'px';
oElem.style.whiteSpace='nowrap';

oElem.style.position='relative';

link1 = document.createElement("A");
link1.id="prevLink";
link1.style.cursor="hand";
//link1.href="#";

link2 = document.createElement("A");
link2.id="nextLink";
link2.style.cursor="hand";
//link2.href="#";

var sc=new cScroll();
sc.setElement(dvScroll);
addEvent(link1,"mouseover", function()  { sc.startMove('-'); }, false);
addEvent(link2,"mouseover", function()  { sc.startMove('+'); }, false);
addEvent(link1,"mouseout", function()   { sc.stopMove(); }, false);
addEvent(link2,"mouseout", function()   { sc.stopMove(); }, false);
addEvent(oElem,"mousewheel", function() { sc.mousewheel(event); }, false);		
s=0;
for (i=0;i<oElem.childNodes.length;i=i+2){
s+=92;
}

dvScroll.innerHTML=oElem.innerHTML;
oElem.innerHTML="";

if(s<w){
dvScroll.style.width=(w)+'px';
link1=null;
link2=null;
}

if (link1)
oElem.appendChild(link1);

oElem.appendChild(dvScroll);

if (link2)
oElem.appendChild(link2);
}


var lightbox = {
visible:false,
_blackout:null,
_basediv:null,
_banner:null,
_mini:null,
_y:0,
img:null,
frame:null,

hide : function () {
try {
lightbox._blackout.style.visibility="hidden";
lightbox._basediv.style.visibility="hidden";
if (lightbox._banner)
lightbox._banner.style.visibility="hidden";
if (lightbox._mini)
lightbox._mini.style.visibility="hidden";
}catch(e){

}
try {
document.body.removeChild(lightbox._blackout);
document.body.removeChild(lightbox._basediv);
if (lightbox._banner)
document.body.removeChild(lightbox._banner);
if (lightbox._mini)
document.body.removeChild(lightbox._mini);			
lightbox._blackout=null;
lightbox._basediv=null;
lightbox._banner=null;
lightbox._mini=null;
lightbox.visible=false;
} catch(e){
lightbox._blackout=null;
lightbox._basediv=null;
lightbox._banner=null;
lightbox._mini=null;
lightbox.visible=false;				
}

},

showimage : function() {
var container=document.getElementById("dvLBcontainer");
container.innerHTML="";
container.style.textAlign="right";
closeLink = document.createElement("a");
//closeLink.id="closeLink";
closeLink.href="#";
closeLink.style.cursor="hand";
closeLink.onclick=lightbox.hide;
closeLink.title="clique para fechar";
fimg=document.createElement("img");
fimg.src="../imagens/closelabel.gif";
fimg.width=66;
fimg.height=22;
fimg.border=0;
closeLink.appendChild(fimg);
container.appendChild(closeLink);
container.appendChild(this.img);
this.setsize(this.img.width,(this.img.height+22));

},

setsize : function(w,h) {
this._basediv.style.width  = w+'px';
this._basediv.style.height = h+'px';
this._basediv.style.marginLeft = (w/2*-1)+'px';
this._basediv.style.marginTop  = (this._y+(h/2*-1))+'px';
if(this._banner) 
this._banner.style.marginTop  = (this._y+((120+h/2)*-1))+'px';
if(this._mini) 
this._mini.style.marginTop  = (this._y+((h/2)+30))+'px';


},

show : function(type,src,banner,mini,w,h) {
if(!lightbox.visible){

var container = document.body;

this._y=scrollY();

blackout = document.createElement("div");
blackout.style.background="#000";
blackout.style.zIndex=20000;
blackout.style.position="absolute"
blackout.style.top=this._y+"px";
blackout.style.left="0px";
blackout.style.width="100%";
if (pageHeight()>0)
blackout.style.height=pageHeight()+'px';
else
blackout.style.height= "100%";
blackout.style.opacity=.85;
blackout.style.filter="alpha(opacity=85)";
blackout.style.MozOpacity=0.85;
blackout.onclick=lightbox.hide;
blackout.title="clique para fechar";

basediv = document.createElement("div");
basediv.style.background="#fff";
basediv.style.zIndex=20001;
basediv.style.position="absolute"
basediv.style.top="50%";
basediv.style.left="50%";
basediv.style.width="100px";
basediv.style.height="60px";
basediv.style.padding="10px";
basediv.style.marginLeft="-60px";
basediv.style.marginTop=(this._y-30)+"px";
basediv.innerHTML='<div id="dvLBcontainer" style="text-align:center;"> <img src="images/loading.gif" width="32" height="32" alt="carregando" /><br />carregando... </div> ';
container.appendChild(blackout);
container.appendChild(basediv);
lightbox._blackout=blackout;
lightbox._basediv=basediv;
banner=false;
if(banner) {
basedivbanner = document.createElement("div");
basedivbanner.style.background="#fff";
basedivbanner.style.zIndex=20004;
basedivbanner.style.position="absolute";
basedivbanner.style.top="50%";
basedivbanner.style.left="50%";
basedivbanner.style.width="760px";
basedivbanner.style.height="90px";
basedivbanner.style.padding="10px";
basedivbanner.style.marginLeft="-390px";
basedivbanner.style.marginTop=(this._y-150)+"px";
basedivbanner.innerHTML='<div style="background:#666;width:760px;height:90px;"> banner </div> ';
container.appendChild(basedivbanner);
lightbox._banner=basedivbanner;
}

if(mini) {
basedivmini = document.createElement("div");
basedivmini.style.background="#fff";
basedivmini.style.zIndex=20005;
basedivmini.style.position="absolute";
basedivmini.style.top="50%";
basedivmini.style.left="50%";
basedivmini.style.width="450px";
basedivmini.style.height="80px";
basedivmini.style.padding="10px";
basedivmini.style.marginLeft="-225px";
basedivmini.style.marginTop=(this._y+60)+"px";
fotos = document.createElement("div");
fotos.id = 'lb'+mini.id;
fotos.style.width="760px";
fotos.style.height="80px";
fotos.style.whiteSpace='nowrap';
fotos.innerHTML=mini.innerHTML;
basedivmini.appendChild(fotos);
var sc=new cScroller();
sc.attach(fotos,450,80);
container.appendChild(basedivmini);
lightbox._mini=basedivmini;
}
lightbox.visible=true;
}
switch(type){
case 'foto':
img = document.createElement("img");
lightbox.img=img;
addEvent(img,'load',function(){lightbox.showimage();},false);
img.src=src;
break;
default:
frame = document.createElement("iframe");
frame.width=w;
frame.height=h;
frame.frameBorder=0;
lightbox.frame=frame;
frame.src=src;

var container=document.getElementById("dvLBcontainer");
container.innerHTML="";			

closeLink = document.createElement("a");
closeLink.id="closeLink";
closeLink.href="#";			
closeLink.onclick=lightbox.hide;
closeLink.title="clique para fechar";
fimg=document.createElement("img");
fimg.src="../imagens/closelabel.gif";
fimg.style.cssFloat="right";
fimg.style.float="right";
fimg.width=66;
fimg.height=22;
fimg.border=0;
fimg.align="right";
closeLink.appendChild(fimg);
container.appendChild(closeLink);

container.appendChild(frame);
this.setsize(w,(h+22));

break;
}
}
}


/************************************************************

Scripts de terceiros

*************************************************************/

function tabsDiv() {

this.defaults = {

id: null,
active: 1,
interval: null,
wait: null,
persist: null,
tabclass: 'tab',
activeclass: 'active',
callback: null,
leavecallback: null

};

this.activebackup = null;

for (var n in arguments[0]) { this.defaults[n]=arguments[0][n]; };	

this.getTabs = function() {

var retnode = [];
var elem = document.getElementById(this.defaults.id).getElementsByTagName('*');

var regexp = new RegExp("(^|\\s)" + this.defaults.tabclass.replace(/\-/g, "\\-") + "(\\s|$)");

for (var i = 0; i < elem.length; i++) {
if (regexp.test(elem[i].className)) retnode.push(elem[i]);
}

return retnode;

};

this.links = document.getElementById(this.defaults.id + '-nav').getElementsByTagName('a');
this.listitems = document.getElementById(this.defaults.id + '-nav').getElementsByTagName('li');

this.show = function(number) {

for (var i = 0; i < this.tabs.length; i++) {

this.tabs[i].style.display = ((i+1)==number) ? 'block' : 'none';

if ((i+1)==number) {
this.addClass(this.links[i], this.defaults.activeclass);
this.addClass(this.listitems[i], this.defaults.activeclass + 'li');
} else {
this.removeClass(this.links[i], this.defaults.activeclass);
this.removeClass(this.listitems[i], this.defaults.activeclass + 'li');
}

}


if (this.defaults.leavecallback && (number != this.activebackup)) this.defaults.leavecallback(this.defaults.active);

this.activebackup = number;


this.defaults.active = number;

if (this.defaults.callback) this.defaults.callback(number);


};

this.rotate = function(interval) {

this.show(this.defaults.active);
this.defaults.active++;

if (this.defaults.active > this.tabs.length) this.defaults.active = 1;


var self = this;

if (this.defaults.wait) clearTimeout(this.timer2);

this.timer1 = setTimeout(function(){self.rotate(interval);}, interval*1000);

};

this.next = function() {

this.defaults.active++;
if(this.defaults.active > this.tabs.length) this.defaults.active = 1;
this.show(this.defaults.active);

};

this.previous = function() {

this.defaults.active--;
if(!this.defaults.active) this.defaults.active = this.tabs.length;
this.show(this.defaults.active);

};

this.gup = function(name) {
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if (results == null) return null;
else return results[1];
};

this.parseurl = function(tabinterfaceid) {

var result = this.gup(tabinterfaceid);

if (result==null) return null;
if (parseInt(result)) return parseInt(result); 
if (document.getElementById(result)) {	
for (var i=0;i<this.tabs.length;i++) {
if (this.tabs[i].id == result) return (i+1);
}
}

return null;

};

this.createCookie = function(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
};

this.readCookie = function(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
};

this.contains = function(el, item, from) {
return el.indexOf(item, from) != -1;
};

this.hasClass = function(el, className){
return this.contains(el.className, className, ' ');
};

this.addClass = function(el, className){
if (!this.hasClass(el, className)) el.className = (el.className + ' ' + className).replace(/\s{2,}/g, ' ').replace(/^\s+|\s+$/g, '');
};

this.removeClass = function(el, className){
el.className = el.className.replace(new RegExp('(^|\\s)' + className + '(?:\\s|$)'), '$1');
el.className.replace(/\s{2,}/g, ' ').replace(/^\s+|\s+$/g, '');
};


this.tabs = this.getTabs();
this.defaults.active = (this.parseurl(this.defaults.id)) ? this.parseurl(this.defaults.id) : this.defaults.active;
if (this.defaults.persist && this.readCookie(this.defaults.id)) this.defaults.active = this.readCookie(this.defaults.id);  
this.activebackup = this.defaults.active;
this.show(this.defaults.active);

var self = this;
for (var i = 0; i < this.links.length; i++) {
this.links[i].customindex = i+1;
this.links[i].onclick = function(){ 

if (self.timer1) clearTimeout(self.timer1);
if (self.timer2) clearTimeout(self.timer2); 

self.show(this.customindex);
if (self.defaults.persist) self.createCookie(self.defaults.id, this.customindex, 0);

if (self.defaults.wait) self.timer2 = setTimeout(function(){self.rotate(self.defaults.interval);}, self.defaults.wait*1000);

return false;
};
}

if (this.defaults.interval) this.rotate(this.defaults.interval);

};


function scrollY(){
var scy=0;
if(navigator.appName=='Netscape'){
scy=window.pageYOffset;
} else {
scy=document.documentElement.scrollTop;
}
return scy;
}
function scrollX(){
var scx=0;
if(navigator.appName=='Netscape'){
scx=window.pageYOffset;
} else {
scx=document.documentElement.scrollLeft;;
}
return scx;
}

function pageWidth(){
var xScroll;			

if (window.innerHeight && window.scrollMaxY) {	
xScroll = window.innerWidth + window.scrollMaxX;
} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
xScroll = document.body.scrollWidth;
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
xScroll = document.body.offsetWidth;
}

var windowWidth;

if (self.innerHeight) {	// all except Explorer
if(document.documentElement.clientWidth){
windowWidth = document.documentElement.clientWidth; 
} else {
windowWidth = self.innerWidth;
}
} else if (document.documentElement && document.documentElement.clientHeight) {
windowWidth = document.documentElement.clientWidth;
} else if (document.body) {
windowWidth = document.body.clientWidth;
}	

if(xScroll < windowWidth){	
pw = xScroll;		
} else {
pw = windowWidth;
}		

return pw;
}

function pageHeight(){
var yScroll;

if (window.innerHeight && window.scrollMaxY) {	
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight){ 
yScroll = document.body.scrollHeight;
} else {
yScroll = document.body.offsetHeight;
}

var windowHeight;

if (self.innerHeight) {	
windowHeight = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) {
windowHeight = document.documentElement.clientHeight;
} else if (document.body) {
windowHeight = document.body.clientHeight;
}	

if(yScroll < windowHeight){
ph = windowHeight;
} else { 
ph = yScroll;
}
return ph;
}

function hideDiv(div){ document.getElementById(div).style.display="none"; }