// JavaScript Document

var slides;
var vrstgegevens;
var HL;
var startvrst = null;
var addthis_share;


// INIT
window.addEvent('domready', function () {
    vrstgegevens = new VrstGeg();
	slides = new Slides();
	vrstgegevens.vulGeg();
	HL = new HashListener();
	
	document.addEvent('keydown', function(event){
		if (event.key == 'up' || event.key == 'left') {
			event.stop();
			slides.slideLeft();
			}
		if (event.key == 'down' || event.key == 'right') {
			event.stop();
			slides.slideRight();
			}
	});
});


function gup(name) {  
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
	var regexS = "[\\?&]"+name+"=([^&#]*)";  
	var regex = new RegExp(regexS);  
	var results = regex.exec(window.location.href);  
	if(results == null) return "";  
	else return results[1];
	}


function initHashlistener() {
	HL.addEvent('hashChanged', function(vnr){ 
		var nnr = HL.getHash(); 
		if (nnr && (nnr >= 0) && (nnr <= vrstgegevens.getAantalVoorstellingen()) )  slides.slideNr(nnr, false);
		if (!nnr) {
			if (startvrst) slides.slideVrst(startvrst, false);
			else slides.slideNr(vrstgegevens.getEerstVolgende(), false);
			}
		});
	HL.start();
}


window.addEvent('gegklaar', function(event){
	vrstgegevens.maakLijst();
	vrstgegevens.toonLijst(vrstgegevens.getEerste(), true);
	var qs = gup('vrst'); 
	if (qs != '') slides.slideVrst(qs);
	initHashlistener();	
});


