//solo.js for channel 20456 / widget 9601 / WxH: 480x417 / skin: clean / vid: 0 / autoplay: N / matrix: Y 
// Widget standard js for yubby
// NOT based on prototype or jquery - cause it must be lightweight and cant interfere with host

/**
 *	htmlspecialchars - like its php counterpart
 *	@author rvw
 *	@since 08-03-2010 12:19
 */
function htmlspecialchars(string) {
	string = string.toString();
	string = string.replace(/&/g, '&amp;');    
	string = string.replace(/</g, '&lt;').replace(/>/g, '&gt;');
	string = string.replace(/"/g, '&quot;');
	// single quote.. string = string.replace(/'/g, '&#039;');
	return string;
}

//------------ tween.js ----------------------
function Delegate() {}
Delegate.create = function (o, f) {
	var a = new Array() ;
	var l = arguments.length ;
	for(var i = 2 ; i < l ; i++) a[i - 2] = arguments[i] ;
	return function() {
		var aP = [].concat(arguments, a) ;
		f.apply(o, aP);
	}
}

Tween = function(obj, prop, func, begin, finish, duration, suffixe){
	this.init(obj, prop, func, begin, finish, duration, suffixe)
}
var t = Tween.prototype;

t.obj = new Object();
t.prop='';
t.func = function (t, b, c, d) { return c*t/d + b; };
t.begin = 0;
t.change = 0;
t.prevTime = 0;
t.prevPos = 0;
t.looping = false;
t._duration = 0;
t._time = 0;
t._pos = 0;
t._position = 0;
t._startTime = 0;
t._finish = 0;
t.name = '';
t.suffixe = '';
t._listeners = new Array();	
t.setTime = function(t){
	this.prevTime = this._time;
	if (t > this.getDuration()) {
		if (this.looping) {
			this.rewind (t - this._duration);
			this.update();
			this.broadcastMessage('onMotionLooped',{target:this,type:'onMotionLooped'});
		} else {
			this._time = this._duration;
			this.update();
			this.stop();
			this.broadcastMessage('onMotionFinished',{target:this,type:'onMotionFinished'});
		}
	} else if (t < 0) {
		this.rewind();
		this.update();
	} else {
		this._time = t;
		this.update();
	}
}
t.getTime = function(){
	return this._time;
}
t.setDuration = function(d){
	this._duration = (d == null || d <= 0) ? 100000 : d;
}
t.getDuration = function(){
	return this._duration;
}
t.setPosition = function(p){
	this.prevPos = this._pos;
	var a = this.suffixe != '' ? this.suffixe : '';
	this.obj[this.prop] = Math.round(p) + a;
	this._pos = p;
	this.broadcastMessage('onMotionChanged',{target:this,type:'onMotionChanged'});
}
t.getPosition = function(t){
	if (t == undefined) t = this._time;
	return this.func(t, this.begin, this.change, this._duration);
};
t.setFinish = function(f){
	this.change = f - this.begin;
};
t.geFinish = function(){
	return this.begin + this.change;
};
t.init = function(obj, prop, func, begin, finish, duration, suffixe){
	if (!arguments.length) return;
	this._listeners = new Array();
	this.addListener(this);
	if(suffixe) this.suffixe = suffixe;
	this.obj = obj;
	this.prop = prop;
	this.begin = begin;
	this._pos = begin;
	this.setDuration(duration);
	if (func!=null && func!='') {
		this.func = func;
	}
	this.setFinish(finish);
}
t.start = function(){
	this.rewind();
	this.startEnterFrame();
	this.broadcastMessage('onMotionStarted',{target:this,type:'onMotionStarted'});
	//alert('in');
}
t.rewind = function(t){
	this.stop();
	this._time = (t == undefined) ? 0 : t;
	this.fixTime();
	this.update();
}
t.fforward = function(){
	this._time = this._duration;
	this.fixTime();
	this.update();
}
t.update = function(){
	this.setPosition(this.getPosition(this._time));
	}
t.startEnterFrame = function(){
	this.stopEnterFrame();
	this.isPlaying = true;
	this.onEnterFrame();
}
t.onEnterFrame = function(){
	if(this.isPlaying) {
		this.nextFrame();
		setTimeout(Delegate.create(this, this.onEnterFrame), 0);
	}
}
t.nextFrame = function(){
	this.setTime((this.getTimer() - this._startTime) / 1000);
	}
t.stop = function(){
	this.stopEnterFrame();
	this.broadcastMessage('onMotionStopped',{target:this,type:'onMotionStopped'});
}
t.stopEnterFrame = function(){
	this.isPlaying = false;
}

t.continueTo = function(finish, duration){
	this.begin = this._pos;
	this.setFinish(finish);
	if (this._duration != undefined)
		this.setDuration(duration);
	this.start();
}
t.resume = function(){
	this.fixTime();
	this.startEnterFrame();
	this.broadcastMessage('onMotionResumed',{target:this,type:'onMotionResumed'});
}
t.yoyo = function (){
	this.continueTo(this.begin,this._time);
}

t.addListener = function(o){
	this.removeListener (o);
	return this._listeners.push(o);
}
t.removeListener = function(o){
	var a = this._listeners;	
	var i = a.length;
	while (i--) {
		if (a[i] == o) {
			a.splice (i, 1);
			return true;
		}
	}
	return false;
}
t.broadcastMessage = function(){
	var arr = new Array();
	for(var i = 0; i < arguments.length; i++){
		arr.push(arguments[i])
	}
	var e = arr.shift();
	var a = this._listeners;
	var l = a.length;
	for (var i=0; i<l; i++){
		if(a[i][e])
		a[i][e].apply(a[i], arr);
	}
}
t.fixTime = function(){
	this._startTime = this.getTimer() - this._time * 1000;
}
t.getTimer = function(){
	return new Date().getTime() - this._time;
}
Tween.backEaseIn = function(t,b,c,d,a,p){
	if (s == undefined) var s = 1.70158;
	return c*(t/=d)*t*((s+1)*t - s) + b;
}
Tween.backEaseOut = function(t,b,c,d,a,p){
	if (s == undefined) var s = 1.70158;
	return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
}
Tween.backEaseInOut = function(t,b,c,d,a,p){
	if (s == undefined) var s = 1.70158; 
	if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
	return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
}
Tween.elasticEaseIn = function(t,b,c,d,a,p){
		if (t==0) return b;  
		if ((t/=d)==1) return b+c;  
		if (!p) p=d*.3;
		if (!a || a < Math.abs(c)) {
			a=c; var s=p/4;
		}
		else 
			var s = p/(2*Math.PI) * Math.asin (c/a);
		
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	
}
Tween.elasticEaseOut = function (t,b,c,d,a,p){
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b);
	}
