var _activeBox = {}, _boxExpanded;
jQuery.fn.simpleLightbox = function(_options){
	// defaults options	
	var _options = jQuery.extend({
		lightboxContentBlock: '.lightbox',
		faderOpacity: 0.5,
		faderBackground: '#000',
		closeLink:'a.btn-close',//, .meer a',
		href:true,
		onClick: null
	},_options);

	return this.each(function(i, _this){
		var _this = jQuery(_this);
		if (!_options.href)
			_this.lightboxContentBlock = _options.lightboxContentBlock;
		else _this.lightboxContentBlock = _this.attr('href');
		if (_this.lightboxContentBlock != '' && _this.lightboxContentBlock.length > 1) {
			_this.faderOpacity = _options.faderOpacity;
			_this.faderBackground = _options.faderBackground;
			_this.closeLink = _options.closeLink;
			var _fader;
			var _lightbox = $(_this.lightboxContentBlock);
			if (!jQuery('div.lightbox-fader').length)
				_fader = $('body').append('<div class="lightbox-fader"></div>');
			
			_fader = jQuery('div.lightbox-fader');
			_lightbox.css({
				'zIndex':999
			});
			_fader.css({
				opacity:_this.faderOpacity,
				backgroundColor:_this.faderBackground,
				display:'none',
				position:'absolute',
				top:0,
				left:0,
				zIndex:998,
				textIndent: -9999
			}).text('$nbsp');
			var _lbSelect = $('select',_lightbox);
			var _sl = $('select').not(_lbSelect);
			
			
			_this.click(function(){
				if (jQuery.isFunction(_options.onClick)) {
					_options.onClick.apply(_this);
				}
				
				var _box = _this.parents('.box');
				_activeBox.box = _box;
				_activeBox.w = _box.width();
				_box.after(_boxExpanded);
				_box.hide();
				_boxExpanded.show().css('width',_activeBox.w);
				
				
				if ($.browser.msie) _sl.css('visibility','hidden');
				if ($.browser.msie) {
					_fader.fadeIn(300, function(){
						_lightbox.show();
						jQuery.fn.simpleLightbox.positionLightbox(_lightbox);
					});
				} else {
					_fader.fadeIn(300, function(){
						_lightbox.fadeIn(400);
						jQuery.fn.simpleLightbox.positionLightbox(_lightbox);
					});
				}
				return false;
			});
			jQuery(_this.closeLink, _lightbox).click(function(){
				if ($.browser.msie) {
					_lightbox.hide()
					_fader.fadeOut(300, function(){
						if ($.browser.msie) _sl.css('visibility','visible');	
					});
					_scroll = false;
				} else {
					_lightbox.fadeOut(400, function(){
						_fader.fadeOut(300, function(){
							if ($.browser.msie) _sl.css('visibility','visible');	
						});
						_scroll = false;
					});
				}
				_boxExpanded.hide();
				_activeBox.box.show();
				return false;
			});
			_fader.click(function(){
				if ($.browser.msie) {
					_lightbox.hide()
					_fader.fadeOut(300, function(){
						if ($.browser.msie) _sl.css('visibility','visible');	
					});
					_scroll = false;
				} else {
					_lightbox.fadeOut(400, function(){
						_fader.fadeOut(300, function(){
							if ($.browser.msie) _sl.css('visibility','visible');	
						});
						_scroll = false;
					});
				}
				_boxExpanded.hide();
				_activeBox.box.show();
				return false;
			});
			var _scroll = false;
			jQuery.fn.simpleLightbox.positionLightbox = function (_lbox) {
				var _height = 0;
				var _width = 0;
				var _minWidth = $('body > div:eq(0)').outerWidth();
				if (window.innerHeight) {
					_height = window.innerHeight;
					_width = window.innerWidth;
				} else {
					_height = document.documentElement.clientHeight;
					_width = document.documentElement.clientWidth;
				}
				var _thisHeight = _lbox.outerHeight();
				var _page = $('body > div:eq(0)');
				if (_lbox.length) {
					if (_width < _minWidth) {_fader.css('width',_minWidth);} else {_fader.css('width','100%');}
					if (_height > _page.innerHeight()) _fader.css('height',_height); else _fader.css('height',_page.innerHeight());
					if (_height > _thisHeight) {
						if ($.browser.msie && $.browser.version < 7) {
							_lbox.css({
								position:'absolute',
								top: (document.documentElement.scrollTop + (_height - _thisHeight) / 2)+"px"
							});
						} else {
							_lbox.css({
								position:'fixed',
								top: ((_height - _lbox.outerHeight()) / 2)+"px"
							});
						}
					}
					else {
						var _fh = parseInt(_fader.css('height'));
						if (!_scroll) {
						if (_fh - _thisHeight > parseInt($(document).scrollTop())) {
								_fh = parseInt($(document).scrollTop())
								_scroll = _fh;
							} else {
								_scroll = _fh - _thisHeight;
							}
						}
						_lbox.css({
							position:'absolute',
							top: _scroll
						});
					}
					if (_width > _lbox.outerWidth()) _lbox.css({left:((_width - _lbox.outerWidth()) / 2 + 10) + "px"});
					else _lbox.css({position:'absolute',left: 0});
				}
			}
			
			$(window).bind('load', function(){
				setTimeout(function(){
					jQuery(window).resize(function(){
						if (_lightbox.is(':visible'))
							jQuery.fn.simpleLightbox.positionLightbox(_lightbox);
					});
					jQuery(window).scroll(function(){
						if (_lightbox.is(':visible'))
							jQuery.fn.simpleLightbox.positionLightbox(_lightbox);
					});
				},500);
			});
			
			$(document).keydown(function (e) {
				if (!e) evt = window.event;
				if (e.keyCode == 27) {
					if ($.browser.msie) {
						_lightbox.hide()
						_fader.fadeOut(300, function(){
							if ($.browser.msie) _sl.css('visibility','visible');	
						});
						_scroll = false;
					} else {
						_lightbox.fadeOut(400, function(){
							_fader.fadeOut(300, function(){
								if ($.browser.msie) _sl.css('visibility','visible');	
							});
							_scroll = false;
						});
					}
					_boxExpanded.hide();
					_activeBox.box.show();
				}
			});
		}
	});
}

$(function(){
	_boxExpanded = $('div.box-expanded');
	//$('.meer a').simpleLightbox();
});



	
