$(document).ready(function() {
	//Default search input term
	var defaultTerm = 'Kirjoita etsimäsi elokuvan nimi tähän';

	//Set channel to search
	if( force_channel_filter ){
		channelFilter = force_channel_filter;
	}
	else{
		channelFilter = 'all';
	}
	
	// Clear the field on click
	$('#movieSearch .mVsearchInput').click( function(){
		if( $(this).val() == defaultTerm ){
			$(this).val('');
		}
	});
	
	//Search results
	$('#movieSearch .mVsearchInput').bind("keyup", function(e) {		
		
		//Get results of search term
		var searchTerm = $('#movieSearch .mVsearchInput').val();
						
		$.get(base_url+'/ajax/movie_search_get_movie_list/'+channelFilter+'/'+searchTerm, function(data) {
			data = eval("("+data+")");
		 	var searchResults = data;
				
			//Build the suggestion list	 	
			var resultsHtml = '<li class="title">Movies</li>';
		 	for(var i=0; i<searchResults['movies'].length; i++){
		 		resultsHtml += '<li><a id="'+searchResults['movies'][i]['movie_name_url_encoded']+'" href="#">'+searchResults['movies'][i]['name']+'</a></li>';
		 	}
		 	$('.mVsearchSuggestionsList').html(resultsHtml);
		 	$('.mVsearchSuggestions').show();
		 	
		 	// Set styles
			$('.mVsearchSuggestionsList li').hover(
				function () {
					$(this).css('background-color', '#E5E6E6');
				},
				function () {
					$(this).css('background-color', 'transparent');
				}
			);
		 	
		 	//Click on suggestion
		 	$('.mVsearchSuggestionsList a').click( function(){
		 		
		 		//Load movie information
		 		loadMovie($(this).attr('id'), channelFilter);
		 		
		 		//Hide suggestion list
		 		$('#movieSearch .mVsearchSuggestions').hide();
		 		$('#movieSearch .mVsearchInput').val(defaultTerm);
		 		
		 		return false;	
		 	});
		 	
		 	//For one result allow enter to call loadMovie
			if(e.keyCode == 13 && searchResults['total'] == 1) {
				loadMovie(searchResults['movies'][0]['movie_name_url_encoded'], channelFilter);
				
				//Hide suggestion list
				$('#movieSearch .mVsearchInput').val(defaultTerm);
				$('#movieSearch .mVsearchInput').blur();
		 		$('.mVsearchSuggestions').hide();
		 		$("html").unbind("click");
				
				return false;
			}
			
			// Close the suggestions when clicking outside
			$('html').click( function(e) {
				if( !($(e.target).is('#movieSearch .mVsearchSuggestions') || $(e.target).is('#movieSearch .mVsearchInput')) ){
					$("html").unbind("click");
					$('#movieSearch .mVsearchSuggestions').hide();
					$('#movieSearch .mVsearchInput').val(defaultTerm);	
				}
				return false;
			});
			 
		});
	
	}); // end function "bind keyup"
	
	//Load the random movie on page load
	loadMovie(random_movie_url_encoded, channelFilter);
	
});

function loadMovie(name, channelFilter){
	$.get(base_url+'/ajax/movie_search_get_movie/'+channelFilter+'/'+name, function(data) {
		data = eval("("+data+")");
		var movieData = data;
		
		if( movieData != '' ){
			//Main movie title, image and description
			var movieInfo = '';
			movieInfo += '<h2>'+movieData['name']+'</h2>';
			if( movieData['movie_image_url'] ){
				movieInfo += '<img src="'+movieData['movie_image_url']+'" alt="'+movieData['name']+'" />';
			}
			movieInfo += '<p>'+movieData['movie_description']+'</p>';
			$('#mVinfo').html(movieInfo);
			
			//Movie airdates
			var movieNext = '<p><strong>'+movieData['starttime_to_use']+' '+channel_genitive[movieData['channel']]+'</strong></p>';
			$('#movieSearch #mVSchedule .showTime').html(movieNext);
			$('#movieSearch #mVSchedule').show();
			$('#movieSearch #mVSchedule .showSchedule').hide();
			$('#movieSearch #mVSchedule .showTime').show();
			
			if (typeof movieData['upcoming_dates'] != "undefined") {
				var movieUpcoming = '<ul>';
				for( i in movieData['upcoming_dates'] ){
					movieUpcoming += '<li class="title">'+channel_genitive[i]+'</li>';
					for( x in movieData['upcoming_dates'][i]){
						movieUpcoming += '<li>'+movieData['upcoming_dates'][i][x]['starttime_to_use']+'</li>';
					}
				}
				movieUpcoming += '</ul>';
				
				$('#movieSearch #mVSchedule .showSchedule').html(movieUpcoming);
				$('#movieSearch #mVSchedule .showSchedule').show();
			}
		}
		else{
			$('#movieSearch #mVSchedule').hide();
			$('#mVinfo').html('<p>Ei elokuvia</p>');
		}
		
	});
}
