//solo.js for channel 8918 / widget 454289 / WxH: 425x369 / 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_454289= new Array();	// channelvideo's
var curvid_454289=0;			// first video
var cpvideo_454289=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_454289 = document.getElementById('viidoo_solo_454289');
if (wgElm_454289) {
	vp_createwg();
}

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

	cvids_454289.push({vid:64347, thumb: 'http://i.ytimg.com/vi/SyZuoDIVXBQ/0.jpg', title: 'Web 2.0 Summit 09:  Mary Meeker, \"High Order Bit: The State', desc: 'Mary Meeker (Morgan Stanley), \"High Order Bit: The State of the Capital Markets, Version Six\"'});
	cvids_454289.push({vid:63842, thumb: 'http://i.ytimg.com/vi/Aolj5gJdrHI/0.jpg', title: 'Web 2.0 Summit 09:  Tim O\'Reilly and  John Battelle, \"Openin', desc: 'Tim O\'Reilly (O\'Reilly Media, Inc.) John Battelle (Federated Media Publishing), \"Opening Welcome\"'});
	cvids_454289.push({vid:63843, thumb: 'http://i.ytimg.com/vi/wyPSObVh5HQ/0.jpg', title: 'Web 2.0 Summit 09:  Brian Roberts and  John Battelle, \"A Con', desc: 'Brian Roberts (Comcast Corporation), John Battelle (Federated Media Publishing), \"A Conversation with Brian Roberts\"'});
	cvids_454289.push({vid:63844, thumb: 'http://i.ytimg.com/vi/qaBre11YB98/0.jpg', title: 'Web 2.0 Summit 09:  Steve Schneider, \"High Order Bit: A Call', desc: 'Steve Schneider (wested), \"High Order Bit: A Call to Arms for Technological Literacy\"'});
	cvids_454289.push({vid:63845, thumb: 'http://i.ytimg.com/vi/g9P3FNw7W-A/0.jpg', title: 'Web 2.0 Summit 09:  Kevin Johnson, \"High Order Bit: Do the E', desc: 'Kevin Johnson (Juniper Networks), \"High Order Bit: Do the Economics of Bandwidth Scale?\"'});
	cvids_454289.push({vid:63846, thumb: 'http://i.ytimg.com/vi/eoDhHfygiwc/0.jpg', title: 'Web 2.0 Summit 09:  Carl Shapiro, \"High Order Bit: The Case', desc: 'Carl Shapiro (US Department of Justice), \"High Order Bit: The Case for Antitrust\"'});
	cvids_454289.push({vid:63847, thumb: 'http://i.ytimg.com/vi/eIGJvYpzsYk/0.jpg', title: 'Web 2.0 Summit 09:  Scott Thompson, \"High Order Bit: An Open', desc: 'Scott Thompson (paypal, Inc.), \"High Order Bit: An Open Platform For Payment\"'});
	cvids_454289.push({vid:63848, thumb: 'http://i.ytimg.com/vi/bESd6OZ_tso/0.jpg', title: 'Web 2.0 Summit 09:  Mark Pincus, \"High Order Bit: Casually S', desc: 'Mark Pincus (Zynga), \"High Order Bit: Casually Serving 130 Million with Games\"'});
	cvids_454289.push({vid:63849, thumb: 'http://i.ytimg.com/vi/8u9rxgj0f3Q/0.jpg', title: 'Web 2.0 Summit 09:  Mark Drummond, \"High Order Bit: A Conver', desc: 'Mark Drummond (Wowd, Inc.), \"High Order Bit: A Conversational Approach to Search\"'});
	cvids_454289.push({vid:63850, thumb: 'http://i.ytimg.com/vi/p5jXcgZnEa0/0.jpg', title: 'Web 2.0 Summit 09:  Evan Williams and John Battelle, \"A Conv', desc: 'Evan Williams (Twitter, Inc.), John Battelle (Federated Media Publishing), \"A Conversation with Evan Williams\"'});
	cvids_454289.push({vid:63851, thumb: 'http://i.ytimg.com/vi/WT2wqXrBQHI/0.jpg', title: 'Web 2.0 Summit 09:  Qi Lu and Tim O\'Reilly, \"A Conversation', desc: 'Qi Lu (Microsoft Online Services Division), Tim O\'Reilly (O\'Reilly Media, Inc.), \"A Conversation with Qi Lu\"'});
	cvids_454289.push({vid:64333, thumb: 'http://i.ytimg.com/vi/D8VTPbZGmh4/0.jpg', title: 'Web 2.0 Summit 09:  Sheryl Sandberg and John Battelle, \"A Co', desc: 'Sheryl Sandberg (Facebook), John Battelle (Federated Media Publishing), \"A Conversation with Sheryl Sandberg\"'});
	cvids_454289.push({vid:64334, thumb: 'http://i.ytimg.com/vi/O3xnQRNQ8-8/0.jpg', title: 'Web 2.0 Summit 09:  \"Discussion: Whither Journalism?\"', desc: 'John Battelle (Federated Media Publishing), Martin Nisenholtz (The New York Times Company), Marissa Mayer (Google), Eric Hippeau (The Huffington Post), Robert Thomson (The Wall Street Journal), \"Discussion: Whither Journalism?\"'});
	cvids_454289.push({vid:64335, thumb: 'http://i.ytimg.com/vi/L40m9qjy7cA/0.jpg', title: 'Web 2.0 Summit 09:  Marissa Mayer', desc: 'Marissa Mayer (Google, Inc.)'});
	cvids_454289.push({vid:64336, thumb: 'http://i.ytimg.com/vi/C3KYtutYJFg/0.jpg', title: '\"Discussion: The Future of Content\"', desc: 'Richard Rosenblatt (Demand Media Inc.), Dan Rosensweig (Guitar Hero), Peter Guber (Mandalay Entertainment), \"Discussion: The Future of Content\"'});
	cvids_454289.push({vid:64337, thumb: 'http://i.ytimg.com/vi/7KL-pwiHlrw/0.jpg', title: 'Web 2.0 Summit 09:  Owen Van Natta and John Battelle, \"A Con', desc: 'Owen Van Natta (myspace), John Battelle (Federated Media Publishing), \"A Conversation with Owen Van Natta\"'});
	cvids_454289.push({vid:64338, thumb: 'http://i.ytimg.com/vi/trXZfaJtAPM/0.jpg', title: 'O\'Reilly Webcast: Nuclear Energy - Future Directions', desc: 'In the United Stated nuclear energy currently provides 75% of all non-fossil electricity generation. Greatly improved performance of nuclear power plants over the last 20 years has resulted in very high operating reliability, leading to plans for construction of new reactors in the United States. This talk will discuss the current status of nuclear energy, and review the potential directions the technology may go in the future.'});
	cvids_454289.push({vid:64339, thumb: 'http://i.ytimg.com/vi/UTsO2FsEauc/0.jpg', title: 'Web 2.0 Summit 09:  Aaron Koblin, \"High Order Bit: A Vision', desc: 'Aaron Koblin (Gray Area Foundation for the Arts), \"High Order Bit: A Vision for Digital Art in San Francisco: The Launch of GAFFTA\"'});
	cvids_454289.push({vid:64340, thumb: 'http://i.ytimg.com/vi/Q9Fv9OIuehI/0.jpg', title: 'Web 2.0 Summit 09:  Mary McDowell, \"High Order Bit: When Can', desc: 'Mary mcdowell (Nokia), \"High Order Bit: When Can We Scale in The Mobile Web?\"'});
	cvids_454289.push({vid:64341, thumb: 'http://i.ytimg.com/vi/Di285pgcZRE/0.jpg', title: 'Web 2.0 Summit 09:  \"Discussion: Humans As Sensors\"', desc: 'Brady Forrest (O\'Reilly Media, Inc.) Markus Tripp (Mobilizy), Deborah Estrin (Computer Science Department, UCLA), Sharon Biggar (Path Intelligence), Di-Ann Eisnor (Waze), \"Discussion: Humans As Sensors\"'});
	cvids_454289.push({vid:64342, thumb: 'http://i.ytimg.com/vi/sdwqwnFVRXg/0.jpg', title: 'Web 2.0 Summit 09:  Carly Fiorina and John Battelle, \"A Conv', desc: 'Carly Fiorina (Carly Fiorina Enterprises), John Battelle (Federated Media Enterprises), \"A Conversation with Carly Fiorina - Sponsored by SAP\"'});
	cvids_454289.push({vid:64343, thumb: 'http://i.ytimg.com/vi/5PDldqVQdvY/0.jpg', title: 'O\'Reilly Webcast: MurderBoarding with Nilofer Merchant', desc: 'Please Note: The audio was recorded over a phone line and is not HD quality. Making the right choices leads us and our organizations to thrive. Many books and speakers wax poetic that the best ideas come from \"blue-sky ideation,\" but generating ideas is only part of the challenge of winning. While brainstorming generates lots of ideas, but you still have to discern the right choices to win. The current economic situation means identifying, winnowing and making the tough choices to choose ...'});
	cvids_454289.push({vid:64344, thumb: 'http://i.ytimg.com/vi/7xNN6Yltbak/0.jpg', title: 'Web 2.0 Summit 09:  Aneesh Chopra and Tim O\'Reilly, \"A Conve', desc: 'Aneesh Chopra (Federal Office of Science and Technology Policy), Tim O\'Reilly (O\'Reilly Media, Inc.), \"A Conversation with Aneesh Chopra\"'});
	cvids_454289.push({vid:64345, thumb: 'http://i.ytimg.com/vi/VQjFzs5yY-0/0.jpg', title: 'Web 2.0 Summit 09:  Shane Robison, \"High Order Bit: Changing', desc: 'Shane Robison (HP), \"High Order Bit: Changing the Energy Equation\"'});
	cvids_454289.push({vid:64346, thumb: 'http://i.ytimg.com/vi/iddTbLo5s1M/0.jpg', title: 'Web 2.0 Summit 09:  Mike Schroepfer, \"High Order Bit: The In', desc: 'Mike Schroepfer (Facebook), \"High Order Bit: The Infrastructure of Facebook\"'});
	cvids_454289.push({vid:64348, thumb: 'http://i.ytimg.com/vi/nZ-5gSzaTxM/0.jpg', title: 'Web 2.0 Summit 09:  Paul Otellini, \"A Conversation with Paul', desc: 'Paul Otellini (Intel Corporation), John Battelle (Federated Media Publishing), \"A Conversation with Paul Otellini\"'});
	cvids_454289.push({vid:64349, thumb: 'http://i.ytimg.com/vi/xEjWgvgsdGc/0.jpg', title: 'Web 2.0 Summit 09:  Cynthia Warner, \"High Order Bit: Burning', desc: 'Cynthia Warner (Sapphire Energy), \"High Order Bit: Burning Algae: The Green Crude Revolution\"'});
	cvids_454289.push({vid:64350, thumb: 'http://i.ytimg.com/vi/sPX2vECcY3k/0.jpg', title: 'Web 2.0 Summit 09:  Walter Scott, \"High Order Bit: The World', desc: 'Walter Scott (digitalglobe), \"High Order Bit: The World is the Index\"'});
	cvids_454289.push({vid:64351, thumb: 'http://i.ytimg.com/vi/Mudwp3iw8f4/0.jpg', title: 'Web 2.0 Summit 09:  \"High Order Ignite - Sponsored by Omidya', desc: 'Bre Pettis (I Make Things), Daniel Fletcher (cellscope), Rolf Herken (mental images gmbh), Jacquelyn Ford Morie (USC Institute for Creative Technologies), Dennis Crowley (foursquare), Moderated by Brady Forrest (O\'Reilly Media, Inc.), \"High Order Ignite - Sponsored by Omidyar Network\"'});
	cvids_454289.push({vid:64352, thumb: 'http://i.ytimg.com/vi/C0BTYF6XVWw/0.jpg', title: 'Web 2.0 Summit 09:  Shantanu Narayen and John Battelle, \"A C', desc: 'Shantanu Narayen (Adobe Systems Incorporated), John Battelle (Federated Media Publishing), \"A Conversation with Shantanu Narayen\"'});
	cvids_454289.push({vid:64353, thumb: 'http://i.ytimg.com/vi/uU_xLfySEWw/0.jpg', title: 'Web 2.0 Summit 09:  Jonathan Miller, \"A Conversation with Jo', desc: 'Jonathan Miller (News Corporation), John Battelle (Federated Media Publishing), \"A Conversation with Jonathan Miller\"'});
	cvids_454289.push({vid:64354, thumb: 'http://i.ytimg.com/vi/KS7-zg25C0Y/0.jpg', title: 'Web 2.0 Summit 09:  Sundar Pichai, \"High Order Bit: A Window', desc: 'Sundar Pichai (Google), \"High Order Bit: A Windows for the Web?\"'});
	cvids_454289.push({vid:64946, thumb: 'http://i.ytimg.com/vi/IhGPWKjPgBw/0.jpg', title: 'Web 2.0 Summit 09:  Brooke Burke, \"A Conversation with Brook', desc: 'Brooke Burke (Modern Mom), Mark Cuban (hdnet, Landmark Theaters, Magnolia Pictures, Dallas Mavericks, filesanywhere, Radical Buy), Introduced by Richard Rosenblatt (Demand Media Inc.), Interviewed by Carson Daly (Last Call with Carson Daly), \"A Conversation with Brooke Burke and Mark Cuban\"'});
	cvids_454289.push({vid:64947, thumb: 'http://i.ytimg.com/vi/onPfMfl7nhk/0.jpg', title: 'Web 2.0 Summit 09: \"Discussion: Web Squared and the Economy of Work\"', desc: 'Liam Casey (PCH International), Maynard Webb (liveops), Josh Green (Panjiva), John Hagel (Deloitte \& Touche), \"Discussion: Web Squared and the Economy of Work\"'});
	cvids_454289.push({vid:64948, thumb: 'http://i.ytimg.com/vi/x3HixDKITHc/0.jpg', title: 'Web 2.0 Summit 09:  Austan Goolsbee, \"A Conversation with Austan Goolsbee\"', desc: 'Austan Goolsbee (President\'s Economic Recovery Advisory Board), Tim O\'Reilly (O\'Reilly Media, Inc.), \"A Conversation with Austan Goolsbee\"'});
	cvids_454289.push({vid:64949, thumb: 'http://i.ytimg.com/vi/eFrDu_ncIhA/0.jpg', title: 'Web 2.0 Summit 09:  Sergey Brin and John Battelle, \"A Conversation with Sergey Brin\"', desc: 'Sergey Brin (Google, Inc.), John Battelle (Federated Media Publishing), \"A Conversation with Sergey Brin\"'});
	cvids_454289.push({vid:64950, thumb: 'http://i.ytimg.com/vi/0DPxa4EveuY/0.jpg', title: 'Web 2.0 Summit 09:  Tim Armstrong and John Battelle, \"A Conversation with Tim Armstong\"', desc: 'Tim Armstrong (AOL), John Battelle (Federated Media Publishing), \"A Conversation with Tim Armstong\"'});
	cvids_454289.push({vid:64951, thumb: 'http://i.ytimg.com/vi/BEMn759LcqA/0.jpg', title: 'Web 2.0 Summit 09: Erin McKean, \"High Order Bit: An API for the English Language\"', desc: 'Erin mckean (Wordnik), \"High Order Bit: An API for the English Language\"'});
	cvids_454289.push({vid:64952, thumb: 'http://i.ytimg.com/vi/4Vr8qiPO1kI/0.jpg', title: 'Web 2.0 Summit 09: Tom Hale, \"High Order Bit: Surviving the Hype Curve: A Case Study\"', desc: 'Tom Hale (Linden Lab), \"High Order Bit: Surviving the Hype Curve: A Case Study\"'});
	cvids_454289.push({vid:64953, thumb: 'http://i.ytimg.com/vi/GZautIZJu2Y/0.jpg', title: 'Web 2.0 Summit 09: Sean Parker, \"High Order Bit: The Rise of the Network Company\"', desc: 'Sean Parker (Founders Fund), \"High Order Bit: The Rise of the Network Company\"'});
	cvids_454289.push({vid:64954, thumb: 'http://i.ytimg.com/vi/NLblEHTnLPQ/0.jpg', title: 'Web 2.0 Summit 09: Safa Rashtchy, \"What Do Teens Want?\"', desc: 'Safa Rashtchy (Former Managing Director and Sr. Research Analyst at Piper Jaffray and Co.)\"What Do Teens Want?\"'});
	cvids_454289.push({vid:64955, thumb: 'http://i.ytimg.com/vi/KY5skobffk0/0.jpg', title: 'Web 2.0 Summit 09:  Tim Berners-Lee and Tim O\'Reilly, \"A Con', desc: 'Tim Berners-Lee (World Wide Web Consortium), Tim O\'Reilly (O\'Reilly Media, Inc.), \"A Conversation with Tim Berners-Lee\"'});
	cvids_454289.push({vid:64956, thumb: 'http://i.ytimg.com/vi/QVd50tsDN7g/0.jpg', title: 'Web 2.0 Summit 09:  \"High Order Ignite - Sponsored by Omidya', desc: 'Bre Pettis (I Make Things), Daniel Fletcher (cellscope), Rolf Herken (mental images gmbh), Jacquelyn Ford Morie (USC Institute for Creative Technologies), Dennis Crowley (foursquare), Moderated by Brady Forrest (O\'Reilly Media, Inc.), \"High Order Ignite - Sponsored by Omidyar Network\"'});
