
function _ISD_UI_StandardLookupList_confirm(funcName, itemLabel)
{
	var msg = funcName;
	if(itemLabel)
		msg += " \"" + itemLabel + "\"";
	return confirm(msg + '?');
}

function _ISD_UI_StandardLookupList_doLinks(ctrlLink, ctrlSubmit, ctrlValue, ctrlParent, objectID, parentID, objectLabel, Confirm)
{
	ctrlValue = _ISD_UI_EnsureObject(ctrlValue);
	ctrlParent = _ISD_UI_EnsureObject(ctrlParent);
	
  if (null != ctrlValue && null != ctrlParent)
  {
		ctrlValue.value = objectID;
		ctrlParent.value = parentID;
		
		var ctrlSelect = _ISD_UI_Lookup_DoFunction_getSelect();
		if (ctrlSelect)
		{
			ctrlSelect.form.ObjectID.value = '0';
			var index = _ISD_UI_getIndex(ctrlSelect);
			if (-1 != index)
			{
				for (i=1; i<3; i++)
					ctrlSelect.form.elements[index+i].value = '';
				ctrlSelect.form.elements[index+3].value = '0';	
				ctrlSelect.form.elements[index+4].checked = false;	
				ctrlSelect.form.elements[index+5].checked = true;	
			}
		}
	}	
  ctrlSubmit = _ISD_UI_EnsureObject(ctrlSubmit);
  if (ctrlSubmit)
  {
		var doSubmit = true;
		if (Confirm)
			doSubmit = _ISD_UI_StandardLookupList_confirm(objectID, _ISD_UI_EnsureValue(objectLabel));
		if (doSubmit)
  		ctrlSubmit.click();
  }	
}

function _ISD_UI_Lookup_DoFunction_getSelect()
{
	var ret = null;
	var i = 0;
	
	var obj = null;
	obj = _ISD_UI_EnsureObject('ObjectID');
	if(obj)
	{
		var frm = obj.form;
		for (i=0; i<frm.elements.length; i++)
		{
			if (-1 != frm.elements[i].name.indexOf("_LookupValues"))
				ret = frm.elements[i];
		}
	}	
	return ret;	
}

function _ISD_UI_Lookup_DoFunction_getDelete()
{
	var ret = null;
	var i = 0;
	var frm = _ISD_UI_EnsureObject('ObjectID');
	frm = frm.form;
	
	for (i=0; i<frm.elements.length; i++)
	{
		if (-1 != frm.elements[i].name.indexOf("_FunctionDelete"))
			ret = frm.elements[i];
	}
	
	return ret;	
}

function _ISD_UI_Lookup_DoFunction_new(ctrlSubmit, ctrlObjectID, objectID, funcName, Confirm)
{
	var ret = true;
	
	ctrlObjectID = _ISD_UI_EnsureObject(ctrlObjectID);
	ctrlObjectID.value = 0;
	
	if (ret && Confirm)
		ret = _ISD_UI_StandardLookupList_confirm(funcName, '');
			
	return ret;
}

function _ISD_UI_Lookup_DoFunction_edit(ctrlSubmit, ctrlObjectID, objectID, funcName, Confirm)
{
	var ctrlSelect = null;
	var index = 0;
	var objectID = -1;
	var ret = false;
	
	ctrlSubmit = _ISD_UI_EnsureObject(ctrlSubmit);
	ctrlSelect = _ISD_UI_Lookup_DoFunction_getSelect();
	
	if (ctrlSelect)
		objectID = ctrlSelect.value;
	
	if (-1 != objectID && 0 != objectID && null != objectID)
	{
		ctrlObjectID = _ISD_UI_EnsureObject(ctrlObjectID);
		ctrlObjectID.value = objectID;
		ret = true;
	}
	if (!ret)
	{
		alert('select an item !'); // get the label by AJAX
		ctrlSelect.focus();
	}	
	if (ret && Confirm)
	{
		var objectLabel = ctrlSelect.options[ctrlSelect.selectedIndex].innerText;
		ret = _ISD_UI_StandardLookupList_confirm(funcName, objectLabel);
	}			
	
	return ret;
}

