// intended to work in tandem with the lightbox. RH 19/05
// some of the code has been taken from lightbox and lightbox gone wild.

_unfunction = function(_x){
	var g = _x.toString();
	var a = "function(";
	if (g.indexOf(a)<0)
		a = "function (";
	g = g.substring(g.indexOf(a)+a.length, g.lastIndexOf("}"));
	arg = g.substr(0, g.indexOf(")"));
	g = g.substring(g.indexOf("{")+1, g.length);
	return Array(arg,g); 
}

_formatArgs = function(_x){
	var b = Array();
	for(var a in _x){
		if (_x[a].split){
			var y = _x[a].split(",");
			for(var c=0;c<y.length;c++){
				var check = false;
				for(var d=0;d<b.length;d++){
					if(y[c] == b[d])
						check = true;
				}
				if (!check&&y[c]!='')
					b.push(y[c].toString());
			}}}
	var c = "";
	var d = 0;
	for(var a=0;a<b.length;a++){
		c += (d>0)?",":"";
		c += b[a];
		d++;
	}
	return c;
}

_mergeFunctions = function(_x, _y, _start){ //merge functions into _c
	var _a = _unfunction(_x);
	var _b = _unfunction(_y);
	var _d = _formatArgs(Array(_a[0],_b[0]));

	if(!_start){
		eval("var _c = function("+_d+") { "+_a[1]+""+_b[1]+" };");
	}else{
		eval("var _c = function("+_d+") { "+_b[1]+""+_a[1]+" };");
	}
	return _c;
}

_initialize = function(){ // add vid code
	for (var i=0; i<anchors.length; i++){
		var anchor = anchors[i];
		var relAttribute = String(anchor.getAttribute('rel'));
		if (anchor.getAttribute('href') && (relAttribute.toLowerCase().match('vid'))){
			anchor.onclick = function () {myLightbox.start(this); return false;}
		}}}

_start = function(){
	if (!$("vidBox")){
		var objContainer = document.createElement("div");
		objContainer.setAttribute('id','vidBox');
		var objPlayer = document.createElement("p");
		objPlayer.setAttribute('id','player');
//		var objPlayer = new Element('div', { 'id': 'player' }).update();
		objContainer.appendChild(objPlayer);
		var _x = document.getElementById("imageContainer");
		_x.insertBefore(objContainer, document.getElementById("lightboxImage"));
	}
	Element.hide('vidBox');
	_linkCheck = imageLink;
	if((imageLink.getAttribute('rel').toLowerCase().match('vid'))){
		loadVid(imageLink);
	}
}

getVid = function(){
	return $('_vidplayer');		
};

stopVid = function(){
	var p = getVid();
	if (p){
		if (p.sendEvent)
			p.sendEvent("STOP");
	}
};

loadVid = function(x) {
	var g = x.toString();
	x = g.substr(0,g.indexOf(".htm"));
	var st = g.substring(g.lastIndexOf("/"),g.lastIndexOf(".htm"));
	var so = new SWFObject('/Scripts/mediaplayer/player.swf','_vidplayer','300','220','7');
	so.addParam("allowfullscreen","true");
	so.addParam("wmode","transparent");
	so.addVariable("file",x+".flv");
	so.addVariable("image","http://www.csu.edu.au/student/studylink/images/video/load.jpg");
	so.addVariable("displayheight","224");
	so.addVariable("callback","urchin");
	so.setAttribute("style"," "); 
	so.write('player');
	
	myLightbox.resizeImageContainer(_flx, _fly);
	Element.setTop('hoverNav',-580); // for the moment send the hoverNav away.
	Element.hide('hoverNav');
};

_end = function(){
	stopVid();
	Element.setTop('hoverNav',0);
	this.disableKeyboardNav();
	Element.hide('lightbox');
	new Effect.Fade('overlay', { duration: 0.2});
	showSelectBoxes();
};

evalScript = function(inStr){
	var x = inStr;
	var startloc = 0;
	var endloc = 0;
	var code = '';
	var g = 0;
	while (x.indexOf('<script') > -1){
		startloc = x.indexOf('<script');
		startloc = x.indexOf('<script') + (x.substring(startloc)).indexOf('>') + 1;
		endloc = x.indexOf('</script>');
		code = x.substring(startloc, endloc);		
		x = x.substr(endloc+9);
		if (code.length > 0)
			eval(code);
	}
}

_showImage = function(){
	Element.hide('loading');
	if(_linkCheck){
		if((_linkCheck.getAttribute('rel').toLowerCase().match('vid'))){
			new Effect.Appear('vidBox', { duration: resizeDuration, queue: 'end', afterFinish: function(){	myLightbox.	updateDetails(); } });
			_linkCheck = false;
		}else{
			_dsI();
			this.preloadNeighborImages();
		}
	}else{
		_dsI();
		this.preloadNeighborImages();
	}
}

_dsI = function(){
		new Effect.Appear('lightboxImage', { duration: resizeDuration, queue: 'end', afterFinish: function(){	myLightbox.updateDetails(); } });
}

var _linkCheck = false;
var _flx = 320;
var _fly = 240;
Lightbox.prototype.initialize = _mergeFunctions(Lightbox.prototype.initialize, _initialize);
Lightbox.prototype.start = _mergeFunctions(Lightbox.prototype.start, _start);
Lightbox.prototype.showImage = _showImage;
Lightbox.prototype.end = _end;