var iInnerHeight = 600; // bilder breite slideshow
var iInnerWidth = 1000; // bilder höhe slideshow

// init thumbs
initThumb=function() {
	var req = new Request.HTML({
		method: 'post',
		url: "/slideshow/lb-slideshow.php",
		data: { 'do' : '1' },
		onComplete: function(response) {
			var oElement = document.getElementsByTagName("body")[0];
			oElement.innerHTML = oElement.innerHTML + this.response.text;
		}
	}).send();
}

// init slideshow
var iSlideHeight = 81;
var iworkspaceID = 4113;
initWorkspaceId=function(iW) {
	iworkspaceID=iW;
}
startslide=function() {
	var req = new Request.HTML({
		method: 'post',
		url: "/slideshow/lb-slideshow.php",
		data: { 'do' : '0', 'workspaceID' : iworkspaceID },
		onComplete: function(response) {
			var oElement = document.getElementsByTagName("body")[0];
			oElement.innerHTML = oElement.innerHTML + this.response.text;
			prepare();
		}
	}).send();
}
prepare=function() {
	$('lb_slideshow').style.display='none';
	$('lb_wrapper').style.display='block';
	var pageSize = getSize();
	$('lb_op').style.height = pageSize.pageHeight + "px";
	$('lb_wrapper').style.marginTop = Math.max(0,((pageSize.winHeight - (iInnerHeight + iSlideHeight)) / 2)) + "px";
	var oEOuter = $('lb_outer');
	oEOuter.style.width = (iInnerWidth + 4) + "px";
	oEOuter.style.height= (iInnerHeight + iSlideHeight + 5 + 5) + "px";
	$('lb_wrapper').style.width = (iInnerWidth + 6) + "px";
	var oEFullsize = $('lb_fullsize');
	oEFullsize.style.height = iInnerHeight + "px";
	oEFullsize.style.width = iInnerWidth + "px";
	$('lb_information').style.width = iInnerWidth + "px";
	var oEImage = $('lb_image');
	oEImage.style.width = iInnerWidth + "px";
	oEImage.style.height = iInnerHeight + "px";
	$('lb_imgprev').style.height = iInnerHeight + "px";
	$('lb_imgnext').style.height = iInnerHeight + "px";
	$('lb_slideleft').style.height = (iSlideHeight + 2) + "px";
	$('lb_slideright').style.height = (iSlideHeight + 2) + "px";
	$('lb_slider').style.height = iSlideHeight + "px";
	var oESlidearea = $('lb_slidearea');
	oESlidearea.style.height = iSlideHeight + "px";
	oESlidearea.style.width = (iInnerWidth - (2 * (20 + 2))) + "px";
	$('lb_topic').style.width = (iInnerWidth + 2 ) + "px";
	$('lb_topiclayer').style.width = (iInnerWidth + 2 ) + "px";
	$('lb_topicclose').style.width = (iInnerWidth + 2 ) + "px";
	$('lb_op').style.display="block";
	$('lb_lb').style.display="block";
	slideshow.auto=true;
	slideshow.speed=5;
	slideshow.link="lb_linkhover";
	slideshow.info="lb_information";
	slideshow.thumbs="lb_slider";
	slideshow.left="lb_slideleft";
	slideshow.right="lb_slideright";
	slideshow.scrollSpeed=4;
	slideshow.spacing=5;
	slideshow.active="#fff";
	slideshow.init("slideshow","lb_image","lb_imgprev","lb_imgnext","lb_imglink");
}

var TINY={};

function $(i){return document.getElementById(i)}
function $$(e,p){p=p||document.getElementById("lb_slideshow"); return p.getElementsByTagName(e)}

TINY.slideshow=function(n){
	this.infoSpeed=this.imgSpeed=this.speed=10;
	this.thumbOpacity=40;
	this.navHover=80;
	this.navOpacity=25;
	this.scrollSpeed=5;
	this.letterbox='#000';
	this.n=n;
	this.c=0;
	this.a=[];
	this.iHeight=iInnerHeight;
	this.iWidth=iInnerWidth;
};

// op
function getSize(){
		var scrollX,scrollY,windowX,windowY,pageX,pageY;
		if (window.innerHeight && window.scrollMaxY) {	
			scrollX = document.body.scrollWidth;
			scrollY = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){
			scrollX = document.body.scrollWidth;
			scrollY = document.body.scrollHeight;
		} else {
			scrollX = document.body.offsetWidth;
			scrollY = document.body.offsetHeight;
		}
		
		if (self.innerHeight) {
			windowX = self.innerWidth;
			windowY = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) {
			windowX = document.documentElement.clientWidth;
			windowY = document.documentElement.clientHeight;
		} else if (document.body) {
			windowX = document.body.clientWidth;
			windowY = document.body.clientHeight;
		}	
		
		pageY = (scrollY < windowY) ? windowY : scrollY;
		pageX = (scrollX < windowX) ? windowX : scrollX;
	
		return {pageWidth:pageX,pageHeight:pageY,winWidth:windowX,winHeight:windowY};
}

