



window.__preloadImages = new Array();
[
	'assets/images/labels/thelabel1999.jpg',
	'assets/images/labels/thelabel2000.jpg',
	'assets/images/labels/thelabel2001.jpg',
	'assets/images/labels/thelabel2002.jpg',
	'assets/images/labels/thelabel2003.jpg',
	'assets/images/labels/thelabel2004.jpg',
	'assets/images/labels/thelabel2005.jpg',
	'assets/images/labels/thelabel2006.jpg',
	'assets/images/labels/themusic.jpg'
].each(function(src) {
	var i = window.__preloadImages.length;
	window.__preloadImages[i] = new Image();
	window.__preloadImages[i].src = src;
});


function pic1999win() { showLabelImage('assets/images/labels/thelabel1999.jpg'); }
function pic2000win() { showLabelImage('assets/images/labels/thelabel2000.jpg'); }
function pic2001win() { showLabelImage('assets/images/labels/thelabel2001.jpg'); }
function pic2002win() { showLabelImage('assets/images/labels/thelabel2002.jpg'); }
function pic2003win() { showLabelImage('assets/images/labels/thelabel2003.jpg'); }
function pic2004win() { showLabelImage('assets/images/labels/thelabel2004.jpg'); }
function pic2005win() { showLabelImage('assets/images/labels/thelabel2005.jpg'); }
function pic2006win() { showLabelImage('assets/images/labels/thelabel2006.jpg'); }

function musicwin() { showLabelImage('assets/images/labels/themusic.jpg', 'music'); }

window.popDivDuration = 500;





function showLabelImage(imgsrc, which) {
	var thisid = imgsrc.replace(/[^a-z0-9]/gi, '');
	if(!window.__overlay) window.__overlay = new OverlayDiv({
		duration:		window.popDivDuration,
		color:			'#000000',
		opacity:		1.0,
		close_on_click:		true,
		onClick:		function() {
			$$('div.popDiv').each(function(el) {
				_doHideLabelImage(el.retrieve('thisid'));
			});
		}
	});

	var div = $('popDiv-'+thisid);
	var img = $('popImage-'+thisid);
	if(!div) {
		div = new Element('div', {
			id: 'popDiv-'+thisid,
			style: 'position:absolute; display: none; z-index: 95;'
		});
		div.addClass('popDiv');
		div.store('thisid', thisid);

		img = new Element('img', {
			id: 'popImage-'+thisid,
			style: 'display:block;  margin:auto;'
		});
		img.addClass('popImage');
		img.addEvent('load', function() {
			_doShowLabelImage(thisid, which);
		});
		//img.addEvent('click', function() {
		//	_doHideLabelImage(thisid);
		//});
		div.appendChild(img);
		document.body.appendChild(div);

		img.src = imgsrc;

		disableSelection(div);
	}
	else if(div.getStyle('display') == 'none') {
		_doShowLabelImage(thisid, which);
	}

}

function _doShowLabelImage(thisid, which) {
	var div = $('popDiv-'+thisid);
	var img = $('popImage-'+thisid);
	if(!div) return;

	window.__overlay.show();

	div.setStyle('opacity', 0);
	div.setStyle('display', 'block');
	div.setStyle('width', img.getWidth());
	var heighttest = (($(document.body).getHeight() / 2) - (div.getHeight() / 2));
	if (heighttest >=0) {
		div.setStyle('top', ($(document.body).getHeight() / 2) - (div.getHeight() / 2));
	} else {
		div.setStyle('top', '0');
	}
	div.setStyle('left', ($(document.body).getWidth() / 2) - (div.getWidth() / 2));
	//div.setStyle('top', ($(document.body).getHeight() / 2) - (div.getHeight() / 2));

	// create the close link if we haven't already
	var divclose = div.getElement('div.popDivCloseLink');
	if(!divclose) {
		divclose = new Element('div', { style: 'position:absolute; top:0px; white-space:nowrap;' } );
		divclose.addClass('popDivCloseLink');
		divclose.innerHTML = '[<a href="javascript:void(0)" onclick="_doHideLabelImage(\''+thisid+'\')">Close Window</a>]';
		div.appendChild(divclose);

		divclose.setStyle('left', div.getWidth() - divclose.getWidth() - 10);


		if(which == 'music') {
			// add link to band website
			imglink = new Element('img', { src: 'assets/images/xparent.gif', style: 'position:absolute; width:170px; height:20px; top:240px; left:360px; white-space:nowrap; cursor:pointer;' } );
			imglink.addEvent('click', function() {
				window.open('http://www.thieverycorporation.com/', '_blank');
			});
			div.appendChild(imglink);
		}
	}



	new Fx.Tween(div, {
		duration: window.popDivDuration
	}).start('opacity', 1);
}

