1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151: |
<html>
<head>
<title></title>
<script language="JavaScript">
function changeRubrikPosition(index,to,name) {
var ziel = name;
var total = ziel.options.length-1;
var toChange = 0;
var sameElementChange = index;
var items = new Array;
var values = new Array;
var values_rubrik = new Array;
for (i = total; i >= 0; i--) {
items[i] = ziel.options[i].text;
values[i] = ziel.options[i].value;
values_rubrik[i] = ziel.options[i].value.split("_");
}
if (to == 1) {
for (i = index + 1; i <= total; i++) {
if (values_rubrik[index + 1][1] == values_rubrik[i][1]) {
toChange = i;
}
}
for (x = index; x >= 0; x--) {
if (values_rubrik[index][1] == values_rubrik[x][1]) {
sameElementChange = x;
}
}
sameElementChange = index - sameElementChange;
var plus = 0;
for (z = index; z >= index - sameElementChange; z--) {
var zCount = z
for (y = z + 1; y <= toChange - plus; y++) {
var old_item = ziel.options[y].value;
ziel.options[y] = new Option(items[zCount],values[y],0,1);
ziel.options[zCount] = new Option(items[y], values[zCount],0,0);
ziel.options[y].value = ziel.options[zCount].value;
ziel.options[zCount].value = old_item;
zCount++;
for (i = total; i >= 0; i--) {
items[i] = ziel.options[i].text;
values[i] = ziel.options[i].value;
}
}
plus++;
}
name.selectedIndex = toChange;
}
if (to == -1) {
for (i = index; i >= 0; i--) {
if (values_rubrik[index - 1][1] == values_rubrik[i][1]) {
toChange = i;
}
}
for (x = index + 1; x <= total; x++) {
if (values_rubrik[index][1] == values_rubrik[x][1]) {
sameElementChange = x;
}
}
sameElementChange = sameElementChange - index;
var plus = 0;
for (z = index; z <= index + sameElementChange; z++) {
var zCount = z
for (y = z - 1; y >= toChange + plus; y--) {
var old_item = ziel.options[y].value;
ziel.options[y] = new Option(items[zCount],values[y],0,1);
ziel.options[zCount] = new Option(items[y], values[zCount],0,0);
ziel.options[y].value = ziel.options[zCount].value;
ziel.options[zCount].value = old_item;
zCount--;
for (i = total; i >= 0; i--) {
items[i] = ziel.options[i].text;
values[i] = ziel.options[i].value;
}
}
plus++;
}
name.selectedIndex = toChange;
}
}
function changePosition(index,to,name) {
var ziel = name;
var total = ziel.options.length-1;
if (index == -1) return false;
if (to == 1 && index == total) return false;
if (to == -1 && index == 0) return false;
var items = new Array;
var values = new Array;
var values_rubrik = new Array;
for (i = total; i >= 0; i--) {
items[i] = ziel.options[i].text;
values[i] = ziel.options[i].value;
values_rubrik[i] = ziel.options[i].value.split("_");
}
if (values_rubrik[index][1] == values_rubrik[index + to][1]) {
var old_item = ziel.options[index + to].value;
ziel.options[index + to] = new Option(items[index],values[index + to],0,1);
ziel.options[index] = new Option(items[index + to], values[index],0,0);
ziel.options[index + to].value = ziel.options[index].value;
ziel.options[index].value = old_item;
} else {
changeRubrikPosition(index,to,name);
}
ziel.focus();
}
function markList(box) {
var boxLength = box.length;
for (i = 0; i < boxLength; i++) {
box.options[i].selected =true;
}
return true;
}
</script>
</head>
<body >
<form name="listForm" action="" method="post" onSubmit="return markList(document.listForm.listEntry)">
<select multiple name="listEntry" style="width:350;" size="20">
<option value="123213_rubrik1">text blubp (rubrik1)</option>
<option value="255558_rubrik1">text blubp2 (rubrik1)</option>
<option value="979518_rubrik2">text blubptext blubp (rubrik2)</option>
<option value="122222_rubrik2">text blubptext blubp2 (rubrik2)</option>
<option value="1233346_rubrik2">text blubptext blubp3 (rubrik2)</option>
<option value="13448_rubrik3">3 text (rubrik3)</option>
<option value="183338_rubrik3">3 text2 (rubrik3)</option>
<option value="72334_rubrik3">3 text3 (rubrik3)</option></select>
<a href="#2" onclick="changePosition(document.listForm.listEntry.selectedIndex,-1,document.listForm.listEntry)">hoch</a><br />
<a href="#2" onclick="changePosition(document.listForm.listEntry.selectedIndex,1,document.listForm.listEntry)">rundah</a><br />
<input type="image" src="save.gif" onClick="markList(document.listForm.listEntry);" name="save" border="0" />
</form>
</body>
</html>
|