// Apply getElementById patch
if ( !document.getElementById ) {
    if ( document.all ) {
        document.getElementById = function( x ) {
            return this.all[x];
        }
    }
    else if ( document.layers ) {
        document.getElementById = function( x ) {
            return this[x];
        }
    }
}

function showProfile() {
	document.getElementById('profile').style.display='';
	document.getElementById('profile-extract').style.display='none';
}

$(document).ready(function(){
	$('ul.speaker-list li').equalize('height');
	$('ul.speaker-list li:odd').addClass('right');
	
	function detail(ob) {
		var str = "";
		for (var i in ob) {
			str += "" + i + "\n";
		}
		return str;
	}
	
	var $featSpeakers = $('.gal-speakers ul.gallery li');
	var speakerItems = [];
	var arrSpeakers_i = 0;
	$featSpeakers.each(function(){
		speakerItems[arrSpeakers_i] = { url: $(this).find('a').attr('href'), img: $(this).find('img').attr('src'), title: $(this).find('a').attr('rel') };
		arrSpeakers_i++;
	});
	$('.gal-speakers ul').jcarousel({
		wrap: 'circular',
		scroll: 1,
		initCallback: speakersInit,
		itemVisibleInCallback: {onBeforeAnimation: speakers_itemVisibleInCallback},
		itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback}
    });
	
	var $featEntertainers = $('.gal-entertainers ul.gallery li');
	var entertainerItems = [];
	var arrEntertainers_i = 0;
	$featEntertainers.each(function(){
		entertainerItems[arrEntertainers_i] = { url: $(this).find('a').attr('href'), img: $(this).find('img').attr('src'), title: $(this).find('a').attr('rel') };
		arrEntertainers_i++;
	});
	$('.gal-entertainers ul').jcarousel({
		wrap: 'circular',
		scroll: 1,
		initCallback: entertainersInit,
		itemVisibleInCallback: {onBeforeAnimation: entertainers_itemVisibleInCallback},
		itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback}
    });
	
	function setCurrent(action, $link){
		
		var $currentItem = $link.parent().find('ul .selected');
		var $name = $link.parent().parent().find('p');
		var $frame = $link.parent().parent().find('.gallery-frame');
		$currentItem.removeClass('selected');
		
		if(action == 'next'){
			$currentItem.next().addClass('selected');
			var nextLink = $currentItem.next().find('a').attr('href');
			
			$name.html('<a href="'+nextLink+'">'+$currentItem.next().find('a').attr('rel')+'</a>');
			$frame.attr('href', nextLink);
		} else if (action == 'prev'){
			$currentItem.prev().addClass('selected');
			var prevLink = $currentItem.prev().find('a').attr('href');
			
			$name.html('<a href="'+prevLink+'">'+$currentItem.prev().find('a').attr('rel')+'</a>');
			$frame.attr('href', prevLink);
		}
	};

	function speakersInit(carousel) {
		$featSpeakers.eq(2).addClass('selected');
		var selectedLink = $featSpeakers.eq(2).find('a').attr('href');
		$('.gal-speakers p').html('<a href="'+selectedLink+'">'+$featSpeakers.eq(2).find('a').attr('rel')+'</a>');
		$('.gal-speakers .gallery-frame').attr('href', selectedLink);
			
		$('.jcarousel-next-horizontal').bind('click', function() {
			setCurrent('next', $(this));
			return false;
	    });

	    $('.jcarousel-prev-horizontal').bind('click', function() {
			setCurrent('prev', $(this));
			return false;
	    });	
	};
	
	function entertainersInit(carousel) {
		$featEntertainers.eq(2).addClass('selected');
		var selectedLink = $featEntertainers.eq(2).find('a').attr('href');
		$('.gal-entertainers p').html('<a href="'+selectedLink+'">'+$featEntertainers.eq(2).find('a').attr('rel')+'</a>');
		$('.gal-entertainers .gallery-frame').attr('href', selectedLink);
			
		$('.gal-entertainers .jcarousel-next-horizontal').bind('click', function() {
			setCurrent('next', $(this));
			return false;
	    });

	    $('.gal-entertainers .jcarousel-prev-horizontal').bind('click', function() {
			setCurrent('prev', $(this));
			return false;
	    });	
	};

	function speakers_itemVisibleInCallback(carousel, item, i, state, evt){
	    var idx = carousel.index(i, speakerItems.length);
	    carousel.add(i, mycarousel_getItemHTML(speakerItems[idx - 1]));
	};
	
	function entertainers_itemVisibleInCallback(carousel, item, i, state, evt){
	    var idx = carousel.index(i, entertainerItems.length);
	    carousel.add(i, mycarousel_getItemHTML(entertainerItems[idx - 1]));
	};

	function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt){
	    carousel.remove(i);
	};

	function mycarousel_getItemHTML(item){
	    return '<a href="'+item.url+'" rel="'+item.title+'"><img src="' + item.img + '" width="70" height="70" alt="' + item.title + '" /></a>';
	};

});