1 window.historyRadios = function( parent ) {
2 var inputs = parent.getElementsByTagName( 'input' );
5 for ( i = 0; i < inputs.length; i++ ) {
6 if ( inputs[i].name == 'diff' || inputs[i].name == 'oldid' ) {
7 radios[radios.length] = inputs[i];
13 // check selection and tweak visibility/class onclick
14 window.diffcheck = function() {
15 var dli = false, // the li where the diff radio is checked
16 oli = false, // the li where the oldid radio is checked
18 var hf = document.getElementById( 'pagehistory' );
22 var lis = hf.getElementsByTagName( 'li' );
23 for ( i = 0; i < lis.length; i++ ) {
24 var inputs = historyRadios( lis[i] );
25 if ( inputs[1] && inputs[0] ) {
26 if ( inputs[1].checked || inputs[0].checked ) { // this row has a checked radio button
27 if ( inputs[1].checked && inputs[0].checked && inputs[0].value == inputs[1].value ) {
30 if ( oli ) { // it's the second checked radio
31 if ( inputs[1].checked ) {
32 if ( typeof oli.className != 'undefined' ) {
33 oli.classNameOriginal = oli.className.replace( 'selected', '' );
35 oli.classNameOriginal = '';
38 oli.className = 'selected ' + oli.classNameOriginal;
41 } else if ( inputs[0].checked ) {
44 if ( inputs[0].checked ) {
48 inputs[0].style.visibility = 'hidden';
51 inputs[1].style.visibility = 'hidden';
53 if ( (typeof lis[i].className) != 'undefined') {
54 lis[i].classNameOriginal = lis[i].className.replace( 'selected', '' );
56 lis[i].classNameOriginal = '';
59 lis[i].className = 'selected ' + lis[i].classNameOriginal;
61 } else { // no radio is checked in this row
63 inputs[0].style.visibility = 'hidden';
65 inputs[0].style.visibility = 'visible';
68 inputs[1].style.visibility = 'hidden';
70 inputs[1].style.visibility = 'visible';
72 if ( typeof lis[i].classNameOriginal != 'undefined' ) {
73 lis[i].className = lis[i].classNameOriginal;