Tween.elasticEaseInOut = function (t,b,c,d,a,p){
	if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) var p=d*(.3*1.5);
	if (!a || a < Math.abs(c)) {var a=c; var s=p/4; }
	else var s = p/(2*Math.PI) * Math.asin (c/a);
	if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
}

Tween.bounceEaseOut = function(t,b,c,d){
	if ((t/=d) < (1/2.75)) {
		return c*(7.5625*t*t) + b;
	} else if (t < (2/2.75)) {
		return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
	} else if (t < (2.5/2.75)) {
		return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
	} else {
		return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
	}
}
Tween.bounceEaseIn = function(t,b,c,d){
	return c - Tween.bounceEaseOut (d-t, 0, c, d) + b;
	}
Tween.bounceEaseInOut = function(t,b,c,d){
	if (t < d/2) return Tween.bounceEaseIn (t*2, 0, c, d) * .5 + b;
	else return Tween.bounceEaseOut (t*2-d, 0, c, d) * .5 + c*.5 + b;
	}

Tween.strongEaseInOut = function(t,b,c,d){
	return c*(t/=d)*t*t*t*t + b;
	}

Tween.regularEaseIn = function(t,b,c,d){
	return c*(t/=d)*t + b;
	}
Tween.regularEaseOut = function(t,b,c,d){
	return -c *(t/=d)*(t-2) + b;
	}

Tween.regularEaseInOut = function(t,b,c,d){
	if ((t/=d/2) < 1) return c/2*t*t + b;
	return -c/2 * ((--t)*(t-2) - 1) + b;
	}
Tween.strongEaseIn = function(t,b,c,d){
	return c*(t/=d)*t*t*t*t + b;
	}
Tween.strongEaseOut = function(t,b,c,d){
	return c*((t=t/d-1)*t*t*t*t + 1) + b;
	}

Tween.strongEaseInOut = function(t,b,c,d){
	if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
	return c/2*((t-=2)*t*t*t*t + 2) + b;
	}

//======= end tween.js
// pgstats - poor mans page statistics.. 
// NOT based on prototype or jquery - cause it must be lightweight

// // get our script src, to know our baseurl so we can call home
// var pgstatsScriptSource = (function(scripts) {
//     var scripts = document.getElementsByTagName('script'),
//         script = scripts[scripts.length - 1];	// at ths very moment, we are the last script guaranteed
// 
//     if (script.getAttribute.length !== undefined) {
//         return script.src
//     }
// 
//     return script.getAttribute('src', -1)
// }());

var pgstats= {
	browser: navigator.userAgent,
	uid: '',
	scr: screen.width.toString()+'x'+screen.height.toString(),
	url: document.URL,
	referrer: document.referrer,
	ecollect: {},
	baseurl: 'http://www.yubby.com/',	// pgstatsScriptSource.substr(0,pgstatsScriptSource.lastIndexOf('/pgstats/')),
	init: function() {
		if (!(this.uid=this.readCookie('pgstats'))) {
			this.uid= Math.round(Math.random() * 2147483647).toString();
			this.uid+= Math.round(Math.random() * 2147483647).toString();
			this.createCookie('pgstats',this.uid,365*2);
		}
	}, 
	xPageHit: function () {
		var xhReq=this.createXMLHttpRequest();
		if (!xhReq)
			return 'ERR:xhReq';	// forget it..
		if (!this.baseurl)
			return 'ERR:baseurl';	// forget it..
		xhReq.open('get',this.baseurl+'pgstats/tick?'+this.collectInfo(),true);
		// xhReq.onreadystatechange = function() {
		//     if (xhReq.readyState != 4)  { return; }
		//     var serverResponse = xhReq.responseText;
		//     alert(serverResponse);
		// };
		xhReq.send();
		return 'OK';
	},
	collectInfo: function() {
		var rv;
		rv='ts=' + new Date().getTime();
		//rv+='&br='+this.encURI(this.browser);
		rv+='&uid='+this.uid;
		rv+='&url='+this.encURI(this.url);
		rv+='&refer='+this.encURI(this.referrer);
		//rv+='&ssrc='+this.encURI(this.baseurl);
		rv+='&scr='+this.scr;
		for (i in this.ecollect) {
			rv+='&'+i+'='+this.encURI(this.ecollect[i]);
		}

		return rv;
	},
	addcollect: function(key,val) {
		this.ecollect[key]=val;
	},
	//------- helper functions ----------
	createCookie: function (name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	},
	readCookie: function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	},
	eraseCookie: function(name) {
		createCookie(name,"",-1);
	},
	encURI: function(url) {
		//return encodeURIComponent(url);	// forgets to encode a lot of chars. Useless
		var s = escape(url);	// this is the most complete one, however forgets to encode star, slash, @ and +
		s = s.replace(/\*/g,"%2A");
		s = s.replace(/\//g,"%2F");
		s = s.replace(/\@/g,"%40");
		s = s.replace(/\+/g,"%2B");
		return s;
	},
	createXMLHttpRequest: function() {
  		try { return new XMLHttpRequest(); } catch(e) {}
		try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
		try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) {}
		return null;
	}
}
pgstats.init();
//pgstats.addcollect('vid','234234');
//pgstats.xPageHit();
var isIE = /MSIE ((5\.5)|[6])/.test(navigator.userAgent) && navigator.platform == "Win32";

var cvids_9601= new Array();	// channelvideo's
var curvid_9601=0;			// first video
var cpvideo_9601=false;		// false=thumb, true=video

// in IE, you need to declare these before the vp_createwg is called, otherwise they do not exist in the onclick context
var matrix_curpg=1;
var matrix_npages=1;


var butnext_mousein=false;
var butprev_mousein=false;
var butplay_mousein=false;
var butstop_mousein=false;
var butmatrix_mousein=false;

var imgNext_ov = new Image;
var imgNext_ou = new Image;
var imgNext_d  = new Image;
imgNext_ov.src="http://www.yubby.com//img/widget/solo/iconnext24ov.png";
imgNext_ou.src="http://www.yubby.com//img/widget/solo/iconnext24.png";
imgNext_d.src ="http://www.yubby.com//img/widget/solo/iconnext24d.png";

