jQuery(function($)
{
	if(!window.console)
	{ 
		window.console = {};
		methods = ['trace', 'log', 'info', 'debug', 'warn', 'error'];
		for (var key in methods)
		{
			window.console[methods[key]] = function(msg){};
		};
	};
	
	Cufon.replace('h1');
	Cufon.replace('h2');
	//Cufon.replace('ul#menu li');
	
	$("#topPanPics").jcarousel({
		auto: 5,
		animation: 2000,
		easing: "swing",
		buttonNextHTML: null,
		buttonPrevHTML: null,
		wrap: 'circular',
        itemLoadCallback: {onBeforeAnimation: carousel_itemLoadCallback},
        initCallback: carousel_initCallback,
        itemVisibleInCallback: {onBeforeAnimation: carousel_itemVisibleInCallback},
        itemVisibleOutCallback: {onAfterAnimation: carousel_itemVisibleOutCallback}
    });
});

// -------------------------------------------------------------------------

function carousel_getItemHTML(item)
{
    return "<a href='" + item.href + "'><img src='" + item.thumb + "' width='163' height='124' alt='" + item.href + "' /></a>";
}

// -------------------------------------------------------------------------

function carousel_initCallback(carousel)
{
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
}

// -------------------------------------------------------------------------

function carousel_itemLoadCallback(carousel, state)
{
    for (var i = carousel.first; i <= carousel.last; i++)
    {
        if (carousel.has(i))
        {
            continue;
        }
 
        if (i > carousel_itemList.length)
        {
            break;
        }
		
        var item = $(carousel_getItemHTML(carousel_itemList[i-1])).get(0);
        carousel.add(i, item);
    }
}

// -------------------------------------------------------------------------

function carousel_itemVisibleInCallback(carousel, item, i, state, evt)
{
    // The index() method calculates the index from a
    // given index who is out of the actual item range.
    var idx = carousel.index(i, carousel_itemList.length);
    
    var item = carousel.add(i, carousel_getItemHTML(carousel_itemList[idx - 1]));
    
    $("a", item).fancybox({
		'itemArray'		: carousel_itemList,
		'overlayColor'		: '#5974A4',
		'overlayOpacity'	: .8,
		'overlayShow'		: true,
		'cyclic'		: true,
		'callbackOnStart'	: function() { carousel.stopAuto(); },
		'callbackOnClose'	: function() { carousel.startAuto(); }
    });
}

// -------------------------------------------------------------------------
 
function carousel_itemVisibleOutCallback(carousel, item, i, state, evt)
{
    carousel.remove(i);
}

