/*
Created By: Chase Willkom
Website: http://www.willkoca.com
Date: 01/25/2007

Inspired by the lightbox implementation 
found at http://www.huddletogether.com/projects/lightbox/
*/

$(document).ready(function() { lb_initialize();	});

var lb_content, ypos=0;
function lb_initialize() {
	$('body').append('<div id="overlay"></div><div id="lightbox" '
	+ 'class="loading"><div id="lbLoadMessage"></div><div id="lbContent"></div></div>');
	$('a.lightbox').click(function() {													 
		lb_content = this.href;		
		lb_activate();
		this.blur();
		return false;
	});
}
function lb_activate() {
	if ($.browser.msie) { lb_screwyouie('activate'); }
	lb_display('block');
}
function lb_deactivate() {
	$('div#lbContent').empty();
	if ($.browser.msie){ lb_screwyouie("deactivate"); }
	lb_display('none');
}
function lb_display(display) {
	// get the height and width via the quertstring
	var querystring = lb_content.replace(/^[^\?]+\??/,'');
	var params = lb_parseQueryString(querystring);
	var height = params['height'], width = params['width'];
	
	// display the lightbox on the screen
	$('div#overlay').css({display: display});
	$('div#lightbox').css({
		display: display,
		height: height + 'px',
		width: width + 'px',
		marginLeft: -(width/2) + 'px'
	});
	if (display != 'none') { lb_loadInfo(); }
}
function lb_screwyouie(switcher) {
	if (switcher == 'activate') {
		lb_getScroll();
		$('html', 'body').css({height: '100%', overflow: 'hidden'});
		lb_setScroll(0,0);
		$('select').hide();
	} else if (switcher == 'deactivate') {
		lb_setScroll(0, ypos);
		$('html', 'body').css({height: 'auto', overflow: 'auto'});
		$('select').show();
	}
}
function lb_loadInfo() {
	// fetch files from the same server
	$.get(lb_content, function(data) {
		$('div#lbContent').append(data);
		$('div#lightbox').addClass('loaded').removeClass('loading');
	});
}
function lb_getScroll() {
	if (self.pageYOffset) {
		ypos = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop) {
		ypos = document.documentElement.scrollTop; 
	} else if (document.body) {
		ypos = document.body.scrollTop;
	}
}
function lb_setScroll(x, y) {
	window.scrollTo(x, y); 
}
function lb_parseQueryString(querystring) {
	var params = new Array(), nameVal;
	var nameValuePairs = querystring.split("&");
	for (var i=0; i<nameValuePairs.length; i++) {
		nameVal = nameValuePairs[i].split('=');
		params[nameVal[0]] = nameVal[1];
	}
	return params;
}