﻿var Slider = {
    
    _activeId:null,
    _maxId:null,
    _initialising:true,
    _ids:Array(),
    _flashs:Array(),
    _inactiveFlash:Array(),
    _inAnimation:false,
    _lifelength:null,
    _timeSpan:null,
    _timer:null,
    
    init:function() {
        Slider._maxId = $j('.jQS-panel').size();
        
        $j("#jQS-prev").click(function()
        {
            clearTimeout(Slider._timer);
            
            for(var i = 0; i < Slider._ids.length; i++)
            {
				if(Slider._ids[i] == Slider._activeId)
				{
					if(i != 0)
					{
						return Slider.showPanel(Slider._ids[i-1]);						
					}
					else
					{
						return Slider.showPanel(Slider._ids[Slider._maxId - 1]); 						
					}
				}
            }
            
            
        });
        
        $j("#jQS-next").click(function()
        {
            for(var i = 0; i < Slider._ids.length; i++)
            {
				if(Slider._ids[i] == Slider._activeId)
				{
					if(i + 1 < Slider._maxId)
					{
						Slider.showPanel(Slider._ids[(i * 1) + 1]);
						break;
					}
					else 
					{ 
						Slider.showPanel(Slider._ids[0]); 
						break; 
					}
				}
            }
            
            clearTimeout(Slider._timer);
        });
        
        $j(".jQS-toggle").click(function()
        {
            var panelId = this.id;
            Slider.showPanel(panelId.replace(/jQSaction-/, ""));
            
            clearTimeout(Slider._timer);       
        });  
        
        if(Slider._initialising == true)
        {
			Slider.showPanel(Slider._ids[0]);    
        }
    },
    
    nextPanel:function() {
		
		for(var i = 0; i < Slider._ids.length; i++)
        {
			if(Slider._ids[i] == Slider._activeId)
			{
				if(i + 1 < Slider._maxId)
				{
					Slider.showPanel(Slider._ids[(i * 1) + 1]);
					break;
				}
				else 
				{ 
					Slider.showPanel(Slider._ids[0]); 
					break; 
				}
			}
        }
        
        Slider._timer = setTimeout("Slider.nextPanel()", Slider._timeSpan);
        
    },
    
    showPanel:function(id) {

        if(Slider._initialising == false)
        {
            var aktivPanel = $j("#jQSpan-" + Slider._activeId);
            var nextPanel = $j("#jQSpan-" + id);
            var nextKnapp = $j("#jQSaction-" + id);
                         
            // Kontrollerar så att diven inte är animerad
            if(Slider._inAnimation == true)
			{ return; }
				  
            // Kollar så man inte försöker byta till samma.
            if(Slider._activeId != id)
            {
				Slider._inAnimation = true;
				
				Slider.createSwf(id, Slider._flashs[id]);
				
				aktivPanel.fadeOut(1000, function () {
					Slider._inAnimation = false;
					nextPanel.css("display", "block");
                });
                                               
                Slider._activeId = id;
                
                $j(".jQS-toggle").removeClass("jQS-active-bubble");
                nextKnapp.addClass("jQS-active-bubble");
            }
        }
        else
        {
			// Om det inte är initierat så skall första flashen aktiveras.
			
			Slider.createSwf(id, Slider._flashs[id]);
			
			$j("#jQSpan-" + id).show();
            $j("#jQSaction-" + id).addClass("jQS-active-bubble");
            Slider._activeId = id;
            Slider._initialising = false;
            
            Slider._timer = setTimeout("Slider.nextPanel()", Slider._timeSpan);
        }
    },
    
    // Sätter cookien om man har interagerat med flashen
    setInteracted:function(flashpath) {
		
		var date = new Date();
	
		date.setTime(date.getTime()+(Slider._lifelength*24*60*60*1000));
		
		var expires = "; expires="+date.toGMTString();		
		
		document.cookie = flashpath + "Interacted" + "=" + "yes" + expires + "; path=/";	
		
    },
    
    // Skapar flashen
    createSwf:function(id, flashpath)
    {
		if(Slider._inactiveFlash[id] == "")
		{
			if(flashpath == "")
			{
				return;
			}		
			
			var so = new SWFObject(flashpath, "flashparam" + id, "526", "233", "7", "#ffffff");
			so.addParam("wmode", "transparent");
			so.addVariable("jsClick", "javascript:Slider.setInteracted('" + flashpath + "');");
			so.write("jQSpan-" + id);		
		}
    }
}

var $j = jQuery.noConflict();
$j(document).ready(function () {
     setTimeout("Slider.init()", 300);    
});