//chart2.js for channel 915 / widget 9808 / WxH: 550x375 / skin: clean / vid: 0 / autoplay: N / shareicon: Y 
// 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();
// 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
var isIE = /MSIE ((5\.5)|[6])/.test(navigator.userAgent) && navigator.platform == "Win32";

var cvids_9808= new Array();	// channelvideo's
var curvid_9808=0;			// first video
var cpvideo_9808=false;		// false=thumb, true=video

var matrix_curpg=1;
var matrix_npages=0;
var matrix_itemspp=3;	// 16
var tweenflip=0;
var tween1=null;
var tween2=null;

var butnext_mousein=false;
var butprev_mousein=false;
var img1_ov = new Image;
var img1_ou = new Image;
var img1_d  = new Image;
var img2_ov = new Image;
var img2_ou = new Image;
var img2_d  = new Image;
img1_ov.src="http://incdn.s3.amazonaws.com/yubbyp_v1/img/widget/chart2/iconprev24ov.png";
img1_ou.src="http://incdn.s3.amazonaws.com/yubbyp_v1/img/widget/chart2/iconprev24.png";
img1_d.src ="http://incdn.s3.amazonaws.com/yubbyp_v1/img/widget/chart2/iconprev24d.png";
img2_ov.src="http://incdn.s3.amazonaws.com/yubbyp_v1/img/widget/chart2/iconnext24ov.png";
img2_ou.src="http://incdn.s3.amazonaws.com/yubbyp_v1/img/widget/chart2/iconnext24.png";
img2_d.src ="http://incdn.s3.amazonaws.com/yubbyp_v1/img/widget/chart2/iconnext24d.png";

var wgElm_9808 = document.getElementById('viidoo_chart2_9808');
if (wgElm_9808) {
	vp_createwg();
}

pgstats.addcollect('chid','915');
pgstats.addcollect('hit','embed');
pgstats.addcollect('widget','chart2');
pgstats.xPageHit();

