
var seachProcess = null;
var lastSearchDatas = null;
var lastSearchUrl = null;
var nbResultsPerPage = 5;


function simpleSearch(text)
{
	if(seachProcess!=null)seachProcess.abort();
	if(text=='')
	{
		$('#search-slide').css('display', 'none');
		return false;
	}
	$("input#search-input").css('background-image', 'url('+config['base_url']+'img/helper/loader-small.gif)');
	
	seachProcess = $.ajax({
		type: "POST",
		url: config['base_url']+'index.php/'+config['language_abbr']+'/search/all',
		data: "search-text="+text,
		success: function(msg){
			$('.search-result-box').css('display', 'none');
			results = eval('(' + msg + ')');
			
			series =  results.series;
			$('#search-results-serie-list').children().remove();
			//var serieList = $("<ul id='search-results' class='serie-search-results'></ul>");

			var i = 0;
			var j = 0;
			if(series!=undefined)
			{
				while(i<3 && series[i]!=undefined)
				{
					var serie = $("<li></li>");
					
					var serieImg = $("<img src='"+series[i].image+"' alt='"+series[i].title+"' />");
					serieImg.appendTo(serie);
									
					var serieText = $("<span></span>").addClass('result-text');
					var serieTitle = $("<h3><a href='"+config['base_url']+"index.php/serie/show/"+series[i].id+"'>"+series[i].title+"</a></h3>");
					serieTitle.appendTo(serieText);
					
					var serieTags = $("<h4>tags: </h4>");
					serieTags.appendTo(serieText);
					
					for(var tag_i in series[i].tags)
					{
						if(tag_i > 0)$("<span>, </span>").appendTo(serieTags);
						$("<a href='"+config['base_url']+"index.php/"+config['language_abbr']+"/browser/search/"+series[i].tags[tag_i].id+"' class='tag-item tag-link' rel='"+series[i].tags[tag_i].id+"'>"+series[i].tags[tag_i].name+"</a>").appendTo(serieTags);
					}
					
					serieText.appendTo(serie);
					
					serie.appendTo('#search-results-serie-list');
					
					i++;
				}
				
				if(i>0)
				{
					$("#search-found-serie-title").css('display', 'block');
				}
				else
				{
					$("#search-found-serie-title").css('display', 'none');
				}
			}
			
			
			celebrations =  results.celebrations;
			$('#search-results-celebration-list').children().remove();
			//var serieList = $("<ul id='search-results' class='serie-search-results'></ul>");

			if(celebrations!=undefined)
			{
				while(j<3 && celebrations[j]!=undefined)
				{
					var celebration = $("<li></li>");
					
					var serieImg = $("<img src='"+celebrations[j].serie_img+"' />");
					serieImg.appendTo(celebration);
									
					var celebrationText = $("<span></span>").addClass('result-text');
					var celebrationTitle = $("<h3><a href='"+config['base_url']+"index.php/serie/show/"+celebrations[j].id+"'>"+celebrations[j].title+"</a></h3>");
					celebrationTitle.appendTo(celebrationText);
					
					var celebrationTags = $("<h4>tags: </h4>");
					celebrationTags.appendTo(celebrationText);
					
					for(var tag_i in celebrations[j].tags)
					{
						if(tag_i > 0)$("<span>, </span>").appendTo(celebrationTags);
						$("<a href='"+config['base_url']+"index.php/"+config['language_abbr']+"/browser/search/"+celebrations[j].tags[tag_i].id+"' class='tag-item tag-link' rel='"+celebrations[j].tags[tag_i].id+"'>"+celebrations[j].tags[tag_i].name+"</a>").appendTo(celebrationTags);
					}
			
					celebrationText.appendTo(celebration);
					
					celebration.appendTo('#search-results-celebration-list');
					j++;
				}
			}
			
				
			if(j>0)
			{
				$("#search-found-celebration-title").css('display', 'block');
			}
			else
			{
				$("#search-found-celebration-title").css('display', 'none');
			}

			if(j>0 || i>0)
			{
				$('#search-slide').css('display', 'block');
				$('.search-result-box').css('display', 'block');
				$('#search-input-container').css('border-bottom', '0');
			}
			else
			{
				$('#search-input-container').css('border-bottom', 'solid #CCC 1px');	
			}
			
			if( (i==nbResultsPerPage && series[i]!=undefined) || (j==nbResultsPerPage && celebrations[i]!=undefined))
			{
				$("#search-all-results").css('display', 'block');
			}
			else
			{
				$("#search-all-results").css('display', 'none');
			}
			$('input#search-input').css('background-image', 'none');


		}
	});
}

