// JavaScript Document
var fadeimages=new Array()
//SET IMAGE PATHS. Extend or contract array as needed
fadeimages[0]=["images/banner_interativo_home_01.jpg", "interativos/", "_parent"] //plain image syntax
fadeimages[1]=["images/banner_interativo_home_02.jpg", "interativos/", "_parent"] //plain image syntax
 
var fadebgcolor="white"

////NO need to edit beyond here/////////////
 
var fadearray=new Array() //array to cache fadeshow instances
var fadeclear=new Array() //array to cache corresponding clearinterval pointers
 
var dom=(document.getElementById) //modern dom browsers
var iebrowser=document.all
 
function fadeshow(theimages, fadewidth, fadeheight, borderwidth, delay, pause, displayorder){
this.pausecheck=pause
this.mouseovercheck=0
this.delay=delay
this.degree=10 //initial opacity degree (10%)
this.curimageindex=0
this.nextimageindex=1
fadearray[fadearray.length]=this
this.slideshowid=fadearray.length-1
this.canvasbase="canvas"+this.slideshowid
this.curcanvas=this.canvasbase+"_0"
if (typeof displayorder!="undefined")
theimages.sort(function() {return 0.5 - Math.random();}) //thanks to Mike (aka Mwinter) :)
this.theimages=theimages
this.imageborder=parseInt(borderwidth)
this.postimages=new Array() //preload images
for (p=0;p<theimages.length;p++){
this.postimages[p]=new Image()
this.postimages[p].src=theimages[p][0]
}
 
var fadewidth=fadewidth+this.imageborder*2
var fadeheight=fadeheight+this.imageborder*2
 
if (iebrowser&&dom||dom) //if IE5+ or modern browsers (ie: Firefox)
document.write('<div id="master'+this.slideshowid+'" style="position:relative;width:'+fadewidth+'px;height:'+fadeheight+'px;overflow:hidden;"><div id="'+this.canvasbase+'_0" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);opacity:0.1;-moz-opacity:0.1;-khtml-opacity:0.1;background-color:'+fadebgcolor+'"></div><div id="'+this.canvasbase+'_1" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);opacity:0.1;-moz-opacity:0.1;-khtml-opacity:0.1;background-color:'+fadebgcolor+'"></div></div>')
else
document.write('<div><img name="defaultslide'+this.slideshowid+'" src="'+this.postimages[0].src+'"></div>')
 
if (iebrowser&&dom||dom) //if IE5+ or modern browsers such as Firefox
this.startit()
else{
this.curimageindex++
setInterval("fadearray["+this.slideshowid+"].rotateimage()", this.delay)
}
}

function fadepic(obj){
if (obj.degree<100){
obj.degree+=10
if (obj.tempobj.filters&&obj.tempobj.filters[0]){
if (typeof obj.tempobj.filters[0].opacity=="number") //if IE6+
obj.tempobj.filters[0].opacity=obj.degree
else //else if IE5.5-
obj.tempobj.style.filter="alpha(opacity="+obj.degree+")"
}
else if (obj.tempobj.style.MozOpacity)
obj.tempobj.style.MozOpacity=obj.degree/101
else if (obj.tempobj.style.KhtmlOpacity)
obj.tempobj.style.KhtmlOpacity=obj.degree/100
else if (obj.tempobj.style.opacity&&!obj.tempobj.filters)
obj.tempobj.style.opacity=obj.degree/101
}
else{
clearInterval(fadeclear[obj.slideshowid])
obj.nextcanvas=(obj.curcanvas==obj.canvasbase+"_0")? obj.canvasbase+"_0" : obj.canvasbase+"_1"
obj.tempobj=iebrowser? iebrowser[obj.nextcanvas] : document.getElementById(obj.nextcanvas)
obj.populateslide(obj.tempobj, obj.nextimageindex)
obj.nextimageindex=(obj.nextimageindex<obj.postimages.length-1)? obj.nextimageindex+1 : 0
setTimeout("fadearray["+obj.slideshowid+"].rotateimage()", obj.delay)
}
}
 
