﻿/* Ultimate Fade-in slideshow (v2.4)
* Last updated: May 24th, 2010. This notice must stay intact for usage 
* Author: Dynamic Drive at http://www.dynamicdrive.com/
* Visit http://www.dynamicdrive.com/ for full source code
*/

//Oct 6th, 09' (v2.1): Adds option to randomize display order of images, via new option displaymode.randomize
//May 24th, 10' (v2.4): Adds new "peakaboo" option to "descreveal" setting. oninit and onslide event handlers added.

var fadeSlideShow_descpanel={
	controls: [['x.png',7,7], ['restore.png',10,11], ['loading.gif',54,55]], //full URL and dimensions of close, restore, and loading images
	fontStyle: 'normal 11px Verdana', //font style for text descriptions
	slidespeed: 200 //speed of description panel animation (in millisec)
}

//No need to edit beyond here...

jQuery.noConflict()

function fadeSlideShow(settingarg){
	this.setting=settingarg
	settingarg=null
	var setting=this.setting
	setting.fadeduration=setting.fadeduration? parseInt(setting.fadeduration) : 500
	setting.curimage=(setting.persist)? fadeSlideShow.routines.getCookie("gallery-"+setting.wrapperid) : 0
	setting.curimage=setting.curimage || 0 //account for curimage being null if cookie is empty
	setting.currentstep=0 //keep track of # of slides slideshow has gone through (applicable in displaymode='auto' only)
	setting.totalsteps=setting.imagearray.length*(setting.displaymode.cycles>0? setting.displaymode.cycles : Infinity) //Total steps limit (applicable in displaymode='auto' only w/ cycles>0)
	setting.fglayer=0, setting.bglayer=1 //index of active and background layer (switches after each change of slide)
	setting.oninit=setting.oninit || function(){}
	setting.onslide=setting.onslide || function(){}
	if (setting.displaymode.randomize) //randomly shuffle order of images?
		setting.imagearray.sort(function() {return 0.5 - Math.random()})
	var preloadimages=[] //preload images
	setting.longestdesc="" //get longest description of all slides. If no desciptions defined, variable contains ""
	for (var i=0; i<setting.imagearray.length; i++){ //preload images
		preloadimages[i]=new Image()
		preloadimages[i].src=setting.imagearray[i][0]
		if (setting.imagearray[i][3] && setting.imagearray[i][3].length>setting.longestdesc.length)
			setting.longestdesc=setting.imagearray[i][3]
	}
	var closebutt=fadeSlideShow_descpanel.controls[0] //add close button to "desc" panel if descreveal="always"
	setting.closebutton=(setting.descreveal=="always")? '<img class="close" src="'+closebutt[0]+'" style="float:right;cursor:hand;cursor:pointer;width:'+closebutt[1]+'px;height:'+closebutt[2]+'px;margin-left:2px" title="Hide Description" />' : ''
	var slideshow=this
	jQuery(document).ready(function($){ //fire on DOM ready
		var setting=slideshow.setting
		var fullhtml=fadeSlideShow.routines.getFullHTML(setting.imagearray) //get full HTML of entire slideshow
		setting.$wrapperdiv=$('#'+setting.wrapperid).css({position:'relative', visibility:'visible', background:'black', overflow:'hidden', width:setting.dimensions[0], height:setting.dimensions[1]}).empty() //main slideshow DIV
		if (setting.$wrapperdiv.length==0){ //if no wrapper DIV found
			alert("Error: DIV with ID \""+setting.wrapperid+"\" not found on page.")
			return
		}
		setting.$gallerylayers=$('<div class="gallerylayer"></div><div class="gallerylayer"></div>') //two stacked DIVs to display the actual slide 
			.css({position:'absolute', left:0, top:0, width:'100%', height:'100%', background:'black'})
			.appendTo(setting.$wrapperdiv)
		var $loadingimg=$('<img src="'+fadeSlideShow_descpanel.controls[2][0]+'" style="position:absolute;width:'+fadeSlideShow_descpanel.controls[2][1]+';height:'+fadeSlideShow_descpanel.controls[2][2]+'" />')
			.css({left:setting.dimensions[0]/2-fadeSlideShow_descpanel.controls[2][1]/2, top:setting.dimensions[1]/2-fadeSlideShow_descpanel.controls[2][2]}) //center loading gif
			.appendTo(setting.$wrapperdiv)
		var $curimage=setting.$gallerylayers.html(fullhtml).find('img').hide().eq(setting.curimage) //prefill both layers with entire slideshow content, hide all images, and return current image
		if (setting.longestdesc!="" && setting.descreveal!="none"){ //if at least one slide contains a description (versus feature is enabled but no descriptions defined) and descreveal not explicitly disabled
			fadeSlideShow.routines.adddescpanel($, setting)
			if (setting.descreveal=="always"){ //position desc panel so it's visible to begin with
				setting.$descpanel.css({top:setting.dimensions[1]-setting.panelheight})
				setting.$descinner.click(function(e){ //asign click behavior to "close" icon
					if (e.target.className=="close"){
						slideshow.showhidedescpanel('hide')
					}
				})
				setting.$restorebutton.click(function(e){ //asign click behavior to "restore" icon
					slideshow.showhidedescpanel('show')
					$(this).css({visibility:'hidden'})
				})
			}
			else if (setting.descreveal=="ondemand"){ //display desc panel on demand (mouseover)
				setting.$wrapperdiv.bind('mouseenter', function(){slideshow.showhidedescpanel('show')})
				setting.$wrapperdiv.bind('mouseleave', function(){slideshow.showhidedescpanel('hide')})
			}
		}
		setting.$wrapperdiv.bind('mouseenter', function(){setting.ismouseover=true}) //pause slideshow mouseover
		setting.$wrapperdiv.bind('mouseleave', function(){setting.ismouseover=false})
		if ($curimage.get(0).complete){ //accounf for IE not firing image.onload
			$loadingimg.hide()
			slideshow.paginateinit($)
			slideshow.showslide(setting.curimage)
		}
		else{ //initialize slideshow when first image has fully loaded
			$loadingimg.hide()
			slideshow.paginateinit($)
			$curimage.bind('load', function(){slideshow.showslide(setting.curimage)})
		}
		setting.oninit.call(slideshow) //trigger oninit() event
		$(window).bind('unload', function(){ //clean up and persist
			if (slideshow.setting.persist) //remember last shown image's index
				fadeSlideShow.routines.setCookie("gallery-"+setting.wrapperid, setting.curimage)
			jQuery.each(slideshow.setting, function(k){
				if (slideshow.setting[k] instanceof Array){
					for (var i=0; i<slideshow.setting[k].length; i++){
						if (slideshow.setting[k][i].tagName=="DIV") //catches 2 gallerylayer divs, gallerystatus div
							slideshow.setting[k][i].innerHTML=null
						slideshow.setting[k][i]=null
					}
				}
			})
			slideshow=slideshow.setting=null
		})
	})
}

