/*--- popup function ---*/
function initPopup(showID){
	if($('#overlay').length == 0) $('body').append('<div id="overlay"></div>');
	var _fader = $('#overlay');
	var showPopupFunction = 'test';
	_fader.hide();
	var _popup = -1;
	$('a.with-popup').each(function(){
		var _el = this;
		if(_el.hash && _el.hash.length > 1){
			_el._popup = $(_el.hash);
			if(_el._popup.length){
				_el.onclick = function(){
					if(_el._popup){
						_el._popup.hide();
						_popup = _el._popup;
						showPopup();
					}
					return false;
				}
				_el._popup.find('a.close').click(function(){

					
					if($.browser.msie){
						try {
							_popup.hide();
						}
						catch(e) {
							
						}
						_fader.fadeOut(200);
						_popup = -1;
					}
					else{
						_popup.fadeOut(400, function(){
							_fader.fadeOut(200);
							 _popup = -1;
						});
					}

					return false;
				});
				_el._popup.find('a.closeText').click(function(){
					if($.browser.msie){
						_popup.hide();
						_fader.fadeOut(200);
						_popup = -1;
					}
					else{
						_popup.fadeOut(400, function(){
							_fader.fadeOut(200);
							 _popup = -1;
						});
					}
					return false;
				});
			}
		}
	});
	_fader.click(function(){
		if(_popup != -1){
			if($.browser.msie){
				_popup.hide();
				_fader.fadeOut(200);
				_popup = -1;
			}
			else{
				_popup.fadeOut(400, function(){
					_fader.fadeOut(200);
					_popup = -1;
				});
			}
		}
		return false;
	});
	$(document).keydown(function(e){
		if(!e)evt = window.event;
		if(e.keyCode == 27 && _popup != -1){
			if($.browser.msie){
				_popup.hide();
				_fader.fadeOut(200);
				_popup = -1;
			}
			else{
				_popup.fadeOut(400, function(){
					_fader.fadeOut(200);
					_popup = -1;
				});
			}
		}
	});
	function showPopup(){
		_fader.css({
			opacity: 0,
			height: initH(),
			display:'block'
		});
		_popup.css({top: $(window).scrollTop()});
		_fader.fadeTo(400, 0.4, function(){
			if(_popup != -1){
				if($.browser.msie) _popup.show();
				else _popup.fadeIn(200, function(){
					if(initH() < _popup.outerHeight()+_popup.offset().top) _fader.height(_popup.outerHeight()+_popup.offset().top);
				});
				_popup.css({top: $(window).scrollTop()+ ($(window).height() - _popup.outerHeight())/2});
				if(initH() < _popup.outerHeight()+_popup.offset().top) _fader.height(_popup.outerHeight()+_popup.offset().top);
			}
		});
	}
	function initH(){
		var _h = $('#wrapper').outerHeight();
		if(_h < $(window).height()) _h = $(window).height();
		if(_h < $('body').height()) _h = $('body').height();
		return _h;
	}
	if (showID) {
		popupLink = document.getElementById(showID);
		_popup = popupLink._popup;
		showPopup();
	}
}

$(document).ready(function(){
	initPopup();
});

