function __NBase_List_MoveUp(vstrListID) {
	var objList=document.getElementById(vstrListID);
	var intIndex = objList.selectedIndex;
	if (intIndex>=1){
		if(objList.item(intIndex).swapNode)
			objList.item(intIndex).swapNode(objList.item(intIndex-1));
		else
			__NBase_List_swapNode(objList.item(intIndex-1),objList.item(intIndex),"UP")
	}
	__NBase_BaseListBox_SetTrackerValue(vstrListID);
}
function __NBase_List_MoveDown(vstrListID) {
	var objList=document.getElementById(vstrListID);
	var intIndex = objList.selectedIndex;
	if ((intIndex >-1 ) && (intIndex < objList.length-1)) {
		if(objList.item(intIndex).swapNode)
			objList.item(intIndex).swapNode(objList.item(intIndex+1));
		else
			__NBase_List_swapNode(objList.item(intIndex+1),objList.item(intIndex),"DOWN")
	}
	__NBase_BaseListBox_SetTrackerValue(vstrListID);
}
function __NBase_List_MoveTop(vstrListID) {
	var objList=document.getElementById(vstrListID);
	var intIndex = objList.selectedIndex;
	var arrayItems = new Array();
	for(var i=objList.options.length-1;i>-1;i--){
		var objItem=objList.item(i);
		if(objItem.selected){
			objList.remove(i);
			arrayItems[arrayItems.length]=objItem;
		}		
	}
	for(var i=0;i<arrayItems.length;i++){
		objList.options.add(arrayItems[i],0)
	}
	__NBase_BaseListBox_SetTrackerValue(vstrListID);
	//objList.selectedIndex =intIndex;
}
function __NBase_List_MoveBottom(vstrListID) {
	var objList=document.getElementById(vstrListID);
	var intIndex = objList.selectedIndex;
	var arrayItems = new Array();
	for(var i=objList.options.length-1;i>-1;i--){
		var objItem=objList.item(i);
		if(objItem.selected){
			objList.remove(i);
			arrayItems[arrayItems.length]=objItem;
		}		
	}
	for(var i=arrayItems.length-1;i>-1;i--){
		objList.options.add(arrayItems[i])
	}
	__NBase_BaseListBox_SetTrackerValue(vstrListID);
}

//¬°¤FFireFox¨S¦³node.swapNode mehtod
function __NBase_List_swapNode(vobjNode1,vobjNode2,strAction){
	//var nextSibling=vobjNode2.nextSibling;
	var nextSibling = vobjNode2.parentNode.options[vobjNode2.parentNode.selectedIndex+1];
	vobjNode1.parentNode.replaceChild(vobjNode2,vobjNode1);
	if(strAction == "UP"){
		vobjNode2.parentNode.insertBefore(vobjNode1,nextSibling);}
	else{
		vobjNode2.parentNode.insertBefore(nextSibling,vobjNode2);}
}