function vp_createwg() {
	var html='<div id="widget_flash_9808" class="widget_flash" style="width: 550px;height:375px;overflow:hidden; margin:0;padding:0;border:0px solid #DDDDDD;background:#fff;position:relative;font-family:Arial,helvetica,sans-serif">';
	html+='<div style="margin:0px;">';
	cvids_9808.push({vid:13791, thumb: 'http://i.ytimg.com/vi/i7UG0qBJDEY/1.jpg', title: 'CES 2009: Ion Rock Band Drum Set', desc: 'CrunchGear.com'});
	cvids_9808.push({vid:13792, thumb: 'http://i.ytimg.com/vi/q2OKEM3VNPY/1.jpg', title: 'CES 2009: iRiver Wave', desc: 'http://www.crunchgear.com/2009/01/09/hands-on-the-iriver-wave-home-multimedia-thingie/'});
	cvids_9808.push({vid:13790, thumb: 'http://i.ytimg.com/vi/mh_DRcvoPBQ/1.jpg', title: 'CES 2009: BeerTube 100 ounce beer tower', desc: 'We review a beer tower'});
	cvids_9808.push({vid:13789, thumb: 'http://i.ytimg.com/vi/lA0LftYuBgM/1.jpg', title: 'CES 2009: SanDisk slotRadio player', desc: 'CrunchGear.com'});
	cvids_9808.push({vid:13788, thumb: 'http://i.ytimg.com/vi/2IDq2o51rWA/1.jpg', title: 'CES 2009: Barbie Digital Nail Printer', desc: 'CrunchGear.com'});
	cvids_9808.push({vid:13787, thumb: 'http://i.ytimg.com/vi/QwxzWfaA4Bk/1.jpg', title: 'CES 2009: Hands on with the MSI X320', desc: 'CrunchGear.com'});
	cvids_9808.push({vid:13793, thumb: 'http://i.ytimg.com/vi/tfYBVKniWXs/1.jpg', title: 'Racing game accessory at CES - very large.', desc: 'I can\'t imagine having one of these things at my house.'});
	cvids_9808.push({vid:13786, thumb: 'http://i.ytimg.com/vi/pYskBhuzIHE/1.jpg', title: 'CrunchGear\'s hands-on with the new Eee Keyboard at CES 2009', desc: 'CrunchGear gets the first hands-on with Asus\' coveted Eee Keyboard on the show floor at CES 2009. It\'s pretty much a whole home theater PC in a keyboard, and it\'s slick as hell.'});
	cvids_9808.push({vid:13785, thumb: 'http://i.ytimg.com/vi/CTDxHMKWxI8/1.jpg', title: 'CES 2009: Johnny Rabb playing Roland TD-20S drum kit', desc: 'http://www.crunchgear.com/2009/01/09/johnny-rabb-flails-arms-about-makes-cool-rhythm-like-sounds/'});
	cvids_9808.push({vid:13784, thumb: 'http://i.ytimg.com/vi/PCOU3rSQ-8Q/1.jpg', title: 'CES 2009: IOGEAR USB-to-VGA Converter', desc: 'CrunchGear.com'});
	cvids_9808.push({vid:13783, thumb: 'http://i.ytimg.com/vi/L8JVvztcErw/1.jpg', title: 'CES 2009: Rock Band in the back of a truck', desc: 'CrunchGear.com'});
	cvids_9808.push({vid:13782, thumb: 'http://i.ytimg.com/vi/XyjhM2Nh4p0/1.jpg', title: 'CES 2009: CrunchGear Interviews Les Stroud of \"Survivorman\"', desc: 'http://www.crunchgear.com/2009/01/09/ces-2009-interview-with-les-stroud-of-survivorman/'});
	cvids_9808.push({vid:13780, thumb: 'http://i.ytimg.com/vi/Aqk5oeVUcLw/1.jpg', title: 'CES 2009: LG SkyCharger', desc: 'CrunchGear.com'});
	cvids_9808.push({vid:13779, thumb: 'http://i.ytimg.com/vi/g7tS_90Xv1Q/1.jpg', title: 'CES 2009: HP Firebird with Voodoo DNA', desc: 'CrunchGear.com'});
	cvids_9808.push({vid:12851, thumb: 'http://i.ytimg.com/vi/e373p48zRG0/1.jpg', title: 'Elevator Pitch Friday: Toksta\u2019s Browser-Based IM (With Free Puppies)', desc: 'Today\u2019s featured Elevator Pitch comes from Toksta, a browser-based instant message/chat client that can be integrated into most websites with only a few snippets of code. The service supports text, voice, and video (Flash is required for the latter two), and is free. The site generates revenue by placing ads in the browser-based chat windows, and allows site owners to participate in a revenue sharing agreement (you can also pay for a premium, ad-free whitelabel version).\n\nRead the full post on Techcrunch: http://www.techcrunch.com/2009/01/02/elevator-pitch-friday-tokstas-browser-based-im-with-free-puppies/'});
	cvids_9808.push({vid:12853, thumb: 'http://i.ytimg.com/vi/n41c6eXWZwM/1.jpg', title: 'Wii wish you a merry Christmas', desc: 'I think we\u2019re all familiar with the infamous Nintendo 64 freakout. And on Christmas Eve Nicholas shared some Wii-inspired freakouts. The following clip was not part of that collection of Christmas cheer. No, this one stands head and shoulders above the rest, like the shining star atop the tree.\n\nRead more on Techcrunch: http://www.crunchgear.com/2009/01/02/wii-wish-you-a-merry-christmas/'});
	cvids_9808.push({vid:12852, thumb: 'http://i.ytimg.com/vi/O29BHsOymCI/1.jpg', title: 'Me2: Swap Contacts On Your iPhone To The Nostalgic Squeals Of A 56k Modem', desc: 'Me2, a new app that just went live on the App Store, allows users to transfer their contact information in a way that is sure to stir up some familiar (and perhaps not so fond) memories for any computer user over the age of 12. Using similar technology to the modems of yesteryear, the free application transfers data between two iPhones using a brief series of audible chirps. To send a contact, users simply push their phones together, select which contact they\u2019d like to send, and wait for the 1-second burst of sound to transfer their information. It might be old school, but it\u2019s very cool.\n\nRead the full post on Techcrunch: http://www.techcrunch.com/2009/01/04/me2-swap-contacts-on-your-iphone-to-the-nostalgic-squeals-of-a-56k-modem/'});
	cvids_9808.push({vid:12576, thumb: 'http://i.ytimg.com/vi/jjXyqcx-mYY/1.jpg', title: 'YouTube Looks Back At A Year In Video; Hulu Brings in 2009 Live From New York', desc: 'YouTube is posting their year end review of the top videos, measured by ratings, favorites and number of comments.\n\nLast year they posted just 10 videos. This year, 24. They\u2019ll be posting one per hour all day today and then summarize them at midnight when everyone will presumably find them much funnier because they\u2019ve been drinking for hours (hopefully not alone watching the Big Apple fall live on Hulu).\n\nRead the post on Techcrunch: http://www.techcrunch.com/2008/12/31/youtubes-year-in-video-24-videos-one-per-hour/'});
	cvids_9808.push({vid:12575, thumb: 'http://images.vimeo.com/22/50/78/225078295/225078295_200.jpg', title: 'Organize Your Company With WizeHive (Beta Invites)', desc: 'Yammer definitely started something. The enterprise Twitter service has more competition today from Wizehive, a Web-based group messaging and task management service for businesses. WizeHive just launched in beta. We have 500 invites (just enter \u201cTC2009\u2033 when you sign up).\n\nRead the post on Techcrunch: http://www.techcrunch.com/2008/12/30/organize-your-company-with-wizehive-beta-invites/'});
	cvids_9808.push({vid:11485, thumb: 'http://i.ytimg.com/vi/g8PiKnEioTA/1.jpg', title: 'RjDj Continues To Be The Most Trippy App On The iPhone (And I Love It)', desc: 'Back in October I wrote about a new iPhone app called RjDJ, which I described as \u201cAn Awesome, Trippy Soundtrack For Your Life\u201c. The application includes a set of entrancing songs that go on forever, using the iPhone\u2019s internal microphone to \u2018listen\u2019 to the noises and voices heard in your proximity to dynamically create music. It\u2019s a bizarre and totally unique experience that you should try if you haven\u2019t already. Read more at: http://www.techcrunch.com/2008/12/29/rjdj-continues-to-be-the-trippiest-app-on-the-iphone-and-i-love-it/'});
	cvids_9808.push({vid:11500, thumb: 'http://i.ytimg.com/vi/dm7cUMCL0YQ/1.jpg', title: 'Will It Blend iPhone App: For the man who has everything', desc: 'Need 20 \u201cWill it Blend?\u203f? episodes? Have .99? Then the great god Odin is smiling upon you today for Tom Dickson of Blendtec has an app for you. Blendtec\u2019s decision to blend stuff that should be blended is a marketing coup. Think about it: have you ever heard of Blendtec? Nope. Then they started doing videos of them blending stuff and the rest is history. I never much followed this meme but there\u2019s no shame in loving you some controlled destruction. Read the story here: http://www.crunchgear.com/2008/12/28/will-it-blend-iphone-app-for-the-man-who-has-everything/'});
	cvids_9808.push({vid:11502, thumb: 'http://i.ytimg.com/vi/pUHK0UWhJfg/1.jpg', title: 'BookSprouts, A Social Network For Book Worms And Clubs', desc: 'Reading books is usually a solitary experience, but it triggers social activity as well, as the ongoing success of real-life book clubs shows. BookSprouts is a fairly new online community dedicated to book readers who love discussing books over a nice cup of virtual coffee. The social network is designed to make it easy to start an online book club, discuss books with other individuals, organize meetings and write up reviews. Read more: http://www.techcrunch.com/2008/12/27/booksprouts-a-social-network-for-book-worms-and-clubs/'});
	cvids_9808.push({vid:12577, thumb: 'http://i.ytimg.com/vi/N94s7ix0JPo/1.jpg', title: 'Why Googlers Call Friend Connect \u201cFriendSense\u203f?', desc: 'It\u2019s always fun to hear what Google employees call various projects when they think no one is listening. In 2007 they called the upstart Hulu joint venture Clown Co. as a private joke about the messy start to that unlikely company (I was right there mocking Hulu with them, but later gave them their due when they failed to fail).\n\nRead the full post on Techcrunch: http://www.techcrunch.com/2008/12/26/why-googlers-call-friend-connect-friendsense/'});
	cvids_9808.push({vid:12578, thumb: 'http://i.ytimg.com/vi/4zaNuqLyGpA/1.jpg', title: 'The Richter Scales Are Back. Have Yourself a Merry Little Christmas.', desc: 'Anyone remember the laugh-out-loud Richter Scales song from last year called Here Comes Another Bubble? It\u2019s embedded below in case you\u2019ve forgotten, as well as the version they performed at the Crunchies.\n\nWell, they\u2019re back with their most recent song, a slight variation on Have Yourself A Merry Little Christmas. \u201cDesperate times call for desperate Christmas carols. Here\u2019s our contribution. Enjoy the video, and then go enjoy another egg nog. And another. And another.\u203f?\n\nRead the full post on Techcrunch: http://www.techcrunch.com/2008/12/21/the-richter-scales-are-back-have-yourself-a-merry-little-christmas/'});
	cvids_9808.push({vid:12579, thumb: 'http://i.ytimg.com/vi/BIXwDDcRBCk/1.jpg', title: 'First real iPhone 3G software unlock', desc: 'Put on your woot hats and prepare your fun cannons because the iPhone 3G is getting its official unlock on New Year\u2019s Eve. Isn\u2019t it a little cynical to launch a cellphone unlock on New Year\u2019s Eve? Listen: the folks who will buy an iPhone, break the contract, and soft unlock the thing probably won\u2019t be hanging out in the Rainbow Room come midnight. They\u2019ll be snug in their beds, tapping warily at their MacBook trackpads, counting down the seconds for the first true soft unlock of the iPhone 3G. And they say technology isn\u2019t destroying human interaction.\n\nRead the full story on CrunchGear: http://www.crunchgear.com/2008/12/21/first-real-iphone-3g-software-unlock/'});
	cvids_9808.push({vid:12580, thumb: 'http://i.ytimg.com/vi/SW2-U9ZAm50/1.jpg', title: 'Techfluff.tv - UK Internet culture delivered with a wink', desc: 'After a couple of episodes, it\u2019s becoming clear that Techfluff.TV is in many respects the UK\u2019s answer to Pop17 and RocketBoom. Every week TechFluff delves into the world of web-celebrities and tech startups, particularly the London scene right now, but increasingly across Europe (if the Le Web video is anything to go by).\n\nRead more at Techcrunch: http://uk.techcrunch.com/2008/12/21/techflufftv-uk-internet-culture-delivered-with-a-wink/'});
	cvids_9808.push({vid:12581, thumb: 'http://i.ytimg.com/vi/dIiedyjseyE/1.jpg', title: 'Techfluff.tv - UK Internet culture delivered with a wink', desc: 'After a couple of episodes, it\u2019s becoming clear that Techfluff.TV is in many respects the UK\u2019s answer to Pop17 and RocketBoom. Every week TechFluff delves into the world of web-celebrities and tech startups, particularly the London scene right now, but increasingly across Europe (if the Le Web video is anything to go by).\n\nRead more at Techcrunch: http://uk.techcrunch.com/2008/12/21/techflufftv-uk-internet-culture-delivered-with-a-wink/'});
html+='<div id="thumb_9808" style="width:407px;overflow:hidden;height:336px;background-color:#FFFFFF;position:relative;float:left;">';
html+=vidthumbhtml_9808(curvid_9808);
html+='</div>';
	html +='<div style="height:26px;width:126px;position:absolute;right:5px;">';
		//html +='<img onclick="showmatrix_9808(0);" style="position:absolute;left:66px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://incdn.s3.amazonaws.com/yubbyp_v1/img/widget/chart2/iconmatrix24.png" title="popup an overview with all videos"/>';
		html +='<img id="pgprev_9808" onclick="gotopageoffset_9808(-1);" style="position:absolute;left:0px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://incdn.s3.amazonaws.com/yubbyp_v1/img/widget/chart2/iconprev24.png" onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" title="scroll back"/>';
		//html +='<img onclick="playstop_9808();" style="position:absolute;left:5px;top:20px;cursor:pointer;margin:0;padding:0;" src="http://incdn.s3.amazonaws.com/yubbyp_v1/img/widget/chart2/iconstop24.png" title="stop"/>';
		//html +='<img onclick="playstart_9808();" style="position:absolute;left:5px;top:30px;cursor:pointer;margin:0;padding:0;" src="http://incdn.s3.amazonaws.com/yubbyp_v1/img/widget/chart2/iconplay24.png" title="play"/>';
		html +='<img id="pgnext_9808" onclick="gotopageoffset_9808(1);" style="position:absolute;left:66px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://incdn.s3.amazonaws.com/yubbyp_v1/img/widget/chart2/iconnext24.png" onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);"  title="scroll forward"/>';
		html +='<div style="position:relative;top:54px; width:124px; margin:0px 0px 0px 0px;height:280px;overflow:hidden;border:1px solid #ddd;background-color:#fff" id="mxsoutline_9808">';
			html+='<div id="mxs_9808"  style="position:absolute;top:0px;background-color:#ffffff;"></div>';
			html+='<div id="mxs2_9808" style="position:absolute;top:0px;background-color:#ffffff;"></div>';	// videolist placeholder
		html +='</div>';
	html +='</div>';
	html+='<div style="height:26px;width:100px;position:absolute;bottom:8px;left:0px;">';
	html+='<a target=_blank href="http://www.yubby.com/"><img style="position:absolute;left:0px;top:3px;height:25px;z-index:5;cursor:pointer;margin:0;padding:0;" border=0 src="http://incdn.s3.amazonaws.com/yubbyp_v1/img/project/yubby/logo.png"></a>';
			//html +='<a target=_blank href="http://www.yubby.com/channel/player/915/first"><div style="position:absolute;left:70px;top:9px;color:#444;font-size:11px;line-height:10px;cursor:pointer;width:185px;height:20px;overflow:hidden;" >powered by yubby.com</div></a>';
					html +='<img onclick="toggleembed_9808();" src="http://www.yubby.com/img/icon_share30.png" style="cursor:pointer;position:absolute;left:384px;top:0px;" title="share or embed" alt="share or embed">';
				html +='<a style="text-decoration:none" target=_blank href="http://www.yubby.com/channel/player/915/first"><div style="position:absolute;left:70px;top:3px;color:#444;font-size:11px;line-height:10px;cursor:pointer;width:185px;height:22px;overflow:hidden;" ><span style="color:#888;">You are watching channel</span><br/>TechCrunch video channel</div></a>';
		html+='</div>';
	
	html+='</div></div>';	// margin and innerflash
	html+='<iframe src="http://www.yubby.com/util/ustat" width="0" height="0" border="no" frameborder="0"  style="border:0; visibility: hidden;"></iframe>';
	wgElm_9808.innerHTML=html;
	wgElm_9808.style.display = 'block';

	gotopage_9808(matrix_curpg);	// 1
		
}