html+='<div class="v69resetstyle" id="thumb_454289" style="width:425px;height:343px;background-color:#FFFFFF;position:relative;">';
html+=vidthumbhtml_454289(curvid_454289);
html+='</div>';
	html +='<div class="v69resetstyle" style="height:26px;width:425px;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_454289();"><span style="color:#888;">You are watching channel</span><br/>Web2.0 2009 SF OreillyMedia</div>';
	html +='<img style="position:absolute;left:281px;top:0px;height:25px;z-index:5;cursor:pointer;margin:0;padding:0;" src="http://www.yubby.com/img/project/yubby/logo.png" onclick="location.href=vidplayurl_454289();">';
		html +='<img onclick="showmatrix_454289(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_454289" 	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);"/>';
		html +='<img onclick="playprev_454289();" style="position:absolute;left:349px;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_454289" 	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" />';
	//html +='<img onclick="playstop_454289();" style="position:absolute;left:349px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://www.yubby.com//img/widget/solo/iconstop24.png" title="stop"  													id="pgstop_454289"	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" />';
	//html +='<img onclick="playstart_454289();" style="position:absolute;left:373px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://www.yubby.com//img/widget/solo/iconplay24.png" title="play"  									id="pgplay_454289"	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" />';
	// start is now a toggle
	html +='<img onclick="playstartstop_454289();" style="position:absolute;left:373px;top:1px;cursor:pointer;margin:0;padding:0;" src="http://www.yubby.com//img/widget/solo/iconplay24.png" title="play"  									id="pgplay_454289"	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" />';
	html +='<img onclick="playnext_454289();" style="position:absolute;left:397px;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_454289"	onmouseover="oMouEv(this,true);" onmouseout="oMouEv(this,false);" />';
	html +='</div>';
	html+='</div>';
	wgElm_454289.innerHTML=html;
	wgElm_454289.style.display = 'block';
		updAllButState(); 
}

