		//
		// Array of comboboxes
		//

		var arrComboboxes = new Array();
		var intComboboxes = -1;


		//
		// Create new combobox
		//

		function fncNewCombo(strForm, arrElements, strEditElement, blnAlignment, intWidth, intHeight) {
			intComboboxes++;

			// Generate and write the HTML code

			var strSnidmatURL = "/snidmat/v2/";
			document.write("<div id=\"" + strEditElement + "_combo\" name=\"" + strEditElement + "_combo\" class=\"combobox\"></div><a href=\"javascript:arrComboboxes[" + intComboboxes + "].fncComboChange();\"><img id=\"" + strEditElement + "_combo_btn\" src=\"" + strSnidmatURL + "img/icon-arrowdown2.gif\" border=\"0\" align=\"absmiddle\" hspace=\"0\" alt=\"Fellivalmynd\" /></a>");

			// Create a new instance of the combobox object

			arrComboboxes[intComboboxes] = new fncCombo(strForm, arrElements, strEditElement, blnAlignment, intWidth, intHeight);
		}


		//
		//
		// Combo box class
		//
		// 	blnAlignment - Show below (true) or above (false) the edit box
		//

		function fncCombo(strForm, arrElements, strEditElement, blnAlignment, intWidth, intHeight) {
			// ----------------------------------------------
			// Variables
			// ----------------------------------------------

			strHTML = "";

			var blnComboState   = false;
			var objComboElement = false;
			var objComboPos     = false;
			var objEditElement  = false;
			var arrElementsNew  = new Array();

			strComboElement = strEditElement  + "_combo";
			strComboPos     = strComboElement + "_btn";


			// Create objects

			objEditElement  = document.forms[strForm].elements[strEditElement];

			objComboElement = getElement(strComboElement);
			objComboPos     = getElement(strComboPos);

			// Re-fill array of items

			for (intCount=0;intCount<arrElements.length;intCount++) {
				arrElementsNew[intCount] = arrElements[intCount];
			}

			// Fill combobox

			for (intCount=0;intCount<arrElementsNew.length;intCount++) {
				var strElementString = arrElementsNew[intCount];

				if (strElementString.indexOf("||") > 0) {
					strElementValue       = strElementString.substring(strElementString.indexOf("||")+2,strElementString.length);
					strElementDescription = strElementString.substring(0, strElementString.indexOf("||"));
				} else {
					strElementValue       = strElementString;
					strElementDescription = strElementString;
				}

				strHTML += "<a href=\"javascript:arrComboboxes[" + intComboboxes + "].fncComboClick('" + strElementValue + "');\"><div class=\"item\" onMouseOver=\"this.className='item_over';\" onMouseOut=\"this.className='item';\">" + strElementDescription + "</div></a>";
			}

			objComboElement.innerHTML = strHTML;


			// ----------------------------------------------
			// Set properties
			// ----------------------------------------------

			objComboElement.style.height = (intHeight * 14) + "px";
			objComboElement.style.width = intWidth + "px";


			// ----------------------------------------------
			// Methods
			// ----------------------------------------------

			this.fncComboChange = fncComboChange;
			this.fncComboClick  = fncComboClick;

			function fncComboChange(blnCurrentState) {
				objComboElement.style.left = (getAbsX(objEditElement)-(getElement('column_left').offsetLeft + getElement('column_left').offsetWidth) - 4); //(getAbsX(objEditElement)-getElement('column_left').offsetWidth);
				if (blnAlignment) {
					objComboElement.style.top  = (getAbsY(objEditElement)-getElement('page_header').offsetHeight) + objEditElement.offsetHeight - 3;
				} else {
					objComboElement.style.top  = (getAbsY(objEditElement)-getElement('page_header').offsetHeight) - objComboElement.offsetHeight - 2;
				}

				if (typeof(blnCurrentState) == 'undefined') blnCurrentState = blnComboState;

				if (blnCurrentState) {
					objComboElement.style.visibility = "hidden";
					blnComboState = false;
				} else  {
					objComboElement.style.visibility = "visible";
					objComboElement.scrollTop = 0;
					blnComboState = true;
				}
			}

			function fncComboClick(strText) {
				if (strText != '') objEditElement.value = strText;
				fncComboChange(objComboElement);
			}

			function fncComboOver() { this.className = 'item_over'; }
			function fncComboOut()  { this.className = 'item'; }
		}