TINY.slideshow.prototype={
	myslhide:function() {
		document.getElementsByTagName("body")[0].removeChild($('lb_myslideshow'));
	},
	init:function(s,z,b,f,q){
		s=$(s);
		var m=$$('li',s), i=0, w=0;
		this.l=m.length;
		this.f=$(z);
		this.r=$(this.info);
		this.o=parseInt(TINY.style.val(z,'width'));
		this.oh=parseInt(TINY.style.val(z,'height'));
		
		var oc=$('lb_close');
		oc.style.opacity=this.navOpacity/100;
		oc.style.filter='alpha(opacity='+this.navOpacity+')';
		oc.onmouseover=new Function('TINY.alpha.set(this,'+this.navHover+',5)');
		oc.onmouseout=new Function('TINY.alpha.set(this,'+this.navOpacity+',5)');
		oc.onclick=new Function(this.n+'.myslhide()');
		
		
		if(this.thumbs){
			var u=$(this.left), r=$(this.right);
			u.onmouseover=new Function('TINY.scroll.init("'+this.thumbs+'",-1,'+this.scrollSpeed+')');
			u.onmouseout=r.onmouseout=new Function('TINY.scroll.cl("'+this.thumbs+'")');
			r.onmouseover=new Function('TINY.scroll.init("'+this.thumbs+'",1,'+this.scrollSpeed+')');
			this.p=$(this.thumbs)
		}
		for(i;i<this.l;i++){
			this.a[i]={};
			var h=m[i], a=this.a[i];
			a.t=$$('h3',h)[0].innerHTML;
			a.d=$$('p',h)[0].innerHTML;
			a.l=$$('a',h)[0]?$$('a',h)[0].href:'';
			a.p=$$('span',h)[0].innerHTML;
			if(this.thumbs){
				var g=$$('img',h)[0];
				this.p.appendChild(g);
				w+=parseInt(g.offsetWidth);
				if(i!=this.l-1){
					g.style.marginRight=this.spacing+'px';
					w+=this.spacing
				}
				this.p.style.width=w+'px';
				g.style.opacity=this.thumbOpacity/100;
				g.style.filter='alpha(opacity='+this.thumbOpacity+')';
				g.onmouseover=new Function('TINY.alpha.set(this,100,5)');
				g.onmouseout=new Function('TINY.alpha.set(this,'+this.thumbOpacity+',5)');
				g.onclick=new Function(this.n+'.pr('+i+',1)')
			}
		}
		
		if(b&&f){
			b=$(b);
			f=$(f);
			b.style.opacity=f.style.opacity=this.navOpacity/100;
			b.style.filter=f.style.filter='alpha(opacity='+this.navOpacity+')';
			b.onmouseover=f.onmouseover=new Function('TINY.alpha.set(this,'+this.navHover+',5)');
			b.onmouseout=f.onmouseout=new Function('TINY.alpha.set(this,'+this.navOpacity+',5)');
			b.onclick=new Function(this.n+'.mv(-1,1)');
			f.onclick=new Function(this.n+'.mv(1,1)')
		}
		this.auto?this.is(0,0):this.is(0,1)
	},
	mv:function(d,c){
		var t=this.c+d;
		this.c=t=t<0?this.l-1:t>this.l-1?0:t;
		this.pr(t,c)
	},
	pr:function(t,c){
		clearTimeout(this.lt);
		if(c){
			clearTimeout(this.at)
		}
		this.c=t;
		this.is(t,c)
	},
	is:function(s,c){
		if(this.info){
			TINY.height.set(this.r,1,this.infoSpeed/2,-1)
		}
		var i=new Image();
		i.style.opacity=0;
		i.style.filter='alpha(opacity=0)';
		this.i=i;
		i.onload=new Function(this.n+'.le('+s+','+c+')');
		i.src=this.a[s].p;
		if(this.thumbs){
			var a=$$('img',this.p), l=a.length, x=0;
			for(x;x<l;x++){
				a[x].style.borderColor=x!=s?'':this.active
				a[x].style.opacity=x!=s?this.thumbOpacity/100:1
				a[x].style.filter=x!=s?'alpha(opacity=' + this.thumbOpacity + ')':100
			}
		}
	},
	le:function(s,c){
		this.f.appendChild(this.i);
		var w=this.o-parseInt(this.i.offsetWidth);
		var h=this.oh-parseInt(this.i.offsetHeight);
		if(w<0) {
			var iImgWidth = (this.iWidth + (w * -1));
			var iImgHeight = (this.iHeight + (h * -1));
			
			var iFactorWidth = (this.iWidth / iImgWidth);
			var iNewHeight = (iImgHeight * iFactorWidth);
			
			this.i.style.height = iNewHeight + "px";
			this.i.style.width = this.iWidth + "px";
			
			h = this.iHeight - iNewHeight;
			w = 0;
		}
		if(h<0) {
			var iImgWidth = (this.iWidth + (w * -1));
			var iImgHeight = (this.iHeight + (h * -1));
			
			var iFactorHeight = (this.iHeight/ iImgHeight);
			var iNewWidth = (iImgWidth * iFactorHeight);
			
			this.i.style.height = this.iHeight + "px";
			this.i.style.width = iNewWidth + "px";
			
			h = 0;
			w = this.iWidth - iNewWidth;
		}
		if(w>0){
			var l=Math.floor(w/2);
			this.i.style.borderLeft=l+'px solid '+this.letterbox;
			this.i.style.borderRight=(w-l)+'px solid '+this.letterbox
		}
		var h=this.oh-parseInt(this.i.offsetHeight);
		if(h>0){
			var lh=Math.ceil((h+1)/2);
			this.i.style.borderTop=lh+'px solid '+this.letterbox;
			this.i.style.borderBottom=lh+'px solid '+this.letterbox;
		}
		
		TINY.alpha.set(this.i,100,this.imgSpeed);
		var n=new Function(this.n+'.nf('+s+')');
		this.lt=setTimeout(n,this.imgSpeed*100);
		if(!c){
			this.at=setTimeout(new Function(this.n+'.mv(1,0)'),this.speed*1000)
		}
		
		var m=$$('img',this.f);
		if(m.length>2){
			this.f.removeChild(m[0])
		}
	},
	nf:function(s){
		if(this.info){
			s=this.a[s];
			$$('h3',this.r)[0].innerHTML=s.t;
			$$('p',this.r)[0].innerHTML=s.d;
			this.r.style.height='auto';
			var h=parseInt(this.r.offsetHeight);
			this.r.style.height=0;
			TINY.height.set(this.r,h,this.infoSpeed,0)
		}
	}
};