function bigSearch(text)
{
	if(seachProcess!=null)seachProcess.abort();
	if(text=='')
	{		
		$('.search-loader').css('display', 'none');
		$('#search-answers').css('display', 'none');

		return false;
	}
	lastSearchDatas = "search-text="+text;
	lastSearchUrl = config['base_url']+'index.php/'+config['language_abbr']+'/search/all';
	seachProcess = $.ajax({
		type: "POST",
		url: lastSearchUrl,
		data: lastSearchDatas,
		success: function(msg){
			$('#search-answers').css('display', 'none');
			results = eval('(' + msg + ')');

			showResults(results);
			$("#search-answers a.tag-link").click(function(){
				selectItem($('#tag-'+$(this).attr('rel')), 'tag');
				showItems($(this).attr('rel'), 'tag');
			})
			$('.pagination .page-link').click(function(){
				$('#big-search-'+$(this).attr('reltype')+'-items').css('display', 'none');
				$('#big-search-'+$(this).attr('reltype')+'-items').children().remove();
				$('#'+$(this).attr('reltype')+'-answers .page-loader').css('display', 'block');
				$('#'+$(this).attr('reltype')+'-answers .page-link').removeClass('current-page');
				$('#'+$(this).attr('reltype')+'-answers .page-link.page-'+$(this).attr('rel')).addClass('current-page');
				getPage($(this).attr('rel'), $(this).attr('reltype'));
			});
		}
	});
}


function showItems(itemId, type)
{
	if(seachProcess!=null)seachProcess.abort();
	lastSearchDatas = "search-"+type+"="+itemId;
	lastSearchUrl = config['base_url']+'index.php/'+config['language_abbr']+'/search/'+type;
	seachProcess = $.ajax({
		type: "POST",
		url: lastSearchUrl,
		data: lastSearchDatas,
		success: function(msg){
			
			$('#search-answers').css('display', 'none');
			results = eval('(' + msg + ')');
			showResults(results);
			$("#search-answers a."+type+"-link").unbind('click');
			$("#search-answers a."+type+"-link").click(function(){
				selectItem($('#'+type+'-'+$(this).attr('rel')), type);
				showItems($(this).attr('rel'), type);
				return false;
			})
		}
	});
}



function showseriesPage(series)
{
	var i = 0;
	while(i<nbResultsPerPage && series[i]!=undefined)
	{
		var serie = $("<li></li>");
		
		var serieImg = $("<img src='"+series[i].image+"' alt='"+series[i].title+"' />");
		serieImg.appendTo(serie);
						
		var serieText = $("<span></span>").addClass('result-text');
		var serieTitle = $("<h3><a href='"+config['base_url']+"index.php/serie/show/"+series[i].id+"'>"+series[i].title+"</a></h3>");
		serieTitle.appendTo(serieText);
		
		var serieTags = $("<h4>TAGS: </h4>");//real one
		serieTags.appendTo(serieText);
		
		for(var tag_i in series[i].tags)
		{
			if(tag_i > 0)$("<span>, </span>").appendTo(serieTags);
			$("<a href='#' class='tag-item tag-link' rel='"+series[i].tags[tag_i].id+"'>"+series[i].tags[tag_i].name+"</a>").appendTo(serieTags);
		}
		
		serieText.appendTo(serie);
		
		serie.appendTo('#big-search-series-items');
		i++;
	}
	
	return i;
}

function showcelebrationsPage(celebrations)
{
	var j = 0;
	while(j<nbResultsPerPage && celebrations[j]!=undefined)
	{
		var celebration = $("<li></li>");
		
		var serieImg = $("<img src='"+celebrations[j].serie_img+"' />");
		serieImg.appendTo(celebration);
						
		var celebrationText = $("<span></span>").addClass('result-text');
		var celebrationTitle = $("<h3><a href='"+config['base_url']+"index.php/serie/show/"+celebrations[j].serie_id+"'>"+celebrations[j].title+"</a></h3>");
		celebrationTitle.appendTo(celebrationText);
		
		var celebrationTags = $("<h4>TAGS: </h4>");//real one
		celebrationTags.appendTo(celebrationText);
		
		for(var tag_i in celebrations[j].tags)
		{
			if(tag_i > 0)$("<span>, </span>").appendTo(celebrationTags);
			$("<a href='#' class='tag-item tag-link' rel='"+celebrations[j].tags[tag_i].id+"'>"+celebrations[j].tags[tag_i].name+"</a>").appendTo(celebrationTags);
		}

		celebrationText.appendTo(celebration);

		
		celebration.appendTo('#big-search-celebrations-items');
		j++;
	}
	return j;
}


