function $E(selector){
	return $(document.body).getElement(selector);
}

Element.implement({
	showUndergrounded: function(){
		$('underground').removeClass('no_display');
		this.scrollIt = function(e){
			var center	= $(document.body).getSize();
			var scroll	= $(document.body).getScroll();
			var thisCoo	= $('underground').subLayer.getCoordinates();
			$('underground').subLayer.setStyle('left', parseInt(scroll.x + (center.x - thisCoo.width) / 2) + 'px');
			$('underground').subLayer.setStyle('top', parseInt(scroll.y + (center.y - thisCoo.height) / 2) + 'px');
		}
		var body_size = window.getScrollSize();
		$('underground').subLayer = this;
		$('underground').setStyle('width', body_size.x + 'px');
		$('underground').setStyle('height', body_size.y + 'px');
		$('underground').addEvent('click', hideUndergrounded);
		this.removeClass('no_display');
		this.scrollIt();
		window.addEvent('scroll', this.scrollIt);
	}
});

function hideUndergrounded(e){
	if(e && e.target && (e.target.hasClass('undergrounded') || e.target.getParent('.undergrounded')))
		return;
	$('underground').subLayer.addClass('no_display');
	$('underground').addClass('no_display');
	$('underground').removeEvents('click');
}

var root = '';

window.addEvent('domready', function(e){
	var body_size = window.getScrollSize();
	$('underground').setStyle('opacity', 0.5);
	$('underground').setStyle('width', body_size.x + 'px');
	$('underground').setStyle('height', body_size.y + 'px');
	
	$$('div.closePopup a').each(function(a){
		a.addEvent('click', function(e){
			new Event(e).stop();
			var div = a.getParent('div.undergrounded');
			if(div && !div.hasClass('no_display')){
				$('underground').addClass('no_display');
				div.addClass('no_display');
			}
		});
	});
	
	if($('alertpopup')){
		$('alertpopup').setStyle('opacity', 0.85);
		$E('#alertpopup a.read').addEvent('click', function(e){
			new Event(e).stop();
			$('alertpopup').addClass('no_display');
			new Request.JSON({
				'url': this.href,
				'method': 'get'
			}).send();
		});
		$E('#alertpopup a.close').addEvent('click', function(e){
			new Event(e).stop();
			$('alertpopup').addClass('no_display');
		});
	}
});

function show(el){
	$(el).removeClass('no_display');
}

function hide(el){
	$(el).addClass('no_display');
}

function showHide(el){
	$(el).toggleClass('no_display');
}

function wait(){
	$('underground').addClass('loading').removeClass('no_display');
}

function stopWaiting(){
	$('underground').removeClass('loading').addClass('no_display');
}

function insertFlash(node, src, width, height, params){
	var object, param, key;
	function newParam(name, value){
		if(0 /*@cc_on + 1 @*/)
			return ['<PARAM name="', name, '" value="', value, '" />'].join('');
		else{
			param = document.createElement('param');
			param.name = name;
			param.value = value;
			return param;
		}
	}
	if(0 /*@cc_on + 1 @*/) {
		object = ['<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="', width, '" height="', height, '"><PARAM name="movie" value="', src, '" />'];
		if(params){
			for(key in params){
				if(params.hasOwnProperty(key))
					object.push(newParam(key, params[key]));
			}
		}
		object.push('</OBJECT>');
		node.innerHTML = object.join('');
	}else{
		object = document.createElement('object');
		object.type = 'application/x-shockwave-flash';
		object.data = src;
		object.width = width;
		object.height = height;
		if(params){
			for(key in params){
				if(params.hasOwnProperty(key))
					object.appendChild(newParam(key, params[key]));
			}
		}
		node.appendChild(object);
	}
}