// 用於彈出對話框,並從分部門(組織)中選擇用戶,可多選
// url: 彈出對話框的頁面的路徑,可以是相對路徑。
// height: 彈出模式對話框的高度。
// width: 彈出對話框的寬度。
// objList: 存放選擇用戶的列表框
// objComment: 放置說明文字的DIV
function ShowModalDialog(url,height,width,filledListBoxId,dataContainerId,buttonId)
{
var oPara;
var returnData = window.showModalDialog(url,oPara,"dialogHeight:"+height+"px; dialogWidth:"+width+"px; center: Yes; help: No; resizable: No; status: no;");
if(returnData != null && returnData != "")
{
var listBox = document.getElementById(filledListBoxId);
var dataContainer = document.getElementById(dataContainerId);
var button = document.all.item(buttonId);
listBox.style.display="block";
var items = returnData.split("||");
for(var i=0;i<items.length;i++)
{
var itemInfo = items[i];
var textAndValue = itemInfo.split("|");
//判斷該item是否已經存在于列表框
var flag = false;
for(var j=0;j<listBox.options.length;j++)
{
if(listBox.options[j].value == textAndValue[1])
{
flag = true;
break;
}
}
if(!flag)
{
var newOption = new Option(textAndValue[0],textAndValue[1]);
listBox.options[listBox.options.length]=newOption;
if(dataContainer.value == null || dataContainer.value == "")
{
dataContainer.value = textAndValue[0]+"|"+textAndValue[1];
}
else
{
dataContainer.value += "||" +textAndValue[0]+"|"+textAndValue[1];
}
}
}
button.click();
}
}
function AddAllItems(sourceListBox,targetListBox)
{
for(var i=0;i<sourceListBox.options.length;i++)
{
var item = sourceListBox.options[i];
if(!ContainItem(targetListBox,item.value))
{
targetListBox[targetListBox.length]=new Option(item.text,item.value);
}
}
}
function AddSelectedItems(sourceListBox,targetListBox)
{
for(var i=0;i<sourceListBox.options.length;i++)
{
var item = sourceListBox.options[i];
if(item.selected)
{
if(!ContainItem(targetListBox,item.value))
{
targetListBox[targetListBox.length]=new Option(item.text,item.value);
}
}
}
}
function ContainItem(targetListBox,value)
{
var exists = false;
for(var j=0;j<targetListBox.options.length;j++)
{
if(value == targetListBox.options[j].value)
{
exists = true;
return exists;
}
}
return exists;
}
function RemoveSelectedItems(targetListBox)
{
for(var i=targetListBox.options.length-1;i>=0;i--)
{
var item = targetListBox.options[i];
if(item.selected)
{
targetListBox.options.remove(i);
}
}
}
function RemoveAllItems(targetListBox)
{
for(var i=targetListBox.options.length-1;i>=0;i--)
{
var item = targetListBox.options[i];
targetListBox.options.remove(i);
}
}
function MoveDownSelectedItem(listBox)
{
for(var i=0;i<listBox.options.length-1;i++)
{
var item = listBox.options[i];
if(item.selected)
{
var value=item.value;
var text=item.text;
item.value=listBox.options[i+1].value;
item.text=listBox.options[i+1].text;
listBox.options[i+1].value=value;
listBox.options[i+1].text=text;
item.selected=false;
listBox.options[i+1].selected=true;
break;
}
}
}
function MoveUpSelectedItem(listBox)
{
for(var i=0;i<listBox.options.length;i++)
{
var item = listBox.options[i];
if(item.selected && i>0)
{
var value=item.value;
var text=item.text;
item.value=listBox.options[i-1].value;
item.text=listBox.options[i-1].text;
listBox.options[i-1].value=value;
listBox.options[i-1].text=text;
item.selected=false;
listBox.options[i-1].selected=true;
break;
}
}
}
function ReturnWindowsData(targetListBox)
{
var ret = "";
for(var i=0;i<targetListBox.options.length;i++)
{
ret+= targetListBox.options[i].value+"|"+targetListBox.options[i].text+"||";
}
if(ret.length == 0)
{
alert("No item has been selected!");
}
else
{
ret = ret.substr(0,ret.length-2);
window.returnValue = ret;
window.opener = null;
window.close();
}
}
function Cancel()
{
window.returnValue = null;
window.opener = null;
window.close();
}