function playnext_454289() {
	if (curvid_454289 < cvids_454289.length -1 ) {
		curvid_454289++;
		if (cpvideo_454289)
			playstart_454289();	// we are playing video
		else {
			var thumbdiv=document.getElementById('thumb_454289');
			thumbdiv.innerHTML=vidthumbhtml_454289(curvid_454289);
		}
	}
	updAllButState();
}
function playprev_454289() {
	if (curvid_454289 >0 ) {
		curvid_454289--;
		if (cpvideo_454289)
			playstart_454289();	// we are playing video
		else {
			var thumbdiv=document.getElementById('thumb_454289');
			thumbdiv.innerHTML=vidthumbhtml_454289(curvid_454289);
		}
	}
	updAllButState();
}

function playstart_454289(vnr) {
	closepopup_454289();	// close popup (if open)
	if (vnr==null)
		vnr=curvid_454289;
	else
		curvid_454289=vnr;	// set the current
	var thumbdiv=document.getElementById('thumb_454289');
	thumbdiv.style.background='#FFF url(http://www.yubby.com/img/spinner32.gif) no-repeat 182.5px 141.5px';
	thumbdiv.innerHTML='<iframe name="playerframe" class="playerframe" src="http://www.yubby.com/widget/playvideo/'+cvids_454289[vnr].vid+'/425/343/L/W" width="425" height="343" frameborder="0" scrolling="no" allowtransparency="true"></iframe>';
	cpvideo_454289=true;
	updAllButState();
}

