// ##################
// Help Desk Module
// ##################

// ##  Configurations

var strHelpDeskFormName
var strHelpDeskFormContainerField
var strHelpDeskProjectID
var blnHelpDeskForceSingleProjectSelect

function Project(strProjectGroupName,strProjectName,strContainerId)
{
	this.strProjectGroupName = strProjectGroupName;
	this.strProjectName = strProjectName;
	this.strContainerId = strContainerId;
}

arrProjects = new Array();

// ##  Functions

function PopulateProjectGroupsList(strProjectGroupName)
{
	//alert('strProjectGroupName = ' + strProjectGroupName);
	strNewOptionsHTML = '';

	for (i = 0; i < arrProjects.length; i++)
	{
		if (arrProjects[i].strProjectGroupName == strProjectGroupName)
		{
			if (blnHelpDeskForceSingleProjectSelect && arrProjects[i].strProjectName == 'All Categories') 
			{
				strNewOptionsHTML += '	<option value="">Please select a project...</option>';
			}
			else
			{
				strNewOptionsHTML += '	<option value="' + arrProjects[i].strProjectName + '">' + arrProjects[i].strProjectName + '</option>';
			}
		}
	}

	strOptionsHTML = '<select name="Project" onchange="SetContainerId()" style="font-size: 0.9em; height: 18px;">';
	if (strNewOptionsHTML)
	{
		strOptionsHTML += strNewOptionsHTML;
	}
	else
	{
		if (blnHelpDeskForceSingleProjectSelect)
		{
			strOptionsHTML += '	<option value="">No projects available</option>';
		}
		else
		{
			strOptionsHTML += '	<option value="All Categories">All Categories</option>';
		}
	}
	strOptionsHTML += '</select>';

	document.getElementById('ProjectList').innerHTML = '';
	document.getElementById('ProjectList').innerHTML = strOptionsHTML;	

	SetContainerId();
}

function SetContainerId()
{
	strProjectGroupName = document.forms[strHelpDeskFormName].ProjectGroup.value;
	strProjectName = document.forms[strHelpDeskFormName].Project.value;

	//alert("strProjectGroupName = " + strProjectGroupName + "\nstrProjectName = " + strProjectName);

	blnChangedContainer = false;
	strNewContainerId = '';
	
	for (i = 0; i < arrProjects.length; i++)
	{
		if (arrProjects[i].strProjectGroupName == strProjectGroupName)
		{
			if (arrProjects[i].strProjectName == strProjectName)
			{			
				blnFoundProject = true;
			}
			else if (blnHelpDeskForceSingleProjectSelect && arrProjects[i].strProjectName == 'All Categories')
			{
				blnFoundProject = true;
			}
			else
			{
				blnFoundProject = false;
			}
		}
		else
		{
			blnFoundProject = false;
		}
		
		if (blnFoundProject)
		{
			//document.forms[strHelpDeskFormName].elements[strHelpDeskFormContainerField].value = arrProjects[i].strContainerId;
			//alert(arrProjects[i].strContainerId);
			//alert(strHelpDeskFormName + " / " + strHelpDeskFormContainerField + " / " + document.forms[strHelpDeskFormName].elements[strHelpDeskFormContainerField].value);
			
			strNewContainerId = arrProjects[i].strContainerId;
			
			blnChangedContainer = true;
		}
	}

	if (blnChangedContainer)
	{
		if (strNewContainerId)
		{
			document.forms[strHelpDeskFormName].elements[strHelpDeskFormContainerField].value = strNewContainerId;
			if (document.getElementById('newitemlink'))
			{
				document.getElementById('newitemlink').href = 'item_add.asp?ContainerID=' + strNewContainerId;
			}
			//alert(strHelpDeskFormName + " / " + strHelpDeskFormContainerField + " / " + document.forms[strHelpDeskFormName].elements[strHelpDeskFormContainerField].value);
		}
	}
	else
	{
		//alert('Set container ID to blank');
		document.forms[strHelpDeskFormName].elements[strHelpDeskFormContainerField].value = '';		
	}
}

function GetProject()
{
	for (i = 0; i < arrProjects.length; i++)
	{
		if (arrProjects[i].strContainerId == strHelpDeskProjectID)
		{
			document.forms[strHelpDeskFormName].ProjectGroup.value = arrProjects[i].strProjectGroupName;
			if (blnHelpDeskForceSingleProjectSelect && arrProjects[i].strProjectName == 'All Categories') 
			{
				document.forms[strHelpDeskFormName].Project.value = '';
			}
			else
			{
				document.forms[strHelpDeskFormName].Project.value = arrProjects[i].strProjectName;
				//alert('arrProjects[i].strProjectName = ' + arrProjects[i].strProjectName);
			}
		}
	}
	
	SetContainerId();
}
