function KwNode() { };
KwNode.moveSelectedOptions = function(from, to) {
    for (var i = 0; i < from.options.length; i++) {
        var opt = from.options[i];
        if (opt.selected == true) {
            var newopt = new Option(opt.text, opt.value, opt.defaultSelected, opt.selected);
            to.options[to.options.length] = newopt;
            from.options[i] = null;
            i = i - 1;
        }
    }
};

KwNode.select = function(tp, rand) {
	var from = Kw.getObj(tp+'_nids_available_'+rand);
	var to   = Kw.getObj(tp+'_nids_selected_'+rand);
	KwNode.moveSelectedOptions(from, to);
}

KwNode.deselect = function(tp, rand) {
	var from = Kw.getObj(tp+'_nids_selected_'+rand);
	var to   = Kw.getObj(tp+'_nids_available_'+rand);
	KwNode.moveSelectedOptions(from, to);
}

KwNode.selectAll = function(tp, rand) {
	var obj = Kw.getObj(tp+'_nids_selected_'+rand);
	for (var i = 0; i < obj.options.length; i++) {
        obj.options[i].selected = true;
    }
}

KwNode.up = function (tp, rand) {
	var obj = Kw.getObj(tp+'_nids_selected_'+rand);
    var last = obj.options[0];
    var tmp = new Option("", "", false, false);
    for (var i = 1; i < obj.options.length; i++) {
        var opt = obj.options[i];
        if (opt.selected == true) {
            obj.options[i] = tmp;
            obj.options[i-1] = opt;
            obj.options[i] = last;
        }
        else{
            last = opt;
        }        
    }
}

KwNode.down = function (tp, rand) {
	var obj = Kw.getObj(tp+'_nids_selected_'+rand);
    var last = obj.options[obj.options.length-1];
    var tmp = new Option("", "", false, false);
    for (var i = obj.options.length-2; i >= 0; i--) {
        var opt = obj.options[i];
        if (opt.selected == true) {
            obj.options[i] = tmp;
            obj.options[i+1] = opt;
            obj.options[i] = last;
        }
        else{
            last = opt;
        }        
    }
}