function playnext_9808() {
	if (curvid_9808 < cvids_9808.length -1 ) {
		curvid_9808++;
		if (cpvideo_9808)
			playstart_9808();	// we are playing video
		else {
			var thumbdiv=document.getElementById('thumb_9808');
			thumbdiv.innerHTML=vidthumbhtml_9808(curvid_9808);
		}
	}
}
function playprev_9808() {
	if (curvid_9808 >0 ) {
		curvid_9808--;
		if (cpvideo_9808)
			playstart_9808();	// we are playing video
		else {
			var thumbdiv=document.getElementById('thumb_9808');
			thumbdiv.innerHTML=vidthumbhtml_9808(curvid_9808);
		}
	}
}

// play video in video window
function playstart_9808(vnr) {
	closepopup_9808();	// close popup (if open)
	if (vnr==null)
		vnr=curvid_9808;
	else
		curvid_9808=vnr;	// set the current
	var thumbdiv=document.getElementById('thumb_9808');
	thumbdiv.innerHTML='<div></div>';
	thumbdiv.style.background='#FFF url(http://incdn.s3.amazonaws.com/yubbyp_v1/img/spinner32.gif) no-repeat 173.5px 138px';
	thumbdiv.innerHTML='<iframe name="playerframe" class="playerframe" src="http://www.yubby.com/widget/playvideo/'+cvids_9808[vnr].vid+'/407/336/L/W" width="407" height="336" frameborder="0" scrolling="no" allowtransparency="true"></iframe>';
	cpvideo_9808=true;
}