var imgPrev_ov = new Image;
var imgPrev_ou = new Image;
var imgPrev_d  = new Image;
imgPrev_ov.src="http://www.yubby.com//img/widget/solo/iconprev24ov.png";
imgPrev_ou.src="http://www.yubby.com//img/widget/solo/iconprev24.png";
imgPrev_d.src ="http://www.yubby.com//img/widget/solo/iconprev24d.png";

var imgPlay_ov = new Image;
var imgPlay_ou = new Image;
var imgPlay_d  = new Image;
imgPlay_ov.src="http://www.yubby.com//img/widget/solo/iconplay24ov.png";
imgPlay_ou.src="http://www.yubby.com//img/widget/solo/iconplay24.png";
imgPlay_d.src ="http://www.yubby.com//img/widget/solo/iconplay24d.png";

var imgStop_ov = new Image;
var imgStop_ou = new Image;
var imgStop_d  = new Image;
imgStop_ov.src="http://www.yubby.com//img/widget/solo/iconstop24ov.png";
imgStop_ou.src="http://www.yubby.com//img/widget/solo/iconstop24.png";
imgStop_d.src ="http://www.yubby.com//img/widget/solo/iconstop24d.png";

var imgMatrix_ov = new Image;
var imgMatrix_ou = new Image;
var imgMatrix_d  = new Image;
imgMatrix_ov.src="http://www.yubby.com//img/widget/solo/iconmatrix24ov.png";
imgMatrix_ou.src="http://www.yubby.com//img/widget/solo/iconmatrix24.png";
imgMatrix_d.src ="http://www.yubby.com//img/widget/solo/iconmatrix24d.png";

var wgElm_9601 = document.getElementById('viidoo_solo_9601');
if (wgElm_9601) {
	vp_createwg();
}

pgstats.addcollect('chid','20456');
pgstats.addcollect('hit','embed');
pgstats.addcollect('widget','solo');
pgstats.xPageHit();

