1 function historyRadios(parent
) {
2 var inputs
= parent
.getElementsByTagName('input');
4 for (var i
= 0; i
< inputs
.length
; i
++) {
5 if (inputs
[i
].name
== "diff" || inputs
[i
].name
== "oldid") {
6 radios
[radios
.length
] = inputs
[i
];
12 // check selection and tweak visibility/class onclick
13 function diffcheck() {
14 var dli
= false; // the li where the diff radio is checked
15 var oli
= false; // the li where the oldid radio is checked
16 var hf
= document
.getElementById('pagehistory');
20 var lis
= hf
.getElementsByTagName('li');
21 for (var i
=0;i
<lis
.length
;i
++) {
22 var inputs
= historyRadios(lis
[i
]);
23 if (inputs
[1] && inputs
[0]) {
24 if (inputs
[1].checked
|| inputs
[0].checked
) { // this row has a checked radio button
25 if (inputs
[1].checked
&& inputs
[0].checked
&& inputs
[0].value
== inputs
[1].value
) {
28 if (oli
) { // it's the second checked radio
29 if (inputs
[1].checked
) {
30 if ( (typeof oli
.className
) != 'undefined') {
31 oli
.classNameOriginal
= oli
.className
.replace( 'selected', '' );
33 oli
.classNameOriginal
= '';
36 oli
.className
= "selected "+oli
.classNameOriginal
;
39 } else if (inputs
[0].checked
) {
42 if (inputs
[0].checked
) {
46 inputs
[0].style
.visibility
= 'hidden';
49 inputs
[1].style
.visibility
= 'hidden';
51 if ( (typeof lis
[i
].className
) != 'undefined') {
52 lis
[i
].classNameOriginal
= lis
[i
].className
.replace( 'selected', '' );
54 lis
[i
].classNameOriginal
= '';
57 lis
[i
].className
= "selected "+lis
[i
].classNameOriginal
;
59 } else { // no radio is checked in this row
61 inputs
[0].style
.visibility
= 'hidden';
63 inputs
[0].style
.visibility
= 'visible';
66 inputs
[1].style
.visibility
= 'hidden';
68 inputs
[1].style
.visibility
= 'visible';
70 lis
[i
].className
= lis
[i
].classNameOriginal
;
78 // attach event handlers to the input elements on history page
79 function histrowinit() {
80 var hf
= document
.getElementById('pagehistory');
84 var lis
= hf
.getElementsByTagName('li');
85 for (var i
= 0; i
< lis
.length
; i
++) {
86 var inputs
= historyRadios(lis
[i
]);
87 if (inputs
[0] && inputs
[1]) {
88 inputs
[0].onclick
= diffcheck
;
89 inputs
[1].onclick
= diffcheck
;
95 hookEvent("load", histrowinit
);