// show large thumb video still
function playstop_9808(vnr) {
	if (vnr==null)
		vnr=curvid_9808;
	else
		curvid_9808=vnr;	// set the current
	cpvideo_9808=false;
	var thumbdiv=document.getElementById('thumb_9808');
	thumbdiv.innerHTML=vidthumbhtml_9808(vnr);
}

// big thumbnail / player window
function vidthumbhtml_9808(vnr) {
	var html='';
	//th: 407 x 336  it: 407 x 274 t= -16 nrdesclines=2 
html+='<div style="width:407px;height:274px; overflow:hidden; position:absolute;left:0px;top:0px;">';
html+='<img src="'+cvids_9808[vnr].thumb+'" style="width:407px;height:305.25px;top:-16px;left:0px;position:relative;">';
html+='</div>';
html+='<div style="width:397px;height:62px;position:absolute;left:0px;bottom:0px;background-color:#BBB;padding:5px;"><div style="overflow:hidden;height:52px;"><div style="white-space:nowrap; margin: 2px 3px; font-size:16px;color:#555555;">'+htmlspecialchars(cvids_9808[vnr].title)+'</div><div style="margin: 2px 5px; font-size:13px;line-height:13px;color:#ffffff;overflow:hidden;height:27px;"  title="'+htmlspecialchars(cvids_9808[vnr].desc)+'">'+htmlspecialchars(cvids_9808[vnr].desc)+'</div><div style="padding: 3px 5px; letter-spacing:1px; background-color: #BBB; color: #333;font-size: 10px; position: absolute; right: 0px; top: -14px; ">'+(vnr+1)+'/'+(cvids_9808.length)+'</div></div></div>';
html+='<div style="position: absolute; width:100px;height:100px;top:118px;left:154px;z-index:200;cursor:pointer;cursor:hand;background:url(http://incdn.s3.amazonaws.com/yubbyp_v1/img/widget/chart2/videoplay100.png) no-repeat;" onClick="playstart_9808();"></div>';
	return html;
}