function vp_createwg() {
	// silly IE needs BR
	var html='<br style="display:none;"/><style type="text/css">	\
				.v69resetstyle	{ -moz-box-sizing: content-box !important; } \
				</style>';
	html+='<div id="widget_flash_9601" class="widget_flash v69resetstyle" style="width: 480px;height:417px;overflow:hidden; border: 1px solid #DDDDDD;font-family:Trebuchet MS,Lucida Sans Unicode,Lucida Grande,Lucida Sans,Tahoma,Geneva,Arial,helvetica,sans-serif">';

	cvids_9601.push({vid:83885, thumb: 'http://i.ytimg.com/vi/wE2I9SVNEXw/0.jpg', title: 'Marc de Hond, Showreel 2009', desc: 'Showreel van tv-presentator Marc de Hond. www.marcdehond.nl Met fragmenten uit Expedition Unlimited (llink 2009) llink Ledenwerfshow (llink 2008) Interview Wicher Wedzinga (Het Gesprek 2007) Contact via marc@dehond.nl Wiki-info: nl.wikipedia.org'});
	cvids_9601.push({vid:83896, thumb: 'http://i.ytimg.com/vi/ss20JZdBFeU/0.jpg', title: 'De kracht van Marc de Hond', desc: 'Radio- en tv presentator Marc de Hond kwam 5 jaar geleden door een medische fout in een rolstoel terecht. Op zijn weblog hield Marc al vanaf dag \u00e9\u00e9n, een dagboek bij. Hij werkte een jaar aan het boek Kracht: een verslag van de gevolgen van een medische misser en het verhaal van het nieuwe leven van een optimist.'});
	cvids_9601.push({vid:83899, thumb: 'http://i.ytimg.com/vi/zTIPwaof9xY/0.jpg', title: 'Gewoon een andere sport', desc: ', wordt zelfs kampioen en dan slaat het noodlot toe: door een medische blunder raak je verlamd en kom je permanent in een rolstoel terecht. Het overkwam televisiepresentator Marc de Hond (31) zes jaar geleden. Samen met Paroolcolumnist Thomas Rijsman en journalist Nils Adriaans, twee oud-ploeggenoten van De Hond, haalt hij herinneringen op aan vroeger; tijdens een potje rolstoelbasketbal, zijn nieuwe passie. Cameraman Tom Poederbach maakte een indringend beeldverslag van het ...'});
	cvids_9601.push({vid:83882, thumb: 'http://i.ytimg.com/vi/EA14V4a69RM/0.jpg', title: 'Behind the scenes bij \"Eet Smakelijk\" - draaidag 1', desc: 'Presentatoren Marc de Hond en Manuel Venderbos zijn kandidaten in het programma \"Eet Smakelijk\" van llink. Het programma waarin BN-ers samen met chefkok/host Leon een bijzondere maaltijd samenstellen. Op donderdagavond 30 juli 2009 21:00 uur op Nederland 2 is de complete aflevering te zien waarin Marc en Manuel de opdracht krijgen een eend te vangen,slachten, bereiden en opeten. Zij maakten zelf exclusieve backstage opnames van de eerste opnamedag op de boerderij in Ermelo en deze beelden ...'});
	cvids_9601.push({vid:83880, thumb: 'http://i.ytimg.com/vi/jwK_gBBoJ9Y/0.jpg', title: 'Behind the scenes bij Eet Smakelijk! - draaidag 2', desc: 'Presentatoren Marc de Hond en Manuel Venderbos zijn kandidaten in het programma \"Eet Smakelijk\" van llink. Het programma waarin BN-ers samen met chefkok/host Leon een bijzondere maaltijd samenstellen. Op donderdagavond 30 juli 2009 21:00 uur op Nederland 3 is de complete aflevering te zien waarin Marc en Manuel de opdracht krijgen een eend te vangen,slachten, bereiden en opeten. Zij maakten zelf exclusieve backstage opnames van beide opnamedagen op de boerderij in Ermelo en de slachter in ...'});
	cvids_9601.push({vid:83897, thumb: 'http://i.ytimg.com/vi/EqfSXnjwU-Y/0.jpg', title: 'Who\'s Next - Marc de Hond', desc: 'Monique Snoeijen leest nrc.next met Marc de Hond.'});
	cvids_9601.push({vid:83894, thumb: 'http://i.ytimg.com/vi/gXsODSdKMsY/0.jpg', title: 'TVarchief: Marc de Hond presenteert nieuws in GMNL', desc: 'Goedemorgen Nederland (NCRV/KRO) - aflevering 10 mei 2006. Presentatie: Klaas Drupsteen. Nieuwsoverzicht: Marc de Hond.'});
	cvids_9601.push({vid:83909, thumb: 'http://i.ytimg.com/vi/6NGOC378t1s/0.jpg', title: 'Boek presentatie \"Kracht\" van mijn broer.', desc: 'Boek presentatie \"Kracht\" van mijn broer Marc. ... Marc de Hond Michel '});
	cvids_9601.push({vid:83886, thumb: 'http://i.ytimg.com/vi/bdCRY3RVO4I/0.jpg', title: 'RoboRuud: Telefoongrap Michiel Huisman met \"Nep Ruud de Wild\"', desc: 'In de zomer van 2004 denkt acteur Michiel Huisman dat hij met de \u00e9chte Ruud de Wild spreekt. In werkelijkheid is hij het \'slachtoffer\' van een telefoongrap van dj Marc de Hond, die hem opgenomen fragmenten van de stem van Ruud de Wild laat horen. roboruud werd eerder uitgezonden op 3FM. Meer fragmenten van roboruud en telefoongrappen van Marc de Hond hoort u: www.marcdehond.nl roboruud belt daar met: Lee Towers Humberto Tan Antonie Kamerling Sander de Heer Gordon Corry Konings Harrie Mens...'});
	cvids_9601.push({vid:83893, thumb: 'http://i.ytimg.com/vi/rLdk5gYvaEE/0.jpg', title: 'SBS Shownieuws: BN-ers clinic rolstoeltennis', desc: 'Donderdag 19 december 2009: een clinic rolstoeltennis gegeven door ex Paralympisch tenniskampioen Monique Kalkman. Deelnemers oa Barbara Barend, Jaap Jongbloed, Huub Stapel, Baas B., Michel de Hond en Marc de Hond. Dit alles om aandacht te vragen voor De NEC Wheelchair Masters die deze week (t/m zondag) worden gehouden in het Frans Otten Stadion in Amsterdam. Reportage gemaakt door SBS6 Shownieuws. Locatie: Frans Otten Stadio Amsterdam. Deelnemers: Huub Stapel, Marc de Hond, Monique Kalkman ...'});
	cvids_9601.push({vid:83901, thumb: 'http://i.ytimg.com/vi/vHAtUXLPUmo/0.jpg', title: 'TVGids.nl - Expedition unlimited', desc: 'TVGids.nl sprak Marc de Hond over het programma Expedition unlimited ... TVgids.nl Merel Tam Joram Goedendorp Expedition unlimited Llink Link Marc de Hond Zuid-Afrika '});
	cvids_9601.push({vid:83895, thumb: 'http://i.ytimg.com/vi/kGzaaVdApx4/0.jpg', title: 'TVarchief: Marc de Hond presenteert het Eindexamenjournaal', desc: 'In 2005 maakte Marc de Hond zijn debuut als tv-presentator met het Eindexamenjournaal, voor de NCRV elke ochtend te zien op Nederland 1.'});
	cvids_9601.push({vid:83906, thumb: 'http://i.ytimg.com/vi/43VaE8vbUoU/0.jpg', title: 'Preview: De kruistocht van Maurice de Hond', desc: 'In Netwerk aandacht voor de kruistocht van Maurice de Hond.'});
	cvids_9601.push({vid:83910, thumb: 'http://i.ytimg.com/vi/tADl14CWerg/0.jpg', title: 'Test: Marc doet rolstoelgolf', desc: '--- testfilmpje nieuwe Flip Mino HD pocketcam --- Marc de Hond practices Wheelchairgolf. Op 4 juli 2009 werd op de golfbaan van Catharinenburg in Melissant (ZH) het NGG Golf Charity event gehouden. Daar was ook een golf clinic voor mensen met een handicap, gegeven door Miquel Lommerse. Meer info over golf? www.gehandicaptengolf.nl Gefilmd met een Flip Mino HD camera Gemonteerd in Adobe Premiere Elements ENGLISH On july 4 2009 there was a charity golf event on the course in Melissant, South ...'});
	cvids_9601.push({vid:83913, thumb: 'http://i.ytimg.com/vi/4xOX0lLPzQ4/0.jpg', title: 'Test: Marc de Hond op de LifeStand', desc: 'Demonstratie van de Doove sta-rolstoel Lifestand'});
	cvids_9601.push({vid:83911, thumb: 'http://i.ytimg.com/vi/GDuOWb_9UM8/0.jpg', title: 'Wheelchair Basketball: Lely Amsterdam - Probuild Lions 2', desc: 'Netherlands, september 26 2009 - first game of the new season Wheelchair Basketball. Amsterdam wins 60-51. 26 september 2009 - de eerste wedstrijd in het nieuwe seizoen van de Rolstoelbasketball Eredivsie. BV Lely Amsterdam verslaat de Probuild Lions 2 met 60-51. Wedstrijdverslag: www.bvlely.nl Camerawerk: Maurice de Hond met een Flip Mino HD Montage: Marc de Hond Rolstoelbasketball bij BV Lely wordt mede mogelijk gemaakt door onze sponsors : Rabobank Amsterdam en het Fonds '});
	cvids_9601.push({vid:83912, thumb: 'http://i.ytimg.com/vi/BzDSls40HTo/0.jpg', title: 'Amsterdam Lely teamfoto met Rabobank kleding', desc: 'BV Lely Amsterdam (Rolstoelbasketball Eredivsie) speelt in Landsmeer de eerste wedstrijd in nieuwe kleding, gesponsord door hoofdsponsor Rabobank en Fonds Gehandicaptensport.'});
	cvids_9601.push({vid:83908, thumb: 'http://i.ytimg.com/vi/rM4gkJPC46g/0.jpg', title: 'Vakantiefilmpje: Marc zit vast in een lift van de metro in Keulen', desc: 'In juli 2008 neemt Marc de lift aan de Poststrasse vanuit de ondergrondse metro van Keulen. Helaas blijft de deur klem zitten waardoor hij er met de rolstoel niet meer uitkomt. Al snel worden de hulptroepen opgetrommeld...'});
	cvids_9601.push({vid:83904, thumb: 'http://i.ytimg.com/vi/XDCkryERXGM/0.jpg', title: 'NEC Wheelchair Tennis Masters 2009: Day 3', desc: 'Katharina Kruger Korie Homan Sharon Walraven Maikel Scheffers Martin Legner Nicolas Peifer Robin Ammerlaan Ronald Vink Satoshi Saida Stefan Olsson Stephane Houdet David Wagner Johan Andersson Nicholas Taylor Peter Norfolk ... \"michel de hond\" \"marc de hond\" rolstoel tennis rolstoeltennis esther vergeer amsterdam Aniek van Koot Daniela Di Toro Esther Vergeer Florence Gravellier Jiske Griffioen Katharina Kruger Korie Homan Sharon Walraven Maikel Scheffers Martin Legner Nicolas Peifer Robin ...'});
	cvids_9601.push({vid:83914, thumb: 'http://i.ytimg.com/vi/oF44cfctYik/0.jpg', title: 'Test: Marc de Hond maakt proefrit op Segway', desc: 'De Segway is een nieuw voertuig. Op 16 juli 2007 maak ik een proefrit.'});
	cvids_9601.push({vid:83925, thumb: 'http://i.ytimg.com/vi/OsKUI6JOZoY/0.jpg', title: 'TVarchief: Portret Marc de Hond in Shownieuws 2007', desc: 'Portret van Marc de Hond in Shownieuws 2007'});
	cvids_9601.push({vid:83916, thumb: 'http://i.ytimg.com/vi/hFfWakbh3eQ/0.jpg', title: 'TVarchief: Marc de Hond in de LLiNK Ledenwerfshow', desc: 'Fragment uit de LLiNK Ledenwerfshow, november 2008'});
	cvids_9601.push({vid:83918, thumb: 'http://i.ytimg.com/vi/fzwtr9FxZzM/0.jpg', title: 'MoveYourAss rolstoelrace', desc: 'Rudy neemt het op tegen Marc de Hond in een heuse rolstoelrace door het 3FM-pand. Marc presenteert het LLiNK-programma Expedition Unlimited op tv. ... moveyourass radio 3fm rudy mackay marc de hond llink expedition unlimited tv '});
	cvids_9601.push({vid:83919, thumb: 'http://i.ytimg.com/vi/M0JPgc8DH7c/0.jpg', title: 'Prijstrekking \'Kracht\'', desc: 'Het nieuwe boek van Marc de Hond heet \'Kracht\' en ligt vanaf 29 augustus in de winkels. Via marcdehond.nl waren gesigneerde exemplaren te winnen. Er moest een mail worden gestuurd naar marcboek@xs4all.nl. Vanavond trekt Marc vijf namen van winnaars die het boek gratis op de deurmat krijgen. Niet gewonnen? Niet getreurd! Het boek is vanaf nu ook te bestellen via www.nieuwamsterdam.nl/kracht. De eerste 100 bestellers krijgen op 29 augustus een door Marc gesigneerd exemplaar in huis! Via www ...'});
	cvids_9601.push({vid:83920, thumb: 'http://i.ytimg.com/vi/saAu6jKNEZk/0.jpg', title: 'Marc aan het bowlen', desc: 'Marc gooit n\u00e9t geen spare!! Overigens... gooien alle anderen die te zien zijn in het filmpje...strikes.'});
	cvids_9601.push({vid:83921, thumb: 'http://i.ytimg.com/vi/7SwPsaB16JY/0.jpg', title: 'Vakantiefilmpje: Mall of America, largest shopping mall in USA', desc: '(Available in HD quality, English subtitles included) Marc de Hond visits the \"Mall of America\" in Minneapolis is the largest shopping mall in the United States. More then 500 shops, 50 restaurants, 5 shopping malls, amusementparks, an aquarium, a cinema, a wedding chappel and a golf course, all under one roof. Met onder \u00e9\u00e9n dak meer dan 500 winkels, 50 restaurants, 5 pretparken, vier warenhuizen, een dolfinarium, een bioscoop, een huwelijkskapel en een golfbaan is het een indrukwekkende ...'});
	cvids_9601.push({vid:83917, thumb: 'http://i.ytimg.com/vi/ThFlwRHhLvQ/0.jpg', title: 'Nec Wheelchair Tennis 2008: interview Marc de Hond', desc: 'Marc de Hond presenteert dit jaar de NEC Wheelchair Tennis Masters. Na de loting vraagt Michel hem wat hij van het toernooi vindt.'});
	cvids_9601.push({vid:83923, thumb: 'http://i.ytimg.com/vi/qQ_zSAIlnKE/0.jpg', title: 'Radioarchief: Marc de Hond rentree op 3FM in BuZz 11 mei 2003', desc: 'Na 145 dagen afwezigheid ivm mijn ziekenhuisverblijf maakte ik op 11 mei 2003 mijn rentree op de radio. Destijds was ik in de nadagen van mijn verblijf in het Revalidatiecentrum Amsterdam. Ik werd op de radio terug verwelkomd door mijn collega\'s Jeroen Kijk in de Vegte, Ruud de Wild en zangers Do. Ik draaide als eerste plaat de Proclaimers met \"I\'m Gonna Be\". Vandaag kreeg ik een CD van de opname via \"Beeld en Geluid\" en luisterde het programma voor het eerst sinds 2003 terug. Bijzonder!...'});
	cvids_9601.push({vid:83924, thumb: 'http://i.ytimg.com/vi/9zvEcBpjU_A/0.jpg', title: 'Marc de Hond \'voetbalt\' in Special Sports', desc: 'Marc de Hond trapt tegen de bal in Special Sports (perfect tweebenig :-D )'});
	cvids_9601.push({vid:83926, thumb: 'http://i.ytimg.com/vi/wib7wWT5PhA/0.jpg', title: 'TVarchief: Marc de Hond presenteert Expedition Unlimited', desc: 'Fragment uit aflevering 9 van Expedition Unlimited, Zuid Afrika'});
	cvids_9601.push({vid:83928, thumb: 'http://www.yubby.com/util/fetchurl?http%3A%2F%2F0.gvt0.com%2FThumbnailServer2%3Fapp%3Dvss%26contentid%3D61fa20e1604e94b8%26offsetms%3D155000%26itag%3Dw160%26hl%3Dnl%26sigh%3DUwMjY8KjO635bxDKO_U6yIuTLSE', title: ' Caz! Wacht u voor De  20 juli 2006', desc: 'Via de webcam.'});
	cvids_9601.push({vid:84042, thumb: 'http://i.ytimg.com/vi/_E5wUBdwx84/0.jpg', title: 'Lokomat 19 februari 2007', desc: 'Marc loopt op 19 februari 2007 in de Lokomat in het RCA in Amsterdam'});
	cvids_9601.push({vid:84043, thumb: 'http://www.yubby.com/util/fetchurl?http%3A%2F%2F2.gvt0.com%2FThumbnailServer2%3Fapp%3Dvss%26contentid%3D48987df6850c4dee%26offsetms%3D5000%26itag%3Dw160%26hl%3Dnl%26sigh%3DzHLHifB3eNvLU4vlGXD3ACeaQpg', title: ' op de  13 juli', desc: 'Op 13 juli 2006 loopt Marc op de Lokomat in het RCA in Amsterdam.'});
html+='<div class="v69resetstyle" id="thumb_9601" style="width:480px;height:391px;background-color:#FFFFFF;position:relative;">';
html+=vidthumbhtml_9601(curvid_9601);
html+='</div>';
	html +='<div class="v69resetstyle" style="height:26px;width:480px;position:relative;background-color:#FFFFFF;">';
	html +='<div class="v69resetstyle" style="position:absolute;left:35px;top:3px;color:#444;font-size:11px;line-height:10px;cursor:pointer;width:185px;height:20px;overflow:hidden;" onclick="location.href=vidplayurl_9601();"><span style="color:#888;">You are watching channel</span><br/>marc de hond</div>';
	html +='<img style="position:absolute;left:336px;top:0px;height:25px;z-index:5;cursor:pointer;margin:0;padding:0;" src="http://incdn.s3.amazonaws.com/yubbyp_v1/img/project/yubby/logo.png" onclick="location.href=vidplayurl_9601();">';
		html +='<img onclick="showmatrix_9601(0);" style="position:absolute;left:5px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://www.yubby.com//img/widget/solo/iconmatrix24.png" title="popup an overview with all videos"  	id="pgmatrix_9601" 	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);"/>';
		html +='<img onclick="playprev_9601();" style="position:absolute;left:404px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://www.yubby.com//img/widget/solo/iconprev24.png" title="go to the previous video in the channel"  		id="pgprev_9601" 	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" />';
	//html +='<img onclick="playstop_9601();" style="position:absolute;left:404px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://www.yubby.com//img/widget/solo/iconstop24.png" title="stop"  													id="pgstop_9601"	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" />';
	//html +='<img onclick="playstart_9601();" style="position:absolute;left:428px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://www.yubby.com//img/widget/solo/iconplay24.png" title="play"  									id="pgplay_9601"	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" />';
	// start is now a toggle
	html +='<img onclick="playstartstop_9601();" style="position:absolute;left:428px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://www.yubby.com//img/widget/solo/iconplay24.png" title="play"  									id="pgplay_9601"	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" />';
	html +='<img onclick="playnext_9601();" style="position:absolute;left:452px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://www.yubby.com//img/widget/solo/iconnext24.png" title="go to the next video in the channel"  	id="pgnext_9601"	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" />';
	html +='</div>';
	html+='</div>';
	html+='<iframe src="http://www.yubby.com/util/ustat" width="0" height="0" border="no" frameborder="0"  style="border:0; visibility: hidden;"></iframe>';
	wgElm_9601.innerHTML=html;
	wgElm_9601.style.display = 'block';
		updAllButState(); 
}

