//radio
var radioGroups = {};
function focusHiddenRadio(e, fst){
	whi.add_class(this.parentNode,'radio_focused');
}
function blurHiddenRadio(e){
	whi.remove_class(this.parentNode,'radio_focused');
}
function radioClick(e){
	var eventSrc = whi.events.getSrcElement(e);
	if (this == eventSrc){
		if (!this.relatedInput.checked){
			this.relatedInput.checked = true;
			putRadioClick.apply(this);
		}
	        this.relatedInput.focus();
 	}
}
function checkRadioInputClick(e){
	putRadioClick.apply(this.relatedRadio);
	return true;
}
function putRadioClick(){
	if (this.relatedInput.radioParentGroup.selectedRadio != this.relatedInput){
		if (this.relatedInput.radioParentGroup.selectedRadio != null){
			whi.remove_class(this.relatedInput.radioParentGroup.selectedRadio.relatedRadio,'selected_radio');
		}
		whi.add_class(this.relatedInput.relatedRadio,'selected_radio');

		this.relatedInput.radioParentGroup.selectedRadio = this.relatedInput;
	}
}

function initRadios(){
	var inp = this.getElementsByTagName("input")[0];
	if (inp.name){
		if (!radioGroups[inp.name]){
			radioGroups[inp.name] = {
				"selectedRadio" : null,
				elems : []
			};
		}
		inp.radioParentGroup = radioGroups[inp.name];

		radioGroups[inp.name].elems.push(inp);

		this.relatedInput = inp;
		this.relatedInput.relatedRadio = this;
		this.relatedInput.onfocus = focusHiddenRadio;
		this.relatedInput.onblur = blurHiddenRadio;

		this.onclick = radioClick;
		this.relatedInput.onclick = checkRadioInputClick;
		
		if (this.relatedInput.checked == true){
			putRadioClick.apply(this);
		}
	}
}

jsRules.addRule("#radio_list div.radio",initRadios);
jsRules.addRule("#top10 div.radio",initRadios);