
	var clsSlideShow = Class.create()
	clsSlideShow.prototype = {
		initialize: function(p_oSlidePanel, p_oScreenPictures, p_oLayoutController){
			this.m_oSlidePanel 				= p_oSlidePanel
			this.m_oScreenPictures 			= p_oScreenPictures
			this.m_oLayoutController		= p_oLayoutController
		},
		init: function(id){
			this.m_iFadeTimeout 		= 2000
			
			var self = this
			
			this.m_oSlidePanel.init()
			this.m_oSlidePanel.doOnSetSlideOnLoad(false)
			this.m_oSlidePanel.setImagePath(this.m_sHTTPRootPath+'images/')
			this.m_oSlidePanel.onSlideSet			= function(i){
				self.m_oScreenPictures.setPicture(i)
			}
			this.m_oSlidePanel.onSlideClick			= function(i){
				this.setEnabled(false)
				if(this.i == i)
					self.m_oScreenPictures.setPicture(i)
			}
			
			this.m_oScreenPictures.init()
			//this.m_oScreenPictures.fadeOutOnPicturePanelClick(true)
			this.m_oScreenPictures.onPicturePanelClick = function(){
				this.pictures[this.i].fadeOut()
				self.m_oSlidePanel.setEnabled(true)
			}
			this.m_oScreenPictures.setImagePath(this.m_sHTTPRootPath+'images/')
			this.m_oScreenPictures.onFadeInSetup		= function(){
				$('PictureImgPanelLeft').style.display = ''
				$('PictureImgPanelRight').style.display = ''

				$('SlidePanelWrapper').style.height = '0px'
				aElements = new Array($('Header'), $('Footer'))
				for(var i = 0;i < aElements.length;i++){
					aElements[i].style.display = 'none'
					//
					/*oEffect 			= new Spry.Effect.Fade(
						aElements[i], 
						{
							setup: function(){
							}, finish: function(){
								
							}, 
							duration: 100, 
							from: 100, 
							to: 0
						}
					);
					oEffect.start()*/
				}
				$('SlidePanel')
			}
			this.m_oScreenPictures.onFadeOutSetup		= function(){
				$('PictureImgPanelLeft').style.display = 'none'
				$('PictureImgPanelRight').style.display = 'none'

				$('SlidePanelWrapper').style.height = self.m_oSlidePanel.m_iHeight+'px'
				aElements = new Array($('Header'), $('Footer'))
				for(var i = 0;i < aElements.length;i++){
					//aElements[i].style.display = ''
					oEffect 			= new Spry.Effect.Fade(
						aElements[i], 
						{
							duration: 100, 
							from: 0, 
							to: 100
						}
					);
					oEffect.start()
				}
			}
			this.m_oScreenPictures.onImageVisible		= function(){
				self.m_oSlidePanel.setEnabled(false)
			}
			this.m_oScreenPictures.onNextClick		= function(){
				this.fadeOutIfVisible()
				self.m_oSlidePanel.setEnabled(false)
				self.m_oSlidePanel.nextSlide()
				return false
			}
			this.m_oScreenPictures.onPrevClick		= function(){
				this.fadeOutIfVisible()
				self.m_oSlidePanel.setEnabled(false)
				self.m_oSlidePanel.previousSlide()
				return false
			}
	
			this.m_oLayoutController.init()

			this.m_bDebug			= false

			this.reset()
			this.loadSlides(id)
		},
		reset: function(){
			this.m_oSlidePanel.reset()
							
			this.loading					= false
			this.m_iTotal 					= null
		},
		getSlideTimeout: function(){
			return 5000;
		},
		getFadeTimeout: function(){
			return 2000;
		},
		nextSlide: function()
		{
			this.m_oSlidePanel.setSlideSelection(this.m_oSlidePanel.getNextSlideNum())
		},
		previousSlide: function()
		{
			this.m_oSlidePanel.setSlideSelection(this.m_oSlidePanel.getPreviousSlideNum())
		},
		setHTTPRootPath: function(p_sPath){
			this.m_sHTTPRootPath = p_sPath
		},
		loadSlides: function (id){
			this.reset()
			this.m_oSlidePanel.loading(true)
			HttpRequest = prepareHTTPRequest()
			
			try{
				var self = this; 
				HttpRequest.onreadystatechange = function(){
					if (HttpRequest.readyState == 4) {
						if (HttpRequest.status == 200) {
							var results = HttpRequest.responseXML.getElementsByTagName('picture')
							if(results.length > 0){
								self.m_oSlidePanel.prepareSlides(results.length)
								var sDefaultPic = 0
								
								for(var i = 0;i < results.length;i++){
									sFotoId 		= parseInt(getChildElementText(results[i], 'id'))
									sTitel 			= getChildElementText(results[i], 'titel')
									sExt 			= getChildElementText(results[i], 'ext')
									sDefault 		= getChildElementText(results[i], 'default')
									
									var attributes = new Array();
									attributes['id'] = sFotoId
									attributes['title'] = sTitel
									attributes['default'] = sDefault
									attributes['href'] = self.m_sHTTPRootPath+'thumbs/'+sFotoId+'.'+sExt

									if(sDefault == '1')
										sDefaultPic = i

									self.m_oScreenPictures.addPicture(i, self.m_sHTTPRootPath+'screenpictures/get/id/'+sFotoId+'/', sTitel)
									self.m_oSlidePanel.setSlideImg(i, self.m_sHTTPRootPath+'thumbs/'+sFotoId+'.jpg', attributes)
								}
								self.m_oScreenPictures.preloadAround(sDefaultPic)
							}
							//this.m_oSlidePanel.doOnSetSlide(true)
						} else {
							if(this.m_bDebug || g_bDebug)throw new Error('There was a problem with the request.')
						}
					}
				}
				HttpRequest.open('GET', this.m_sHTTPRootPath+'slidepanel/getpanel/id/'+id+'/', true)
				HttpRequest.send(null)
			}catch(e){if(this.m_bDebug || g_bDebug)displayError(e)}
		}
	}
		