function playnext_9601() {
	if (curvid_9601 < cvids_9601.length -1 ) {
		curvid_9601++;
		if (cpvideo_9601)
			playstart_9601();	// we are playing video
		else {
			var thumbdiv=document.getElementById('thumb_9601');
			thumbdiv.innerHTML=vidthumbhtml_9601(curvid_9601);
		}
	}
	updAllButState();
}
function playprev_9601() {
	if (curvid_9601 >0 ) {
		curvid_9601--;
		if (cpvideo_9601)
			playstart_9601();	// we are playing video
		else {
			var thumbdiv=document.getElementById('thumb_9601');
			thumbdiv.innerHTML=vidthumbhtml_9601(curvid_9601);
		}
	}
	updAllButState();
}

function playstart_9601(vnr) {
	closepopup_9601();	// close popup (if open)
	if (vnr==null)
		vnr=curvid_9601;
	else
		curvid_9601=vnr;	// set the current
	var thumbdiv=document.getElementById('thumb_9601');
	thumbdiv.style.background='#FFF url(http://incdn.s3.amazonaws.com/yubbyp_v1/img/spinner32.gif) no-repeat 210px 165.5px';
	thumbdiv.innerHTML='<iframe name="playerframe" class="playerframe" src="http://www.yubby.com/widget/playvideo/'+cvids_9601[vnr].vid+'/480/391/L/W" width="480" height="391" frameborder="0" scrolling="no" allowtransparency="true"></iframe>';
	cpvideo_9601=true;
	updAllButState();
}