function _ISD_UI_Lookup_DoFunction_delete(ctrlSubmit, ctrlObjectID, objectID, funcName, Confirm)
{
	var ctrlLookupValues = null;
	var index = 0;
	var objectID = -1;
	var ret = false;
	
	ctrlSubmit = _ISD_UI_EnsureObject(ctrlSubmit);
	ctrlSelect = _ISD_UI_Lookup_DoFunction_getSelect();
	
	if (ctrlSelect)
		objectID = ctrlSelect.value;
	
	if (-1 != objectID && 0 != objectID && null != objectID)
	{
		ctrlObjectID = _ISD_UI_EnsureObject(ctrlObjectID);
		ctrlObjectID.value = objectID;
		ret = true;
	}
	else
	{
		alert('select an item !');  // get the label by AJAX
		ctrlSelect.focus();
	}	
	if (ret && Confirm)
	{
		var objectLabel = ctrlSelect.options[ctrlSelect.selectedIndex].innerText;
		ret = _ISD_UI_StandardLookupList_confirm(funcName, objectLabel);
	}
			
	return ret;
}

function _ISD_UI_Lookup_DoFunction_save(ctrlSubmit, ctrlObjectID, objectID, funcName, Confirm)
{
	var ret = false;
	ret = _ISD_UI_Form_validate(ctrlSubmit);
	if (ret && Confirm)
	{
		
		var ctrlSelect = _ISD_UI_Lookup_DoFunction_getSelect();
		var objectLabel = '';
		if (-1 != ctrlSelect.selectedIndex)
			objectLabel = ctrlSelect.options[ctrlSelect.selectedIndex].innerText;
		ret = _ISD_UI_StandardLookupList_confirm(funcName, objectLabel);
	}
	if (ret)
	{
		var ctrl = _ISD_UI_EnsureObject('_LookupParent');//window.document.getElementById("_LookupParent");
		if (null != ctrl)
			ctrl.disabled = false;
	}
	
	return ret;	
}

function _ISD_UI_Lookup_DoFunction_change()
{
	var disabled = true;
	
	var ctrlSelect = _ISD_UI_Lookup_DoFunction_getSelect();
	if(ctrlSelect && -1 != ctrlSelect.selectedIndex)
	{
	  var opt = ctrlSelect.options[ctrlSelect.selectedIndex];
	  disabled = (0 != opt.UseCount);
	}
	var ctrlDel = _ISD_UI_Lookup_DoFunction_getDelete();
	if(ctrlDel)
		ctrlDel.disabled = disabled;
}

function _ISD_UI_Lookup_DoFunction_focus()
{
	var ctrlSelect = _ISD_UI_Lookup_DoFunction_getSelect();
	var ctrlObject = _ISD_UI_EnsureObject('ObjectID');
	if(ctrlSelect && ctrlObject)
	{
		if (0 != ctrlObject.value)
		{
			var index = _ISD_UI_getSelectedIndex(ctrlSelect, ctrlObject.value); 
			if (-1 != index)
				ctrlSelect.selectedIndex = index;
		}
	}
	if(ctrlObject)
	{
		if (0 != ctrlObject.value)
		{
			var ctrl = _ISD_UI_EnsureObject('_LookupParent');//window.document.getElementById("_LookupParent");
			if (null != ctrl)
				ctrl.disabled = true;
		}
	}	
}

function _ISD_UI_Lookup_onChange(ctrlLookup, crtlValueText)
{
  ctrlLookup = _ISD_UI_EnsureObject(ctrlLookup)
  crtlValueText = _ISD_UI_EnsureObject(crtlValueText);
  crtlValueText.value = ctrlLookup.options[ctrlLookup.selectedIndex].innerText;
}

