//matrix.js for channel 16026 / widget 755455 / cols 3 / rows 3 / skin clean 
// 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_755455= new Array();	// channelvideo's
var curvid_755455=0;			// first video
var cpvideo_755455=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 matrix755455_curpg=1;
var matrix755455_npages=1;
var matrix755455_itemspp=9;

var wgElm_755455 = document.getElementById('viidoo_matrix_755455');
if (wgElm_755455) {
	// we exist!
	// hide 
	//wgElm_755455.innerHTML = 'x';
	//wgElm.style.display = 'none';
	//....
	vp_createwg();
}

pgstats.addcollect('chid','16026');
pgstats.addcollect('hit','embed');
pgstats.addcollect('widget','matrix');
pgstats.xPageHit();

function vp_createwg() {
	var html='<div id="widget_flash_755455" class="widget_flash" style="width: 516px;height:330px;overflow:hidden; border: 0px solid #DDDDDD;font-family:Trebuchet MS,Lucida Sans Unicode,Lucida Grande,Lucida Sans,Tahoma,Geneva,Arial,helvetica,sans-serif">';
	//html+='<link rel="stylesheet" href="http://www.yubby.com/css/main.css" type="text/css" media="screen" title="x" charset="utf-8" />';
	// silly IE needs a br before style element
	html+='<br style="display:none;"/><style type="text/css">	\
		.stdthumb {width:160px;max-height:122px;background:#f6f6f6;margin:0 auto 6px auto;overflow:hidden;position:relative;}	\
		.stdthumbbrd {width:156px;height:86px;background:#cccccc;border:2px solid #dedede;overflow:hidden;position:relative;}	\
		.stdthumbbrd .stbdimg {position:absolute;width:160px;height:119px;top:-20px;left:0;}	\
		.stdthumbbrd .smallroundaction	{position: absolute; width:24px;height:24px;z-index:200;cursor:pointer;cursor:hand;}	\
		.stdthumbbrd .bigplay	{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;} \
		.stdthumbbrd .inlinetitle 	{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;} \
		.stdthumbbrd .thumbavatar	{position: absolute; top: 2px; left:2px;z-index:300;} 	\
		.pages {padding:2px 0 2px 8px; margin:0; height:clear:both;font-size:12px;	line-height:14px; -moz-user-select: none;-khtml-user-select: none; user-select: none;} \
			.pages div.pageblock {float:left;border: 1px solid #888; color:#000; height: 14px; padding: 3px 6px 3px 6px; margin: 0px 4px 0px 0px;cursor: pointer;cursor:hand;}\
			.pages div.pageblock:hover {color:#D10101;text-decoration:underline;}	\
			.pages div.pageblock_disabled {float:left;border: 1px solid #888; color: #aaa; height: 14px; padding: 3px 6px 3px 6px;margin: 0px 4px 0px 0px;}\
			.pages div.pageblock_dots {float:left; border: 0px solid #888; color: #000; height: 14px; padding: 3px 6px 3px 6px;margin: 0px 4px 0px 0px;}\
			.pages div.pageblock_curpage {float:left; border: 1px solid #888; color: #aaa; height: 14px; padding: 3px 6px 3px 6px;margin: 0px 4px 0px 0px;}\
		</style>';
		cvids_755455.push({vid:89899, thumb: 'http://i.ytimg.com/vi/rR3iz7LRQwI/0.jpg', title: 'Om - To the Shrinebuilder (live in kortrijk)', desc: 'Last European tour from the American band until now. AmenRa was opening that night at the Theater Antigone on the 29th of May 2008. Enjoy the atmospheres and the heaviness. Cheerz.'});
	cvids_755455.push({vid:75608, thumb: 'http://ts.vimeo.com.s3.amazonaws.com/294/824/29482448_640.jpg', title: 'om', desc: 'ica theater, boston. 10.12.2009'});
	cvids_755455.push({vid:75609, thumb: 'http://i.ytimg.com/vi/wSLsCBU6DZY/0.jpg', title: 'OM live @ Neumos, Seattle,  2/3/07', desc: '\"Flight Of The Eagle 1\" from their album \"Conference Of The Birds\" The founding members of the great \"drone mantra\" duo OM are Al Cisneros (bass) and Chris Hakius (drums), formerly of SLEEP, the influential 90\'s Doom/Stoner/callitwhatyouwant band with Matt Pike (now in High on Fire) on guitar. Unfortunately, Al Cisneros recently announced that Chris Hakius had left the band due to unknown reasons. Al will continue OM with a new drummer. Enjoy it, you might never gonna see them play together ...'});
	cvids_755455.push({vid:75610, thumb: 'http://ts.vimeo.com.s3.amazonaws.com/259/922/25992200_640.jpg', title: 'Om @ Neumos (9-17-09)', desc: ''});
	cvids_755455.push({vid:75611, thumb: 'http://ak2.static.dailymotion.com/static/video/189/964/15469981:jpeg_preview_large.jpg?20090507060041', title: 'Robert A. Lowe aka Lichens - Miroiterie, Paris', desc: ''});
	cvids_755455.push({vid:75612, thumb: 'http://a.images.blip.tv/Henrichy0205blip-DougAitkenSonicHappening573-685-901.jpg', title: 'Doug Aitken: Sonic Happening', desc: '\n\nIn October 2008, 303 Gallery in New York presented new works by Doug Aitken in concurrent exhibitions at 303 Gallery\u2019s 22nd street and 21st street spaces. For the inaugural exhibition in 303 Gallery\u2019s 21st street space, Doug Aitken presented \u201cMigration\u201c, the first in a 3-part cycle of installations titled \u201cEmpire\u201d. This video shows (in excerpts) a special viewing of Doug Aitken\u2019s installation \u201cMigration\u201d on October 2, 2008. Doug Aitken invited the musicians Lichens, White Rainbow and Arp to perform live music improvisations to the installation, replacing the film\u2019s original soundtrack. More info.\n\n'});
	cvids_755455.push({vid:75613, thumb: 'http://i.ytimg.com/vi/-hbtJjYHc10/0.jpg', title: 'Lichens Calvin College 4-2-08 open for Explosions in the Sky', desc: 'Lichens opening act for explosions in the sky at Calvin College 4-2-08'});
	html+='<div id="cvideos755455">';
	html+='</div>';	// widget_flash
	
	wgElm_755455.innerHTML=html;
	wgElm_755455.style.display = 'block';
	gotopage_755455(matrix755455_curpg);	// 1
}