function playstop_9601() {
	cpvideo_9601=false;
	var thumbdiv=document.getElementById('thumb_9601');
	thumbdiv.style.background='#FFF';
	thumbdiv.innerHTML=vidthumbhtml_9601(curvid_9601);
	updAllButState();
}

function playstartstop_9601() {
	if (cpvideo_9601) 
		playstop_9601();
	else
		playstart_9601();
}

function vidthumbhtml_9601(vnr) {
	var html='';
	html+='<div class="v69resetstyle" style="width:470px;height:294px; overflow:hidden; position:absolute;left:5px;top:5px;">';
html+='<img src="'+cvids_9601[vnr].thumb+'" style="width:470px;height:353px;top:-29px;position:relative;">';
html+='</div>';
html+='<div class="v69resetstyle" style="width:460px;height:82px;position:absolute;left:5px;top:299px;background-color:#AAA;padding:5px;"><div class="v69resetstyle" style="overflow:hidden;height:86px;width:460px;"><div class="v69resetstyle" style="margin: 2px 3px; white-space: nowrap; font-size:15px;line-height:15px;color:#555555;">'+htmlspecialchars(cvids_9601[vnr].title)+'</div><div class="v69resetstyle" style="margin: 2px 5px; font-size:13px;line-height:13px;color:#ffffff;overflow:hidden;height:40px;"  title="'+htmlspecialchars(cvids_9601[vnr].desc)+'">'+htmlspecialchars(cvids_9601[vnr].desc)+'</div><div class="v69resetstyle" style="padding: 3px 5px; letter-spacing:1px; background-color: #aaa; color: white; position: absolute; right: 0px; top: -14px; font-size: 10px;">'+(vnr+1)+'/'+(cvids_9601.length)+'</div></div></div>';
html+='<div class="v69resetstyle" style="position: absolute; width:72px;height:72px;top:159.5px;left:204px;z-index:200;cursor:pointer;cursor:hand;background:url(http://www.yubby.com/img/media_play72.png) no-repeat;" onClick="playstart_9601();"></div>';
	return html;
}

