//solo.js for channel 23673 / widget 702390 / WxH: 270x234 / 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.dik.nl/',	// 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_702390= new Array();	// channelvideo's
var curvid_702390=0;			// first video
var cpvideo_702390=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.dik.nl//img/widget/solo/iconnext24ov.png";
imgNext_ou.src="http://www.dik.nl//img/widget/solo/iconnext24.png";
imgNext_d.src ="http://www.dik.nl//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.dik.nl//img/widget/solo/iconprev24ov.png";
imgPrev_ou.src="http://www.dik.nl//img/widget/solo/iconprev24.png";
imgPrev_d.src ="http://www.dik.nl//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.dik.nl//img/widget/solo/iconplay24ov.png";
imgPlay_ou.src="http://www.dik.nl//img/widget/solo/iconplay24.png";
imgPlay_d.src ="http://www.dik.nl//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.dik.nl//img/widget/solo/iconstop24ov.png";
imgStop_ou.src="http://www.dik.nl//img/widget/solo/iconstop24.png";
imgStop_d.src ="http://www.dik.nl//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.dik.nl//img/widget/solo/iconmatrix24ov.png";
imgMatrix_ou.src="http://www.dik.nl//img/widget/solo/iconmatrix24.png";
imgMatrix_d.src ="http://www.dik.nl//img/widget/solo/iconmatrix24d.png";

var wgElm_702390 = document.getElementById('viidoo_solo_702390');
if (wgElm_702390) {
	vp_createwg();
}

