	function selectReplacement(obj) {
	// append a class to the select
	obj.className += ' replaced';
	// create list for styling
	var wrapper = document.createElement('div');	
	wrapper.className = 'selectReplacementWrapper';	
	var wrapperInner = document.createElement('div');	
	wrapperInner.className = 'selectReplacementWrapperInner';	
	
	var ul = document.createElement('ul');
	ul.className = 'select';
	var opts = obj.options;
	
	for (var i=0; i<opts.length; i++) {
		var selectedOpt;
		if (opts[i].selected) {
			selectedOpt = i;
			break;
		} else {
			selectedOpt = 0;
		}
	}
	
	for (var i=0; i<opts.length; i++) {
		var li = document.createElement('li');
		var txt = document.createTextNode(opts[i].text);
		li.appendChild(txt);
		li.selIndex = opts[i].index;
	
		li.selectID = obj.id;
		li.onclick = function() {
			selectMe(this);
		}
		if (i == selectedOpt) {
			li.className = 'selected';
			li.onclick = function() {
				//this.parentNode.className += ' selectOpen';
				this.onclick = function() {
					selectMe(this);
				}
			}
		}
		if (window.attachEvent) {
			li.onmouseover = function() {
				this.className += ' hover';
			}
			li.onmouseout = function() {
				this.className = 
					this.className.replace(new RegExp(" hover\\b"), '');
			}
		}
		ul.appendChild(li);	
		ul.onclick = function() {
			var classList = ul.className.split(' ');
			var strClassUpper = 'selectOpen'.toUpperCase();
			for ( var i = 0; i < classList.length; i++ ) { 
				if ( classList[i].toUpperCase() == strClassUpper ) {
					var active = true;
				}			
			}
			if(active == true) {
				ul.className = ul.className.replace(new RegExp(" selectOpen\\b"), '');
			} else {
				ul.className += ' selectOpen';
			}										
		}
		ul.onmouseover_ = function() {
			ul.className += ' selectOpen';								
		}
		ul.onmouseout_ = function() {
			ul.className = ul.className.replace(new RegExp(" selectOpen\\b"), '');									
		}
	}			
	//wrapperInner.appendChild(ul);
	wrapper.appendChild(ul);
	// add the input and the ul
	//obj.parentNode.appendChild(wrapper);
	
	// einfügen obj.parentNode.insertBefore(wrapperInner, obj);
	wrapper.appendChild(obj.cloneNode(true)); 
	obj.parentNode.replaceChild(wrapper, obj);
	}
	function selectMe(obj) {
	var lis = obj.parentNode.getElementsByTagName('li');
	for (var i=0; i<lis.length; i++) {
		if (lis[i] != obj) { // not the selected list item
			lis[i].className='';
			lis[i].onclick = function() {
				selectMe(this);
			}
	 } else {
			setVal(obj.selectID, obj.selIndex);
			obj.className='selected';
			//obj.parentNode.className = obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
			obj.onclick = function() {
				//obj.parentNode.className += ' selectOpen';
				this.onclick = function() {
					selectMe(this);
				}
			}
		}
	}
	}
	function setVal(objID, selIndex) {
		var obj = document.getElementById(objID);
		if(obj != null)	obj.selectedIndex = selIndex;
	}
	function replaceSelectList() {
	var s = document.getElementsByTagName('select');
	for (var i=0; i<s.length; i++) {
		selectReplacement(s[i]);
	}
	}
	function closeSel(obj) {
	// close the ul
	}
