jQuery(document).ready(function(){

	$('.tabs A').click(function() {
		var A = $(this), li = A.parent();
		if (!li.hasClass('active')) {
			$(li.parent().find('LI.active').removeClass('active').find('A').attr('rel'))
				.animate({opacity: 'hide'}, 5, function() {
					$(A.attr('rel')).animate({opacity: 'show'}, 5);
					li.addClass('active');
				});
		}
		return!1;
	});

	jQuery(".niceRadio").each(
	/* при загрузке страницы меняем обычные на стильные radio */
	function() {
		 
		 changeRadioStart(jQuery(this));
		 
	});

	$('SELECT').each(function() {
		var s = $(this).hide(), id = s.attr('id'), timer = null;
		s.removeAttr('id');
		var i = $('<div class="ls-text ls-select"><input type="text" id="' + id +
			'" readonly="true" value="' + s.find(':selected').text() +
			'" /><b class="select-left"/></div>').insertAfter(s);
        var pl = $('<div class="ls-select-list"/>').appendTo('body').hide().hover(function() {
           	clearTimeout(timer);
       	}, function() {
      		timer = setTimeout(function() {
         		pl.hide();
  	       	}, 300);
      	});
        var li = '';
		var option = s.find('OPTION').each(function() {
			var o = $(this);
			li += '<li><a href="#"' + (o.attr('selected') ? ' class="active"' : '') + '>' + o.text() + '</a></li>';
		});
		pl.append('<ul>' + li + '</ul>').find('A').click(function() {
        	pl.find('A').removeClass('active');
            var a = $(this).addClass('active');
            i.find('INPUT').val(a.text());
            option.eq(a.parent().index()).attr('selected', true);
            s.triggerHandler('change');
            pl.hide();
            return!1;
		});

        $('<a href="#"></a>').appendTo(i).parent().click(function() {
            if (pl.css('display') == 'none') {
              	var o = i.offset();
              	pl.css({ 'top': o.top + i.height()+9, 'left': o.left }).width(i.width()+31).show();
        	}
            else pl.hide();
            return!1;
		}).find('a').mouseout(function() {
			timer = setTimeout(function() {
				pl.hide();
			}, 100);
		});

        i.find('INPUT').hover(function() {
           	clearTimeout(timer);
        }, function() {
           	timer = setTimeout(function() {
        		pl.hide();
        	}, 300);
		});
	});


});


function changeRadio(el)
/* 
	функция смены вида и значения radio при клике на контейнер
*/
{

	var el = el,
		input = el.find("input").eq(0);
	var nm=input.attr("name");
		
	jQuery(".niceRadio input").each(
	
	function() {
     
		if(jQuery(this).attr("name")==nm)
		{
			jQuery(this).parent().removeClass("radioChecked");
		}
	   
	   
	});					  
	
	
	if(el.attr("class").indexOf("niceRadioDisabled")==-1)
	{	
		el.addClass("radioChecked");
		input.attr("checked", true);
	}
	
    return true;
}

function changeVisualRadio(input)
{
/*
	меняем вид radio при смене значения
*/
	var wrapInput = input.parent();
	var nm=input.attr("name");
		
	jQuery(".niceRadio input").each(
	
	function() {
     
		if(jQuery(this).attr("name")==nm)
		{
			jQuery(this).parent().removeClass("radioChecked");
		}
	   
	   
	});

	if(input.attr("checked")) 
	{
		wrapInput.addClass("radioChecked");
	}
}

function changeRadioStart(el)
/* 
	новый контрол выглядит так <span class="niceRadio"><input type="radio" name="[name radio]" id="[id radio]" [checked="checked"] /></span>
	новый контрол получает теже name, id и другие атрибуты что и были у обычного
*/
{

try
{
var el = el,
	radioName = el.attr("name"),
	radioId = el.attr("id"),
	radioChecked = el.attr("checked"),
	radioDisabled = el.attr("disabled"),
	radioTab = el.attr("tabindex");
	radioValue = el.attr("value");
	if(radioChecked)
		el.after("<span class='niceRadio radioChecked'>"+
			"<input type='radio'"+
			"name='"+radioName+"'"+
			"id='"+radioId+"'"+
			"checked='"+radioChecked+"'"+
			"tabindex='"+radioTab+"'"+
            "value='"+radioValue+"' /></span>");
	else
		el.after("<span class='niceRadio'>"+
			"<input type='radio'"+
			"name='"+radioName+"'"+
			"id='"+radioId+"'"+
			"tabindex='"+radioTab+"'"+
	        "value='"+radioValue+"' /></span>");
	
	/* если контрол disabled - добавляем соответсвующий класс для нужного вида и добавляем атрибут disabled для вложенного radio */		
	if(radioDisabled)
	{
		el.next().addClass("niceRadioDisabled");
		el.next().find("input").eq(0).attr("disabled","disabled");
	}
	
	/* цепляем обработчики стилизированным radio */		
	el.next().bind("mousedown", function(e) { changeRadio(jQuery(this)) });
	el.next().find("input").eq(0).bind("change", function(e) { changeVisualRadio(jQuery(this)) });
	if(jQuery.browser.msie)
	{
		el.next().find("input").eq(0).bind("click", function(e) { changeVisualRadio(jQuery(this)) });	
	}
	el.remove();
}
catch(e)
{
	// если ошибка, ничего не делаем
}

    return true;
}

