var timeouts = new Array;
var pressed = null;
function toggleview (id, dClose) {
	if (!id) {
		return false;
	}
	
	if (d = document.getElementById(id)) {
		if (d.style.display == "block") {
			d.style.display = "none";
			if (id == pressed) {
				pressed = null;
			}
		} else {
			if (!dClose || dClose == "undefined") {
				d.style.display = "block";
				if (pressed != id) {
					fnStopTimer();
					toggleview(pressed);
				}
				pressed = id;
			}
		}
	}
}

function changevalue (id, val, selectBOX, hiddenBOX, closeID, fncCall) {
	if (!selectBOX || !hiddenBOX) {
		return false;
	}

	if (s = document.getElementById(selectBOX)) {
		if (h = document.getElementById(hiddenBOX)) {
			if (h.value != val) {
				s.innerHTML = val;
				h.value = id;

				if (fncCall != "" && fncCall != "undefined") {
					if (fncCall.substring(0, 3) == "frm") {
						eval('document.'+fncCall+'.submit()');
					} else {
						eval(fncCall+"()");
					}
				}
			}
		}
	}
	fnStopTimer();
	toggleview(closeID);
}

function fnStartTimer (id) {
	timeouts[id] = setTimeout("toggleview('"+id+ "', true)", 1000);
}

function fnStopTimer (id) {
	clearTimeout(timeouts[id]);
}

var defaultValue = '';
var defaultID = '';
var zindex = 500;
function writeSelect (arrValues, defaults, ID, standard, formToSubmit, smallSelect) {
	zindex--;
	if (!smallSelect || smallSelect == "undefined") {
		smallSelect = '';
	}
	
	if (isArray(defaults)) {
		defaultValue = defaults[1];
		defaultID = defaults[0];
	} else {
		defaultValue = defaults;
		defaultID = defaults;
	}
	
	if (BrowserDetect.browser != "Safari") {
		var str = ''
				+ '<div style="z-index: '+zindex+'" class="select'+smallSelect+'" onmouseout="fnStartTimer(\''+ID+'-options\')" onmouseover="fnStopTimer(\''+ID+'-options\')">'
				+ '<ul>'
				+ '<li><span><a id="'+ID+'-select" href="javascript:toggleview(\''+ID+'-options\')">'+defaultValue+'</a></span>'
				+ '<ul id="'+ID+'-options">';
				for (x in arrValues) {
					str += '<li><span><a href="javascript:changevalue(\''+arrValues[x]['id']+'\', \''+arrValues[x]['value']+'\', \''+ID+'-select\', \''+ID+'\', \''+ID+'-options\', \''+formToSubmit+'\')">'+arrValues[x]['value']+'</a></span></li>'
				}
				
				if (typeof(defaultID) != 'number') {
					defaultID = defaultID.toLowerCase();
				}
	
				str += '</ul>'
				+ '</ul>'
				+ '<input type="hidden" id="'+ID+'" name="Data['+ID+']" value="' +defaultID+ '" />'
				+ '</div>';
		
		document.write(str);
	} else {
		//alert(standard);
		document.write(standard);
	}
}

function createArray (str) {
	var arr = str.split("|");
	var arrIDs = arr[0].split(",");
	var arrValues = arr[1].split(",");
	var pairs = new Array(arrIDs.length);
	if (arrValues.length == arrIDs.length) {
		for (i = 0; i < arrIDs.length; i++) {
			pairs[i] = new Array(2);
			pairs[i]['id'] = arrIDs[i];
			pairs[i]['value'] = arrValues[i];
		}
	}
	return pairs;
}

function isArray (obj) {
	if (obj.constructor.toString().indexOf("Array") == -1) {
		return false;
	} else {
		return true;
	}
}

