/****************************************
* JavaScript Cross Browser Slide Show
* Author: Daniel Boorn
* http://forgottoattach.com
* This notice must stay for use
****************************************/
function SlideShowSpecial(id, name){
    
    this.getElementsById = function(id){
        var nodes = document.getElementsByTagName('*');
        var matches = new Array();
        for(i=0;i<nodes.length;i++){
            if(nodes[i].id == id) matches[matches.length] = nodes[i];
        }
        if(matches.length > 0)
        {
            matches[0].style.display="";
            matches[0].className="hoverEffect";
        }
        if( matches.length > 1)
        {
            matches[1].style.display="";
        }
        return matches;
    }
    
    this.pause = function(){
        clearTimeout(self.pTimerID);
        //novo:
        clearTimeout(self.iTimerID);
    }
    
    this.play = function(){
        self.pTimerID = setTimeout(self.name+".playInit()", self.pspeed);
        //novo:
        self.iTimerID = setTimeout(self.name+".switchHover()", self.fspeed);
    }
	
	this.switchHover = function(){
        var currentIndex = self.fIndex;
        self.slides[self.fIndex].className="";
        if(self.lastOccurs == 1){
            self.lastOccurs = 0;
            self.fIndex = -1;
        }
        if(self.fIndex == self.slides.length-1){
            if(self.fIndex % 2==0){
                self.slides[self.fIndex].className="hoverEffect";
                self.iTimerID = setTimeout(self.name+".switchHover()", self.fspeed);
                self.lastOccurs = 1;
                return;
            }
        }
        self.fIndex = (self.fIndex+1) % self.slides.length;
        self.slides[self.fIndex].className="hoverEffect";
        self.iTimerID = setTimeout(self.name+".switchHover()", self.fspeed);
    }
	
    this.playInit = function(){
       self.slides[self.cIndex].style.display="none";
        self.cIndex = (self.cIndex+1) % self.slides.length;
        //self.slides[self.cIndex].style.display="";
        
        if(self.cIndex == 0)
        {
            self.slides[self.cIndex].style.display="";
            if(self.cIndex+1 >= self.slides.length)
            {
                //self.slides[self.cIndex-1].style.display="";
            }
            else
            {
                self.slides[self.cIndex+1].style.display="";
            }
        }
        else
        {
            self.slides[self.cIndex].style.display="none";
            self.cIndex = (self.cIndex+1) % self.slides.length;

            self.slides[self.cIndex].style.display="";
            
            if(self.cIndex+1 >= self.slides.length)
            {
                //self.slides[self.cIndex-1].style.display="";
            }
            else
            {
                self.slides[self.cIndex+1].style.display="";
            }
        }
        
        self.pTimerID = setTimeout(self.name+".playInit()", self.pspeed);        
    }
    
    this.Effects = {};
    
    this.Effects.ChangeTimeOut = function(){
        clearTimeout(self.pTimerID);
        clearTimeout(self.iTimerID);
		self.pTimerID = setTimeout(self.name+".playInit()", self.pspeed);
		self.iTimerID = setTimeout(self.name+".switchHover()", self.fspeed);
    }
    
    this.next = function(){
        if(this.lastOccurs==1){
            this.lastOccurs=0;
        }
        self.slides[self.fIndex].className="";
        self.slides[self.cIndex].style.display="none";
        self.cIndex = (self.cIndex+1) % self.slides.length;
        //self.slides[self.cIndex].style.display="";
        
        if(self.cIndex == 0)
        {
            self.slides[self.cIndex].style.display="";
            if(self.cIndex+1 >= self.slides.length)
            {
                //self.slides[self.cIndex-1].style.display="";
            }
            else
            {
                self.slides[self.cIndex+1].style.display="";
            }
        }
        else
        {
            self.slides[self.cIndex].style.display="none";
            self.cIndex = (self.cIndex+1) % self.slides.length;

            self.slides[self.cIndex].style.display="";
            
            if(self.cIndex+1 >= self.slides.length)
            {
                //self.slides[self.cIndex-1].style.display="";
            }
            else
            {
                self.slides[self.cIndex+1].style.display="";
            }
        }
		self.fIndex = self.cIndex;
		self.slides[self.fIndex].className="hoverEffect";
		self.Effects.ChangeTimeOut();		
    }
    
    this.previous = function(){
        if(this.lastOccurs==1){
            this.lastOccurs=0;
        }
        self.slides[self.fIndex].className="";
        self.slides[self.cIndex].style.display="none";
        
        if(self.cIndex+1 < self.slides.length)
        {
            self.slides[self.cIndex+1].style.display="none";
        }
        
        self.cIndex = (self.cIndex-1<0? self.slides.length-1: self.cIndex-1);
        self.slides[self.cIndex].style.display="";
            
        if(self.cIndex == self.slides.length-1)
        {
            if(self.slides.length % 2 == 0)
            {            
                self.cIndex = (self.cIndex-1<0? self.slides.length-1: self.cIndex-1);
                self.slides[self.cIndex].style.display="";
		    }
		}
		else
		{
		    self.cIndex = (self.cIndex-1<0? self.slides.length-1: self.cIndex-1);
            self.slides[self.cIndex].style.display="";
		}
		self.fIndex = self.cIndex;
		self.slides[self.fIndex].className="hoverEffect";
		self.Effects.ChangeTimeOut();
	}
    
    this.slides = this.getElementsById(id);
    this.cIndex = 0;
    this.fIndex = 0;
    this.lastOccurs = 0;
    this.pTimerID = null;
    this.iTimer = null;
    this.pspeed=5000; //5000 = 5 seconds
    this.fspeed=2500;
    this.name = name;
    var self = this;
}