fadeSlideShow.prototype={

	navigate:function(keyword){
		var setting=this.setting
		clearTimeout(setting.playtimer)
		if (setting.displaymode.type=="auto"){ //in auto mode
			setting.displaymode.type="manual" //switch to "manual" mode when nav buttons are clicked on
			setting.displaymode.wraparound=true //set wraparound option to true
		}
		if (!isNaN(parseInt(keyword))){ //go to specific slide?
			this.showslide(parseInt(keyword))
		}
		else if (/(prev)|(next)/i.test(keyword)){ //go back or forth inside slide?
			this.showslide(keyword.toLowerCase())
		}
	},

	showslide:function(keyword){
		var slideshow=this
		var setting=slideshow.setting
		if (setting.displaymode.type=="auto" && setting.ismouseover && setting.currentstep<=setting.totalsteps){ //if slideshow in autoplay mode and mouse is over it, pause it
			setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, setting.displaymode.pause)
			return
		}
		var totalimages=setting.imagearray.length
		var imgindex=(keyword=="next")? (setting.curimage<totalimages-1? setting.curimage+1 : 0)
			: (keyword=="prev")? (setting.curimage>0? setting.curimage-1 : totalimages-1)
			: Math.min(keyword, totalimages-1)
		var $slideimage=setting.$gallerylayers.eq(setting.bglayer).find('img').hide().eq(imgindex).show() //hide all images except current one
		var imgdimensions=[$slideimage.width(), $slideimage.height()] //center align image
		$slideimage.css({marginLeft: (imgdimensions[0]>0 && imgdimensions[0]<setting.dimensions[0])? setting.dimensions[0]/2-imgdimensions[0]/2 : 0})
		$slideimage.css({marginTop: (imgdimensions[1]>0 && imgdimensions[1]<setting.dimensions[1])? setting.dimensions[1]/2-imgdimensions[1]/2 : 0})
		if (setting.descreveal=="peekaboo" && setting.longestdesc!=""){ //if descreveal is set to "peekaboo", make sure description panel is hidden before next slide is shown
			clearTimeout(setting.hidedesctimer) //clear hide desc panel timer
			slideshow.showhidedescpanel('hide', 0) //and hide it immediately
		}
		setting.$gallerylayers.eq(setting.bglayer).css({zIndex:1000, opacity:0}) //background layer becomes foreground
			.stop().css({opacity:0}).animate({opacity:1}, setting.fadeduration, function(){ //Callback function after fade animation is complete:
				clearTimeout(setting.playtimer)
				try{
					setting.onslide.call(slideshow, setting.$gallerylayers.eq(setting.fglayer).get(0), setting.curimage)
				}catch(e){
					alert("Fade In Slideshow error: An error has occured somwhere in your code attached to the \"onslide\" event: "+e)
				}
				if (setting.descreveal=="peekaboo" && setting.longestdesc!=""){
					slideshow.showhidedescpanel('show')
					setting.hidedesctimer=setTimeout(function(){slideshow.showhidedescpanel('hide')}, setting.displaymode.pause-fadeSlideShow_descpanel.slidespeed)
				}	
				setting.currentstep+=1
				if (setting.displaymode.type=="auto"){
					if (setting.currentstep<=setting.totalsteps || setting.displaymode.cycles==0)
						setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, setting.displaymode.pause)
				}
			}) //end callback function
		setting.$gallerylayers.eq(setting.fglayer).css({zIndex:999}) //foreground layer becomes background
		setting.fglayer=setting.bglayer
		setting.bglayer=(setting.bglayer==0)? 1 : 0
		setting.curimage=imgindex
		if (setting.$descpanel){
			setting.$descpanel.css({visibility:(setting.imagearray[imgindex][3])? 'visible' : 'hidden'})
			if (setting.imagearray[imgindex][3]) //if this slide contains a description
				setting.$descinner.empty().html(setting.closebutton + setting.imagearray[imgindex][3])
		}
		if (setting.displaymode.type=="manual" && !setting.displaymode.wraparound){
			this.paginatecontrol()
		}
		if (setting.$status) //if status container defined
			setting.$status.html(setting.curimage+1 + "/" + totalimages)
	},

	showhidedescpanel:function(state, animateduration){
		var setting=this.setting
		var endpoint=(state=="show")? setting.dimensions[1]-setting.panelheight : this.setting.dimensions[1]
		setting.$descpanel.stop().animate({top:endpoint}, (typeof animateduration!="undefined"? animateduration : fadeSlideShow_descpanel.slidespeed), function(){
			if (setting.descreveal=="always" && state=="hide")
				setting.$restorebutton.css({visibility:'visible'}) //show restore button
		})
	},

	paginateinit:function($){
		var slideshow=this
		var setting=this.setting
		if (setting.togglerid){ //if toggler div defined
			setting.$togglerdiv=$("#"+setting.togglerid)
			setting.$prev=setting.$togglerdiv.find('.prev').data('action', 'prev')
			setting.$next=setting.$togglerdiv.find('.next').data('action', 'next')
			setting.$prev.add(setting.$next).click(function(e){ //assign click behavior to prev and next controls
				var $target=$(this)
				slideshow.navigate($target.data('action'))
				e.preventDefault()
			})
			setting.$status=setting.$togglerdiv.find('.status')
		}
	},

	paginatecontrol:function(){
		var setting=this.setting
			setting.$prev.css({opacity:(setting.curimage==0)? 0.4 : 1}).data('action', (setting.curimage==0)? 'none' : 'prev')
			setting.$next.css({opacity:(setting.curimage==setting.imagearray.length-1)? 0.4 : 1}).data('action', (setting.curimage==setting.imagearray.length-1)? 'none' : 'next')
			if (document.documentMode==8){ //in IE8 standards mode, apply opacity to inner image of link
				setting.$prev.find('img:eq(0)').css({opacity:(setting.curimage==0)? 0.4 : 1})
				setting.$next.find('img:eq(0)').css({opacity:(setting.curimage==setting.imagearray.length-1)? 0.4 : 1})
			}
	}

	
}

