addLoadListener(function()
{
	bObj = document.getElementsByTagName('body').item(0);
	
	oPL = document.getElementById('playlist');
	newDiv = document.createElement('div');
	newDiv.setAttribute('id','loadingDiv_bg');
	oPL.parentNode.insertBefore(newDiv, oPL.nextSibling);
	
	oPW = document.getElementById('playlist_wrap');
	document.getElementById('loadingDiv_bg').style.height = oPW.offsetHeight - 2 + 'px';
	
	oLDB = document.getElementById('loadingDiv_bg');
	newDiv = document.createElement('div');
	newDiv.setAttribute('id','loadingDiv');
	oLDB.parentNode.insertBefore(newDiv, oLDB.nextSibling);
	oLD = document.getElementById('loadingDiv');
	
	oLD.innerHTML = '<img src="images/loading_category.gif" width="66" height="66" alt="loading" />';
	
	oLD.style.left = (oPW.offsetWidth - 2 - 167)/2 + 'px';
	oLD.style.top = (oPW.offsetHeight - 2 - 167)/2 + 'px';
	
	preloading("loading_category.gif");
	
	oCD = document.getElementById('categories_div');
	oCDimgLength = oCD.getElementsByTagName('img').length;
	oCD.style.width = oCDimgLength * 207 + 'px';
	totalRows = (Math.ceil(oCDimgLength / 4)) - 1;

	loadCategory(vcid);
});

var totalRows = null;
var scrollRow = 0;
//var scrollClick = true;

function scroll(option) {
//if (!scrollClick) {
//	return;
//}

scrollClick = false;
if (option == 'forward') {
	if (scrollRow == totalRows) {
//		scrollClick = true;
		return;
	} else {
		scrollRow++;
		tStart = -((scrollRow - 1) * 828);
		tEnd = -(scrollRow * 828);
	}
} else {
	if (scrollRow == 0) {
//		scrollClick = true;
		return;
	} else {
		scrollRow--;
		tStart = -((scrollRow + 1) * 828);
		tEnd = -(scrollRow * 828);
	}
}

document.getElementById('row').innerHTML = '1 of '+(scrollRow + 1);

t1 = new Tween(document.getElementById('categories_div').style,'left',Tween.strongEaseOut,tStart,tEnd,.5,'px');
t1.onMotionFinished = function() {
	scrollClick = true;
};
t1.start();
}

function showLoader(option) {
if (option == 'show') {
	document.getElementById('loadingDiv_bg').style.display = 'block';
	document.getElementById('loadingDiv').style.display = 'block';
} else {
	document.getElementById('loadingDiv_bg').style.display = 'none';
	document.getElementById('loadingDiv').style.display = 'none';
}
}

function loadCategory(vcid) {
if (video_info[vcid]) { // already been loaded, don't reload.
	showLoader('show');
	document.getElementById('playlist_category').innerHTML = video_info[vcid][0];
	loadAllVideos(vcid);
	return;
} else { // not loaded yet, create array for loading info into.
	video_info[vcid] = [];
}

req = createXMLHttpRequest();
if (req) {
	req.open('GET', 'video-gallery.php?a=load&vcid='+vcid, true);
	req.onreadystatechange = function() {
		if (req.readyState == 4 && req.status == 200) {
			showLoader('show');
			responseSplit = req.responseText.split('|');
			videoSplit = responseSplit[1].split('^');
			video_info[vcid][0] = responseSplit[0];
			for (i=0; i<videoSplit.length; i++) {
				infoSplit = videoSplit[i].split('~');
				video_info[vcid][i+1] = [infoSplit[0],infoSplit[1],infoSplit[2],infoSplit[3],infoSplit[4],infoSplit[5],infoSplit[6],infoSplit[7],infoSplit[8],infoSplit[9],infoSplit[10]];
			}
			
			document.getElementById('playlist_category').innerHTML = responseSplit[0];
			loadAllVideos(vcid);
		}
	}
	req.send(null);
}
}

video_info = [];

function loadAllVideos(vcid) {
html = '';
for (i=1; i<video_info[vcid].length; i++) {
	lastRow = (i == video_info[vcid].length - 1) ? ' style="border-bottom: none"':'';
	link = 'href="video-gallery.php?vcid='+vcid+'&amp;vid='+i+'" onclick="loadVideo('+vcid+','+i+'); this.blur(); return false;">';
	html += '<div class="video_info"'+lastRow+'><a class="img_play" '+link+'<img src="media/video/'+video_info[vcid][i][8]+'" width="'+video_info[vcid][i][9]+'" height="'+video_info[vcid][i][10]+'" alt="'+video_info[vcid][i][1]+'" /></a><div class="video_info_wrap"><h4>'+video_info[vcid][i][2]+'</h4><p>'+video_info[vcid][i][4]+'</p><a class="play" '+link+'Play</a> <span>'+video_info[vcid][i][5]+' min</span></div></div>';
}

document.getElementById('playlist').innerHTML = html;

document.getElementById('description_div').innerHTML = '<span style="color: #aaa">Select a video from the right...</span>';
document.getElementById('video_wrap').innerHTML = '<div id="video"></div>';
showLoader('hide');

if (vcid && lv) {
	for ( i = 1; i < video_info[vcid].length; i++ ) {
		if (video_info[vcid][i][1] == lv) {
			loadVideo(vcid,i);
			break;
		}
	}
}
}

function loadVideo(vcid,vid) {
	document.getElementById('description_div').innerHTML = '<h3>'+video_info[vcid][vid][2]+'</h3>'+video_info[vcid][vid][3];
	createPlayer('video/'+video_info[vcid][vid][1],video_info[vcid][vid][6],video_info[vcid][vid][7]);
}

function createPlayer(theFile,width,height) {

// Comment these out if you want to use the passed variables.
width = 400;
height = 244;

var flashvars = {
      file: theFile,
      autostart: "true"
    };
    var params = {
      wmode: "opaque",
      allowfullscreen: "true",
      allowscriptaccess: "always"
    };
    var attributes = {
      id: "video",
      name: "video"
    };

    swfobject.embedSWF("media/player.swf", "video", width, height, "9", "media/expressInstall.swf", flashvars, params, attributes);
}

var player = null;

function playerReady(thePlayer) {
	player = document.getElementById(thePlayer.id);
	addListeners();
}


function addListeners() {
	if (player) { 
		player.addModelListener("STATE", "stateListener");
	} else {
		setTimeout("addListeners()",100);
	}
}

var currentState = null;

function stateListener(obj) { //IDLE, BUFFERING, PLAYING, PAUSED, COMPLETED
currentState = obj.newstate;
}

function findPos(obj) {
var curleft = curtop = 0;
if (obj.offsetParent) {
	curleft = obj.offsetLeft
	curtop = obj.offsetTop
	while (obj = obj.offsetParent) {
		curleft += obj.offsetLeft
		curtop += obj.offsetTop
	}
}
return [curleft,curtop];
}