function SlideShowTextSpecial(id, name){
    
    this.getElementsById = function(id){
        var nodes = document.getElementsByTagName('*');
        var matches = new Array();
        for(i=0;i<nodes.length;i++){
            if(nodes[i].id == id) matches[matches.length] = nodes[i];
        }
        if(matches.length > 0)
        {
            matches[0].style.display="";
        }
        return matches;
    }
    
    this.pause = function(){
        clearTimeout(self.pTimerID);
        //novo:
        clearTimeout(self.iTimerID);
    }
    
    this.play = function(){
        self.pTimerID = setTimeout(self.name+".playInit()", self.pspeed);
        //novo:
        self.iTimerID = setTimeout(self.name+".switchText()", self.fspeed);
    }
    
    this.switchText = function(){
        var currentIndex = self.fIndex;
        self.slides[self.fIndex].style.display="none";
        if(self.lastOccurs == 1){
            self.lastOccurs = 0;
            self.fIndex = -1;
        }
        if(self.fIndex == self.slides.length-1){
            if(self.fIndex % 2==0){
                self.slides[self.fIndex].style.display="";
                self.iTimerID = setTimeout(self.name+".switchText()", self.fspeed);
                self.lastOccurs = 1;
                return;
            }
        }
        self.fIndex = (self.fIndex+1) % self.slides.length;
        self.slides[self.fIndex].style.display="";
        self.iTimerID = setTimeout(self.name+".switchText()", self.fspeed);
    }
	
    this.playInit = function(){
       self.slides[self.cIndex].style.display="none";
        self.cIndex = (self.cIndex+1) % self.slides.length;
        self.slides[self.cIndex].style.display="";
        
        if(self.cIndex == 0)
        {
            self.slides[self.cIndex].style.display="";
        }
        else
        {
            self.slides[self.cIndex].style.display="none";
            self.cIndex = (self.cIndex+1) % self.slides.length;

            self.slides[self.cIndex].style.display="";
            
        }
        
        self.pTimerID = setTimeout(self.name+".playInit()", self.pspeed);        
    }
    
    this.Effects = {};
    
    this.Effects.ChangeTimeOut = function(){
        clearTimeout(self.pTimerID);
        clearTimeout(self.iTimerID);
		self.pTimerID = setTimeout(self.name+".playInit()", self.pspeed);
		self.iTimerID = setTimeout(self.name+".switchText()", self.fspeed);
    }
    
    this.next = function(){
        if(this.lastOccurs==1){
            this.lastOccurs=0;
        }
        self.slides[self.cIndex].style.display="none";
        self.cIndex = (self.cIndex+1) % self.slides.length;
        
        if(self.cIndex == 0)
        {
            self.slides[self.cIndex].style.display="";
        }
        else
        {
            self.slides[self.cIndex].style.display="none";
            self.cIndex = (self.cIndex+1) % self.slides.length;

            self.slides[self.cIndex].style.display="";

        }
		self.fIndex = self.cIndex;
		self.Effects.ChangeTimeOut();		
    }
    
    this.previous = function(){
        if(this.lastOccurs==1){
            this.lastOccurs=0;
        }
        self.slides[self.cIndex].style.display="none";
        if(self.fIndex != self.cIndex){
            self.slides[self.fIndex].style.display="none";
        }
     
        self.cIndex = (self.cIndex-1<0? self.slides.length-1: self.cIndex-1);
        if(self.cIndex %2 == 0){
            self.slides[self.cIndex].style.display="";
        }else{
            self.cIndex = (self.cIndex-1<0? self.slides.length-1: self.cIndex-1);
            self.slides[self.cIndex].style.display="";
        }

		self.fIndex = self.cIndex;
		self.Effects.ChangeTimeOut();
	}
    
    this.slides = this.getElementsById(id);
    this.cIndex = 0;
    this.fIndex = 0;
    this.lastOccurs = 0;
    this.pTimerID = null;
    this.iTimerID = null;
    this.fspeed=2500; //2500 = 2,5 seconds  
    this.pspeed=5000; //5000 = 5 seconds
    this.name = name;
    var self = this;
}