function playstop_454289() {
	cpvideo_454289=false;
	var thumbdiv=document.getElementById('thumb_454289');
	thumbdiv.style.background='#FFF';
	thumbdiv.innerHTML=vidthumbhtml_454289(curvid_454289);
	updAllButState();
}

function playstartstop_454289() {
	if (cpvideo_454289) 
		playstop_454289();
	else
		playstart_454289();
}

function vidthumbhtml_454289(vnr) {
	var html='';
	html+='<div class="v69resetstyle" style="width:415px;height:259px; overflow:hidden; position:absolute;left:5px;top:5px;">';
html+='<img src="'+cvids_454289[vnr].thumb+'" style="width:415px;height:311px;top:-26px;position:relative;">';
html+='</div>';
html+='<div class="v69resetstyle" style="width:405px;height:69px;position:absolute;left:5px;top:264px;background-color:#AAA;padding:5px;"><div class="v69resetstyle" style="overflow:hidden;height:73px;width:405px;"><div class="v69resetstyle" style="margin: 2px 3px; white-space: nowrap; font-size:15px;line-height:15px;color:#555555;">'+htmlspecialchars(cvids_454289[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_454289[vnr].desc)+'">'+htmlspecialchars(cvids_454289[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_454289.length)+'</div></div></div>';
html+='<div class="v69resetstyle" style="position: absolute; width:72px;height:72px;top:135.5px;left:176.5px;z-index:200;cursor:pointer;cursor:hand;background:url(http://www.yubby.com/img/media_play72.png) no-repeat;" onClick="playstart_454289();"></div>';
	return html;
}

function vidthumbhtmlSmall_454289(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_454289('+vnr+')" title="'+htmlspecialchars(cvids_454289[vnr].desc)+'" src="'+cvids_454289[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.yubby.com/img/media_play24.png) no-repeat;" onclick="playstart_454289('+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_454289[vnr].title)+'</div>';
			html+='</div>';
		html+='</div>';
	html+='</div>';
	return html;
}

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

function vidplayurl_454289(vnr) {
	if (vnr==null)
		vnr=curvid_454289;
	return 'http://www.yubby.com/channel/player/8918/'+cvids_454289[vnr].vid;
}

//------------------------------------ button handlers --------------------------------------
function stButImg(oBut) {
	if (oBut.id == 'pgnext_454289') { 
		if (curvid_454289 >= cvids_454289.length -1 ) 
			oBut.src = imgNext_d.src;
		else
			oBut.src= butnext_mousein ? imgNext_ov.src : imgNext_ou.src;
	}
	if (oBut.id == 'pgprev_454289') { 
		if (curvid_454289==0 ) 
			oBut.src = imgPrev_d.src;
		else
			oBut.src= butprev_mousein ? imgPrev_ov.src : imgPrev_ou.src;
	}
	if (oBut.id == 'pgplay_454289') { 
		if (cpvideo_454289) 	// 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_454289') { 
	// 	if (!cpvideo_454289 ) 	// currently NOT playing
	// 		oBut.src = imgStop_ov.src;
	// 	else
	// 		oBut.src= butstop_mousein ? imgStop_ov.src : imgStop_ou.src;
	// }
	if (oBut.id == 'pgmatrix_454289') { 
		oBut.src= butmatrix_mousein ? imgMatrix_ov.src : imgMatrix_ou.src;
	}
}

function oMouEv(oBut,mouseIn) {
	
	if (oBut.id == 'pgnext_454289') 
		butnext_mousein=mouseIn;
	if (oBut.id == 'pgprev_454289') 
		butprev_mousein=mouseIn;
	if (oBut.id == 'pgplay_454289') 
		butplay_mousein=mouseIn;
	// if (oBut.id == 'pgstop_454289') 
	// 	butstop_mousein=mouseIn;
	if (oBut.id == 'pgmatrix_454289') 
		butmatrix_mousein=mouseIn;
	stButImg(oBut);
}

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

	el = document.getElementById('pgprev_454289');
	if (el) 
		stButImg(el); // update prevbutton state
		
	el = document.getElementById('pgplay_454289');
	if (el) 
		stButImg(el); // update prevbutton state
		
	// el = document.getElementById('pgstop_454289');
	// if (el) 
	// 	stButImg(el); // update prevbutton state

	el = document.getElementById('pgmatrix_454289');
	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_454289() {
  el = document.getElementById('ipopup_454289');
  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_454289(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_454289');
	var html='';
	for (var i=(matrix_curpg-1)*16,cv=0;i<cvids_454289.length && cv<16;i++) {
		html+=  vidthumbhtmlSmall_454289(i);
		cv++;
	}
	html+=  '<div class="v69resetstyle" style="clear:both;"></div>';
	if (matrix_npages>1) {
		html+=  '<div  class="v69resetstyle" style="margin:10px 0px">'+paginationhtml_454289(matrix_curpg, matrix_npages)+'</div>';
	}

	mxs.innerHTML=html;
}

function showmatrix_454289() {
	// close old one
	closepopup_454289();

	matrix_npages= Math.ceil(cvids_454289.length / 16);
	
	// open new
	var popup_div = document.createElement('div');
	var title='matrix';
	popup_div.id = "ipopup_454289";
	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_454289();" 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;">Web2.0 2009 SF OreillyMedia</div>';
	vid_html+=	'<div class="v69resetstyle" style="margin:30px 10px 10px 10px;" id="mxs_454289">';
	// for (var i=0,cv=0;i<cvids_454289.length && cv<16;i++) { 
	// 		vid_html+=  vidthumbhtmlSmall_454289(i);
	// 		cv++;
	// 	}
	// 	vid_html+=  '<div style="clear:both;"></div>';
	// 
	// 	if (matrix_npages>1) {
	// 		vid_html+=  '<div style="margin:10px 0px">'+paginationhtml_454289(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_454289(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 + '"';
}



