var Core = {};
Core.liveSearchFile = "index.php?call=Ajax&controller=Search&action=LiveSearch";
Core.share = "";

Core.init = function() {
	
	if ($('#comment').length) {
		Core.commentField();
	}
	
	Core.autocomplete();
	
	$('#slideshow').slide({
		autoplay: true, 
		duration: 7000, 
		showSlideIndex: false
	});
	
};

Core.autocomplete = function() {
	$('#searchInput').autocomplete({
		source: Core.liveSearchFile,
		minLength: 2,
		select: function(event, ui) {
			// Redirect to selected movie
			window.location = "?controller=Movie&id="+ ui.item.id;
		}
	});
}

Core.commentField = function() {
	var facebookShareButton = '#comment > form > .socials > a.facebook';
	var twitterShareButton = '#comment > form > .socials > a.twitter';
	var shareCounter = '#comment > form > .post > .shareCounter';
	

	// Hide non-js elements
	$('#comment > form > .socials > *').css("visibility", "hidden");
	
	// Add js elements
	var html = '<span>Share on: </span>';
	if ($('#comment > form > .socials > input').length) {
		if ($('#shareFacebook').length) {
			html += ' <a href="#" class="facebook" title="Facebook"></a>';
		}
		if ($('#shareTwitter').length) {
			html += ' <a href="#" class="twitter" title="Twitter"></a>';
		}
	} else {
		html += ' <a href="?controller=Settings&amp;action=Socials">Connect</a>';
	}
	$('#comment > form > .socials').prepend(html);
	$('#comment > form > .post').prepend('<span class="shareCounter"></span>');
	
	
	// Update default states
	updateButtonState('#shareFacebook', facebookShareButton);
	updateButtonState('#shareTwitter', twitterShareButton);
	
	
	// Click on Facebook
	$(facebookShareButton).click(function() {
		updateState('#shareFacebook', facebookShareButton);
		return false;
	});
	
	// Click on Twitter
	$(twitterShareButton).click(function() {
		updateState('#shareTwitter', twitterShareButton);
		return false;
	});
	
	
	/// Character Counter ///
	
	// Get current number of characters
	$(shareCounter).html($('#shareComment').val().length);

	$('#shareComment').keyup(function() {
		// Get new length of characters
		$(shareCounter).html($(this).val().length);
	});
	
	
	
	function updateButtonState(id, button) {
		var checkbox = $(id).attr("checked");
		
		if (checkbox == false) {
			$(button).removeClass("active");
		} else {
			$(button).addClass("active");
		}
		
		updateShareStatus();
		
		return
	}
	function updateState(id, button) {
		var checkbox = $(id).attr("checked");
		
		if (checkbox == false) {
			$(id).attr("checked", "checked");
		} else {
			$(id).removeAttr("checked");
		}
		
		updateButtonState(id, button);
		
		
		
		return
	}
	function updateShareStatus() {
		var shareStatus = '#comment > p.share';
		
		if ($('#comment > form > .socials > input:checked').length == 0) {
			$(shareStatus).html('Your comment will not be shared.');
		} else {
			Core.share = 'Your comment will be shared on';
			$('#comment > form > .socials > input:checked').each(function(index, domEle) {
				var title = $(domEle).attr('title');
				
				Core.share += ' <a href="#">' + title + '</a>';
			});
			
			$(shareStatus).html(Core.share);
		}
		
		return
	}
};

// Laddar när DOM är klar.
$(document).ready(Core.init);