fadeSlideShow.routines={

	getSlideHTML:function(imgelement){
		var layerHTML=(imgelement[1])? '<a href="'+imgelement[1]+'" target="'+imgelement[2]+'">\n' : '' //hyperlink slide?
		layerHTML+='<img src="'+imgelement[0]+'" style="border-width:0;" />\n'
		layerHTML+=(imgelement[1])? '</a>\n' : ''
		return layerHTML //return HTML for this layer
	},

	getFullHTML:function(imagearray){
		var preloadhtml=''
		for (var i=0; i<imagearray.length; i++)
			preloadhtml+=this.getSlideHTML(imagearray[i])
		return preloadhtml
	},

	adddescpanel:function($, setting){
		setting.$descpanel=$('<div class="fadeslidedescdiv"></div>')
			.css({position:'absolute', visibility:'hidden', width:'100%', left:0, top:setting.dimensions[1], font:fadeSlideShow_descpanel.fontStyle, zIndex:'1001'})
			.appendTo(setting.$wrapperdiv)
		$('<div class="descpanelbg"></div><div class="descpanelfg"></div>') //create inner nav panel DIVs
			.css({position:'absolute', left:0, top:0, width:setting.$descpanel.width()-8, padding:'4px'})
			.eq(0).css({background:'black', opacity:0.7}).end() //"descpanelbg" div
			.eq(1).css({color:'white'}).html(setting.closebutton + setting.longestdesc).end() //"descpanelfg" div
			.appendTo(setting.$descpanel)
		setting.$descinner=setting.$descpanel.find('div.descpanelfg')
		setting.panelheight=setting.$descinner.outerHeight()
		setting.$descpanel.css({height:setting.panelheight}).find('div').css({height:'100%'})
		if (setting.descreveal=="always"){ //create restore button
			setting.$restorebutton=$('<img class="restore" title="Restore Description" src="' + fadeSlideShow_descpanel.controls[1][0] +'" style="position:absolute;visibility:hidden;right:0;bottom:0;z-index:1002;width:'+fadeSlideShow_descpanel.controls[1][1]+'px;height:'+fadeSlideShow_descpanel.controls[1][2]+'px;cursor:pointer;cursor:hand" />')
				.appendTo(setting.$wrapperdiv)


		}
	},


	getCookie:function(Name){ 
		var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
		if (document.cookie.match(re)) //if cookie found
			return document.cookie.match(re)[0].split("=")[1] //return its value
		return null
	},

	setCookie:function(name, value){
		document.cookie = name+"=" + value + ";path=/"
	}
}