var VrstGeg = new Class({
	arrGeg: [],
	extrainfo: [],
	act: 0,
	actmaand: null, 
	aantalvoorstellingen: 0,
	eerstvolgende: 0,
	eerste: null,
	lijst: [], 
	
	vulGeg: function() {
		var request = new Request.JSON({
			url: '/include/getvrstjson.php',
			onComplete: function(jsonObj) {
				this.arrGeg = jsonObj.voorstellingen;
				this.aantalvoorstellingen = this.arrGeg.length;
				this.arrGeg.each(function(array, index){
					if(this.eerstvolgende == 0) {
						if (array.tijdverschil >= 0) {
							this.eerstvolgende = index;
							this.actmaand = this.arrGeg[index].maand;
							}
						}
					}.bind(this))
				window.fireEvent('gegklaar');
				
				}.bind(this)
		}).send();		
	},
	
	getAct: function() {
		return this.act;
	},

	getExtraInfo: function(nr, infodiv, beeldendiv, arrangementdiv) {
		if (!infodiv) return false;
		var extrainfo = this.arrGeg[this.act].extrainfo+"<br />";
		var beeldeninfo = '';
		var arrangementinfo ='';
		infodiv.set({'html': extrainfo});
		beeldendiv.set({'html': beeldeninfo});
		arrangementdiv.set({'html': arrangementinfo});
		beeldendiv.fade('hide');
		infodiv.fade('hide');
		var request = new Request.JSON({
			url: '/include/getextrainfo.php',
			onComplete: function(jsonObj) {
				var jsonextrainfo = jsonObj.extrainfo;
				var nieuws = jsonextrainfo.nieuws;
				if (nieuws != '') {
					extrainfo += "Nieuws:"
					nieuws.each(function(item, index){
						if (item.nieuws_id) extrainfo += "<br /><a href='#' onclick = \"javascript:toonNieuws('n"+item.nieuws_id+"'); return false\" >"+item.nieuws_kop+"</a>";	
						});
					extrainfo += "<br />";
					}
				
				var video = jsonextrainfo.video;
				if (video != '') {
					extrainfo += "Filmpje:"
					video.each(function(item, index){
						extrainfo += "<br /><a href='#' onclick=\"javascript:speelVideo('"+item.src+"','"+item.bron+"','"+item.naam+"'); return false;\"; onfocus='blur()' >"+item.naam+"</a>";
						beeldeninfo += "<a href='#' onclick=\"javascript:speelVideo('"+item.src+"','"+item.bron+"','"+item.naam+"'); return false;\"; onfocus='blur()' ><div class='youtubethumb'><img src='http://img.youtube.com/vi/"+item.src+"/2.jpg' title='"+item.naam+"' class='moviethumb'><img src='/images/movie-play2.png' class='movieplay' title='"+item.naam+"'></div></a>";
						});
					}
				var arrangement = jsonextrainfo.arrangement;
				if (arrangement != '') {
					arrangement.each(function(item, index){
						if (item.soort = 'hotelcuijk') arrangementinfo = "<a href ='http://"+item.url+"' title='Hotelarrangement Van der Valk Hotel Cuijk'><img src='/images/hotelarrangement.png' class='button' alt='Hotelarrangement'></a>"
						});
					}
				beeldendiv.set({'html': beeldeninfo});
				infodiv.set({'html': extrainfo});
				beeldendiv.fade('in');
				infodiv.fade('in');
				arrangementdiv.set({'html': arrangementinfo});
				}.bind(this)
		}).get({'nr': nr});
		
		//$('delen').set('html', "<div class='addthis_toolbox addthis_default_style'><a class='addthis_button_twitter' tw:via='schouwburgcuijk'></a><a class='addthis_button_facebook'></a><a class='addthis_button_hyves'></a><a class='addthis_button_linkedin'></a> <a class='addthis_button_email'></a><a class='addthis_button_facebook_like'></a><a class='addthis_counter addthis_bubble_style'></a></div>"); 
		$('facebooklike').set('html', "<a class='addthis_button_facebook_like' onfocus='blur()'></a>");
		addthis.toolbox("#delen");
		addthis.toolbox("#facebooklike");
		$('delen').fade('in');
		$('facebooklike').fade('in');
		
	},
	
	getNr: function(nr) {
		return this.arrGeg[nr];
	},
	
	getAct: function() {
		return this.act;
	},
	
	getEerste: function() {
		return this.eerste;
	},
	
	getEerstVolgende: function() {
		return this.eerstvolgende;
	},
	
	getNrVrst: function(vrstnr) {
		var ret = 0;
		this.arrGeg.each(function(item, index){ if(item.vrstnr == vrstnr) {ret=index}; return ret;});
		return ret;
	},
	
	getAantalVoorstellingen: function() {
		return this.aantalvoorstellingen;
	},
	
	getVorigeSlide: function() {
		$('i'+this.act).setStyle('backgroundImage', 'none');
		if (this.act > 0) {
			if (this.act > 2) this.preloadNextImage(this.act-2);
			var vorige = this.act.toInt() -1;
			return this.getVoorstellingSlide(vorige, true);	
			}
		else return this.getVoorstellingSlide(this.act, false);	
	},

	getVolgendeSlide: function() {
		$('i'+this.act).setStyle('backgroundImage', 'none');
		if (this.act < this.aantalvoorstellingen-1) {
			if (this.act < this.aantalvoorstellingen-2) this.preloadNextImage(this.act+2);
			var volgende = this.act.toInt() +1;
			return this.getVoorstellingSlide(volgende, true);
			}
		else return this.getVoorstellingSlide(this.act, false);	
	},
	
	getEersteSlide: function() {
		$('i'+this.act).setStyle('backgroundImage', 'none');
		this.preloadNextImage(this.act+1);
		return this.getVoorstellingSlide(this.eerstvolgende, true);	
	},
	
	getVoorstellingSlide: function(nr, updatehash) {
		if (nr > this.aantalvoorstellingen) return false;
		if (updatehash == null) updatehash = true;
		$('i'+this.act).setStyle('backgroundImage', 'none');
		if (this.eerste == null) this.eerste = nr;
		//if ((this.act != nr) && (nr != this.getEerste() || window.location.hash)) HL.updateHash(nr);
		if (updatehash && (this.act != nr) && (nr != this.getEerste() || HL.getHash())) HL.updateHash(nr);
		//if (updatehash) HL.updateHash(nr);
		this.act = nr;
		$('i'+nr).setStyle('backgroundImage', 'url(/images/act-vrst-bg.png)');
		if (this.arrGeg[nr].maand != this.actmaand) this.toonLijst(this.arrGeg[nr].maand, this.arrGeg[nr].inseizoen); ////
		var detail = this.arrGeg[nr];
		var datumtijd;
		if (detail.datum ) datumtijd = detail.datum+" - "+detail.tijd+" u.";
		else datumtijd = '';
		
		var voorstelling = $('sjabloon').clone();
		voorstelling.getElement('.foto').set({'html': '<a><img src= \"/foto/bigimg/'+detail.vrstnr+'.jpg\" </a>'});
		voorstelling.getElement('.titel').set({'html': detail.titel});
		voorstelling.getElement('.subtitel').set({'html': detail.subtitel});
		voorstelling.getElement('.genrespec').set({'html': detail.genrespec+"&nbsp;<span class='leeftijd'>"+detail.leeftijd+"</span>"});
		voorstelling.getElement('.leeftijd').set({'html': detail.leeftijd});
		voorstelling.getElement('.theater').set({'html': detail.theater});
		voorstelling.getElement('.datumtijd').set({'html': datumtijd});
		if (detail.koffie == 'j') voorstelling.getElement('.koffie').set({'html': "<img src='/images/koffie.png' title='Portemonneeloze pauze' alt='Portemonneeloze pauze' />"});
		if (detail.prijs_diner) voorstelling.getElement('.diner').set({'html': "<img src='/images/diner.png' title='Theaterdiner' alt='Theaterdiner' />"});
		if (detail.stijl == 'W') voorstelling.getElement('.gegevensblok').setStyles({'background-color': '#FC0', 'color': '#000'});
		
		voorstelling.getElement('.omschr').set({'html': detail.omschr});
		
		bestel = "";

		if (detail.tijdverschil >= 0) {
			var prijs = 'prijs: &euro; ' + detail.prijs_normaal;
			if (detail.prijs_kind) prijs += ' kinderen t/m 12 jr: &euro; ' + detail.prijs_kind;
			if ((detail.tijdverschil == 0) && (detail.status == 'beschikbaar')) detail.status = 'bellen'; // op de dag zelf bestellen
			switch (detail.status) {
				case ('beschikbaar'): { 
					voorstelling.getElement('.prijs').set({'html': prijs});
					if (detail.periode == 'vrij') {
						bestel = "<a href='#' onclick='javascript: bestelform(\""+detail.titel+"\","+detail.org+","+detail.vrstnr+","+detail.vrstnr+"); return false;' onfocus='blur()'><img src='/images/bestelkaarten.png' class='button'></a>"; 
						}
					if (detail.periode == 'abo') {
						if (detail.abo == 'abo') bestel='abonnementsvoorstelling<br />losse verkoop va 13 juli<a href=\"javascript:wachtlijst('+detail.vrstnr+')\">.</a>';
						if (detail.abo == 'extra') bestel='extra bestelling<br />losse verkoop va 13 juli';
						if (detail.abo == 'niet') bestel='alleen losse kaartverkoop';
						if (detail.abo == 'extramax4') bestel='extra bestelling, maximaal 4 kaarten';
						}
					if ((detail.periode == 'dicht') && (detail.abo != 'niet')) {
						bestel = 'losse verkoop va 13 juli';
						}
					break; 
					}
				case ('uitverkocht'): { 
					voorstelling.getElement('.prijs').set({'html': prijs});
					bestel = "<b>UITVERKOCHT</b><div><a href='javascript:wachtlijst("+detail.vrstnr+")'>Zet mij op de wachtlijst</a></div>"; 
					break; 
					}
				case ('vervallen'): { 
					bestel = "<b>GEANNULEERD</b>"; 
					voorstelling.getElement('.omschr').setStyle('color', '#999');
					break; 
					}
				case ('geeninternet'): { 
					voorstelling.getElement('.prijs').set({'html': prijs});
					break; 
					}
				case ('bellen'): { 
					bestel = "Bel onze kassa voor kaarten: "+detail.telnr; 
					voorstelling.getElement('.prijs').set({'html': prijs});
					break;
					}
				}
			}
		if (voorstelling.getElement('.bestel')) voorstelling.getElement('.bestel').set({'html': bestel});
		
		if ((detail.diner_vrstnr > 0) && (detail.tijdverschil >= 0)) {
			if ((detail.tijdverschil == 0) || (detail.tijdverschil == 1)) detail.status_diner = 'bellen';
			var prijsdiner = 'prijs diner: &euro; '+detail.prijs_diner;
			var besteldiner;
			switch (detail.status_diner) {
				case ('beschikbaar'): { 
					voorstelling.getElement('.prijsdiner').set('html', prijsdiner);
					if (detail.periode == 'vrij') {
						besteldiner = "<a href='#' onclick='javascript: bestelform(\"Theaterdiner "+detail.titel+"\","+detail.diner_org+","+detail.diner_vrstnr+","+detail.vrstnr+"); return false;' onfocus='blur()'><img src='/images/besteldiner.png' class='button'></a>"; 
						}
					break; 
					}
				case ('uitverkocht'): {besteldiner = "<b>UITVERKOCHT</b>"; break; }
				case ('vervallen'): { 
					besteldiner = "<b>GEANNULEERD</b>"; 
					break; 
					}
				case ('bellen'): { 
					besteldiner = "Bel onze kassa voor kaarten: "+detail.telnr; 
					voorstelling.getElement('.prijsdiner').set('html', prijsdiner);
					break;
					}
				}
				voorstelling.getElement('.besteldiner').set({'html': besteldiner});
			}
			
		if (detail.diner_vrstnr==0) voorstelling.getElement('.dinerblok').setStyle('display', 'none');
		
		if (detail.cursief) voorstelling.getElement('.cursief').set({'html': detail.cursief});
				
		var links = "";
		if (detail.site1) links += "<a href='http://"+detail.site1+"' target='_blank'>"+detail.site1+"</a><br />";
		if (detail.site2) links += "<a href='http://"+detail.site2+"' target='_blank'>"+detail.site2+"</a><br />";
		if (detail.site3) links += "<a href='http://"+detail.site3+"' target='_blank'>"+detail.site3+"</a><br />";
		voorstelling.getElement('.links').set({'html': links});

		//this.getExtraInfo(detail.vrstnr, voorstelling.getElement('.extrainfo'), voorstelling.getElement('.beeldenblok'));
		(function() {this.getExtraInfo(detail.vrstnr, voorstelling.getElement('.extrainfo'), voorstelling.getElement('.beeldenblok'), voorstelling.getElement('.arrangementblok'));}).delay(1000, this);
		
		
		var thumbSrc = 'http://www.schouwburgcuijk.nl/foto/thumb/'+detail.vrstnr+'.jpg';
		var url = 'http://www.schouwburgcuijk.nl/voorstellingen.html?vrst='+detail.vrstnr;

		$('ididid_event_name').set('value', detail.titel);
		$('ididid_event_date').set('value', detail.id3_date);
		$('ididid_event_end_date').set('value', detail.id3_date);
		$('ididid_event_location').set('value', detail.theater);
		$('ididid_event_id').set('value', detail.vrstnr);
		$('ididid_event_image').set('value', thumbSrc);
		$('ididid_event_url').set('value', url);
		$('ididid_event_ticketurl').set('value', url);

		var titel = unescape(voorstelling.getElement('.titel').get('html'));
		titel= titel.replace(/\&amp;/g,'&');
		document.title = "Schouwburg Cuijk - "+ titel;
		
		$('delen').fade('hide');
		$('facebooklike').fade('hide');
		if (typeof(addthis) != 'undefined') {
			var url = "http://www.schouwburgcuijk.nl/voorstellingen.html?vrst="+detail.vrstnr;
			try{addthis.update('share', 'title', titel+' in '+ detail.theater + ':');} catch(err){}
			try{addthis.update('share', 'url', url);} catch(err){}
			}

		return voorstelling;
	},

	preloadNextImage: function(nr) {
		if (nr < this.aantalvoorstellingen-1 && nr > 0) {
			var next = this.arrGeg[nr].vrstnr;
			var preload = function() {
				new Asset.image('/foto/bigimg/'+next+'.jpg');
				}.delay(500);
			}
	},
	
	getAantalvrst: function() {
		return this.aantalvoorstellingen;
	},
	
	maakLijst: function() {
		this.arrGeg.each (function(value, index, array) {
			var itemdiv = new Element('div', {'class': 'vrstitem', 'id': 'i'+index}).set({'html':  '<div class=\"dagnr'+' '+value.stijl+'\">'+value.itemdatum+'</div><div class=\"titel\">'+value.titel+'</div>' }).injectInside($('lijst'));
			if (value.tijdverschil < 0) itemdiv.setStyle('color', '#888');
			itemdiv.addEvent('click', function() {this.morph({'background-color': '#DDD'}), slides.slideVrst(value.vrstnr)});
			itemdiv.addEvent('mouseenter', function() {this.morph({'background-color': '#EEE'})});
			itemdiv.addEvent('mouseleave', function() {this.morph({'background-color': '#FFF'})});
			});
	},
	
	toonLijst: function(maand, inseizoen) {
		
		if ($('m'+this.actmaand)) $('m'+this.actmaand).setStyle('backgroundImage', 'none');
		this.actmaand = maand; 
		if ($('m'+this.actmaand)) $('m'+this.actmaand).setStyle('backgroundImage', 'url(/images/act-vrst-bg.png)');
		
		var el = $('lijst').getFirst('.vrstitem');
		if (inseizoen >0) {
			this.arrGeg.each (function(value, index, array) {
				if (value.maand == maand && value.inseizoen == 1) {
					el.setStyle('display', 'block');
					}
				else el.setStyle('display', 'none');
				el = el.getNext('.vrstitem');
				});
			}
		else {
			this.arrGeg.each (function(value, index, array) {
				if (value.inseizoen == 0) {
					el.setStyle('display', 'block');
					}
				else el.setStyle('display', 'none');
				el = el.getNext('.vrstitem');
				});
			}
	}
});


					  
//SLIDES					  

