/**
 * Реализация переключаемых вкладок одной вкладкой
 *
 * @author Pavel Alexandrov <pavel@vmt.ru>
 * @copyright Copyright (c) 2010, Pavel Alexandrov
 * @license http://opensource.org/licenses/gpl-2.0.php The GNU Public License (GPL) Version 2, June 1991
 * @package
 * @subpackage
 * @category JavaScript
 * @version 0.1
 */
(function($){
	$.fn.togtab=function(o){
		/**
		 * tab - селектор элемента загладки в найденном блоке
		 * block - селектор объекта где находятся блоки отображаемые при выборе вкладки
		 */
		var options=$.extend({tab:'li',block:'body'},o)
		// Текущий блок с вкладками
		var tab=this
		// Активная вкладка
		var current=null
		// Количество вкладок
		var count=0;
		// Первая вкладка
		var first
		options.block=$(this).next('.togblock')
		$(options.tab,this).each(function(){
			if( $('a',this).length!=0 ){
				// Работаем только если есть ссылки, которые отвечают за переход по вкладкам
				var lnk=$('a',this).attr('href')
				if( lnk.substr(0,7)=='http://' ){
					lnk=lnk.substr(lnk.indexOf('#'),lnk.length)
				}
				if( $(lnk,options.block).length==0 ){
					// Не найден блок с id из адреса ссылки или вкладка указана как неактивная
					$(this).addClass('disable').css('display','none')
				}else{
					if( count!=1 ){
						// Скрываем блок который должен быть показан при выборе вкладки
						$(this).css('display','none')
					}else{
						$(this).css('display','block')
					}
					if( count!=0 ){
						$(lnk,options.block).css('display','none')
					}
					$(this).hover(
						function(){$(this).addClass('over')},
						function(){$(this).removeClass('over')}
					).click(function(){
						var next=$(this).next()
						if(next.length==0){
							next=$(options.tab,tab).first()
						}
						// Если есть текущая, скрываем ее и показываем новую
						var lnk1=$('a',this).attr('href')
						if( lnk1.substr(0,7)=='http://' ){
							lnk1=lnk1.substr(lnk1.indexOf('#'),lnk1.length)
						}
						var lnk2=$('a',next).attr('href')
						if( lnk2.substr(0,7)=='http://' ){
							lnk2=lnk2.substr(lnk2.indexOf('#'),lnk2.length)
						}
						$(lnk2).fadeOut('fast',function(){$(lnk1).fadeIn('fast')})
						$(this).css('display','none')
						next.css('display','block')
						return false
					})
				}
				count++
			}
		})
	}
})(jQuery)