fadeshow.prototype.populateslide=function(picobj, picindex){
var slideHTML=""
if (this.theimages[picindex][1]!="") //if associated link exists for image
slideHTML='<a href="'+this.theimages[picindex][1]+'" target="'+this.theimages[picindex][2]+'">'
slideHTML+='<img src="'+this.postimages[picindex].src+'" border="'+this.imageborder+'px">'
if (this.theimages[picindex][1]!="") //if associated link exists for image
slideHTML+='</a>'
picobj.innerHTML=slideHTML
}
 
 
fadeshow.prototype.rotateimage=function(){
if (this.pausecheck==1) //if pause onMouseover enabled, cache object
var cacheobj=this
if (this.mouseovercheck==1)
setTimeout(function(){cacheobj.rotateimage()}, 100)
else if (iebrowser&&dom||dom){
this.resetit()
var crossobj=this.tempobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas)
crossobj.style.zIndex++
fadeclear[this.slideshowid]=setInterval("fadepic(fadearray["+this.slideshowid+"])",50)
this.curcanvas=(this.curcanvas==this.canvasbase+"_0")? this.canvasbase+"_1" : this.canvasbase+"_0"
}
else{
var ns4imgobj=document.images['defaultslide'+this.slideshowid]
ns4imgobj.src=this.postimages[this.curimageindex].src
}
this.curimageindex=(this.curimageindex<this.postimages.length-1)? this.curimageindex+1 : 0
}
 