var Slides = new Class({

	morphslide1: null,
	morphslide2: null,
	slide1voor: true,
	finished: true,
		
	initialize: function() {
		this.morphslide1 = new Fx.Morph($('slide1'), {link: 'cancel', duration: '250', transition: Fx.Transitions.Linear, onComplete: function(){window.fireEvent('slideklaar');}.bind(this)});
		this.morphslide2 = new Fx.Morph($('slide2'), {link: 'cancel', duration: '250', transition: Fx.Transitions.Linear, onComplete: function(){window.fireEvent('slideklaar');}.bind(this)});
		this.finished = true;

	window.addEvent('slideklaar', function(event){
			this.finished = true;
			 $('id3').setStyle('visibility', 'visible');
			}.bind(this));
		},
	
	slideRight: function() {
		if (this.finished) {
			this.finished = false;
			$('id3').setStyle('visibility', 'hidden');
			if (this.slide1voor) {
				$('slide2').empty();
				vrstgegevens.getVolgendeSlide().injectInside($('slide2'));
				this.morphslide2.set('.slide_rechts');
				this.morphslide1.set('.slide_achter');
				this.morphslide2.start('.slide_mid');
				}
			else {
				$('slide1').empty();
				vrstgegevens.getVolgendeSlide().injectInside($('slide1'));
				this.morphslide1.set('.slide_rechts');
				this.morphslide2.set('.slide_achter');
				this.morphslide1.start('.slide_mid');
			}
			this.slide1voor = !this.slide1voor;
		}
	},
	
	slideLeft: function() {
		if (this.finished) {
			this.finished = false;
			$('id3').setStyle('visibility', 'hidden');
			if (this.slide1voor) {
				$('slide2').empty();
				vrstgegevens.getVorigeSlide().injectInside($('slide2'));
				this.morphslide2.set('.slide_links');
				this.morphslide1.set('.slide_achter');
				this.morphslide2.start('.slide_mid');
				}
			else {
				$('slide1').empty();
				vrstgegevens.getVorigeSlide().injectInside($('slide1'));
				this.morphslide1.set('.slide_links');
				this.morphslide2.set('.slide_achter');
				this.morphslide1.start('.slide_mid');
			}
			this.slide1voor = !this.slide1voor;
		}
	},

	slideNr: function(nr, updatehash) { 
		if (nr < 0) return 0;
		$('id3').fade('show');
	
		if (this.finished) {
			this.finished = false;
	
			if (this.slide1voor) {
				$('slide2').empty();
				vrstgegevens.getVoorstellingSlide(nr, updatehash).injectInside($('slide2'));
				this.morphslide2.set('.slide_links');
				this.morphslide1.set('.slide_achter');
				this.morphslide2.start('.slide_mid');
				}
			else {
				$('slide1').empty();
				vrstgegevens.getVoorstellingSlide(nr, updatehash).injectInside($('slide1'));
				this.morphslide1.set('.slide_links');
				this.morphslide2.set('.slide_achter');
				this.morphslide1.start('.slide_mid');
			}
			this.slide1voor = !this.slide1voor;
		}
		return nr;
	},
	
	slideVrst: function(vrstnr) { 
		var nr = vrstgegevens.getNrVrst(vrstnr);
		this.slideNr(nr);
	}
});


