﻿function SpiderFader(){
    this.handle = 'moveit';
    this.background = '#000';
    this.timePerSlide = 3000;
    this.play = play;
    this.pause = pause;
    this.toggle = toggle;
    this.fadecount ;
    this.duration = 1.2;
    this.mode = 'play';
    this.gotoslide = gotoslide;
    this.turnoffimages = turnoffimages;
    this.nextslide = nextslide;
    this.prevslide = prevslide;
    
    //var fadecount = 6;
    var fadecurrent = 0;
    var fadeitwrapper = null;

    var me = this;
    
    function nextslide(){
        var nextcounter = fadecurrent + 1;
        nextslide = nextcounter%me.fadecount+1;
        sl.gotoslide(nextslide);
    }
    
    function prevslide(){
        if (fadecurrent != 0){
            var prevcounter = fadecurrent - 1;
            prevslide = prevcounter%me.fadecount+1;
            sl.gotoslide(prevslide);
        } else {
            sl.gotoslide(me.fadecount);
        }
    }
    
    function gotoslide(slide){
        
        me.turnoffimages();
        //$('gotoslide'+ slide).src = $('gotoslide'+ slide).src.replace('off','on');
        me.pause();
    
        var x=document.getElementsByTagName("div");
	    for (var i=0;i<x.length;i++){
		    if (x[i].id.indexOf(this.handle)>-1){	 
                if (x[i].id.replace(this.handle,'') == slide){
                    $(x[i].id).style.display = "block";
                    fadecurrent = slide-1 
                } else { 
                    $(x[i].id).style.display = "none";
                }
		    }
	    }
    }
    
    function pause(){
        clearInterval(fadeitwrapper);    
        me.mode = 'pause';
         $('playpauseimg').src = '/images/buttons/play.gif';
    }
    
    function play(){
        fadeitwrapper = setInterval(fadeit,me.timePerSlide);
        me.mode = 'play';
    }
    
    function toggle(){
        if (me.mode == 'play'){
            $('playpauseimg').src = '/images/buttons/play.gif';
            me.pause();
        } else {
            $('playpauseimg').src = '/images/buttons/pause.gif';
            me.play();
        }
    }

    function turnoffimages(){
        for (var i=1;i<me.fadecount+1;i++){
            //$('gotoslide'+ i).src = $('gotoslide'+ i).src.replace('on','off');
        }
    }
    
   
    
    function fadeit(){       
        fadecurrent = fadecurrent + 1;
        var slide = fadecurrent -1;
        me.turnoffimages();
         fadenext = fadecurrent + 1;
        if (fadecurrent == me.fadecount+1){
            fadecurrent = 1;
            fadenext = fadecurrent +1;
        } 
        if ((fadenext)> me.fadecount){
            fadenext = 1
        }
        
        //document.title = fadenext;
        //$('gotoslide'+ fadenext).src = $('gotoslide'+ fadenext).src.replace('off','on');

        Effect.Fade(me.handle + fadecurrent,{duration: me.duration});
        Effect.Appear(me.handle + fadenext,{duration: me.duration});
    }
}