fadeshow.prototype.resetit=function(){
this.degree=10
var crossobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas)
if (crossobj.filters&&crossobj.filters[0]){
if (typeof crossobj.filters[0].opacity=="number") //if IE6+
crossobj.filters(0).opacity=this.degree
else //else if IE5.5-
crossobj.style.filter="alpha(opacity="+this.degree+")"
}
else if (crossobj.style.MozOpacity)
crossobj.style.MozOpacity=this.degree/101
else if (crossobj.style.KhtmlOpacity)
crossobj.style.KhtmlOpacity=this.degree/100
else if (crossobj.style.opacity&&!crossobj.filters)
crossobj.style.opacity=this.degree/101
}
 
 
fadeshow.prototype.startit=function(){
var crossobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas)
this.populateslide(crossobj, this.curimageindex)
if (this.pausecheck==1){ //IF SLIDESHOW SHOULD PAUSE ONMOUSEOVER
var cacheobj=this
var crossobjcontainer=iebrowser? iebrowser["master"+this.slideshowid] : document.getElementById("master"+this.slideshowid)
crossobjcontainer.onmouseover=function(){cacheobj.mouseovercheck=1}
crossobjcontainer.onmouseout=function(){cacheobj.mouseovercheck=0}
}
this.rotateimage()
}






 var transitionTime = 5000;  //tempo entre transições em milisegundos
            var fadeTimeSlide = 700;    //tempo de fade do slide em milisegundos
            var fadeTimeClick = 300;    //tempo de fade quando for clicado nos números em milisegundos
            var fadeTimeScroll = 700;   //lempo de fade quando for clicado nas setas em milisegundos
            function fade(eid,op,tp) {
                TimeToFade = fadeTimeSlide;
                    if(op == 1) {
                        TimeToFade = fadeTimeClick;
                    }
                    if(op == 2) {
                        TimeToFade = fadeTimeSlide;
                    }
                    if(op == 3) {
                        TimeToFade = fadeTimeScroll;
                    }
                var element = document.getElementById(eid);
                    if(element == null) {
                        return;
                    }
                    if(element.FadeState == null) {
                        if(element.style.opacity == null || element.style.opacity == '' || element.style.opacity == '1') {
                            element.FadeState = 2;
                        }else{
                            element.FadeState = -2;
                        }
                    }
                    if(element.FadeState == 1 || element.FadeState == -1) {
                        element.FadeState = element.FadeState == 1 ? -1 : 1;
                        element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
                    }else {
                        element.FadeState = element.FadeState == 2 ? -1 : 1;
                        element.FadeTimeLeft = TimeToFade;
                        setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
                    }
            }
            function animateFade(lastTick, eid) {
                var curTick = new Date().getTime();
                var elapsedTicks = curTick - lastTick;
                var element = document.getElementById(eid);
                    if(element.FadeTimeLeft <= elapsedTicks) {
                        element.style.opacity = element.FadeState == 1 ? '1' : '0';
                        element.style.filter = 'alpha(opacity = ' + (element.FadeState == 1 ? '100' : '0') + ')';
                        element.FadeState = element.FadeState == 1 ? 2 : -2;
                        return;
                    }
                element.FadeTimeLeft -= elapsedTicks;
                var newOpVal = element.FadeTimeLeft/TimeToFade;
                    if(element.FadeState == 1) {
                        newOpVal = 1 - newOpVal;
                    }
                element.style.opacity = newOpVal;
                element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
                setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
            }


            var tempo;
            var intervalo = transitionTime;
            function $(campo) {
                return document.getElementById(campo);
            }
            //Trecho de código criado por Wilker, pego em http://forum.imasters.com.br/index.php?s=&showtopic=198704&view=findpost&p=660522
            var $A = Array.from = function(iterable) {
                if (!iterable) return [];
                if (iterable.toArray) {
                    return iterable.toArray();
                } else {
                    var results = [];
                    for (var i = 0; i < iterable.length; i++)
                        results.push(iterable[i]);
                    return results;
                }
            };
            Function.prototype.bind = function() {
                var __method = this, args = $A(arguments), object = args.shift();
                return function() {
                    return __method.apply(object, args.concat($A(arguments)));
                };
            };
            //Fim do trecho de código criado por Wilker
            function addEvent(obj, evType, fn) { //Função adaptada da original de Christian Heilmann, em http://www.onlinetools.org/articles/unobtrusivejavascript/chapter4.html
                if (typeof obj == "string") {
                    if (null == (obj = document.getElementById(obj))) {
                        throw new Error("Elemento HTML não encontrado. Não foi possível adicionar o evento.");
                    }
                }
                if (obj.attachEvent) {
                    return obj.attachEvent(("on" + evType), fn);
                } else if (obj.addEventListener) {
                    return obj.addEventListener(evType, fn, true);
                } else {
                    throw new Error("Seu browser não suporta adição de eventos.");
                }
            }
            function rollerSlide(d) {
                fade('fade',3);
                window.setTimeout(function() {
                     var divs = $('slides').getElementsByTagName('div');
                     var i;
                     for (i = 0; i < divs.length; i++) {
                         if (divs[i].className == 'visible') {
                             divs[i].className = 'hidden';
                             $('link' + (i + 1)).className = 'inativo';
                             if(d == 1) {
                                 i = (i == divs.length - 1) ? 0 : i + 1;
                             }else {
                                 i = (i == divs.length - 5) ? 4 : i - 1;
                             }
                             divs[i].className = 'visible';
                             $('link' + (i + 1)).className = 'ativo';
                             fade('fade',3);
                             clearInterval(tempo);
                             break;
                         }
                     }
                }, fadeTimeScroll);
            }
            function nextSlide() {
                fade('fade',2);
                window.setTimeout(function() {
                     var divs = $('slides').getElementsByTagName('div');
                     var i;
                     for (i = 0; i < divs.length; i++) {
                         if (divs[i].className == 'visible') {
                             divs[i].className = 'hidden';
                             $('link' + (i + 1)).className = 'inativo';
                             i = (i == divs.length - 1) ? 0 : i + 1;
                             divs[i].className = 'visible';
                             $('link' + (i + 1)).className = 'ativo';
                             fade('fade',2);
                             break;
                         }
                     }
                }, fadeTimeSlide);
            }
            function init() {
                var as = $('links').getElementsByTagName('b');
                var i;
                for (i = 0; i < as.length; i++) {
                    var f = function(v) {
                        setSlide(as[v]);
                    }
                    addEvent(as[i], 'click', f.bind(this, i));
                }
                tempo = setInterval('nextSlide()', intervalo);
            }
            function setSlide(link) {
                fade('fade',1);
                window.setTimeout(function() {
                    var divs = $('slides').getElementsByTagName('div');
                    var i;
                    for (i = 0; i < divs.length; i++) {
                        divs[i].className = 'hidden';
                    }
                                    var lis = $('links').getElementsByTagName('li');
                    for (i = 0; i < lis.length; i++) {
                        lis[i].className = 'inativo';
                    }
                    link.parentNode.className = 'ativo';
                    i = parseInt(link.firstChild.data);
                    $('slide' + i).className = 'visible';
                    fade('fade',1);
                    clearInterval(tempo);
                }, fadeTimeClick);
            }
            addEvent(window, 'load', init);