function mycarousel_itemLoadCallback(carousel, state) {};

function mycarousel_itemAddCallback(carousel, first, last, data) {
	// Simply add all items at once and set the size accordingly.
	data = jQuery.trim(data);
	var items = data.split('|');
	
	if((items.length == 0) || ((items.length == 1) && (items[0] == ''))) {
		carousel.add(1, '<div class="no-sermons">&nbsp;</div>');
		carousel.size(1);
	} else {
		totalItems = 0;
		for (i = 0; i < items.length; i++) {
			sermonHTML = jQuery.trim(items[i]);
			if(sermonHTML != '') {
				totalItems = totalItems + 1;
				carousel.add(totalItems, mycarousel_getItemHTML(sermonHTML));
			}
		}

		carousel.size(totalItems);
		carousel.pos(1);
		carousel.buttons();
		$('.carouselItemContainer').bind('click', listenButtonClick);

	}
};

/**
 * Item html creation helper.
 */
function mycarousel_getItemHTML(html) {
	return html;
};

function carouselYearClick(event) {
	/* Change the active class */
	$('#broadcastYearList ul.jcarousel-skin-broadcastYearList li.active').removeClass('active');
	$(event.target).parent().addClass('active');
	
	/* Update the carousel with new content */
	carouselUpdateContent();
	
	/* Stop event propogation */
	event.preventDefault();
}

function carouselMonthClick(event) {
	/* Change the active class */
	$('#broadcastMonthList ul.jcarousel-skin-broadcastMonthList li.active').removeClass('active');
	$(event.target).parent().addClass('active');

	/* Update the carousel with new content */
	carouselUpdateContent();
	
	/* Stop event propogation */
	event.preventDefault();
}

function carouselUpdateContent() {
	currentMonth = $('#broadcastMonthList ul.jcarousel-skin-broadcastMonthList li.active a').attr('class');
	currentYear = $('#broadcastYearList ul.jcarousel-skin-broadcastYearList li.active a').attr('class');
	
	startDate = currentYear + '-' + currentMonth + '-01';
	endDate = currentYear + '-' + currentMonth + '-' + daysInMonth(currentMonth, currentYear);

	url = 'http://www.touchinglives.org/multimedia/audio-broadcasts/?type=711&tx_wecsermons_pi1[listView][startDate]=' + startDate + '&tx_wecsermons_pi1[listView][endDate]=' + endDate;
	//url = 'http://tl.rd2inc.com/multimedia/audio-broadcasts/?type=711&tx_wecsermons_pi1[listView][startDate]=' + startDate + '&tx_wecsermons_pi1[listView][endDate]=' + endDate;
	carouselEmpty();
	
	$.get(url, function(data) {
		mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, data);
    });
    
    var showAud = getUrlParts('showAud');
    if (IsNumeric(showAud) && showAud > 0) {
        tempUrl = 'http://www.touchinglives.org/multimedia/audio-broadcasts/?type=712&tx_wecsermons_pi1%5BshowUid%5D=' + showAud;
        //tempUrl = 'http://tl.rd2inc.com/multimedia/audio-broadcasts/?type=712&tx_wecsermons_pi1%5BshowUid%5D=' + showAud;
        $.get(tempUrl, function(data) {
            loadSermonDetail(data);
        });
    }

}

function getUrlParts(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);

    if (results == null)
        return "";
    else
        return results[1];
}

function IsNumeric(sText) {
    var ValidChars = "0123456789";
    var IsNumber = true;
    var Char;


    for (i = 0; i < sText.length && IsNumber == true; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1) {
            IsNumber = false;
        }
    }
    return IsNumber;
}

function carouselEmpty() {
	carousel.pos(1);
	carousel.empty();
	carousel.add(1, '<div class="loading-sermons">&nbsp;</div>');
	carousel.size(1);
	
}

function listenButtonClick(event) {
	uid = $(this).find("a").attr('rel');
	url = 'http://www.touchinglives.org/multimedia/audio-broadcasts/?type=712&tx_wecsermons_pi1%5BshowUid%5D=' + uid;
	//url = 'http://tl.rd2inc.com/multimedia/audio-broadcasts/?type=712&tx_wecsermons_pi1%5BshowUid%5D=' + uid;
	
	$.get(url, function(data) {
		loadSermonDetail(data);
	});
		
	event.preventDefault();
}

function loadSermonDetail(data) {
	$('#broadcastDisplay').html(data);
}

function daysInMonth(month,year) {
	var dd = new Date(year, month, 0);
	return dd.getDate();
}

function videoLinkClick() {
    $('#videoLink div.last').show();
}

$(document).ready(function() {
	carousel = $('#broadcastResultsList').jcarousel({
			itemLoadCallback: mycarousel_itemLoadCallback
	});
	$('#broadcastMonthList').jcarousel();
	$('#broadcastYearList').jcarousel();
	

	$('#broadcastYearList ul.jcarousel-skin-broadcastYearList li a').bind('click', carouselYearClick);
	$('#broadcastMonthList ul.jcarousel-skin-broadcastMonthList li a').bind('click', carouselMonthClick);
	
	$('.carouselItemContainer').bind('click', listenButtonClick);

	
	carouselUpdateContent();
});