	var overlay = new Class({
				initialize:function() {
					// not visible
					this.visible = false;
					//this.html_content = new Element('div',{'id':'modal_box'});
					// ie initialy false
					this.ie = false;
					// overlay element
					this.overlay = new Element('div',{'id':'overlay'});
				},
				detect_browser: function() {
					if(Browser.Engine.trident4 ==  true) {
							this.ie = true;
					}
				},
				show:function() {
					this.detect_browser();
					if(this.ie) {
							this.overlay_height = window.getHeight();
							this.overlay_top = window.getScrollTop();
							this.overlay.setStyle('position','absolute');
							this.overlay.setStyle('height',this.overlay_height);
							this.overlay.setStyle('top',this.overlay_top );
						window.addEvent('scroll',function() {
							this.update_overlay();
						}.bind(this))
						window.addEvent('resize',function() {
							this.update_overlay();
						}.bind(this))
					}
					else {
						this.overlay.setStyle('position','fixed');
					}
					this.overlay.injectAfter('wrapper_overlay');
					this.overlay.fade('hide');
					this.overlay.tween('opacity', [0, 0.8]);
					this.visible = true;

					this.overlay.addEvent('click', function() {
						this.hide();
					}.bind(this));

				},
				hide:function() {
					this.overlay.fade('hide');
					this.visible = false;
					this.overlay.dispose();

					if($defined('modal'))
								{
								 	$('modal').dispose();
								 }
					this.collect_garbage();

				},
				collect_garbage:function() {
					this.overlay.removeEvents('click');
					window.removeEvents();
				},
				update_overlay:function() {
				// ie 6 function
						this.overlay_top = window.getScrollTop(); this.overlay.setStyle('top',this.overlay_top );
						this.overlay_height = window.getHeight(); this.overlay.setStyle('height',this.overlay_height);
				}

			}
		)
var modal = new Class({
	initialize:function() {
			this.visible = false;
			this.modal = new Element('div',{'id':'modal'});
			this.html_content = null;
		},
	show:function(html_content) {
			this.modal.injectAfter('overlay');
			this.html_content = html_content
			this.modal.innerHTML = this.html_content;
			this.modal_top = window.getScrollTop() + window.getHeight() /3;
			this.modal.setStyle('top',this.modal_top);
			window.addEvent('scroll',function() {
						this.update_modal();
			}.bind(this));
		},
	update_modal:function() {
			this.modal_top = window.getScrollTop() + window.getHeight() /3;
			this.modal.setStyle('top',this.modal_top);
		},
	hide:function() {
			this.dispose();
		}
})
// Spawn popup
function spaw_popup(u,n,p) {
	window.open(u,n,p)
}
// Tooogle class
function toggle_class(element,class_name) {
			$(element).toggleClass(class_name);
}
// Usability - resizer class
var font_resizer = new Class ({
		initialize:function(element) {
		// Intialize element
			this.el = $(element);
			var current_cookie = Cookie.read("font_size");
			if ($chk(current_cookie)) {
			this.el.setStyle("font-size", current_cookie + 'em');
			}
		},
		change_size:function(size) {
			// Setting style
				this.el.setStyle("font-size",  size + 'em');
			}
});

function my_size_change(element,size) {
	// changing class
		$('usability').getElements('a[class=current]').toggleClass('current');
	// Adding class to passed element
		$(element).addClass('current');
	// object 'my_resizer' changes size
		my_resizer.change_size(size);
	// Cookie set
		var myCookie = Cookie.write('font_size', size,{domain:'kiwk.katowice.pl'});
	}

//Validator class
var validator = new Class ({
		initialize:function(element) {
		// Intialize element
			this.result = false;
			this.input_value = null;
			this.el_form = $(element);
		},
		checkValue:function() {
		//Check Value
			this.input_value = this.el_form.getValue();
		},
		changeStyle:function(class_name) {
		//Change style if required --> class name string
			this.el_form.toggleClass(class_name);
		},
		setMessage:function(message) {
			this.el_form.value = message;
			},
		validate:function(criteria) {
		// Check Value at first
				this.checkValue();
		//Check criteria
				if(criteria == 'empty') {
					// If field is empty
									if (this.input_value.length >= 1) {
											return true;
									}
									else {
											return false;
								   }
				}
				 else if (criteria == 'number') {
					 // If field is number
									if(this.input_value.test(/^-?\d{1,3}(,?\d{3})*(\.00)?$/) ==  true) {
											return true;
									}
									else {
											return false;
									}
				}
				else if(criteria == 'e_mail') {
					 // If field is email
									if(this.input_value.test(/[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/) ==  true) {
											return true;
									}
									else {
											return false;
									}
			}
				else if (criteria == 'range') {
				//If field matches range
					for	( i=0 ; i < used_values.length ; i++ ) {
					if	(this.input_value == used_values[i]) {

									this.setMessage('Podana nazwa zostala juz uzyta');

									return false;
								}
					else {
									return true;

								}
						}
				}
		}
});

//Check value function

function checkForm(element) {
	if(e_mail.validate('range') &&  e_mail.validate('empty')) {

			return true;

	}
	else {
			return false;
	}
}

// Rollover function

function roll_over(element,source) {
	$(element).src = source;
}
