// (c) 2009 yacht@krti.net
// 2009-09-03 1.0

$(document).ready(function(){

//------------------------------------------------------------------------------
var ytab_cfg = {
    "serial": 0
    , "prefix": "ytab"
    , "hash2thumb": {}
    , "init_hash" : []
}
    // serial - automaticke cislovani kontejneru, pokud neni uvedeno
    // prefix - automaticky prefix pro tab

//------------------------------------------------------------------------------
// Pro zadany hash zvyrazni zalozku s kartou
function ytab_hash( hash )
{
    
    if ( hash == "" )
    {
	for ( var i in ytab_cfg["init_hash"] )
	{
	    if ( ytab_cfg["init_hash"][i] == "" ) continue;
	    ytab_hash( ytab_cfg["init_hash"][i] );
	}
    }
    
    var t = ytab_cfg["hash2thumb"][hash];
    if ( ! t)
    {
	return;
    }
    // odstraneni zvyrazneni a pridani jen sobe
    t = "#"+t;
    $(t).siblings().removeClass( "ytab-select" );
    $(t).addClass( "ytab-select" );
    
    t += "_";
    $(t).siblings().filter(".ytab-card").hide();
    $(t).show();
}

//------------------------------------------------------------------------------
$(".ytab").filter(function()
{
    var container = $(this);
    
    var container_id = container.attr("id");
    if ( ! container_id )
    {
	// nema-li container urceno id, pak se pouzije z ciselniku + prefix
	container_id = ytab_cfg["prefix"] + ytab_cfg["serial"];
	++ ytab_cfg["serial"];
	container.attr( "id", container_id );
    }
    
    var thumb;
    var thumb_id = '';
    var card = container.children();
    var card_n = card.length;
    var card_id = '';
    var hash_id = '';

    container.prepend( '<div class="ytab-bar"></div>' )
    
    var bar = $("#"+container_id+" > .ytab-bar");
    var select = "";
    
    for( var i = 0; i < card_n; ++ i )
    {
	thumb_id = container_id + "_" + i + "_";
	card_id = thumb_id + "_";
	
	// ma-ji karta urcene id, tak se toto id pouzije pro url
	hash_id = $(card[i]).attr( "id" );
	if ( ! hash_id )
	{
	    hash_id = container_id + "_" + i;
	}
	
	// kazdopadne zmenime id karty, aby to url-ove neexistovalo
	$(card[i]).attr( "id", card_id );
	
	ytab_cfg["hash2thumb"][hash_id] = thumb_id;
	
	// co ma byt vysviceno jako vychozi
	if ( i == 0 )
	{
	    select = hash_id;
	}
	if ( $(card[i]).hasClass( "ytab-select" ) )
	{
	    select = hash_id;
	    $(card[i]).removeClass( "ytab-select" );
	}
	
	// pridame styl pro kartu
	$(card[i]).addClass( "ytab-card" );

	// do bar-u pridam thumb
	bar.append( '<a id="' + thumb_id + '" class="ytab-thumb"></a>' );
	thumb = $("#"+thumb_id);
	
	var href = $($(card[i]).children()[0]).attr( "href" );
	if ( ! href )
	{
	    href = "#" + hash_id;
	}
	thumb.attr( "href", href );
	
	// vytahnu si pro nej text z karty (z tama ho smazu)
	thumb.text( $($(card[i]).children()[0]).text() );
	$($(card[i]).children()[0]).remove();
	
    }
    
    ytab_cfg["init_hash"].push( select );
    ytab_hash( select );
});

//------------------------------------------------------------------------------
ytab_hash( location.hash.substr( 1 ) );

//------------------------------------------------------------------------------
$(window).hashchange( function(){
    ytab_hash( location.hash.substr( 1 ) );
});

//------------------------------------------------------------------------------
});
