$(document).ready(function(){

	$('#ProdutoProduto').focus( function() {
		var c = $('#ProdutoCategoria');
		if( c.length && !c.val() ) {
			alert( 'Selecione primeiro a linha.' );
			$('#ProdutoCategoria').focus();
		}
	});

	$('#ProdutoCategoria').change( function()
	{
		if( !$(this).val() ) return false;

		$('#ProdutoDetalhesForm').addClass('loading');


		$.getJSON( "./produtos/listaProdutosDaCategoriaJSON/"+$(this).val(), null, function(j){
			if( j.length===0 ) {
				alert( 'Nenhum produto encontrado' );
				var options = '<option>Nenhum produto encontrado</option>';
			} else {
				var options = '<option>Selecione um produto</option>';
				for (var i in j ) {
					options += '<option value="' + i + '">' + j[i] + '</option>';
				}
			}
			$("#ProdutoProduto").html(options);
			$('#ProdutoDetalhesForm').removeClass('loading');

		});

	});


	// tabs
	if( $('#categorias').get(0) ) {
		var link = location.href;
		var lio = link.lastIndexOf( 'lista/' );

		if(lio==-1 && $('#breadcrumbInterno').length ) {
			link = $('#breadcrumbInterno a').get(0).href;
			lio = link.lastIndexOf( 'lista/' );
		}

		if( lio==-1 ) {
			var i = 0;
		} else {
			var categoria = link.substring( lio+6 );
			categoria = categoria.substring( 0 , categoria.indexOf( '-' ) );
			var i = ( categoria!='automotiva' ) ? 0 : 1;
		}

		$('#categorias').myTabs( { 'index': i } );

		$('#navegacaoAuxiliar ul.tabs-body li li:last-child a').css( 'border-width', '0' );
	}


	// quebra na lista
	$('#conteudo ul.produtos li').each(
		function( i ){
			if( (i)%3==0 && i!=0 ) $(this).before( '<li class="quebra"></li>');
		}
	)
});


(function($){
	$.fn.myTabs = function(o, callback){
		o = $.extend({ //defaults, can be overidden
			index: 0
		}, o ||
		{});

		var i=0, li, a;

		$(this).css( 'display', 'none' );


		// methods
		var changeTab = function( index ) {

			if(typeof index!= 'number' )
			{
				if( index.clickedIndex == o.index ) return;
				//location.hash = index.pastId;
				index = index.clickedIndex;
			}
			o.index = index;
			o.$titles.removeClass('current');
			$(o.$titles[index]).addClass('current');

			var bd = $('ul.tabs-body li.item-body', o.$tgt);
//			bd.css( { 'display': 'none', 'visibility': 'hidden' } );
			bd.fadeOut( 'fast' );
//			$(bd[index]).css( { 'display': 'block', 'visibility': 'visible' } );


			$(o.$body).animate( { 'height': $(bd[index]).height() }, 100, function() { $(bd[index]).fadeIn(); } );


		}

		$(this).before( '<div class="tabs"></div>' );
		o.$tgt = $(this.prev());

		o.dts = $('dt',this);
		o.dds = $('dd',this);

		// making menu
		o.$menu = $( '<ul class="tabs-menu"></ul>').appendTo(o.$tgt);


		o.dts.each(
			function( el ) {
				li = $('<li class="item-menu"></li>').appendTo(o.$menu);
				li.addClass( this.className );
				a = $('<a></a>').appendTo( li );
				a.html( $(this).html() );
				a.css('cursor','pointer');

				a[0].pastId = this.id;
				a[0].clickedIndex = i;

				i++;
			}
		);

		$('a', o.$menu)
			.css('cursor','pointer')
			.click( function(evt){ evt.preventDefault(); changeTab(this) } );


		o.$titles = $('li', o.$menu );

		// making body
		o.$body = $('<ul class="tabs-body"></ul>').appendTo(o.$tgt);

		i = 0;
		o.$contents = [];

		var h, maxH=0;
		o.dds.each(
			function( el ) {
				li = $('<li class="item-body">' + $(this).html() +'</li>').appendTo(o.$body);
				li.addClass( this.className );
				li.css({ 'position':'absolute', 'display':'none' } );

				h = li.height();
				if( h>maxH ) maxH = h;

				o.$contents[o.$contents.length] = li;
				i++;
			}
		);

		o.$body.css( 'height', maxH );

		//this.$body.inside( this.$tgt );

		changeTab( o.index );
		$(this).remove();


	}
})(jQuery);
