/*Name: Niceforms Version: 0.9 Author: Lucian Slatineanu URL: http://www.badboy.ro/ Modified by: Basti URL: http://www.arraystudio.com Only Used the Select Function */
var selects;
function init() {
	if(findPosX(document.getElementById('stylesheetTest')) == -999) {
		replaceSelects();
	}
}

function replaceSelects() {	
    selects = document.getElementsByTagName('select');
    for(var i=0; i < selects.length; i++) {
		var selectArea = document.createElement('div');
		var left = document.createElement('div');
		var right = document.createElement('div');
		var center = document.createElement('div');
		var button = document.createElement('a');
		var text = document.createTextNode(selects[i].options[selects[i].selectedIndex].firstChild.nodeValue);
		center.id = "mySelectText"+i;
		selectArea.className = "selectArea_1";
		selectArea.id = "selectArea"+i;
		left.className = "left";
		right.className = "right";
		center.className = "center";
		right.appendChild(button);
		center.appendChild(text);
		selectArea.appendChild(left);
		selectArea.appendChild(right);
		selectArea.appendChild(center);
		
		if(document.addEventListener)
		{
			eval("selectArea.addEventListener('click', function (e) { e.stopPropagation(); if(isAnyOptionVisible() != "+i+" && isAnyOptionVisible() >= 0) { showOptions(isAnyOptionVisible());} showOptions("+i+"); }, true)");
			document.addEventListener('click', function (e) { showOptions(isAnyOptionVisible());}, false);
		}
		else if(document.attachEvent)
		{
			eval("selectArea.attachEvent('onclick', function (e) { if (!e) var e = window.event; e.cancelBubble = true; if(isAnyOptionVisible() != "+i+" && isAnyOptionVisible() >= 0) { showOptions(isAnyOptionVisible());} showOptions("+i+"); } )");
			document.attachEvent('onclick', function (e) { showOptions(isAnyOptionVisible());});
		}
       		selects[i].style.display='none';
		selects[i].parentNode.insertBefore(selectArea, selects[i]);
		var optionsDiv = document.createElement('div');
		optionsDiv.className = "optionsDivInvisible";
		optionsDiv.id = "optionsDiv"+i;
		optionsDiv.style.left = findPosX(selectArea) + 'px';
		optionsDiv.style.top = findPosY(selectArea) + 19 + 'px';
		for(var j=0; j < selects[i].options.length; j++) {
			var optionHolder = document.createElement('p');
			var optionLink = document.createElement('a');
			var optionTxt = document.createTextNode(selects[i].options[j].firstChild.nodeValue);
			optionLink.href = "javascript:selectMe('"+selects[i].id+"',"+j+","+i+");";
			//alert(optionLink);
			optionLink.appendChild(optionTxt);
			optionHolder.appendChild(optionLink);
			optionsDiv.appendChild(optionHolder);
		}
		document.getElementsByTagName("body")[0].appendChild(optionsDiv);
	}
	resize_obj();
	window.onresize = resize_obj;
}

function resize_obj(){
	for(var n=0; n < selects.length; n++) {
		var selArea = document.getElementById("selectArea"+n);
		var optDiv = document.getElementById("optionsDiv"+n);
		optDiv.style.left = findPosX(selArea) + 'px';
		optDiv.style.top = findPosY(selArea) + 19 + 'px';
	}
}

function showOptions(g) {
		elem = document.getElementById("optionsDiv"+g);
		if(!elem)
		{
			return;
		}
		
		if(elem.className=="optionsDivInvisible") {elem.className = "optionsDivVisible";}
		else if(elem.className=="optionsDivVisible") {elem.className = "optionsDivInvisible";}
}
function isAnyOptionVisible()
{
	var g=0;
	
	while(elem = document.getElementById("optionsDiv"+g))
	{
		if(elem.className=="optionsDivVisible")
			return g;
		g++;
	}
	
	return -1;
}
function selectMe(selectFieldId,linkNo,selectNo) {
	selectField = document.getElementById(selectFieldId);
	for(var k = 0; k < selectField.options.length; k++) {
		if(k==linkNo) {
			selectField.options[k].selected = "selected";
		}
		else {
			selectField.options[k].selected = "";
		}
	}
	textVar = document.getElementById("mySelectText"+selectNo);
	var newText = document.createTextNode(selectField.options[linkNo].value);
	//alert(document.getElementById(selectFieldId).value);
	document.getElementById(selectFieldId).onChange = bao(document.getElementById(selectFieldId).value);
	//textVar.replaceChild(newText, textVar.childNodes[0]);
}


function bao(s)
{
    window.open(s);
}

function findPosY(obj) {
	var posTop = 0;
	while (obj.offsetParent) {
		posTop += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return posTop;
}
function findPosX(obj) {
	var posLeft = 0;
	while (obj.offsetParent) {
		posLeft += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return posLeft;
}

window.onload = init;