var HomeSlider = new Class({

	arrPanels:			null,
	arrPanelLinks:		null,
	arrPageLinks:		null,
	arrSwfs:			null,
	objLinkNext:		null,
	objLinkPrev:		null,
	objLinkNextImage:	null,
	objLinkPrevImage:	null,
	iActivePanel:		0,
	arrIcons:			null,
	objHomeLink:		null,

	init:		function()
	{
		this.arrIcons 		= new Array("/z_core/images/elements/icon-home.png",
									"/z_core/images/elements/icon-document-management.png",
									"/z_core/images/elements/icon-tape-management.png",
									"/z_core/images/elements/icon-archiving.png",
									"/z_core/images/elements/icon-shredding-destruction.png",
									"/z_core/images/elements/icon-scanning.png"	);
		this.arrPageLinks 	= new Array("",
									"our-services/document-management",
									"our-services/tape-management",
									"our-services/archiving",
									"our-services/shredding-destruction",
									"our-services/scanning"	);
		
		this.arrSwfs		= new Array(
									{btn:'swf_document-management',swf:"/z_core/swf/overview-document-management.swf", flashObj:null},
									{btn:'swf_tape-management',swf:"/z_core/swf/overview-tape-management.swf", flashObj:null},
									{btn:'swf_archiving',swf:"/z_core/swf/overview-archive.swf", flashObj:null},
									{btn:'swf_shredding-destruction',swf:"/z_core/swf/overview-shredding-destruction.swf", flashObj:null},
									{btn:'swf_scanning',swf:"/z_core/swf/overview-scanning.swf", flashObj:null});

		document.noSlidey		= false;
		this.arrPanels			= $$('.section-overview');
		this.arrPanelLinks		= $$('#nav-overview li a');

		this.objLinkNext		= $('overview-next');
                if(this.objLinkNext)
                {
                    var arrLinkNextImage	= $$('#overview-next img');
                    this.objLinkNextImage	= arrLinkNextImage[0];
                    this.objLinkNext.setProperty('href', 'javascript:void(0)');
                }

                this.objLinkPrev		= $('overview-prev');
                if(this.objLinkPrev)
                {
                    var arrLinkPrevImage	= $$('#overview-prev img');
                    this.objLinkPrevImage	= arrLinkPrevImage[0];
                    this.objLinkPrev.setProperty('href', 'javascript:void(0)');
                }

		if(this.arrPanels.length && this.arrPanelLinks.length)
		{
			this.objLinkPrev.addEvent('click',	function()
													{
														if(!document.noSlidey && (document.hsHomeSlider.iActivePanel > 0))
														{																
															document.noSlidey = true;
															document.hsHomeSlider.setLinkImages(document.hsHomeSlider.iActivePanel-1);
															document.hsHomeSlider.showPanel(document.hsHomeSlider.iActivePanel-1);															
														}
													
														return false;
													});

			this.objLinkNext.addEvent('click',	function()
													{
														if(!document.noSlidey && (document.hsHomeSlider.iActivePanel < 5))
														{
															document.noSlidey = true;
															document.hsHomeSlider.setLinkImages(document.hsHomeSlider.iActivePanel+1);
															document.hsHomeSlider.showPanel(document.hsHomeSlider.iActivePanel+1);															
														} 
														
														return false;
													});

			for(var i = 0; i < this.arrPanels.length; i++)
			{
				this.arrPanels[i].myIndex = i;
				this.arrPanels[i].myID = this.arrPanels[i].getProperty('id');
				//if(i > 0)
				//	this.arrPanels[i].addClass('hidden');
			}
			for(var i = 0; i < this.arrPanelLinks.length; i++)
			{
				this.arrPanelLinks[i].myIndex 	= i;
				this.arrPanelLinks[i].myID 		= this.arrPanelLinks[i].getProperty('id');
				this.arrPanelLinks[i].setProperty('href', 'javascript:void(0)');				
				this.arrPanelLinks[i].addEvent('click',	function()
													{
														if(!document.noSlidey)
														{
															var iNewIndex = (this.myIndex+1);
															if(document.hsHomeSlider.iActivePanel != iNewIndex)
															{
																document.noSlidey = true;
																document.hsHomeSlider.showPanel(iNewIndex);
																document.hsHomeSlider.setFlashActive(this.flashObj, iNewIndex);
															}
															else
															{
																document.location = document.hsHomeSlider.arrPageLinks[iNewIndex].toString();
															}
														}
														return false;
													});
				
				// if we have the flash player 
				if (Browser.Plugins.Flash.version > 8)
				{
					// hide the links, but keep them in the DOM so we can hi-jack the click events
					this.arrPanelLinks[i].setStyle('visibility', 'hidden');
					// embed the swf
					this.arrPanelLinks[i].flashObj = $(new Swiff(this.arrSwfs[i].swf, 
					{
						container: 	$(this.arrSwfs[i].btn),
					    width: 		177,
					    height: 	105,
					    params: 	{},
					    vars: 		{}
					}));
					// store a reference to all our swfs
					this.arrSwfs[i].flashObj = this.arrPanelLinks[i].flashObj;
				}
			}					    
		}

		var arrTemp = $$('#logo h1 a');
		if(arrTemp.length > 0)
		{
			this.objHomeLink = arrTemp[0];
			this.objHomeLink.setProperty('href', 'javascript:void(0)');
			this.objHomeLink.addEvent('click',	function()
												{
													if(!document.noSlidey)
													{
														// check to see if we're not already on the homesceen
														if (document.hsHomeSlider.iActivePanel != 0)
														{
															document.noSlidey = true;
															// slide back the homescreen
															document.hsHomeSlider.showPanel(0);
															document.hsHomeSlider.setFlashNoActive();
														}
													}
													return false;
												});
		}
	},
	
	sendToJavaScript: function(value) 
    {
		// this function is triggered from within the SWF
		// time to hi-jacked the link
		$(value).fireEvent('click');
    },
    
    setFlashActive: function(param_iActive, param_iNewIndex) 
    {
    	// if we have the flash player 
		if (Browser.Plugins.Flash.version > 8)
		{																	
			// call the function in the SWF to roll to the active state
			Swiff.remote(param_iActive, 'activeBtn');
			// reset the rest of the buttons
			for(var x = 0; x < this.arrSwfs.length; x++)
			{
				// with the exception the current active button
				if (x != param_iNewIndex-1)
				{
					Swiff.remote(this.arrSwfs[x].flashObj, 'resetBtn');																			
				}
			}																	
		}	
    },
        
    setFlashNoActive: function() 
    {
    	if (Browser.Plugins.Flash.version > 8)
		{
	    	// reset the rest of the buttons
			for(var x = 0; x < this.arrSwfs.length; x++)
			{			
				Swiff.remote(this.arrSwfs[x].flashObj, 'resetBtn');
			}	
		}
    },
	
	showPanel:		function(myIndex)
	{ 
		var inStart;
		var inEnd = '0px';
		var outStart = '0px';
		var outEnd;
		
		if(myIndex > document.hsHomeSlider.iActivePanel)
		{
			inStart = '960px';
			outEnd = '-960px';
		}
		else
		{
			inStart = '-960px';
			outEnd = '960px';
		}
		document.hsHomeSlider.arrPanels[myIndex].setStyles({left:inStart});
		document.hsHomeSlider.arrPanels[document.hsHomeSlider.iActivePanel].setStyles({left:outStart});
		
		var fxSlideIn = new Fx.Tween(document.hsHomeSlider.arrPanels[myIndex],{duration: 670, transition: Fx.Transitions.Expo.easeInOut, onComplete: function() {
			document.noSlidey = false;
		}});
		var fxSlideOut = new Fx.Tween(document.hsHomeSlider.arrPanels[document.hsHomeSlider.iActivePanel],{
			duration: 670, 
			transition: Fx.Transitions.Expo.easeInOut
		});
				
		fxSlideOut.start('left',outEnd);
		fxSlideIn.start('left',inEnd);		

		document.hsHomeSlider.iActivePanel = myIndex;
		document.hsHomeSlider.setLinkImages(myIndex);

		// finally highlight panel button
		for(var i = 0; i < document.hsHomeSlider.arrPanelLinks.length; i++)
		{
			if(i == (myIndex-1))
			{
				document.hsHomeSlider.arrPanelLinks[i].addClass("active");
				if (Browser.Plugins.Flash.version > 8)
				{
					Swiff.remote(document.hsHomeSlider.arrPanelLinks[i].flashObj, 'activeBtn');
				}
			}
			else
			{
				document.hsHomeSlider.arrPanelLinks[i].removeClass("active");
				if (Browser.Plugins.Flash.version > 8)
				{
					Swiff.remote(document.hsHomeSlider.arrPanelLinks[i].flashObj, 'resetBtn');
				}
			}
		}
	},

	setLinkImages:		function(iNewIndex)
	{
		var iPrevIndex = iNewIndex-1;
		var iNextIndex = iNewIndex+1;

		if(iPrevIndex == -1)
		{
			this.objLinkPrev.addClass('disabled');
			this.objLinkPrev.removeClass('enabled');
			document.hsHomeSlider.setFlashNoActive();	
		}
		else
		{
			this.objLinkPrev.addClass('enabled');
			this.objLinkPrev.removeClass('disabled');
		}
		
		if(iNextIndex == 6)
		{
			this.objLinkNext.addClass('disabled');
			this.objLinkNext.removeClass('enabled');
			document.hsHomeSlider.setFlashNoActive();	
		}
		else
		{
			this.objLinkNext.addClass('enabled');
			this.objLinkNext.removeClass('disabled');
		}

		this.objLinkPrevImage.setProperty('src', this.arrIcons[iPrevIndex]);
		this.objLinkNextImage.setProperty('src', this.arrIcons[iNextIndex]);
	}	

});