pgstats.addcollect('chid','23673');
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_702390" class="widget_flash v69resetstyle" style="width: 270px;height:234px;overflow:hidden; border: 1px solid #DDDDDD;font-family:Trebuchet MS,Lucida Sans Unicode,Lucida Grande,Lucida Sans,Tahoma,Geneva,Arial,helvetica,sans-serif">';

	cvids_702390.push({vid:111953, thumb: 'http://i.ytimg.com/vi/Oc3menDPFs4/0.jpg', title: 'D66 TV-spot 2010', desc: 'De nieuwe D66-spot voor de zendtijd politieke partijen'});
	cvids_702390.push({vid:100989, thumb: 'http://i.ytimg.com/vi/wxO2hIoScpE/0.jpg', title: 'D66 Campagne-spot Hans van Mierlo 1966', desc: 'De allereerste reclamespot van D66 werd als zeer revolutionair gezien, door het feit dat Hans van Mierlo de kijker (kiezer) direct aankeek en aansprak'});
	cvids_702390.push({vid:99731, thumb: 'http://i.ytimg.com/vi/YbuVTxByP38/0.jpg', title: 'jeroenvan spijk D66 Amsterdam Oost.MOV', desc: 'D66 Amsterdam Oost Creatief Caf\u00e9 Oost Jeroen van Spijk'});
	cvids_702390.push({vid:93132, thumb: 'http://i.ytimg.com/vi/nMkCajLuGL0/0.jpg', title: 'Jan-bert Vroege nr: 2 D66 Oost', desc: 'Jan-bert Vroege, Kandidaat raadslid nr: 2 Amsterdam Oost'});
	cvids_702390.push({vid:96107, thumb: 'http://i.ytimg.com/vi/O51_GWywY1A/0.jpg', title: 'D66 Amsterdam Oost Onderwijs Huiskamer Tanja.MOV', desc: 'interview met Tanya Sancisi nav huiskamerbijeenkomst over Onderwijs in Amsterdam Oost en ijburg'});
	cvids_702390.push({vid:97374, thumb: 'http://i.ytimg.com/vi/YE5fXtSLDIw/0.jpg', title: 'D66 Amsterdam Oost huiskamer Horeca.MOV', desc: 'D66 Amsterdam Oost Jelmer Alberts over huiskamerbijeenkomst Horeca in Oost'});
	cvids_702390.push({vid:99730, thumb: 'http://i.ytimg.com/vi/UH20Y5ekgZI/0.jpg', title: 'Meer voorzieningen op Ijburg: Jeroen van Spijk D66-Oost', desc: 'D66 durft te kiezen voor vernieuwing en meer voorzieningen op Ijburg, D66, Amsterdam, Jeroen van Spijk, Lijsttrekker D66-Amsterdam Oost'});
	cvids_702390.push({vid:97587, thumb: 'http://i.ytimg.com/vi/Ue3sQKHrj4U/0.jpg', title: 'jeroen bieb.MOV', desc: 'D66 Amsterdam Oost Jeroen van Spijk over opening van bibliotheken op zondag'});
	cvids_702390.push({vid:97376, thumb: 'http://i.ytimg.com/vi/ZqDXnU21ByY/0.jpg', title: 'liesbeth.MOV', desc: 'D66 Amsterdam Oost, kandidaat Liesbeth Boesenkool over horeca kunst cultuur en creativiteit in Amsterdam oost'});
	cvids_702390.push({vid:99732, thumb: 'http://i.ytimg.com/vi/uhu9Tq2nxTY/0.jpg', title: 'D66 Amsterdam Oost Jeroen gerristen.MOV', desc: 'D66 Amsterdam Oost Jeroen Gerritsen 2 dagen voor de verkiezing van 3 maart 2010'});
	cvids_702390.push({vid:97373, thumb: 'http://i.ytimg.com/vi/sIPH30KefRg/0.jpg', title: 'studiok.MOV', desc: 'D66 Amsterdam Oost over huiskamerbijeenkomst Horeca in Oost;'});
	cvids_702390.push({vid:96108, thumb: 'http://i.ytimg.com/vi/mJUHaIByPOs/0.jpg', title: 'D66 Amsterdam Oost Onderwijs Huiskamerbijeenkomst Nico Jansen', desc: 'D66 Amsterdam Oost Onderwijs Huiskamerbijeenkomst Nico Jansen ijburg Oost-'});
	cvids_702390.push({vid:93131, thumb: 'http://i.ytimg.com/vi/Mix-xHio00Q/0.jpg', title: 'D66 Amsterdam Oost - Jeroen Gerritsen', desc: 'Jeroen Gerritsen (kandidaat deelraad) over flyeren in Amsterdam Oost - Zeeburg'});
	cvids_702390.push({vid:94812, thumb: 'http://i.ytimg.com/vi/PEFRdRz3sFg/0.jpg', title: 'Wonen: D66 \&amp; Gemeenteraadsverkiezingen', desc: 'De woningmarkt zit op slot. Regels voor huursubsidie, bouwprocedures en sociale woningbouw hebben de markt vast laten lopen. Wij moeten haar weer in beweging brengen. Zodat iedereen toegang heeft tot een woning die aansluit bij zijn of haar levensfase. Er moeten meer en meer verschillende woningen gebouwd worden. Zodat ook starters in de steden een woning kunnen kopen. Woningcorporaties moeten terug naar hun kerntaak. Zij moeten goed gecontroleerde publieke organisaties zijn, zonder commerci\u00eble neventaken en avonturen. Door de hypotheekrenteaftrek voor de duurste woningen te beperken, moet een eerlijkere markt ontstaan.'});
	cvids_702390.push({vid:93136, thumb: 'http://i.ytimg.com/vi/IvoaONaeSuI/0.jpg', title: 'D66 AmsterdamOost- Jeroen van Spijk', desc: 'Lijsttrekker Jeroen van Spijk over faciliteiten op ijburg met name voor jongeren'});
	cvids_702390.push({vid:97375, thumb: 'http://i.ytimg.com/vi/ZPCI_H-WXhU/0.jpg', title: 'arena hkb.MOV', desc: 'D66 Amsterdam Oost Huiskamer bijeenkomst over Horeca in Oost, Jelmer interviewt Kukzal van Hotel Arena'});
	cvids_702390.push({vid:94811, thumb: 'http://i.ytimg.com/vi/T8M84Fk76og/0.jpg', title: 'Duurzaam D66 \&amp; Gemeenteraadsverkiezingen: ', desc: 'D66 wil een omwenteling naar een duurzame economie en samenleving. Nu is het moment daarvoor. Met meer ambitie, meer durf, meer vrijheid en minder regels. De ecologische voetafdruk van ons land en onze generatie moet terug naar een eerlijk aandeel. Dit zijn we aan komende generaties verplicht. Hiertoe moeten nationale, regionale en lokale overheden al hun creativiteit en innovatiekracht inzetten. En bedrijven en individuen stimuleren hetzelfde te doen. Voor duurzame technologie, groene energie, schoon wonen, werken en vervoeren. Gemeenten hebben een grote rol te spelen in de transitie naar een duurzamer gebruik en opwekking van energie. Daarbij vindt D66 dat gemeenten zich vooral moeten richten op woningisolatie, op het actief ondersteunen van private initiatieven bijvoorbeeld in wind energie, het aansporen tot energiebesparing en het stimuleren van particuliere experimenten met nieuwe technologie\u00ebn.'});
	cvids_702390.push({vid:93135, thumb: 'http://i.ytimg.com/vi/qZEeQVuqVyE/0.jpg', title: 'D66 Amsterdam Oost - Jelmer Alberts', desc: 'D66 kandidaat voor Amsterdam Oost Jelmer Alberts (3) over een bruisend stadsdeel Oost, winkelcentrum Brazilie, Zeeburg'});
	cvids_702390.push({vid:93133, thumb: 'http://i.ytimg.com/vi/R7knhQddPgA/0.jpg', title: 'D66 Amsterdam Oost - Tanya Sancisi', desc: 'Tanya Sancisi D66 Amsterdam Oost over ontsluiting van ijburg nu.'});
	cvids_702390.push({vid:94810, thumb: 'http://i.ytimg.com/vi/i9O4qSNSX4w/0.jpg', title: 'kennis \&amp; innovatie: D66 \&amp; Gemeenteraadsverkiezingen: ', desc: 'Het belang van kennis en innovatie is glashelder. Er is veel gepraat maar weinig actie. Onze handen jeuken. Alleen het allerbeste onderzoek en onderwijs is goed genoeg. Goed onderwijs is de beste garantie voor persoonlijke, maatschappelijke en economische ontwikkeling. De basis voor een samenleving waarin iedereen tot zijn recht komt en alle mensen de kans krijgen het beste uit zichzelf te halen. Wij willen tot de top behoren, niet tot de middelmaat. Dat betekent veel meer investeren. Maar ook meer vrijheid voor scholen en leraren om dat onderwijs, samen met ouders en leerlingen in te richten. Gemeenten moeten werk maken van zwakke scholen, slechte huisvesting en schooluitval. Minder bureaucratie en regels van bovenaf. Meer ruimte voor ontplooiing. Meer leren, meer stimuleren, meer doorstroming en minder uitval.'});
	cvids_702390.push({vid:94809, thumb: 'http://i.ytimg.com/vi/faH2m9rdFJM/0.jpg', title: 'werk en economie D66 \&amp; Gemeenteraadsverkiezingen', desc: 'In economisch zwaar weer moet vernieuwing beginnen op de arbeidsmarkt. D66 is overtuigd van de kracht en vindingrijkheid van mensen en bedrijven. Zeker in de huidige crisis, moet deze kracht zorgen voor een economische ommekeer. De overheid moet voorwaarden scheppen en barri\u00e8res wegnemen. Niet doen alsof mensen nog steeds hun hele leven dezelfde baan houden. Die baan is tijdelijk, uw vaardigheden en talenten blijven. D66 wil een flexibelere arbeidsmarkt. Meer solidariteit tussen jong en oud, actief en niet-actief, insiders en outsiders. Wij willen een geleidelijke verhoging van de AOW-leeftijd. Om de verzorgingsstaat ook voor komende generaties betaalbaar te houden. D66 streeft naar een grotere arbeidsparticipatie, voor oudere werknemers, outsiders en ouders. Een vernieuwd ontslagrecht moet zorgen voor betere doorstroom en gelijke kansen.'});
	cvids_702390.push({vid:96109, thumb: 'http://i.ytimg.com/vi/Nsiz3IPpFgo/0.jpg', title: 'Huiskamer interview Jelle Verwer.MOV', desc: ''});
	cvids_702390.push({vid:93129, thumb: 'http://i.ytimg.com/vi/HrmVsxJtN5U/0.jpg', title: 'D66 Amsterdam Oost - Oliver Nierman', desc: 'D66-er Oliver Nierman over ijburg'});
	cvids_702390.push({vid:94808, thumb: 'http://i.ytimg.com/vi/dlOv-7WhSaQ/0.jpg', title: 'D66 \& Gemeenteraadsverkiezingen: kwaliteit van overheid en bestuur', desc: 'De overheid is er voor u. Met die gedachte is D66 meer dan 40 jaar geleden opgericht. En nog steeds is deze actueel. We zien macht zonder tegenmacht. Een overheid die uitbreidt, opschuift en binnendringt. Maar niet doet wat ze belooft. Er zijn nieuwe regenten. Mensen die met regeltjes komen die uitgaan van wantrouwen in plaats van vertrouwen, die onze burgerlijke vrijheden onder druk zetten, regels die ontplooiing van mensen in de weg staan. De overheid is er voor de mensen. En niet andersom. Wij willen een overheid die Ja zegt en ruimte biedt voor initiatieven. En de overheid moet zekerheid bieden over het uitvoeren van haar kerntaken. Goede dienstverlening, kwaliteit in het onderwijs, goed openbaar vervoer, een leefomgeving die schoon, heel en veilig is. Daarbij vindt D66 dat we zoveel mogelijk zaken zo dicht mogelijk bij de burger moeten organiseren. In gemeenten, want daar is maatwerk en verantwoording het best mogelijk.'});
	cvids_702390.push({vid:93189, thumb: 'http://i.ytimg.com/vi/4iRlevIC5Bw/0.jpg', title: 'Jan Bert Oost kandidaat D66', desc: 'Jan Bert is de drijvende kracht achter de organisatie van de gemeenteraadsverkiezingen. Hij is ook nog kandidaat voor Oost. Wat beweegt hem?'});