function toonLijst(maand, inseizoen) {
	vrstgegevens.toonLijst(maand, inseizoen);
}



// HashListener

$extend(Element.NativeEvents, {
	hashchange: 1
});

var HashListener = new Class({
	Implements : [Options,Events],
	options : {
		blank_page : '/blank.html',
		start : false
	},
	
	iframe : null,
	currentHash : '',
	firstLoad : true,
	handle : false,
	useIframe : (Browser.Engine.trident && (typeof(document.documentMode)=='undefined' || document.documentMode < 8)),
	ignoreLocationChange : false,
	initialize : function(options){
		var $this=this;
		this.setOptions(options);
		if (Browser.Engine.presto && window.history.navigationMode) {
			window.history.navigationMode = 'compatible';
		}
        if (
			('onhashchange' in window) &&
            (typeof(document.documentMode) == 'undefined' || document.documentMode > 7)
		   ){
				window.addEvent('hashchange' , function () {
					var hash = $this.getHash();
					if (hash == $this.currentHash) {
						return;
					}
					$this.fireEvent('hashChanged',hash);
					$this.fireEvent('hash-changed',hash);
				});;
        } else  {
			if (this.useIframe){
				this.initializeHistoryIframe();
			} 
        } 
		
		window.addEvent('unload', function(event) {
			$this.firstLoad = null;
		});
		
		if (this.options.start) this.start();
	},
	
	initializeHistoryIframe : function(){
		var hash = this.getHash(), doc;
		this.iframe = new IFrame({
			src		: this.options.blank_page,
			styles	: { 
				'position'	: 'absolute',
				'top'		: 0,
				'left'		: 0,
				'width'		: '1px', 
				'height'	: '1px',
				'visibility': 'hidden'
			}
		}).inject(document.body);

		doc	= (this.iframe.contentDocument) ? this.iframe.contentDocument  : this.iframe.contentWindow.document;
		doc.open();
		doc.write('<html><body id="state">' + hash + '</body></html>');
		doc.close();
		return;
	},
	
	checkHash : function(){
		var hash = this.getHash(), ie_state, doc;
		if (this.ignoreLocationChange) {
			this.ignoreLocationChange = false;
			return;
		}

		if (this.useIframe){
			doc	= (this.iframe.contentDocument) ? this.iframe.contentDocumnet  : this.iframe.contentWindow.document;
			ie_state = doc.body.innerHTML;
			
			if (ie_state!=hash){
				this.setHash(ie_state);
				hash = ie_state;
			} 
		}		
		
		if (this.currentLocation == hash) {
			return;
		}
		
		this.currentLocation = hash;
		
		this.fireEvent('hashChanged',hash);
		this.fireEvent('hash-changed',hash);
	},
	
	setHash : function(newHash){
		window.location.hash = this.currentLocation = newHash;
		
		if (
			('onhashchange' in window) &&
            (typeof(document.documentMode) == 'undefined' || document.documentMode > 7)
		   ) return;
		
		this.fireEvent('hashChanged',newHash);
		this.fireEvent('hash-changed',newHash);
	},
	
	getHash : function(){
		var m;
		if (Browser.Engine.gecko){
			m = /#(.*)$/.exec(window.location.href);
			return m && m[1] ? m[1] : '';
		}else if (Browser.Engine.webkit){
			return decodeURI(window.location.hash.substr(1));
		}else{
			return window.location.hash.substr(1);
		}
	},
	
	setIframeHash: function(newHash) {
		var doc	= (this.iframe.contentDocument) ? this.iframe.contentDocumnet  : this.iframe.contentWindow.document;
		doc.open();
		doc.write('<html><body id="state">' + newHash + '</body></html>');
		doc.close();
		
	},
	
	updateHash : function (newHash){		
		this.ignoreLocationChange = true;
		if (this.useIframe) this.setIframeHash(newHash);
		else this.setHash(newHash);
	},
	
	start : function(){
		this.handle = this.checkHash.periodical(100, this);
	},
	
	stop : function(){
		$clear(this.handle);
	}
});

