window.addEvent('domready', function() {
	
	// validate form ***********************************************************
	var _form = $('validate-form');
	if (_form) {
		var _formFields = _form.getElements('.validate');
		var _submit = $('submit');
		
		_formFields.each(function(_el){
			var _input = _el.getElement('input');
			_el.formValue = _input.value;
		});
		
		_submit.addEvent('click', function(){
			var _error = false;
			_formFields.each(function(_el, i){
				var _input = _el.getElement('input');
				if (_input.value == '' || _input.value == _el.formValue) {
					_error = true;
					_el.addClass('error');
				} else {
					_el.removeClass('error');
				}
			});
			if (_error) return false;
		});
	}
    
	// lightbox ****************************************************************
	var _readMe = $$('a.showlightbox');
	
	_fader = new Element('div', {
		'class': 'lightbox-fader',
		'styles': {
			'opacity': '0.5',
			'backgroundColor': '#000',
			'display': 'none',
			'position':'absolute',
			'top':0,
			'left':0,
			'zIndex':998,
			'textIndent': -9999
		},
		'text':'$nbsp'
	});
	$$('body')[0].grab(_fader);
	
	_readMe.each(function(_this, i){
		_this.idBox = _this.href.substr(_this.href.indexOf('#')+1);
		var _lightbox = $(_this.idBox);
		
		_lightbox.setStyle('zIndex',999);
		
		_this.addEvent('click', function(){
			_fader.setStyle('display','block');
			_lightbox.setStyle('display','block');
			if (typeof VSA_handleResize == 'function') {
				VSA_handleResize();
			}
			positionLightbox(_lightbox);
			
			document.body.onclick = function(e) {
				if(!e) e = window.event;
				var _target = (e.target || e.srcElement);
				var _par = getElementBefore(_target,"lightbox");
				if (_par.className != 'lightbox')
				{    
					_fader.setStyle('display','none');
					_lightbox.setStyle('display','none');
					document.body.onclick = null;
				}
			}
			
			return false;
		});
			
		_lightbox.getElement('div.feed-title a').addEvent('click', function(){
			_fader.setStyle('display','none');
			_lightbox.setStyle('display','none');
			return false;
		});
		
		function getElementBefore(_el,_class) {
			var _parent = _el;
			do {
				_parent = _parent.parentNode;
			}
			while(_parent && _parent.tagName != "HTML" &&  _parent.className.indexOf(_class) == -1)
			return _parent;
		}
		var u = navigator.userAgent.toLowerCase();
		var _scroll = true;
		var _topPos = 0;
		function positionLightbox(_lbox) {
			var _height = 0;
			var _width = 0;
			var _minWidth = $$('body > div')[1].getSize(); // was [0] but since I added that loading bit it's not anymore, 1 is now themain div
			_minWidth = _minWidth.x;
			if (window.innerHeight) {
				_height = window.innerHeight;
				_width = window.innerWidth;
			} else {
				_height = document.documentElement.clientHeight;
				_width = document.documentElement.clientWidth;
			}
			var _thisHeight = _lbox.getSize();
			_thisHeight = _thisHeight.y;
			var _page = $$('body > div')[1]; // was [0] but since I added that loading bit it's not anymore, 1 is now themain div
			var _pageSize = _page.getSize();
			_pageSize.y = _pageSize.y + 10;
			
			var _lboxSize = _lbox.getSize();
			
			if (_lbox) {
				if (_height > _pageSize.y) _fader.setStyle('height',_height); else _fader.setStyle('height',_pageSize.y);
				if (_width < _minWidth) {_fader.setStyle('width',_minWidth);} else {_fader.setStyle('width','100%');}
				
				if (_height > _thisHeight) {
					if (!window.innerHeight || u.indexOf('firefox')!=-1) {
						_lbox.setStyles({
							'position':'absolute',
							'top': (document.documentElement.scrollTop + (_height - _thisHeight) / 2)+"px"
						});
					} else {
						_lbox.setStyles({
							'position':'absolute',
							'top': (document.body.scrollTop + (_height - _thisHeight) / 2)+"px"
						});
					}
				}
				else {
					if (_height < _thisHeight && _scroll) {
						_topPos = document.documentElement.scrollTop;
						_scroll = false;
					} else if (_height > _thisHeight) {
						_scroll = true;
					}
					if (!window.innerHeight || u.indexOf('firefox')!=-1) {
						_lbox.setStyles({
							'position':'absolute',
							'top': _topPos
						});
					} else {
						_lbox.setStyles({
							'position':'absolute',
							'top': _topPos
						});
					}
				}
				if (_width > _lboxSize.x) _lbox.setStyles({'left':(_width - _lboxSize.x) / 2 + "px"});
				else _lbox.setStyles({'position':'absolute','left': 0});
			}
			
			if (typeof VSA_performResizeEvent == 'function') {
				VSA_performResizeEvent();
			}
			
		}
		window.addEvent('resize', function(){
			positionLightbox(_lightbox)
			return false;
		});
		/*window.addEvent('scroll', function(){
			positionLightbox(_lightbox);
			if (typeof VSA_handleResize == 'function') {
				VSA_handleResize();
			}
		});*/
	});
	
});