html+='<div class="v69resetstyle" id="thumb_702390" style="width:270px;height:208px;background-color:#FFFFFF;position:relative;">';
html+=vidthumbhtml_702390(curvid_702390);
html+='</div>';
	html +='<div class="v69resetstyle" style="height:26px;width:270px;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_702390();"><span style="color:#888;"></div>';
	html +='<img style="position:absolute;left:136px;top:0px;height:25px;z-index:5;cursor:pointer;margin:0;padding:0;" src="http://www.dik.nl/img/project/dik/logo.png" onclick="location.href=vidplayurl_702390();">';
		html +='<img onclick="showmatrix_702390(0);" style="position:absolute;left:5px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://www.dik.nl//img/widget/solo/iconmatrix24.png" title="overzicht van alle videos"  	id="pgmatrix_702390" 	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);"/>';
		html +='<img onclick="playprev_702390();" style="position:absolute;left:194px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://www.dik.nl//img/widget/solo/iconprev24.png" title="ga naar de vorige video in het kanaal"  		id="pgprev_702390" 	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" />';
	//html +='<img onclick="playstop_702390();" style="position:absolute;left:194px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://www.dik.nl//img/widget/solo/iconstop24.png" title="stop"  													id="pgstop_702390"	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" />';
	//html +='<img onclick="playstart_702390();" style="position:absolute;left:218px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://www.dik.nl//img/widget/solo/iconplay24.png" title="afspelen"  									id="pgplay_702390"	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" />';
	// start is now a toggle
	html +='<img onclick="playstartstop_702390();" style="position:absolute;left:218px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://www.dik.nl//img/widget/solo/iconplay24.png" title="afspelen"  									id="pgplay_702390"	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" />';
	html +='<img onclick="playnext_702390();" style="position:absolute;left:242px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://www.dik.nl//img/widget/solo/iconnext24.png" title="ga naar de volgende video in het kanaal"  	id="pgnext_702390"	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" />';
	html +='</div>';
	html+='</div>';
	wgElm_702390.innerHTML=html;
	wgElm_702390.style.display = 'block';
		updAllButState(); 
}