function vidthumbhtmlSmall_9601(vnr) {
	var html='';
	html='';
	html+='<div class="v69resetstyle" style="margin: 5px; float: left; position: relative; width: 162px; height: 90px;">';
		html+='<div  class="v69resetstyle" style="width:160px;max-height:122px;background:#f6f6f6;margin:0 auto 6px auto;overflow:hidden;position:relative;">';
			html+='<div  class="v69resetstyle" style="width:156px;height:86px;background:#cccccc;border:2px solid #dedede;overflow:hidden;position:relative;">';
				html+='<img style="position:absolute;width:160px;height:119px;top:-20px;left:0;cursor: pointer;" onclick="playstart_9601('+vnr+')" title="'+htmlspecialchars(cvids_9601[vnr].desc)+'" src="'+cvids_9601[vnr].thumb+'" />';
				html+='<div class="v69resetstyle" style="position: absolute; width:24px;height:24px;top:28px;left:68px;z-index:200;cursor:pointer;cursor:hand;background:url(http://incdn.s3.amazonaws.com/yubbyp_v1/img/media_play24.png) no-repeat;" onclick="playstart_9601('+vnr+')"></div>';
				html+='<div class="v69resetstyle" style="position: absolute; bottom: 0px; left: 0px;width:156px;height:15px;z-index:200;background-color:#dedede;color:#000000;font-size:11px;overflow:hidden;white-space: nowrap;padding:2px 5px 2px 3px;filter: alpha(opacity=80);filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80);-moz-opacity: 0.80; opacity: 0.80;cursor: pointer;" onclick="playVideo_773417(15893)" >'+htmlspecialchars(cvids_9601[vnr].title)+'</div>';
			html+='</div>';
		html+='</div>';
	html+='</div>';
	return html;
}

// cp 1..npages
function paginationhtml_9601(cp,npages) {
	if (npages<=1)
		return '';	// empty if no pagination..
	var html='';
	html+='<div class="pages v69resetstyle">';
	if (cp>1) {
		// we CAN prev!
		html+= '<span class="pageblock" onclick="gotopage_9601('+(cp-1)+');">&#171; Previous</span>';
	}
	else {
		html+= '<span class="pageblock_disabled">&#171; Previous</span>';
	}
	// Available pages - Link
	var lpage = 1;
	var cpageSur = 2;
	var dotted = false;
	for (var lpage=1;lpage<=npages;lpage++) {
		// 1-2...8-9-[10]-11-12....58-59 
		if ( lpage<=2 || (lpage>=cp-4 && lpage<=cp+4) || lpage>=npages-1) {
			dotted = false;	// we need to dot afterwards
			if (lpage == cp )
				html+='<span class="pageblock_curpage"><b>'+lpage+'</b></span>';
			else
				html+='<span class="pageblock" onclick="gotopage_9601('+lpage+');">'+lpage+'</span>';
		}
		else {
			// no printing.. buttt maybe we need to dot
			if ( !dotted ) {
				html+='<span class="pageblock_dots">&nbsp;...&nbsp;</span>';
				dotted = true;
			}
		}
	}
		
	// Next page - Link
	if ( cp<npages )
		html+='<span class="pageblock" onclick="gotopage_9601('+(cp+1)+');">Next &#187;</span>';
	else
		html+='<span class="pageblock_disabled">Next &#187;</span>';
	html+='</div>';
	return html;
}

function vidplayurl_9601(vnr) {
	if (vnr==null)
		vnr=curvid_9601;
	return 'http://www.yubby.com/channel/player/20456/'+cvids_9601[vnr].vid;
}

//------------------------------------ button handlers --------------------------------------
function stButImg(oBut) {
	if (oBut.id == 'pgnext_9601') { 
		if (curvid_9601 >= cvids_9601.length -1 ) 
			oBut.src = imgNext_d.src;
		else
			oBut.src= butnext_mousein ? imgNext_ov.src : imgNext_ou.src;
	}
	if (oBut.id == 'pgprev_9601') { 
		if (curvid_9601==0 ) 
			oBut.src = imgPrev_d.src;
		else
			oBut.src= butprev_mousein ? imgPrev_ov.src : imgPrev_ou.src;
	}
	if (oBut.id == 'pgplay_9601') { 
		if (cpvideo_9601) 	// we are currently playing
			oBut.src = butplay_mousein ? imgStop_ov.src : imgStop_ou.src;
		else
			oBut.src= butplay_mousein ? imgPlay_ov.src : imgPlay_ou.src;
	}
	// if (oBut.id == 'pgstop_9601') { 
	// 	if (!cpvideo_9601 ) 	// currently NOT playing
	// 		oBut.src = imgStop_ov.src;
	// 	else
	// 		oBut.src= butstop_mousein ? imgStop_ov.src : imgStop_ou.src;
	// }
	if (oBut.id == 'pgmatrix_9601') { 
		oBut.src= butmatrix_mousein ? imgMatrix_ov.src : imgMatrix_ou.src;
	}
}

function oMouEv(oBut,mouseIn) {
	
	if (oBut.id == 'pgnext_9601') 
		butnext_mousein=mouseIn;
	if (oBut.id == 'pgprev_9601') 
		butprev_mousein=mouseIn;
	if (oBut.id == 'pgplay_9601') 
		butplay_mousein=mouseIn;
	// if (oBut.id == 'pgstop_9601') 
	// 	butstop_mousein=mouseIn;
	if (oBut.id == 'pgmatrix_9601') 
		butmatrix_mousein=mouseIn;
	stButImg(oBut);
}

function updAllButState() {
	el = document.getElementById('pgnext_9601');
	if (el) 
		stButImg(el); // update nextbutton state

	el = document.getElementById('pgprev_9601');
	if (el) 
		stButImg(el); // update prevbutton state
		
	el = document.getElementById('pgplay_9601');
	if (el) 
		stButImg(el); // update prevbutton state
		
	// el = document.getElementById('pgstop_9601');
	// if (el) 
	// 	stButImg(el); // update prevbutton state

	el = document.getElementById('pgmatrix_9601');
	if (el) 
		stButImg(el); // update prevbutton state
}