function visspb(vnr,show) {
	el = document.getElementById('spbid'+vnr);
	if (el) {
		el.style.display = show ? 'block':'none';  
	} 
	if (show && !cpvideo_9808)
		playstop_9808(vnr);
}

// thumbs rechts
function vidthumbhtmlSmall_9808(vnr) {
	var html='';
	html='';
				html+='<div style="margin: 0px; float: left; position: relative; width: 124px; height: 92px;">';
				html+='<div style="width:104px;max-height:58px;background:#f6f6f6;margin:13px auto 0px auto;overflow:hidden;position:relative;">';
				html+='<div style="width:104px;height:58px;background:#cccccc;border:0px solid #dedede;overflow:hidden;position:relative;"  onmouseover="visspb('+vnr+',true);" onmouseout="visspb('+vnr+',false);" >';
						html+='<img style="position:absolute;width:104px;height:78px;top:-10px;left:0;cursor: pointer;" onclick="playstart_9808('+vnr+')" title="'+htmlspecialchars(cvids_9808[vnr].desc)+'" src="'+cvids_9808[vnr].thumb+'" />';
						html+='<div id="spbid'+vnr+'" style="display:none; position: absolute; width:20px;height:20px;top:20px;left:40px;z-index:200;cursor:pointer;cursor:hand;background:url(http://incdn.s3.amazonaws.com/yubbyp_v1/img/widget/chart2/videoplay20.png) no-repeat;" onclick="playstart_9808('+vnr+')"></div>';
					html+='</div>';
				html+='</div>';
				html+='<div style="position: absolute; bottom: 0px; left: 10px;padding:0 0 4px 0;width:104px;height:15px;z-index:200;color:#555;font-size:11px;overflow:hidden;white-space: nowrap;cursor: pointer;" >'+htmlspecialchars(cvids_9808[vnr].title)+'</div>';
			html+='</div>';
		return html;
}