function playnext_702390() {
	if (curvid_702390 < cvids_702390.length -1 ) {
		curvid_702390++;
		if (cpvideo_702390)
			playstart_702390();	// we are playing video
		else {
			var thumbdiv=document.getElementById('thumb_702390');
			thumbdiv.innerHTML=vidthumbhtml_702390(curvid_702390);
		}
	}
	updAllButState();
}
function playprev_702390() {
	if (curvid_702390 >0 ) {
		curvid_702390--;
		if (cpvideo_702390)
			playstart_702390();	// we are playing video
		else {
			var thumbdiv=document.getElementById('thumb_702390');
			thumbdiv.innerHTML=vidthumbhtml_702390(curvid_702390);
		}
	}
	updAllButState();
}

function playstart_702390(vnr) {
	closepopup_702390();	// close popup (if open)
	if (vnr==null)
		vnr=curvid_702390;
	else
		curvid_702390=vnr;	// set the current
	var thumbdiv=document.getElementById('thumb_702390');
	thumbdiv.style.background='#FFF url(http://www.dik.nl/img/spinner32.gif) no-repeat 105px 74px';
	thumbdiv.innerHTML='<iframe name="playerframe" class="playerframe" src="http://www.dik.nl/widget/playvideo/'+cvids_702390[vnr].vid+'/270/208/L/W" width="270" height="208" frameborder="0" scrolling="no" allowtransparency="true"></iframe>';
	cpvideo_702390=true;
	updAllButState();
}