var mygallery=new fadeSlideShow({
	wrapperid: "kidsloop", //ID of blank DIV on page to house Slideshow
	dimensions: [166, 554], //width/height of gallery in pixels. Should reflect dimensions of largest image
	imagearray: [
		["/images/kidsloop/2011/4YOU_KidsLoop_Christian_Gitarrist.jpg", "", "", "<tr><td valign='bottom' class='kld'>Achtung – von Chris und seinen 3 Jungs wird man noch viel hören. Denn sie machen Musik der Sonderklasse: progressive Gitarrenriffs und einfühlsame Balladen – und das Ganze am liebsten live verpackt in einer fetzigen Show. Die gab’s schon öfter zu sehen: Open Air, in der RockFabrik – und auf YouTube sowieso. Also, Freunde frischer Mucke, aufmerken: Mit twentyfivepercent geht der Punkrock ab!</td></tr><tr class='kln'><td valign='bottom'>Christian,<br />Gitarrist</td></tr>"],
		["/images/kidsloop/2010/Cathrin_Videoclip-Taenzerin.jpg", "", "", "<tr><td valign='bottom' class='kld'>Rosa Stulpen, rosa Ringelsocken in rosa Chucks, dazu ein schwarzes Tüllröckchen: Cathrin sieht aus wie ein Girlie. Und sie ist auch eins. Eins der 13 &bdquo;Girlies&ldquo;, wie ihre Tanzcrew heißt. Zusammen sind sie so gut, dass sie bei &bdquo;Dance 4 Fans&ldquo; den 7. Platz im Videoclip-Dancing geholt haben. Den wollen sie natürlich toppen. Und es sieht ganz so aus, als würden sie’s auch schaffen. Cathrin, wir drücken dir und deinen Mädels die Daumen!</td></tr><tr class='kln'><td valign='bottom'>Cathrin,<br />Videoclip-Tänzerin</td></tr>"],
		["/images/kidsloop/2010/Cedrik_Buettenredner.jpg", "", "", "<tr><td valign='bottom' class='kld'>Cedric ist kein Schwätzer. Sondern ein Redner. Sein überwältigendes Talent beweist er unter anderem an Fasching, wo er mit seinem Publikum in die Bütt geht. Dazu muss man Spaß verstehen – und Bayerisch. Seit er 8 Jahre alt ist, also seit 3 Jahren, beschäftigt er zwei eigene Redenschreiber: seine Eltern, die übers Jahr die Themen zusammentragen und die Reime austüfteln. Weil Cedric ein super Gedächtnis hat, ist er ein Meister der freien Rede. Wir sind total beeindruckt. Das Fernsehen übrigens auch: Cedric war schon 2-mal in der Sendung &bdquo;Wehe, wenn wir losgelassen.&ldquo; </td></tr><tr class='kln'><td valign='bottom'>Cedrik,<br />Büttenredner</td></tr>"],
		["/images/kidsloop/2010/Ennio_Kunstturner.jpg", "", "", "<tr><td valign='bottom' class='kld'>Ennio hat für sein Alter wirklich unglaublich viele Muskeln. Die braucht er auch. Immerhin hat er 20 Medaillen zu uns ins Studio geschleppt. Die hat er natürlich alle selbst gewonnen – am Barren, am Reck, an den Ringen, am Schwebebalken … beim Geräteturnen also. Ennio, zeigst du uns mal was? Der Flickflack geht so schnell, dass der Fotograf es nicht geschafft hat, auf den Auslöser zu drücken. Na gut, dann macht Ennio halt einen Handstand. Den hält er locker ’ne halbe Minute aus. &bdquo;Reicht das?&ldquo;</td></tr><tr class='kln'><td valign='bottom'>Ennio,<br />Kunstturner</td></tr>"],
		["/images/kidsloop/2010/Helen_Gitarrespielerin.jpg", "", "", "<tr><td valign='bottom' class='kld'>Helen redet nicht viel. Trotzdem kommt man nicht drumherum, ihr zuzuhören. Denn Helen kann singen. Und zwar richtig gut. Dazu begleitet sie sich selbst auf ihrer akustischen Gitarre. Der erste Song, den sie vor knapp 2 Jahren gelernt hat, ist noch immer ihr Lieblingslied. Er heißt &bdquo;I like the Flowers&ldquo; und ist eigentlich ein Kanon. Und schon ertappen wir uns, wie wir anfangen, mitzusingen …</td></tr><tr class='kln'><td valign='bottom'>Helen,<br />Gitarrespielerin</td></tr>"],
		["/images/kidsloop/2010/Jonas_Gitarrist.jpg", "", "", "<tr><td valign='bottom' class='kld'>Jonas hat das Zeug zum Rockstar: dunkle Locken, blaue Augen und eine nagelneue E-Gitarre. Auf der zeigt er uns, was er kann: bam bam bam – bam ba babam. Ist das nicht …? Doch. Es sind die legendären ersten Riffs von &bdquo;Smoke On The Water&ldquo;. Wir sind begeistert. Gibt’s noch mehr? Beim nächsten Mal dann. Schließlich ist Jonas noch ganz am Anfang seiner Karriere. Wir wünschen ihm ganz viel Spaß und Erfolg dabei!</td></tr><tr class='kln'><td valign='bottom'>Jonas,<br />Gitarrist</td></tr>"],
		["/images/kidsloop/2010/Jonas_Karateka.jpg", "", "", "<tr><td valign='bottom' class='kld'>Am liebsten würde Jonas den ganzen Tag am Computer sitzen. Besonders steht er auf Fantasy-Games. Allerdings: Wenn sein Freund ihn ins Dôjô abholt, lässt er alle Mäuse dieser Welt links liegen. Und was ist ein Dôjô? &bdquo;Eine Stätte der Meditation und Konzentration, ein Ort des Lernens, der Freundschaft und des gegenseitigen Respekts.&ldquo; Jonas ist also ein Karateka, und der Dôjô der Ort, an dem er seinen Sport ausübt. Und was ist mit dem schwarzen Gürtel? Jonas lächelt: &bdquo;Abwarten.&ldquo; </td></tr><tr class='kln'><td valign='bottom'>Jonas,<br />Karateka</td></tr>"],
		["/images/kidsloop/2010/Katia_Ballerina.jpg", "", "", "<tr><td valign='bottom' class='kld'>Katja tanzt spitze, äh, Spitze. Klassisches Ballett also. Mit 6 Jahren hat sie angefangen. Heute, mit 12, kann sie die &bdquo;arabesque&ldquo;, den &bdquo;pas de chat&ldquo; und verschiedene &bdquo;ports de bras&ldquo;, hat schon viele Solos getanzt und sogar das Ballett schlechthin, den Schwanensee. Dafür trainiert sie ziemlich hart, 2-mal in der Woche. Inspiriert hat sie ihre Mutter, die selbst eine bekannte Balletttänzerin ist. Und das will Katja natürlich auch erreichen, mindestens. Wir zweifeln keine Sekunde, dass sie das auch schafft.</td></tr><tr class='kln'><td valign='bottom'>Katja,<br />Ballerina</td></tr>"],
		["/images/kidsloop/2010/Kira_Querfloetistin.jpg", "", "", "<tr><td valign='bottom' class='kld'>Kira setzt die Querflöte an … und schon erklingen die ersten Takte eines alten Menuetts. Wow, das wollen wir auch können. Leider will die Flöte nicht. Kira erklärt uns, wie man das silberne Instrument richtig ansetzt: Die Lippen fast geschlossen halten und durch einen kleinen Spalt in das Loch des Mundstücks hineinblasen. Ohne dicke Backen zu machen natürlich. Während wir uns noch überlegen, wie das gehen soll, ertönt ganz nah eine Polizeisirene. Wir erschrecken, Kira lacht. Aha. So ein Mundstück ist also vielseitig einsetzbar</td></tr><tr class='kln'><td valign='bottom'>Kira,<br />Querflötistin</td></tr>"],
		["/images/kidsloop/2010/Klara_Tennisspielerin.jpg", "", "", "<tr><td valign='bottom' class='kld'>Am liebsten spielt Klara mit Jungs. Das kann sie sich auch leisten, denn sie hat einen ziemlich harten Schlag. Seit sie vor 3 Jahren mit Tennis angefangen hat, ist das ihr erklärter Lieblingssport. Aber warum in einer reinen Jungsmannschaft? &bdquo;Na, ohne Mannschaft geht’s nicht – und Mädels waren halt nicht genug da.&ldquo; Klara ist halt ein echter Teamplayer.</td></tr><tr class='kln'><td valign='bottom'>Klara,<br />Tennisspielerin</td></tr>"],
		["/images/kidsloop/2010/Lena_Handballerin.jpg", "", "", "<tr><td valign='bottom' class='kld'>Fürs Spielen hat Lena 2 gute Händchen. Entweder fegt sie damit über die Tasten oder schmettert die Bälle ins Tor. Weil das Klavier nicht ins Auto gepasst hat, ist sie mit ihrer Handballausrüstung zum Shooting gekommen. So oder so macht sie eine super Figur. Kann natürlich auch am harten Training liegen, das Lena 2-mal die Woche absolviert. Kompliment!</td></tr><tr class='kln'><td valign='bottom'>Lena,<br />Handballerin</td></tr>"],
		["/images/kidsloop/2010/Marie_Saengerin.jpg", "", "", "<tr><td valign='bottom' class='kld'>Lange schwarze Haare, große braune Augen und ein unglaubliches Lachen: Marie ist wirklich eine Riesenshow. Und die zieht sie auch ab. Singt aus dem Stand und ohne Instrumentalbegleitung ganz lässig Überhits von Megastars. Als sie tief Luft holt, bringen wir schnell unsere Gläser in Sicherheit. Man weiß ja nie. Aber eins wissen wir genau: Marie, du hast eine große Zukunft vor dir. </td></tr><tr class='kln'><td valign='bottom'>Marie,<br />Sängerin</td></tr>"],
		["/images/kidsloop/2010/Rafael-Roman_Waveboarder.jpg", "", "", "<tr><td valign='bottom' class='kld'>Roman und Rafael haben schon vor ihrer Geburt die Leute gerne ausgetrickst. Ihre Mutter und der Arzt hatten nämlich nur mit einem Sohn gerechnet – und dann waren’s plötzlich 2. Und die lassen es seither richtig krachen: auf dem Waveboard, mit dem sie synchron ihre Ollies springen. Bei den Pfadfindern, wo man nie weiß, wer von den beiden die gute Tat nun begangen hat. Oder im Klassenzimmer, wo beide immer genau gleich unschuldig aussehen. Nur gute Freunde kennen den Trick: die Schnürsenkel. Blau ist Roman und Grün ist Rafael … oder war’s andersrum?</td></tr><tr class='kln'><td valign='bottom'>Roman & Rafael,<br />Waveboarder</td></tr>"]
		
	], 
	displaymode: {type:'auto', pause:4000, cycles:0, wraparound:false, randomize:true},
	persist: false, //remember last viewed slide and recall within same session?
	fadeduration: 500, //transition duration (milliseconds)
	descreveal: "ondemand",
	togglerid: ""
})