var slideshow;
var slideshow2;

function SlideShowSpecialInit()
{ 
    slideshow = new SlideShowSpecial('slide', 'slideshow');
    slideshow2 = new SlideShowTextSpecial('slideText', 'slideshow2');
    slideshow.play();
    slideshow2.play();
}

var cIndexOnOverSS;
var fIndexOnOverSS;
var cIndexOnOverSS2;
var fIndexOnOverSS2;

function executeMouseOver(showIndex){
    slideshow.pause();
    slideshow2.pause();
    cIndexOnOverSS = slideshow.cIndex;
    fIndexOnOverSS = slideshow.fIndex;
    cIndexOnOverSS2 = slideshow2.cIndex;
    fIndexOnOverSS2 = slideshow2.fIndex;
    if(fIndexOnOverSS != showIndex){
        slideshow.slides[fIndexOnOverSS].className="";
        slideshow2.slides[fIndexOnOverSS2].style.display="none";
        slideshow.slides[showIndex].className="hoverEffect";
        slideshow2.slides[showIndex].style.display="";
    }
}

function executeMouseOut(hideIndex){
    cIndexOnOverSS = slideshow.cIndex;
    fIndexOnOverSS = slideshow.fIndex;
    cIndexOnOverSS2 = slideshow2.cIndex;
    fIndexOnOverSS2 = slideshow2.fIndex;
    if(fIndexOnOverSS != hideIndex){
        slideshow.slides[fIndexOnOverSS].className="hoverEffect";
        slideshow2.slides[fIndexOnOverSS2].style.display="";
        slideshow.slides[hideIndex].className="";
        slideshow2.slides[hideIndex].style.display="none";
    }
    slideshow.fIndex=slideshow.cIndex;
    slideshow.play();
    slideshow2.fIndex=slideshow2.cIndex;
    slideshow2.play();
}