function playstop_702390() {
	cpvideo_702390=false;
	var thumbdiv=document.getElementById('thumb_702390');
	thumbdiv.style.background='#FFF';
	thumbdiv.innerHTML=vidthumbhtml_702390(curvid_702390);
	updAllButState();
}

function playstartstop_702390() {
	if (cpvideo_702390) 
		playstop_702390();
	else
		playstart_702390();
}

function vidthumbhtml_702390(vnr) {
	var html='';
	html+='<div class="v69resetstyle" style="width:260px;height:163px; overflow:hidden; position:absolute;left:5px;top:5px;">';
html+='<img src="'+cvids_702390[vnr].thumb+'" style="width:260px;height:195px;top:-16px;position:relative;">';
html+='</div>';
html+='<div class="v69resetstyle" style="width:250px;height:30px;position:absolute;left:5px;top:168px;background-color:#AAA;padding:5px;"><div class="v69resetstyle" style="overflow:hidden;height:27px;width:250px;"><div class="v69resetstyle" style="margin: 1px 3px; white-space: nowrap; font-size:12px;line-height:12px;color:#555555;">'+htmlspecialchars(cvids_702390[vnr].title)+'</div><div class="v69resetstyle" style="margin: 1px 5px; font-size:11px;line-height:11px;color:#ffffff;overflow:hidden;height:40px;"  title="'+htmlspecialchars(cvids_702390[vnr].desc)+'">'+htmlspecialchars(cvids_702390[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_702390.length)+'</div></div></div>';
html+='<div class="v69resetstyle" style="position: absolute; width:72px;height:72px;top:68px;left:99px;z-index:200;cursor:pointer;cursor:hand;background:url(http://www.dik.nl/img/media_play72.png) no-repeat;" onClick="playstart_702390();"></div>';
	return html;
}

function vidthumbhtmlSmall_702390(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_702390('+vnr+')" title="'+htmlspecialchars(cvids_702390[vnr].desc)+'" src="'+cvids_702390[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://www.dik.nl/img/media_play24.png) no-repeat;" onclick="playstart_702390('+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_702390[vnr].title)+'</div>';
			html+='</div>';
		html+='</div>';
	html+='</div>';
	return html;
}

