var MethodSwitcher = jQuery.Class.create({
	init: function() {
		this.radioBtns = $('.traff-other input');
		$('.optlabel').bind('click', {parent: this}, function(e) {
			e.data.parent.labelOnClick(this);
		});
		this.radioBtns.bind('click', { parent: this }, function(e) {
			e.data.parent.changeMethod(this);
		});
	},
	
	changeMethod: function(element) {
		$('.traff-other tr').removeClass('selected');
		$(element.parentNode.parentNode).addClass('selected');
		var method = $(element).val();
		if(method=='sms' && (location.pathname.indexOf('/sms')==-1)) {
			$('.traff-rates').html('<div class="emptyTab" align="center" valign="center"><div class="tariffProgressBar"></div></div>');
			if(location.pathname.indexOf('/turbo/')==-1) { // Если форма это часть страницы
				location.href = '/payments/sms/tariff';
			} else { // Если форма во фрейме
				location.href = '/turbo/sms';
			}
		}
		if(method!='sms') {
			if (location.pathname.indexOf('/emoney')==-1) {
				$('.traff-rates').html('<div class="emptyTab" align="center" valign="center"><div class="tariffProgressBar"></div></div>');
				if(location.pathname.indexOf('/turbo/')==-1) { // Если форма это часть страницы
					location.href = '/payments/emoney/tariff/'+method;
				} else {
					location.href = '/turbo/emoney/'+method;
				}
			} else {
				subTariffSelector.updateInfo(element);
			}
		}
	},
	
	labelOnClick: function(element) {
		var radioBtn = $(element.parentNode.parentNode).find('input[type=radio]');
		radioBtn.attr('checked', true);
		this.changeMethod(radioBtn[0]);
	}
});