var PopUpUni = new Class({
	
	initialize:function(message) {
		//this.setOptions(options);
		this.message = message;
		this.popup_hided = false;
		this.popup_builder(message);
		this.show_popup();
		this.popup_add_event();
		this.iebutnot7ie = (Browser.Engine.trident);
	},
	
	popup_builder: function(message) {
			var popup_holder = new Element('div').set('html',
				'<div class="black_shadow" id="black_shadow"></div>'+
				'<div id="dlg">'+
				'	<div class="dlg_content">'+
				'        <div class="dlg_back"></div>'+
				'        <div class="dlg_middle">'+
				'			'+message+
				'	    </div>'+
				'    </div>'+
				'    <div class="dlg_bottom">'+
				'    	<div></div>'+
				'    </div>'+
				'	<div></div>'+
				'	<img src="https://img.hc.ru/hc.ru/popup/0.gif" class="go_back" title="" />'+
				'</div>'
			).injectBottom(document.body)
			popup_holder.getElement('.dlg_middle')

			this.black_shadow = 		popup_holder.getFirst();
			this.popup = 					this.black_shadow.getNext();
			this.popup_back = 			this.popup.getFirst().getFirst();
			this.popup_middle = 			this.popup_back.getNext();
			this.delete_popup = 			this.popup_middle.getFirst();
			//this.form_loading = 		this.dlg.getLast().getPrevious().set('morph', {duration: 1500, transition: 'expo:out'});
			this.set_shadow_size(this.black_shadow);
		},
	
	popup_clear_message: function() {
		this.popup_middle.empty();
	},

	popup_append_text: function(message) {
		this.popup_middle.set('html', message);
	},

	set_popup_position: function() {
		this.popup.setStyles({
			'left': (window.getCoordinates().width.toInt()-this.popup.getStyle('width').toInt())/2 + (this.iebutnot7ie?window.getScroll().x:0),
			'top': (window.getCoordinates().height.toInt()-this.popup.getStyle('height').toInt())/2 + (this.iebutnot7ie?window.getScroll().y:0)
		})
	},

	set_shadow_size: function(obj) {
		obj.setStyles({
			'width': (window.getSize().x.toInt()<960)?960:window.getSize().x.toInt(),
			'height': window.getScrollSize().y.toInt()
		})
	},

	show_popup: function(action, a, skip_events) {
		//this.form_loading.setStyle('visibility', 'hidden');
		this.black_shadow.setStyle('display', 'block');
		this.popup.setStyle('display', 'block');
		this.iebutnot7ie?this.popup_back.setStyle('height', this.popup_middle.getCoordinates().height.toInt()):'';
		this.set_popup_position();

		window.addEvent('resize', function(){
			this.set_popup_position();
			if (this.iebutnot7ie) this.set_shadow_size(this.black_shadow)
		}.bind(this));
		window.addEvent('scroll', function(){
			if (this.iebutnot7ie) this.set_popup_position();
		}.bind(this));
	},

	hide_popup: function() {
		this.popup_hided = true;
		this.popup.getParent().dispose();
		this.black_shadow.dispose();
	},

	popup_add_event: function(dname, return_to, reload_page) {
		this.popup.getLast().removeEvents('click').addEvent('click', function(){
			this.hide_popup();
		}.bind(this));

		document.removeEvents('keydown');
		document.addEvent('keydown', function(e){
			if (e.key=='esc') {
				document.removeEvents('keydown');
				this.hide_popup();
				e.stop();
			}
		}.bind(this))
	}
});