function selectStyle_replace(obj) {
	// append a class to the select
	obj.className += ' replaced';
	// create list for styling
	var ul = document.createElement('ul');
	ul.className = 'selectReplacement';
	var opts = obj.options;
	var selectedOpt = (!obj.selectedIndex) ? 0 : obj.selectedIndex;
	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() { selectStyle_select(this); }
		if (i == selectedOpt) {
			li.className = 'selected';
			li.onclick = function() {
					this.parentNode.className += ' selectOpen';
				this.onclick = function() { selectStyle_select(this); }
			}
		}
		if (window.attachEvent) {
			li.onmouseover = function() {
				this.className += ' hover';
			}
			li.onmouseout = function() {
				this.className = 
					this.className.replace(new RegExp(" hover\\b"), '');
			}
		}
		if(i == 0 ) li.className += ' first';
		ul.appendChild(li);
	}
	// add the input and the ul
	obj.parentNode.appendChild(ul);
}
function selectStyle_select(obj) {
	var lis = obj.parentNode.getElementsByTagName('li');
	for (var i=0; i<lis.length; i++) {
		var item = lis[i];
		if (item != obj) { // not the selected list item
			item.className='';
			item.onclick = function() { selectStyle_select(this); }
		} else {
			selectStyle_setVal(item.selectID, item.selIndex);
			item.className='selected';
			item.parentNode.className = 
				item.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
			item.onclick = function() {
				item.parentNode.className += ' selectOpen';
				this.onclick = function() { selectStyle_select(this); }
			}
		}
		if(i == 0 ) item.className += ' first';
	}
}
function selectStyle_setVal(objID, selIndex) {
	var obj = document.getElementById(objID);
	obj.selectedIndex = selIndex;
//	console.log(obj.onchange);
	if(obj.onchange) obj.onchange();
}
function selectStyle_replaceAll() {
	var s = document.getElementsByTagName('select');
	for (var i=0; i<s.length; i++)
		if(s[i].className.match(/replaceSelect/))
			selectStyle_replace(s[i]);
}