TINY.scroll=function(){
	return{
		init:function(e,d,s){
			e=typeof e=='object'?e:$(e); var p=e.style.left||TINY.style.val(e,'left'); e.style.left=p;
			var l=d==1?parseInt(e.offsetWidth)-parseInt(e.parentNode.offsetWidth):0; e.si=setInterval(function(){TINY.scroll.mv(e,l,d,s)},20)
		},
		mv:function(e,l,d,s){
			var c=parseInt(e.style.left); if(c==l){TINY.scroll.cl(e)}else{var i=Math.abs(l+c); i=i<s?i:s; var n=c-i*d; e.style.left=n+'px'}
		},
		cl:function(e){e=typeof e=='object'?e:$(e); clearInterval(e.si)}
	}
}();

TINY.height=function(){
	return{
		set:function(e,h,s,d){
			e=typeof e=='object'?e:$(e); var oh=e.offsetHeight, ho=e.style.height||TINY.style.val(e,'height');
			ho=oh-parseInt(ho); var hd=oh-ho>h?-1:1; clearInterval(e.si); e.si=setInterval(function(){TINY.height.tw(e,h,ho,hd,s)},20)
		},
		tw:function(e,h,ho,hd,s){
			var oh=e.offsetHeight-ho;
			if(oh==h){clearInterval(e.si)}else{if(oh!=h){e.style.height=oh+(Math.ceil(Math.abs(h-oh)/s)*hd)+'px'}}
		}
	}
}();

TINY.alpha=function(){
	return{
		set:function(e,a,s){
			e=typeof e=='object'?e:$(e); var o=e.style.opacity||TINY.style.val(e,'opacity'),
			d=a>o*100?1:-1; e.style.opacity=o; clearInterval(e.ai); e.ai=setInterval(function(){TINY.alpha.tw(e,a,d,s)},20)
		},
		tw:function(e,a,d,s){
			var o=Math.round(e.style.opacity*100);
			if(o==a){clearInterval(e.ai)}else{var n=o+Math.ceil(Math.abs(a-o)/s)*d; e.style.opacity=n/100; e.style.filter='alpha(opacity='+n+')'}
		}
	}
}();

TINY.style=function(){return{val:function(e,p){e=typeof e=='object'?e:$(e); return e.currentStyle?e.currentStyle[p]:document.defaultView.getComputedStyle(e,null).getPropertyValue(p)}}}();

var slideshow=new TINY.slideshow("slideshow");
