// Combo v1.0
// Copyright Harry Botha
// 2006/01/27

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

function combo_callback(argDropdownIdName, argLatestId, argValue)
{
	var obj = document.getElementById(argDropdownIdName);
	
	if (obj != null)
	{
		//obby.options.add("sdf", "xxxx");// = new Option("asdfsfd", "xxxx");
		//obby.options[obby.options.length] = new Option("one", "two");
		
		obj.options.add(new Option(argValue, argLatestId));
		obj.options[obj.options.length - 1].selected = true;
		
		
		var iframeObj = document.getElementById(argDropdownIdName + "_iframe");
		if (iframeObj != null)
		{
			var bodyObj = document.getElementsByTagName("body").item(0);
			bodyObj.removeChild(iframeObj);
		}
	}
}

function combo_onKeyDown(argDropdownIdName, e)
{
	
	var key;

	 if(window.event)
		  key = window.event.keyCode;     //IE
	 else
		  key = e.which;     //firefox
	
	if(key == 13)
	{
		document.getElementById(argDropdownIdName + "_button").click();
	}
}

function combo_checkExist(argDropdownIdName, argText)
{
	var obj = document.getElementById(argDropdownIdName);
	var exists = false;
	
	if (obj != null)
	{
		for (i = 0; i < obj.options.length; i++)
		{			
			if(trim(obj.options[i].text.toLowerCase()) == trim(argText.toLowerCase()))
			{
				exists = true;
				break;
			}	
		}
	}
	return exists;
}

function combo_runAddCode(argDropdownIdName, argDBIdField, argDBNameField, argDBTableName)
{

		if (trim(document.getElementById(argDropdownIdName + "_add").value) != "")
		{
			//alert("supposed to be adding one now");
			//alert(document.getElementById(argDropdownIdName + "_add").value);
			if (!combo_checkExist(argDropdownIdName, document.getElementById(argDropdownIdName + "_add").value))
			{
				if (confirm("Are you sure you want to add \"" + trim(document.getElementById(argDropdownIdName + "_add").value) + "\""))
				{

					var iframeObj = document.createElement("IFRAME");
					iframeObj.style.left = "-100px";
					iframeObj.style.top = "-100px";
					iframeObj.style.width = "0px";
					iframeObj.style.height = "0px";
					iframeObj.id = argDropdownIdName + "_iframe";
					iframeObj.name = argDropdownIdName + "_iframe";
					
					iframeObj.src = "inc/combo_box_db.asp?DB_ID_FIELD=" + argDBIdField + "&DB_NAME_FIELD=" + argDBNameField + "&DB_NAME_VALUE=" + escape(trim(document.getElementById(argDropdownIdName + "_add").value)) + "&DB_TABLE_NAME=" + argDBTableName + "&COMBO_ID_NAME=" + argDropdownIdName;

					
					var bodyObj = document.getElementsByTagName("body").item(0);
					bodyObj.appendChild(iframeObj);
				}

			}
			else
			{
				combo_selectOption(argDropdownIdName, document.getElementById(argDropdownIdName + "_add").value);
			}
		}
}

function combo_selectOption(argDropdownIdName, argValue)
{
	var obj = document.getElementById(argDropdownIdName);
	
	if (obj != null)
	{
		for (i = 0; i < obj.options.length; i++)
		{			
			if(trim(obj.options[i].text.toLowerCase()) == trim(argValue.toLowerCase()))
			{
				obj.options[i].selected = true;
				break;
			}	
		}
	}
}

function combo_toggle(obj, argDropdownIdName, argDBIdField, argDBNameField, argDBTableName)
{
	if (obj.value == "New")
	{
		obj.value = "Add";
		combo_showTextBox(argDropdownIdName);
	}
	else
	{

		combo_runAddCode(argDropdownIdName, argDBIdField, argDBNameField, argDBTableName);
	
		combo_showDropdown(argDropdownIdName);
		obj.value = "New";

	}	
}

function combo_showTextBox(argDropdownIdName)
{
	if (document.getElementById(argDropdownIdName) != null)
	{
		if (document.getElementById(argDropdownIdName + "_add") != null)
		{
			
			document.getElementById(argDropdownIdName).style.display = "none";
			document.getElementById(argDropdownIdName + "_add").style.display = "";
			document.getElementById(argDropdownIdName + "_add").value = "";
			document.getElementById(argDropdownIdName + "_add").focus();
		}
	}
}

function combo_showDropdown(argDropdownIdName)
{
	if (document.getElementById(argDropdownIdName) != null)
	{
		if (document.getElementById(argDropdownIdName + "_add") != null)
		{
			document.getElementById(argDropdownIdName).style.display = "";
			document.getElementById(argDropdownIdName + "_add").style.display = "none";
		}
	}
}
