$(document).ready(function(){		
	
	sermonSort();
	customFormElements();
	
	$('.sl_video a, #mb_video a, a.video').live('click', playVideo);	
	$('.sl_listen a, #mb_jukebox a, a.lnk_listen').live('click', playAudio);		
   
   	$('.external').attr('target', '_blank');
   	$('#tabs li a').bind('click', switchCalTabs);
	$('#months').bind('change', switchCalMonth);
	$('#events-calendar caption a').live('click', switchCalendar);
	$('#list-view li a').live('click', switchEventList);
	
	// clear and restore search input
   $('input.clickClear').focus(function() {
      startText = $(this).val();
      $(this).val('');
   });
   $('input.clickClear').blur(function() {
      blurText = $(this).val();
      if (blurText == '') {
         $(this).val(startText);
      };
   });
   
   navigationUpdates();   
   
   if(document.body.id !=='home' && document.body.id !== 'sermons') adjustHeight();   

	$('#views li a').bind('click', switchCalTabs);
	$('#months').bind('change', switchCalMonth);
	$('#events-calendar caption a').live('click', switchCalendar);
	$('#list-view li a').live('click', switchEventList);
	$('a.series, a.speaker').live('click', sermonSortLinks);
   
});

// launch audio player
function playAudio(){
	window.open('http://cpmassets.com/audio-player.php?audio='+$(this).attr('href'), 'audioPlayer', 'width=210,height=30,status=0,toolbar=0'); 
	return false;
}

// launch video player
function playVideo(){
	var $self = $(this);

	if($self.attr('nodeName') !== 'A'){
		if($self.parent().attr('nodeName') == 'A'){
			var $self = $self.parent();
		} else {
			return;
		}
	}
	
	if($self.attr('rel').length > 1){
		var place = $self.attr('href');
	} else {
		var place = 'http://cpmassets.com/video.php?video='+$self.attr('href');
	}
	window.open(place, 'videoPlayer', 'width=640,height=320,scrollbars=0,statusbar=0,address=0');
	return false;
}

function sermonSortLinks(){
	var key, val, parts;
	key	= this.className;
	if(key == 'series'){
		val = this.id.split('-')[1];
	} else {
		parts = this.rel.split('-');
		val = (parts[0] == 'p' ? 'person_' : 'user_')+parts[1];
	}
	window.location.hash = key+'_'+val;
	$.get('/ajax/sermons.php', { key:key, val:val}, function(o){
		$('#sermon-content').html(o);
		var message = 'Showing Messages from '+$('#'+key+' option[value="'+val+'"]').text();
		$('.msg_type').html(message);
		doLogos();

	})
	return false;
}

function doLogos(){
	Logos.ReferenceTagging.lbsBibleVersion = "NIV";
    Logos.ReferenceTagging.lbsLinksOpenNewWindow = true;
    Logos.ReferenceTagging.lbsLibronixLinkIcon = "dark";
    Logos.ReferenceTagging.lbsNoSearchTagNames = [ "h1", "h2", "h3" ];
    Logos.ReferenceTagging.tag();
}

// sermon sorting functions
function sermonSort(){
	// see if there is something in the query string to initially load
	var sort = window.location.hash;
	
	if(sort){
		var parts = sort.split('_');
		var key	= parts[0].replace('#', '');
		var val = key == 'speaker' ? parts[1]+'_'+parts[2] : parts[1];			
		var content = $('#sermon-content');
		
		content.html('');
		$.get('/ajax/sermons.php', {		
			key:key,
			val:val
		},
		function(o){						
			content.html(o);						
			var messages = 'Showing Messages from ' + $('#'+key+' option[value="'+val+'"]').text();
			$('.msg_type').html(messages);
			doLogos();			
		}
		);		
	}	
	
	$('.sorter').change(function(){
		var self =this;
		window.location.hash = this.id+'_'+this.value;
		$('#sermon-content').html('');
		if(this.selectedIndex !== 0){
			$.get('/ajax/sermons.php', { 
				'key':this.id,
				'val':this.value			
				}, 
				function(o){				
					$('#sermon-content').html(o);
					var messages = 'Showing Messages from '+ self.options[self.options.selectedIndex].firstChild.nodeValue;
					$('.msg_type').html(messages);
										
					// reset sorter selects to first value
					$('.sorter').attr({ selectedIndex:0 })		
					doLogos();				   				
				}
			);
		}
	});		
}

function switchCalTabs(){
	var div = '#'+$(this).attr('rel');
	$('#events-container div').hide();
	$(div).show();
	$('#tabs li').removeClass('current');
	$(this).parent().addClass('current');
	return false;
}

function switchCalMonth(){
	var month = $(this).val();
	$.get('/ajax/events.php', { month:month }, function(data){
		$('#events-calendar').html(data);
	});
}

function switchCalendar(){
	var parts = $(this).attr('href').split('/');
	var month = parts.pop();
	var year  = parts.pop();
	$.get('/ajax/events.php', { month:month, year:year }, function(data){
		$('#events-calendar').html(data);
	});
	return false;
}

function switchEventList(){
	var parts = $(this).attr('href').split('/');
	var month = parts.pop();
	var year  = parts.pop();
	$.get('/ajax/events.php', { month:month, year:year, view:'list'}, function(data){
		$('#list-view').html(data);
	});
	return false;
}

function navigationUpdates(){
	
	$('#nav li').each(function(){
		var self = $(this), lnk;
		if(self.parent().attr('id') == 'nav'){
			lnk = self.find('a:first').addClass('novabold');
			lnk.html('<span class="nav_lft_i"></span>'+lnk.text()+'<span class="nav_rgt_i"></span><span class="nav_arrw_i"></span>');
			
			// add a drop down class
			if(self.find('ul').length){
				lnk.addClass('drpdwn').before('<span class="ico_drpdwn"></span>');
			}
		}
	});
}

function adjustHeight(){
	var hgt = $(".wrapper").height();
		hgt = hgt - 35;
	$('#main-content').height(hgt);
}

function switchCalTabs(){
	var div = '#'+$(this).attr('rel');
	$('#events-container div').not('.event_details').hide();
	//$('.event_details').removeAttr('style');
	$(div).show();
	$('#views li').removeClass('current');
	$(this).parent().addClass('current');
	return false;
}

function switchCalMonth(){
	var month = $(this).val(); 
	$.get('/ajax/events.php', { month:month }, function(data){ 
		$('#events-calendar').html(data);
	});
}

function switchCalendar(){
	var parts = $(this).attr('href').split('/');
	var month = parts.pop();
	var year  = parts.pop();
	$.get('/ajax/events.php', { month:month, year:year }, function(data){
		$('#events-calendar').html(data);
		doCalendarFilter();
	});
	return false;
}

function switchEventList(){
	var parts = $(this).attr('href').split('/');
	var month = parts.pop();
	var year  = parts.pop();
	$.get('/ajax/events.php', { month:month, year:year, view:'list'}, function(data){
		$('#list-view').html(data);
	});
	return false;
}

function customFormElements(){
	$('#sorting select').each(function(){
		$(this).wrap('<span class="select '+this.id+'Wrap'+'">'+this.options[0].firstChild.nodeValue+'</span>');
	});
}
