	function openWindow(url, PageWidth, PageHeight, _scrollbars, _status)
	{
		var popleft = ((document.body.clientWidth - PageWidth) / 2) + window.screenLeft;
		var poptop = ((( document.body.clientHeight - PageHeight) / 2)) + window.screenTop-40;
		
		str = "" + Math.random() + "";
		_unique_id = str.substr(2, str.length);
		
		window.open(url, _unique_id ,"status=" + _status + ",resizable=1,scrollbars=" + _scrollbars + ",width=" + PageWidth + ",height=" + PageHeight + ",left=" + popleft + ",top=" + poptop);
	}
	
	function changeColor(formItem, layerPreview, oldcolor, _back)
	{
		// figure our optimal window placement for popup dialog
		var posX    = event.screenX;
		var posY    = event.screenY + 20;
		var screenW = screen.width;                                 // screen size
		var screenH = screen.height - 20;                           // take taskbar into account
		if (posX + 232 > screenW) { posX = posX - 232 - 40; }       // if mouse too far right
		if (posY + 164 > screenH) { posY = posY - 164 - 80; }       // if mouse too far down
		var wPosition   = "dialogLeft:" + posX + "; dialogTop:" + posY;

		var newcolor = showModalDialog(_back + "includes/assets/color_selector/select_color.html", oldcolor, "dialogWidth:238px; dialogHeight: 187px; resizable: no; help: no; status: no; scroll: no; " + wPosition);
		if (newcolor != null) 
		{
			eval("document.all." + layerPreview).style.background = "#" + newcolor; 
			formItem.value = "#" + newcolor; 
		}
	}

	function doNothing()
	{
	}

	function setCheckboxes(field, do_check)
	{
		if(field != undefined)
		{
			var count  = field.length;
		
			if (count) 
			{
				for (var i = 0; i < count; i++) 
				{
					field[i].checked = do_check;
				}
			}
			 else 
			{
				field.checked = do_check;
			}
		}

		return true;
	}
	
	function doCancel(field)
	{
		var count  = (typeof(field.length) != undefined)?field.length:0;
	
		if(count) 
		{
			for (var i = 0; i < count; i++) 
			{
				field[i].checked = false;
			}
		}
		else 
		{
			field.checked = false;
		}
	}
	
	function buildRadioButtonSimulator(field, value)
	{
		var count  = (typeof(field.length) != undefined)?field.length:0;

		_id = getCheckBoxID(field, value);

		if(field[_id] != undefined)
		{
			if(field[_id].checked == true)
			{
				if(count) 
				{
					for (var i = 0; i < count; i++) 
					{
						if(i != _id)
						{
							field[i].checked = false;
						}
					}
				}
			}
		}
	}
	
	function getCheckBoxID(field, value)
	{
		var count  = (typeof(field.length) != undefined) ? field.length:0;

		if(count) 
		{
			for (var i = 0; i < count; i++) 
			{
				if(field[i].value == value)
				{
					return i;
				}
			}
		}
		return 0;
	}

	function in_array(needle, haystack)
	{
		var j;
		
		for(j=0; j < haystack.length; j++)
		{
			if(haystack[j] == needle)
			{
				return  true;
				break;
			}
		}
		
		return false;
	}

	function handleAutoSearch(e)
	{
		if (!e) e = window.event;
		var pressedKey;
		if (document.layers) { pressedKey = e.which; }
		if (document.all)    { pressedKey = e.keyCode; }
		pressedCharacter = String.fromCharCode(pressedKey);
		
		form_value = document.form.keyword.value;
		if(pressedKey != 9 && pressedKey != 12 && pressedKey != 13 && pressedKey != 16 && pressedKey != 17 && pressedKey != 18 && pressedKey != 19 && pressedKey != 20 && pressedKey != 27 && pressedKey != 33 && pressedKey != 34 && pressedKey != 35 && pressedKey != 36 && pressedKey != 37 && pressedKey != 38 && pressedKey != 39 && pressedKey != 40 && pressedKey != 44 && pressedKey != 45 && pressedKey != 46 && pressedKey != 91 && pressedKey != 92 && pressedKey != 93 && pressedKey != 112 && pressedKey != 113 && pressedKey != 114 && pressedKey != 115 && pressedKey != 116 && pressedKey != 117 && pressedKey != 118 && pressedKey != 119 && pressedKey != 120 && pressedKey != 121 && pressedKey != 122 && pressedKey != 123 && pressedKey != 144 && pressedKey != 145)
		{
			if(pressedKey == 8)
			{
				keyword = form_value.substring(0, form_value.length-1);
			}
			else
			{
				keyword = form_value + pressedCharacter;
			}
			
			WBM_writeItemsTable('Container', items_checked_array, items_array, keyword, '', '');
		}
	}