function showSerieResults(results)
{

	var i =0;
	if(results.series!=undefined)
	{

		i = showseriesPage(results.series);
		
		if(i>0)
		{
			$("#big-search-serie-title").css('display', 'block');
			$('#series-answers').css('display', 'block');
			$("#series-answers .result-number .shown-results").text(i);
			$("#series-answers .result-number .total-results").text(results.nb_series);
			$("#series-answers .page-links").children().remove();

			if(results.nb_series>results.results_per_page)
			{
				var page_i = 0;
				while(page_i < (results.nb_series/results.results_per_page))
				{	
					page_i++;
					var page = $("<li class='page-link page-"+page_i+"' rel='"+page_i+"' reltype='series'>"+page_i+"</li>");
					if(page_i == results.series_page)page.addClass('current-page');
					$("#series-answers .page-links").append(page);
				}
				
			}

		}
		else
		{
			$("#big-search-serie-title").css('display', 'none');
			$('#series-answers').css('display', 'none');
		}
	}
	return i;

}

function showCelebrationResults(results)
{

	var j =0;
	if(results.celebrations!=undefined)
	{

		j = showcelebrationsPage(results.celebrations);
		
		if(j>0)
		{
			$("#big-search-celebration-title").css('display', 'block');
			$('#celebrations-answers').css('display', 'block');
			$('#celebrations-answers .result-number .shown-results').text(j);
			$('#celebrations-answers .result-number .total-results').text(results.nb_celebrations);
			$("#celebrations-answers .page-links").children().remove();
			if(results.nb_celebrations>results.results_per_page)
			{
				var page_j = 0;
				while(page_j < (results.nb_celebrations/results.results_per_page))
				{	
					page_j++;
					var page = $("<li class='page-link page-"+page_j+"' rel='"+page_j+"' reltype='celebrations'>"+page_j+"</li>");
					if(page_j == results.celebrations_page)page.addClass('current-page');
					$("#celebrations-answers .page-links").append(page);
				}
			}
	
		}
		else
		{
			$("#big-search-celebration-title").css('display', 'none');
			$('#celebrations-answers').css('display', 'none');
		}
	}
	return j;

}



function showResults(results)
{
	$('#search-loader').css('display', 'none');
	$('#search-answers').css('display', 'block');
	$('#series-answers').children().css('display', 'block');
	$('#series-answers .page-loader').css('display', 'none');
	series =  results.series;
	
	$('#big-search-series-items').children().remove();
	$('#big-search-celebrations-items').children().remove();

	var i = showSerieResults(results)
	var j = showCelebrationResults(results)

	
	if(j>0 || i>0)$('#search-answers').css('display', 'block');
	
	if( (i==nbResultsPerPage && results.series[i]!=undefined) || (j==nbResultsPerPage && results.celebrations[i]!=undefined))
	{
		$("#search-all-results").css('display', 'block');
	}
	else
	{
		$("#search-all-results").css('display', 'none');
	}
}


function selectItem(element, type)
{
	unselectItem(type);
	$("input#search-input-big").val('');
	element.addClass('selected-'+type);
	$('#search-answers').css('display', 'none');
	$('#search-loader').css('display', 'block');
	$('#search-'+type+'-title').css('display', 'block');
	$('span#'+type+'-name').text(element.text());
}

function unselectItem(type)
{
	$("a."+type+"-link").removeClass('selected-'+type);	
}



function getPage(page, type)
{
	if(seachProcess!=null)seachProcess.abort();
	if(lastSearchDatas==null)
	{
		$('#search-answers').css('display', 'none');
		return false;
	}
	seachProcess = $.ajax({
		type: "POST",
		url: lastSearchUrl,
		data: lastSearchDatas+'&page='+page+'&type='+type,
		success: function(msg){
			results = eval('(' + msg + ')');
			i = eval("show"+type+"Page(results."+type+")");
			$('#'+type+'-answers .page-loader').css('display', 'none');
			$('#'+type+'-answers .result-number .shown-results').text(i);
			$('#big-search-'+type+'-items').css('display', 'block');
		}
	});
}


