var defaultWidth = 480;
var defaultHeight = 295;

function setupGalleryImg(obj, type, link) {
	obj.normal = obj.src;
	obj.overImg = new Image(); 
	obj.overImg.src = obj.src.replace('.bw.t.jpg','.t.jpg');
	obj.onmouseover = function() { this.src=this.overImg.src; };
	obj.onmouseout = function() { this.src=this.normal; };
	obj.onload = function() {};
	obj.parentNode.img = obj;
	obj.link = link;

	if(obj.parentNode.parentNode.previousSibling && obj.parentNode.parentNode.previousSibling.firstChild)
		obj.previous = obj.parentNode.parentNode.previousSibling.firstChild.firstChild;
	else if(obj.parentNode.parentNode.parentNode.previousSibling) {		// @ beginning of row
		if(obj.parentNode.parentNode.parentNode.previousSibling.lastChild.firstChild.firstChild);
			obj.previous = obj.parentNode.parentNode.parentNode.previousSibling.lastChild.firstChild.firstChild;
	} else	obj.previous = false;
	if(obj.parentNode.parentNode.nextSibling && obj.parentNode.parentNode.nextSibling.firstChild)
		obj.next = obj.parentNode.parentNode.nextSibling.firstChild.firstChild;
	else if(obj.parentNode.parentNode.parentNode.nextSibling) {		// @ end of row
		obj.next = obj.parentNode.parentNode.parentNode.nextSibling.firstChild.firstChild.firstChild;
	} else	obj.next = false;

	obj.type = type;

	obj.onclick = function() { 
		var src = '';
		var type = 'image';
		var w = defaultWidth;
		var h = defaultHeight;
		var lbWidth = false;
		switch(this.type) {
			case 'flashEmbed':
				var src = document.createElement('div');
				src.innerHTML = generateEmbedCode('swf',link,w,h, true,true);
				type = 'obj';
				lbWidth = 484;
				break;
			case 'video':
				var src = document.createElement('div');
				src.innerHTML = generateEmbedCode('flv',link,w,h, true,true);
				type = 'obj';
				break;
			case 'audio':
				var src = document.createElement('div');
				var imgSrc = this.src.replace('.t.jpg','.f.jpg');
				imgSrc = imgSrc.replace('.bw.','.');
				src.innerHTML = generateEmbedCode('swf','/images/swf/audioPlayer.swf?autoplay=1&img='+imgSrc+'&src='+link,400,400, true,true);
				type = 'obj';
				lbWidth = 400;
				break;
			case 'image':
			default:
				src = this.src.replace('.bw.','.'); 			// remove bw
				type = 'img';
				src = src.replace('.t.jpg','.z.jpg');
				break;
		}
		var lb = lightbox(src, lbWidth?lbWidth:false, type); // show lb 
	
		var controls = document.createElement('div');			// setup controls
		controls.target = this;
		controls.className = 'galleryControls';
		controls.style.opacity = '0';
		controls.style.filter = 'alpha(opacity=0)';
		lb.container.appendChild(controls);
		controls.style.left = (lb.container.offsetWidth/2 - controls.offsetWidth/2)+'px';
		controls.style.top = (-1*controls.offsetHeight - 30)+'px';

		var button = document.createElement('div');			// previous
		button.innerHTML = '<img src="/images/layout/gallery/left.gif" />';
		if(this.previous)
			button.onclick = function() { 	this.parentNode.target.previous.onclick(); };
		else	button.className = 'disabled';
		controls.appendChild(button);

		var button = document.createElement('div');			// info
		button.innerHTML = '<img src="/images/layout/gallery/info.gif" />';
		button.onclick = function() { 
					var ctrls=this.parentNode; 
					if(ctrls.info) {
						remove(ctrls.info);
						ctrls.info=false;
					} else {
						ctrls.info=document.createElement('div'); 
						ctrls.info.innerHTML='<p>'+ctrls.target.alt+'</p>'; 
						ctrls.info.className='info'; 
						ctrls.appendChild(ctrls.info); 
						fade_in(ctrls.info);
					}
				};
		controls.appendChild(button);

		var button = document.createElement('div');			// close
		button.innerHTML = '<img src="/images/layout/gallery/gallery.gif" />';
		button.onclick = function() { lb.closeButton.onclick(); };
		controls.appendChild(button);

		var button = document.createElement('div');			// next
		button.innerHTML = '<img src="/images/layout/gallery/right.gif" />';
		if(this.next && (this.next.nodeName=='IMG'))
			button.onclick = function() { 	this.parentNode.target.next.onclick(); };
		else	button.className = 'disabled';
		controls.appendChild(button);

		lb.container.onmouseover = function() { fade_in(controls,.9);};
		lb.bg.onmouseover = function() { fade_out(controls); }
	};

	/* vertically 1/4 up align */
	if(obj.offsetHeight > obj.parentNode.offsetHeight) {
		var marginTop = (obj.offsetHeight-obj.parentNode.offsetHeight) / 4;
		marginTop = marginTop*-1;
		obj.style.marginTop=marginTop+'px';
	}

	/* setup span */
	obj.nextSibling.onclick = function() { this.previousSibling.onclick(); };
	obj.nextSibling.onmouseover = function() { this.previousSibling.onmouseover(); };
	obj.nextSibling.onmouseout = function() { this.previousSibling.onmouseout(); };

	fade_in(obj);
}

