/****************************************************************
"bretteleben.de JavaScript Slideshow" - Version 20090406
License: http://www.gnu.org/copyleft/gpl.html
Author: Andreas Berger
Copyright (c) 2009 Andreas Berger - andreas_berger@bretteleben.de
Project page and Demo at http://www.bretteleben.de
Last update: 2009-04-06

THIS IS A MODIFIED VERSION OF THE ORIGINAL SCRIPT CUSTOMIZED FOR
MDD-SHOP.DE (2009-06-18)

CHECK OUT Andreas Berger's page www.bretteleben.de FOR THE
ORIGINAL VERSION!

*****************************************************************/
//*****parameters to set*****
//into this array insert the paths of your pics.
var def_picwid=250; //set this to the width of your widest pic
var def_pichei=500; //... and this to the height of your highest pic
var def_backgr="#ffffff"; //set this to the background color you want to use for the slide-area
var def_sdur=10; //time to show a pic between fades in seconds
var def_fdur=1; //duration of the complete fade in seconds
var def_steps=20; //steps to fade from one pic to the next
var article_prefix = "index.php?aktion=artikel&artnr=";
var banner_prefix = "index.php?aktion=artikel&artnr=";
//****************************************************************

//daisychain onload-events
function daisychain(sl)
{
	if(window.onload)
	{
		var ld = window.onload;
		window.onload = function()
		{
			ld();
			sl();
		};
	}
	else
	{
		window.onload=function()
		{
			sl();
		};
	}
}

function mdd_slideshow(mdd_imges, mdd_links, mdd_divid){

	//declarations and defaults
	var slideid="0";
	var imges = mdd_imges;
	var links = mdd_links;
	var divid = mdd_divid;
	var picwid = def_picwid;
	var pichei = def_pichei;
	var backgr = def_backgr;
	var sdur = def_sdur;
	var fdur = def_fdur;
	var steps=def_steps;
	var ftim = fdur * 1000 / steps;
	var stim = sdur * 1000;
	var emax = imges.length;
	var self = this;
	var stopit = 1;
	var startim = 1;
	var u = 0;
	var parr = new Array();
	var ptofade,pnext,factor,mytimeout;
	
	//check if there are at least 3 pictures, elswhere double the array
	if(imges.length<=2)
	{
		imges=imges.concat(imges);
	}
	
	//shuffle images
	var i;
	for(i=0; i<=Math.floor(Math.random()*imges.length); i++)
	{
		imges.push(imges.shift());
	}

	//push images into array and get things going
	this.b_myfade = function()
	{
		var a,idakt,paktidakt,ie5exep;
		
		for(a=1;a<=emax;a++)
		{
			idakt="img_"+slideid+"_"+a;paktidakt=document.getElementById(idakt);
			ie5exep=new Array(paktidakt);parr=parr.concat(ie5exep);
		}
		
		stopit=0;
 		mytimeout = setTimeout(function(){self.b_slide();},stim);
	}

	//prepare current and next and trigger slide
	this.b_slide = function(){
		clearTimeout(mytimeout);
		u=0;
		ptofade=parr[startim-1];
		if(startim<emax)
		{
			pnext=parr[startim];
		}
		else
		{
			pnext=parr[0];
		}
		
		pnext.style.zIndex=1;
		pnext.style.visibility="visible";
		pnext.style.filter="Alpha(Opacity=100)";
		pnext.style.MozOpacity=1;
		pnext.style.opacity=1;
		ptofade.style.zIndex=2;
		ptofade.style.visibility="visible";
		ptofade.style.filter="Alpha(Opacity=100)";
		ptofade.style.MozOpacity=1;
		ptofade.style.opacity=1;
		factor=100/steps;
		if(stopit == "0"){
			this.b_slidenow();
		}
	}

	//slide as said, then give back
	this.b_slidenow = function()
	{
		var check1,maxalpha,curralpha;
		check1=ptofade.style.MozOpacity;
		maxalpha=(100-factor*u)/100*105;
		if(check1<=maxalpha/100){u=u+1;}
		curralpha=100-factor*u;
		ptofade.style.filter="Alpha(Opacity="+curralpha+")";
		ptofade.style.MozOpacity=curralpha/100;
		ptofade.style.opacity=curralpha/100;
		if(u < steps)
		{ 
			//slide not finished
			if(stopit=="0")
			{
				mytimeout = setTimeout(function(){self.b_slidenow();},ftim);
			}
			else
			{
				this.b_slide();
			}
		}
		else
		{
			//slide finished
			if(startim < emax)
			{
				ptofade.style.visibility="hidden";
				ptofade.style.zIndex=1;
				pnext.style.zIndex=2;
				startim=startim + 1;
				u=0;
				mytimeout=setTimeout(function(){self.b_slide();},stim);
			}
			else
			{
				ptofade.style.visibility="hidden";
				ptofade.style.zIndex=1;
				pnext.style.zIndex=2;
				startim = 1;
				u=0;
				mytimeout=setTimeout(function(){self.b_slide();},stim);
			}
		}
	}

	//insert css and images
	this.b_insert= function()
	{
		var b, thestylid, link, pic;
		var myhtml = "";
		var target = "";
		myhtml += "<div style='width:" + picwid + "px;height:" + pichei + "px;'>";
   		myhtml += "<div style='position:absolute;width:" + picwid + "px;height:" + pichei + "px;'>";
			
		for(b=1; b <= emax; b++)
		{
			var thez = 1;
			var thevis = 'hidden';
			if(b<=1)
			{
				thez=2;
				thevis='visible';
			}
			
			if (parseInt(links[(b-1)]) == links[(b-1)])
			{
				link = article_prefix + links[(b-1)];
			}
			else
			{
				link = links[(b-1)];
				target = " target = \"_new\" ";
			}
			
			pic = imges[(b-1)];
			
			if(pic.indexOf('http') != 0)
			{
				pic = 'pics/flyer/' + imges[(b-1)];
			}
			
			myhtml += "<div id='img_" + slideid + "_" + b + "' style='font-size:0;line-height:" + pichei + "px;margin:0;padding:0;text-align:center;visibility:" + thevis + ";z-index:" + thez + ";position:absolute;left:0;top:0;width:" + picwid + "px;height:" + pichei + "px;background-color:" + backgr + ";'>";
			myhtml += "<a href=\"" + link + "\" " + target + "><img src='" + pic + "' style='vertical-align:middle;border:0;' alt=''/></a></div>";
		}
		myhtml += "</div></div>";
		document.getElementById(divid).innerHTML=myhtml;
		self.b_myfade();
	}

//call autostart-function
daisychain(this.b_insert);
	
}