function _doHideLabelImage(thisid) {
	window.__overlay.hide();

	var div = $('popDiv-'+thisid);
	if(!div || div.getStyle('display')=='none') return;

	new Fx.Tween(div, {
		duration: window.popDivDuration,
		onComplete: function() {
			this.element.setStyle('display', 'none');
		}
	}).start('opacity', 0);

}

function disableSelection(target) {
	if (typeof target.onselectstart!="undefined") target.onselectstart=function(){ return false }; //IE
	else if (typeof target.style.MozUserSelect!="undefined") target.style.MozUserSelect="none"; //Firefox
	else target.onmousedown=function(){ return false }; //All other route (ie: Opera)
	target.style.cursor = "default";
}


OverlayDiv = new Class({
	Implements: Options,

	options: {
		duration:		1000,
		transition:		Fx.Transitions.Cubic.easeOut,
		color:			'#000000',
		opacity:		0.5,
		close_on_click:		true,
		onClick:		function() {}
	},

	initialize: function(options) {
		this.setOptions(options);

		this._fx = null;
		this._inTransition = false;
		this._curWay = 0;
		this.id = this.__register();

		var self = this;
		var id = this.id;

		with( this.element = $(document.createElement('div')) ) {
			setStyle('position', 'absolute');
			setStyle('background-color', this.options.color);
			setStyle('z-index', 80);
			setStyle('opacity', 0);
		}
		this.setSize();

		if(this.options.close_on_click) {
			this.element.onclick = function() {
				self.hide();
				self.options.onClick();
			}
		}

		document.body.appendChild(this.element);

		window.addEvent('resize', function() { this.__registerOverlayDivClasses[id].setSize(); });
	},

	__register: function() {
		if(!window.__registerOverlayDivClasses) window.__registerOverlayDivClasses = new Array();
		window.__registerOverlayDivClasses.push(this);
		return window.__registerOverlayDivClasses.length - 1;
	},


	setSize: function() {
		var h = ($(document.body).scrollHeight > $(document.body).getHeight()) ? $(document.body).scrollHeight + parseInt($(document.body).getStyle('margin-top')) + parseInt($(document.body).getStyle('margin-bottom')) : $(document.body).getHeight();
		var w = ($(document.body).scrollWidth > $(document.body).getWidth()) ? $(document.body).scrollWidth : $(document.body).getWidth();

		this.element.setStyle('top', 0);
		this.element.setStyle('left', 0);
		this.element.setStyle('width', w );
		this.element.setStyle('height', h );
	},


	show: function() {
		if(this._inTransition) this._fx.cancel;

		var self = this;
		this._fx = new Fx.Morph( this.element, {
			duration: self.options.duration,
			transition: self.options.transition,
			onStart: function() {
				self._inTransition = true;
				self._curWay = 1;
			},
			onComplete: function() {
				self._inTransition = false;
			}
		});

		this._fx.start({
			'opacity': self.options.opacity
		});

	},

	hide: function() {
		if(this._inTransition) this._fx.cancel;

		var self = this;
		this._fx = new Fx.Morph( this.element, {
			duration: self.options.duration,
			transition: self.options.transition,
			onStart: function() {
				self._inTransition = true;
				self._curWay = 0;
			},
			onComplete: function() {
				self._inTransition = false;
			}
		});

		this._fx.start({
			'opacity': 0
		});

	}

});