// 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;
}

// flash jscalls

// stop video
function stopVideo_755455() {
	closevid_755455();
}

// show hoverevent
function showVideoInfo(videoitem_id) {
	// alert('Show some information for ' + videoitem_id + '.');
}


function hideVideoInfo() {
	// alert('hide');
}



function closeVideoPlayer_755455() {
	// close screen
	closevid_755455();
	// call to flash object
	//getFlashObject("videostrip_755455").videoDeselect(0);
}


function closevid_755455() {
  el = document.getElementById('vidplayer_755455');
  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 playVideo_755455(videoitem_id) {

	// close old one
	closevid_755455();

	// open new
	//var vidlist = document.getElementById(id);
	var video_div = document.createElement('div');
	var title='hello';
	video_div.id = "vidplayer_755455";
	video_div.style.position = 'absolute';
	video_div.style.border = 'none';
	var base_width=400;
	var base_height=300;
	var calc_width	= (base_width+2*17+10);
	var calc_height	= (base_height+16+2*22);
	
	video_div.style.width = calc_width+'px';
	video_div.style.height = calc_height+'px';
	video_div.style.zIndex = '10000';
	//video_div.style.border = "5px solid #cccccc";
	
	//
	//	var wgFlashDiv=document.getElementById('widget_flash_755455');
	//	//var top = vp_offsetTop(wgElm_755455);
	//	//var left = vp_offsetLeft(wgElm_755455);
	//	var top = vp_offsetTop(wgFlashDiv);
	//	var left = vp_offsetLeft(wgFlashDiv);
	//
	//	// left or right
	//	if (left < document.body.clientWidth/2) {
	//		if (3==1) {
	//			video_left = left + 172;	// one column play right from strip
	//			top = top - 3;
	//		}
	//		else {
	//			video_left = left + 40; // multicolum play inside strip
	//			top=top+40;
	//		}
	//	} else {
	//		// widget is at the right
	//		video_left = left + 3*172 - 40 - 402 - 2*17 ; // 402 plus borders 2x17 
	//	}

	//alert('video_left='+video_left+' top='+top);
	//video_div.style.top = top + 'px';
	//video_div.style.left = video_left + 'px';
	// CENTER SCREEN
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
	var video_top = arrayPageScroll[1] + ((arrayPageSize[3] -calc_height) / 2);
	var video_left = arrayPageScroll[0] +((arrayPageSize[0] - calc_width) / 2);
	if (video_top<0)
		video_top=0;
	if (video_left<0)
		video_left=0;
	video_div.style.position = 'absolute';
	video_div.style.top = video_top + 'px';
	video_div.style.left = video_left + 'px';

	 
	var vid_html = '<div style="padding:0px 5px 0px 5px;position:relative;">\
					<table cellspacing=0 cellpadding=0 border=0 style="margin:0px auto; background:transparant;width:100%;table-layout:fixed;position:relative;z-index:0">\
					<tr><td style="background:url(http://www.yubby.com/img/rbox/rbox5_01.png) no-repeat left top;padding:0;margin:0;width: 17px;height:22px;"></td>\
						<td style="background:url(http://www.yubby.com/img/rbox/rbox5_02.png) repeat-x top;height:22px;padding:0;margin:0;"></td>\
						<td style="background:url(http://www.yubby.com/img/rbox/rbox5_03.png) no-repeat left top;width: 17px;height:22px;padding:0;margin:0;"></td></tr>\
					<tr><td style="background:url(http://www.yubby.com/img/rbox/rbox5_04.png) no-repeat left top;width: 17px;background-color:#FFF;max-height:54px;padding:0;margin:0;" height=54 >\
					</td>\
					<td style="background:url(http://www.yubby.com/img/rbox/rbox5_05.png) repeat-x top;background-color:#fff; overflow:hidden;padding:0;margin:0;">\
					<div style="color:#DDDDDD;position:relative;border:1px solid transparent;overflow:hidden;height:318px;width:400px;background-color:transparent;padding:0;margin:0;">';
	vid_html +='<iframe name="playerframe" class="playerframe"	src = "http://www.yubby.com/widget/playvideo/'+cvids_755455[videoitem_id].vid+'/402/318/S/W" width="100%" height="100%" frameborder=0 scrolling="no" allowtransparency="true"></iframe>';
	vid_html +=		'<div style="clear:both;"></div></div>\
					</td><td style="background:url(http://www.yubby.com/img/rbox/rbox5_06.png) no-repeat left top; 	width: 17px;  	background-color:#FFF;padding:0;margin:0;"></td></tr>\
					<tr><td style="background:url(http://www.yubby.com/img/rbox/rbox5_07.png) no-repeat left top;width: 17px;height:22px;padding:0;margin:0;"></td>\
						<td style="background:url(http://www.yubby.com/img/rbox/rbox5_08.png) repeat-x top; height:22px;padding:0;margin:0;"></td>\
						<td style="background:url(http://www.yubby.com/img/rbox/rbox5_09.png) no-repeat left top;width:17px;height:22px;padding:0;margin:0;"></td></tr>\
					</table>\
					<div onclick="closeVideoPlayer_755455();" style="position:absolute;top:13px;right:11px;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>\
					</div>';
					
	video_div.innerHTML=vid_html;
	document.body.appendChild(video_div);
}

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

function initpage_755455() {
	//alert('cvids='+(cvids_755455.length).toString()+'itemspp='+matrix755455_itemspp);
	matrix755455_npages= Math.ceil(cvids_755455.length / matrix755455_itemspp);
}

function gotopage_755455(pg) {
		
	//if (!matrix755455_npages)
	initpage_755455();
	
	if (pg<1)
		pg=1;
	if (pg>matrix755455_npages)
		pg=matrix755455_npages;
		
	oldpg=matrix755455_curpg;
	matrix755455_curpg=pg;
	var mxs=document.getElementById('cvideos755455');
	var html='';
	for (var i=(matrix755455_curpg-1)*matrix755455_itemspp,cv=0;i<cvids_755455.length && cv<matrix755455_itemspp;i++) {
		html+=  vidthumbhtmlSmall_755455(i);
		cv++;
	}
	html+=  '<div class="v69resetstyle" style="clear:both;"></div>';
	
			if (matrix755455_npages>1) {
			html+=  '<div  class="v69resetstyle" style="margin:1px 0px">'+paginationhtml_755455(matrix755455_curpg, matrix755455_npages)+'</div>';
		}
	
	mxs.innerHTML=html;
}

function vidthumbhtmlSmall_755455(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="playVideo_755455('+vnr+')" title="'+htmlspecialchars(cvids_755455[vnr].desc)+'" src="'+cvids_755455[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="playVideo_755455('+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_755455('+vnr+')" >'+htmlspecialchars(cvids_755455[vnr].title)+'</div>';
			html+='</div>';
		html+='</div>';
	html+='</div>';
	return html;
}

//-----------------------------------------------------------------------
// cp 1..npages
function paginationhtml_755455(cp,npages) {
	if (npages<=1)
		return '';	// empty if no pagination..
	var html='';
	html+='<div class="pages v69resetstyle">';
	if (cp>1) {
		// we CAN prev! beter ltlt ipv &#171; 
		html+= '<div class="pageblock" onclick="gotopage_755455('+(cp-1)+');">&lt;&lt; Previous</div>';
	}
	else {
		html+= '<div class="pageblock_disabled">&lt;&lt; Previous</div>';
	}
			// 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+='<div class="pageblock_curpage"><b>'+lpage+'</b></div>';
				else
					html+='<div class="pageblock" onclick="gotopage_755455('+lpage+');">'+lpage+'</div>';
			}
			else {
				// no printing.. buttt maybe we need to dot
				if ( !dotted ) {
					html+='<div class="pageblock_dots">&nbsp;...&nbsp;</div>';
					dotted = true;
				}
			}
		}
		
	// Next page - Link
	// beter gtgt ipv &#187;
	if ( cp<npages )
		html+='<div class="pageblock" onclick="gotopage_755455('+(cp+1)+');">Next &gt;&gt;</div>';
	else
		html+='<div class="pageblock_disabled">Next &gt;&gt;</div>';
	html+='</div>';
	return html;
}