// cp 1..npages
function paginationhtml_702390(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_702390('+(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_702390('+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_702390('+(cp+1)+');">Next &#187;</span>';
	else
		html+='<span class="pageblock_disabled">Next &#187;</span>';
	html+='</div>';
	return html;
}

function vidplayurl_702390(vnr) {
	if (vnr==null)
		vnr=curvid_702390;
	return 'http://www.dik.nl/channel/player/23673/'+cvids_702390[vnr].vid;
}

//------------------------------------ button handlers --------------------------------------
function stButImg(oBut) {
	if (oBut.id == 'pgnext_702390') { 
		if (curvid_702390 >= cvids_702390.length -1 ) 
			oBut.src = imgNext_d.src;
		else
			oBut.src= butnext_mousein ? imgNext_ov.src : imgNext_ou.src;
	}
	if (oBut.id == 'pgprev_702390') { 
		if (curvid_702390==0 ) 
			oBut.src = imgPrev_d.src;
		else
			oBut.src= butprev_mousein ? imgPrev_ov.src : imgPrev_ou.src;
	}
	if (oBut.id == 'pgplay_702390') { 
		if (cpvideo_702390) 	// 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_702390') { 
	// 	if (!cpvideo_702390 ) 	// currently NOT playing
	// 		oBut.src = imgStop_ov.src;
	// 	else
	// 		oBut.src= butstop_mousein ? imgStop_ov.src : imgStop_ou.src;
	// }
	if (oBut.id == 'pgmatrix_702390') { 
		oBut.src= butmatrix_mousein ? imgMatrix_ov.src : imgMatrix_ou.src;
	}
}

function oMouEv(oBut,mouseIn) {
	
	if (oBut.id == 'pgnext_702390') 
		butnext_mousein=mouseIn;
	if (oBut.id == 'pgprev_702390') 
		butprev_mousein=mouseIn;
	if (oBut.id == 'pgplay_702390') 
		butplay_mousein=mouseIn;
	// if (oBut.id == 'pgstop_702390') 
	// 	butstop_mousein=mouseIn;
	if (oBut.id == 'pgmatrix_702390') 
		butmatrix_mousein=mouseIn;
	stButImg(oBut);
}

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

	el = document.getElementById('pgprev_702390');
	if (el) 
		stButImg(el); // update prevbutton state
		
	el = document.getElementById('pgplay_702390');
	if (el) 
		stButImg(el); // update prevbutton state
		
	// el = document.getElementById('pgstop_702390');
	// if (el) 
	// 	stButImg(el); // update prevbutton state

	el = document.getElementById('pgmatrix_702390');
	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_702390() {
  el = document.getElementById('ipopup_702390');
  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_702390(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_702390');
	var html='';
	for (var i=(matrix_curpg-1)*16,cv=0;i<cvids_702390.length && cv<16;i++) {
		html+=  vidthumbhtmlSmall_702390(i);
		cv++;
	}
	html+=  '<div class="v69resetstyle" style="clear:both;"></div>';
	if (matrix_npages>1) {
		html+=  '<div  class="v69resetstyle" style="margin:10px 0px">'+paginationhtml_702390(matrix_curpg, matrix_npages)+'</div>';
	}

	mxs.innerHTML=html;
}

function showmatrix_702390() {
	// close old one
	closepopup_702390();

	matrix_npages= Math.ceil(cvids_702390.length / 16);
	
	// open new
	var popup_div = document.createElement('div');
	var title='matrix';
	popup_div.id = "ipopup_702390";
	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_702390();" style="position:absolute;top:7px;right:8px;cursor:pointer;cursor:hand;background:url(http://www.dik.nl/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;">D66 AmsterdamOost</div>';
	vid_html+=	'<div class="v69resetstyle" style="margin:30px 10px 10px 10px;" id="mxs_702390">';
	// for (var i=0,cv=0;i<cvids_702390.length && cv<16;i++) { 
	// 		vid_html+=  vidthumbhtmlSmall_702390(i);
	// 		cv++;
	// 	}
	// 	vid_html+=  '<div style="clear:both;"></div>';
	// 
	// 	if (matrix_npages>1) {
	// 		vid_html+=  '<div style="margin:10px 0px">'+paginationhtml_702390(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_702390(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 + '"';
}