// cp 1..npages
function paginationhtml_9808(cp,npages) {
	if (npages<=1)
		return '';	// empty if no pagination..
	var html='';
	html+='<div class="pages">';
	if (cp>1) {
		// we CAN prev!
		html+= '<span class="pageblock" onclick="gotopage_9808('+(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_9808('+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_9808('+(cp+1)+');">Next &#187;</span>';
	else
		html+='<span class="pageblock_disabled">Next &#187;</span>';
	html+='</div>';
	return html;
}

function vidplayurl_9808(vnr) {
	if (vnr==null)
		vnr=curvid_9808;
	return 'http://www.yubby.com/channel/player/915/'+cvids_9808[vnr].vid;
}

// 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_9808() {
  el = document.getElementById('ipopup_9808');
  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;
}

//------------------------------------ button handlers --------------------------------------
function stButImg(oBut) {
	if (oBut.id == 'pgnext_9808') { 
		if (matrix_curpg>=matrix_npages)
			oBut.src = img2_d.src;
		else
			oBut.src= butnext_mousein ? img2_ov.src : img2_ou.src;
	}
	if (oBut.id == 'pgprev_9808') { 
		if (matrix_curpg<=1)
			oBut.src = img1_d.src;
		else
			oBut.src= butprev_mousein ? img1_ov.src : img1_ou.src;
	}
}

function oMouEv(oBut,mouseIn) {
	
	if (oBut.id == 'pgnext_9808') 
		butnext_mousein=mouseIn;
	if (oBut.id == 'pgprev_9808') 
		butprev_mousein=mouseIn;
	stButImg(oBut);
}

//----------------------------------------- pagination -------------------------------------

function initpage_9808() {
	matrix_npages= Math.ceil(cvids_9808.length / matrix_itemspp);
}

function gotopage_9808(pg) {
		
	if (!matrix_npages)
		initpage_9808();
	if (pg<1)
		pg=1;
	if (pg>matrix_npages)
		pg=matrix_npages;
		
	oldpg=matrix_curpg;
	matrix_curpg=pg;
	var mxs=document.getElementById('mxs_9808');
	var mxs2=document.getElementById('mxs2_9808');
	//if (!mxs)	
	//	alert('mxs_9808 niet gevonden');
	var html='';
	for (var i=(matrix_curpg-1)*matrix_itemspp,cv=0;i<cvids_9808.length && cv<matrix_itemspp;i++) {
		html+=  vidthumbhtmlSmall_9808(i);
		cv++;
	}
	//html+=  '<div style="clear:both;"></div>';
	//if (matrix_npages>1) {
	//	html+=  '<div style="margin:10px 0px">'+paginationhtml_9808(matrix_curpg, matrix_npages)+'</div>';
	//}
	if (oldpg<pg) {
		// stop old motions if busy
		if (tween1)	
			tween1.stop(); 
		if (tween2)
			tween2.stop();
		// tween UP
		(tweenflip?mxs2:mxs).innerHTML=html;	// put that in the NEW (to be shifted in) mxs
		// and start the tweens...
		// todo
		tween1 = new Tween((tweenflip?mxs2:mxs).style,'top',Tween.strongEaseOut,278,0      ,1,'px');
		tween1.start();
		tween2 = new Tween((tweenflip?mxs:mxs2).style,'top',Tween.strongEaseOut,0  ,-278 ,1,'px');
		tween2.start();
		tweenflip=!tweenflip;
		//mxs.innerHTML=html;
	}
	else if (oldpg>pg) {
		// tween down
		if (tween1)	
			tween1.stop(); 
		if (tween2)
			tween2.stop();
		(tweenflip?mxs2:mxs).innerHTML=html;	// put that in the NEW (to be shifted in) mxs
		// and start the tweens...
		// todo
		tween1 = new Tween((tweenflip?mxs2:mxs).style,'top',Tween.strongEaseOut,-278,0   ,1,'px');
		tween1.start();
		tween2 = new Tween((tweenflip?mxs:mxs2).style,'top',Tween.strongEaseOut,0   ,278   ,1,'px');
		tween2.start();
		tweenflip=!tweenflip;
	}
	else {
		(tweenflip?mxs:mxs2).innerHTML=html;
	}
	
	
	
	// disable/enable next/prev buttons
	el = document.getElementById('pgnext_9808');
	if (el) 
		stButImg(el); // update nextbutton state

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

function gotopageoffset_9808(offset) {	// 1 or -1
	if (matrix_npages==0)
		initpage_9808();
	if (matrix_curpg+offset<0 || matrix_curpg+offset>matrix_npages) {
		gotopage_9808(matrix_curpg);
		return 0;
	}
	gotopage_9808(matrix_curpg+offset);
	return 1;
}

function showmatrix_9808() {
	// close old one
	closepopup_9808();

	matrix_npages= Math.ceil(cvids_9808.length / 16);
	
	// open new
	var popup_div = document.createElement('div');
	var title='matrix';
	popup_div.id = "ipopup_9808";
	popup_div.style.position = 'absolute';
	popup_div.style.border = 'none';
	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 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 onclick="closepopup_9808();" 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 style="position:absolute;top:8px;left:15px;color:#888;font-size:15px;overflow:hidden;width:'+(base_width-50)+'px;">TechCrunch video channel</div>';
	vid_html+=	'<div style="margin:30px 10px 10px 10px;" id="mxs_9808">';
	// for (var i=0,cv=0;i<cvids_9808.length && cv<16;i++) { 
	// 		vid_html+=  vidthumbhtmlSmall_9808(i);
	// 		cv++;
	// 	}
	// 	vid_html+=  '<div style="clear:both;"></div>';
	// 
	// 	if (matrix_npages>1) {
	// 		vid_html+=  '<div style="margin:10px 0px">'+paginationhtml_9808(matrix_curpg, matrix_npages)+'</div>';
	// 	}
	vid_html+=	'</div>';
	vid_html+=  '<div style="clear:both;"></div>';
	vid_html+='</div>';
					
	popup_div.innerHTML=vid_html;
	document.body.appendChild(popup_div);
	gotopage_9808(matrix_curpg);
}


function closeembed_9808() {
  el = document.getElementById('iembed_9808');
  if (el) {
    el.parentNode.removeChild(el);
  } 
}
function toggleembed_9808() {
	el = document.getElementById('iembed_9808');
	if (el) 
		closeembed_9808();
	else
		showembed_9808();
}

function showembed_9808() {
	// close old one
	closeembed_9808();
	// open new
	var popup_div = document.createElement('div');
	var title='embed';
	popup_div.id = "iembed_9808";
	popup_div.style.position = 'absolute';
	popup_div.style.border = 'none';
	var base_width=520;

	var base_height=90;
	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';
	popup_div.style.position = 'absolute';
	popup_div.style.bottom = '38px';
	popup_div.style.left = '10px';


	
	var vid_html='';
	vid_html+='<div style="width:510px; height:'+(base_height-10).toString()+'px; border:3px solid #BBB;padding:5px; background-color:#fff;color:#000;">';
	vid_html+='<div onclick="closeembed_9808();" style="position:absolute;top:7px;right:0px;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 style="font-face:Arial, Helvetica;font-size:10px; margin:10px 0 0 0;">';
	vid_html+='<div style="padding-bottom:3px;"><div style="float:left;width:40px;">URL:</div><input type="text" onclick="this.focus();this.select();" style="border: 0pt none ; background-color: #ccc; width: 440px; font-size: 9px; height: 15px;" value="http://www.yubby.com/channel/player/915/first"></div>';
	vid_html+='<div style=""><div style="float:left;width:40px;">Embed:</div><textarea rows=2 cols=100 onclick="this.focus();this.select();" style="border: 0pt none ; background-color: #ccc; width: 440px; font-size: 9px; height: 40px;">&lt;div id=&quot;viidoo_solo_92&quot;&gt&lt;/div&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://www.yubby.com/widget/solojs/915/92/width:550/height:375/skin:clean&quot;&gt;&lt;/script&gt;</textarea></div>';	
	vid_html+='</div>';

	vid_html+='</div>';	
	popup_div.innerHTML=vid_html;
	
	em = document.getElementById('widget_flash_9808');
	if (em) {
    	em.appendChild(popup_div);
	} 
}


// 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 + '"';
}




