function prettySelectBox () {
	var parent = this;
	var ieHeight = -1;
 
	this.over = function(e) {
		e = evt.fix(e);
		li = e.target;
		cls.remove(parent.ul.selected, 'hover');
		cls.add(li, 'hover');
	}
	
	this.out = function(e) {
		e = evt.fix(e);
		li = e.target;
		if ((parent.ul.selected!=li)&&(cls.has(li, 'hover'))) cls.remove(li, 'hover');
	}

	this.hide = function(e) {
		e = evt.fix(e);
		var ul = document.getElementsByTagName('UL');
		if (e.target.parentNode != parent.ul) {
			if (parent.ul.unpacked) {
				// pro IE
				if (ieHeight!=-1) {parent.ul.style.height = ieHeight;} else {parent.ul.style.overflow = 'hidden';}
				parent.ul.unpacked = false;
				parent.iframe.style.display = 'none';
			}
		}
	}
	   
	this.action = function(e) {
		e = evt.fix(e);
		li = e.target;
		if (parent.ul.unpacked == false) {
			if (ieHeight!=-1) {parent.ul.style.height = 'auto';} else {parent.ul.style.overflow = 'visible';}
			parent.ul.unpacked = true;
			if (isIE) {
				parent.iframe.style.top     = '0px';
				parent.iframe.style.left    = '0px';
				parent.iframe.style.width   = parent.ul.offsetWidth;
				parent.iframe.style.height  = parent.ul.offsetHeight;
				parent.iframe.style.display = 'block';
				parent.iframe.style.clip    = parent.ul.style.clip;
			}
		}
		else {
			if (ieHeight!=-1) {parent.ul.style.height = ieHeight;} else {parent.ul.style.overflow = 'hidden';}
			parent.ul.unpacked = false;
			parent.iframe.style.display = 'none';
			if (li.order >= 0) {
				parent.ul.firstChild.firstChild.nodeValue = li.firstChild.nodeValue;
				parent.select.selectedIndex = li.order;
				if (parent.select.onchange) parent.select.onchange();
				cls.remove(li.selected, 'hover');
				parent.ul.selected = li;
				cls.add(parent.ul.selected, 'hover');
				if (parent.selectedClass) {cls.remove(parent.ul.firstChild, parent.selectedClass); parent.selectedClass = false;}
				if (parent.select[li.order].className!="") {
					parent.selectedClass = parent.select[li.order].className;
					cls.add(parent.ul.firstChild, parent.selectedClass);
				}
			}	
		}
	}

	this.create = function(select) {
		if (document.createElement && document.createTextNode) {
			var o = select.getElementsByTagName('OPTION');
			parent.ul = document.createElement('UL');
			parent.select = select;
			for (var i = 0; i < o.length ;i++) {
				if (i == 0) {
					var li = document.createElement('LI');
					var t  = document.createTextNode(o[select.selectedIndex].text);
					li.className = 'first';
					li.order = -1;
					li.appendChild(t);
					if (o[select.selectedIndex].className!="") {
						cls.add(li, o[select.selectedIndex].className);
						parent.selectedClass = o[select.selectedIndex].className;
					}
					else {
						parent.selectedClass = false;
					}
					parent.ul.appendChild(li);
					evt.add(li, "click", parent.action);
				}
				var li = document.createElement('LI');
				li.order = i;
				var t  = document.createTextNode(o[i].text);
				li.appendChild(t);
				parent.ul.appendChild(li);			
				cls.add(li, o[i].className);				
				if (i==0) {
					parent.ul.selected = li;
					cls.add(parent.ul.selected, 'hover');				
				}
				evt.add(li, "click", parent.action);
				evt.add(li, "mouseover", parent.over);
				evt.add(li, "mouseout", parent.out);
			}	
			parent.ul.selected = li;
			cls.add(parent.ul.selected, 'last');				
			parent.ul.className = select.className;
			parent.ul.unpacked  = false;
			var holder = document.getElementById(select.id+"Holder");
			holder.style.position = "relative";
			cls.add(holder,'fixPrettyHolder');
			parent.iframe = document.createElement('IFRAME');
			parent.iframe.src = "javascript:false";
			parent.iframe.style.position = 'absolute';
			parent.iframe.style.display  = 'none';
			holder.appendChild(parent.iframe);
			holder.appendChild(parent.ul);
			evt.add(document , "click", parent.hide);
			select.style.visibility = "hidden";
			select.style.display = "none";
			if (parseInt(parent.ul.style.height) > 0) {ieHeight = parent.ul.style.height;} // pro IE, v tom blbne hover pri overflow: visible;
		}	
 }
}

function initSelectBoxes() {
	var selects = document.getElementsByClassName('prettySelect');

	for (var i = 0; i < selects.length; i++) {
		selects[i].selectBox = new prettySelectBox();
		selects[i].selectBox.create(selects[i]);
	}
/*	var selects2 = document.getElementsByClassName('prettySelect2');

	for (var i = 0; i < selects2.length; i++) {
		selects2[i].selectBox = new prettySelectBox();
		selects2[i].selectBox.create(selects2[i]);
	}*/ 
}
	
evt.add(window, "load", initSelectBoxes);