//------------------------------------ other stuff -------------
// find absolute top loc of object

function vp_offsetTop(obj) {
    curtop = 0;
    if (obj.offsetParent) {
    curtop = obj.offsetTop
    while (obj = obj.offsetParent) {
      curtop += obj.offsetTop
    }
  }
  return curtop;
}

function vp_offsetLeft(obj) {
  curtop = 0;
  if (obj.offsetParent) {
    curtop = obj.offsetLeft;
    while (obj = obj.offsetParent) {
      curtop += obj.offsetLeft;
    }
  }
  return curtop;
}


function closepopup_9601() {
  el = document.getElementById('ipopup_9601');
  if (el) {
    el.parentNode.removeChild(el);
  } 
}

//
// getPageScroll()
// Returns array with x,y page scroll values.
// Core code from - quirksmode.org
//
function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}



//
// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org
// Edit for Firefox by pHaez
//
function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

function gotopage_9601(pg) {
	if (pg<1)
		pg=1;
	if (matrix_npages<1)
		matrix_npages=1;
	if (pg>matrix_npages) 
		pg=matrix_npages;
		
	matrix_curpg=pg;
	var mxs=document.getElementById('mxs_9601');
	var html='';
	for (var i=(matrix_curpg-1)*16,cv=0;i<cvids_9601.length && cv<16;i++) {
		html+=  vidthumbhtmlSmall_9601(i);
		cv++;
	}
	html+=  '<div class="v69resetstyle" style="clear:both;"></div>';
	if (matrix_npages>1) {
		html+=  '<div  class="v69resetstyle" style="margin:10px 0px">'+paginationhtml_9601(matrix_curpg, matrix_npages)+'</div>';
	}

	mxs.innerHTML=html;
}

function showmatrix_9601() {
	// close old one
	closepopup_9601();

	matrix_npages= Math.ceil(cvids_9601.length / 16);
	
	// open new
	var popup_div = document.createElement('div');
	var title='matrix';
	popup_div.id = "ipopup_9601";
	popup_div.style.position = 'absolute';
	popup_div.style.border = 'none';
	popup_div.className = "v69resetstyle";

	var base_width=172*4+25;

	var base_height=100*4+30+10+4;
	if (matrix_npages>1) 
		base_height+=30;
	popup_div.style.width = base_width+'px';
	popup_div.style.height = base_height+'px';
	popup_div.style.fontFamily='Trebuchet MS,Lucida Sans Unicode,Lucida Grande,Lucida Sans,Tahoma,Geneva,Arial,helvetica,sans-serif';
	popup_div.style.zIndex = '10000';

	// CENTER SCREEN
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
	var popup_top = arrayPageScroll[1] + ((arrayPageSize[3] -base_height) / 2);
	var popup_left = arrayPageScroll[0] +((arrayPageSize[0] - base_width) / 2);
	if (popup_top<0)
		popup_top=0;
	if (popup_left<0)
		popup_left=0;
	popup_div.style.position = 'absolute';
	popup_div.style.top = popup_top + 'px';
	popup_div.style.left = popup_left + 'px';


	
	var vid_html='';
	vid_html+='<div class="v69resetstyle" style="padding:0px;position:relative;border:2px #CCC solid;background-color:white;width:'+(base_width-4)+'px;height:'+(base_height-4)+'px;">';
	vid_html+='<br style="display:none;"/><style type="text/css">	\
		.pages {padding:2px 0 2px 8px; margin:0; clear:both;font-size:12px;} \
			.pages span.pageblock {border: 1px solid #888; color:#000; height: 12px; padding: 3px 6px;margin: 0px 4px 0px 0px;cursor: pointer;cursor:hand;}\
			.pages span.pageblock:hover {color:#D10101;text-decoration:underline;}	\
			.pages span.pageblock_disabled {border: 1px solid #888; color: #aaa; height: 12px; padding: 3px 6px;margin: 0px 4px 0px 0px;}\
			.pages span.pageblock_dots {border: 0px solid #888; color: #000; height: 12px; padding: 3px 6px;margin: 0px 4px 0px 0px;}\
			.pages span.pageblock_curpage {border: 1px solid #888; color: #aaa; height: 12px; padding: 3px 6px;margin: 0px 4px 0px 0px;}\
		</style>';
	vid_html+=	'<div class="v69resetstyle" onclick="closepopup_9601();" style="position:absolute;top:7px;right:8px;cursor:pointer;cursor:hand;background:url(http://www.yubby.com/img/icon_bw_close22.png) no-repeat;width:24px;height:24px;z-index:10000;"></div>';
	vid_html+=	'<div class="v69resetstyle" style="position:absolute;top:8px;left:15px;color:#888;font-size:15px;overflow:hidden;width:'+(base_width-50)+'px;">marc de hond</div>';
	vid_html+=	'<div class="v69resetstyle" style="margin:30px 10px 10px 10px;" id="mxs_9601">';
	// for (var i=0,cv=0;i<cvids_9601.length && cv<16;i++) { 
	// 		vid_html+=  vidthumbhtmlSmall_9601(i);
	// 		cv++;
	// 	}
	// 	vid_html+=  '<div style="clear:both;"></div>';
	// 
	// 	if (matrix_npages>1) {
	// 		vid_html+=  '<div style="margin:10px 0px">'+paginationhtml_9601(matrix_curpg, matrix_npages)+'</div>';
	// 	}
	vid_html+=	'</div>';
	vid_html+=  '<div class="v69resetstyle" style="clear:both;"></div>';
	vid_html+='</div>';
					
	popup_div.innerHTML=vid_html;
	document.body.appendChild(popup_div);
	gotopage_9601(matrix_curpg);
}

// utf8 to string conversions
var escapable = /[\\\"\x00-\x1f\x7f-\uffff]/g,
    meta = {    // table of character substitutions
        '\b': '\\b',
        '\t': '\\t',
        '\n': '\\n',
        '\f': '\\f',
        '\r': '\\r',
        '"' : '\\"',
        '\\': '\\\\'
    };

function utf8quote(string) {
	// If the string contains no control characters, no quote characters, and no
	// backslash characters, then we can safely slap some quotes around it.
	// Otherwise we must also replace the offending characters with safe escape
	// sequences.

    escapable.lastIndex = 0;
    return escapable.test(string) ?
        '"' + string.replace(escapable, function (a) {
            var c = meta[a];
            return typeof c === 'string' ? c :
                '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
        }) + '"' :
        '"' + string + '"';
}




