
	/* MAX NUMBER hd_link TO DISPLAY FOR CATEGORY */
   jQuery.noConflict();
   var hd_maxNumberOfItemsForCategory = 5;
   var hd_urlSearchRedirectPage = 'http://www.35mm.it/search';
   var hd_servletName 		  = 'http://www.35mm.it/hypertv-35mm/SearchLucene';

	function hd_search(){
		var searchText = jQuery('#hd_search_string').val();
		var url = hd_servletName + "?tstamp=" + (new Date()).getTime() + "&groupId=10441";

		if( searchText.length > 0 && searchText != ''){
			jQuery.ajax(
					{
					    type: "GET",
					    url: url,
					    dataType: 'jsonp',
					    data: { "eventType" : "searchText" ,  "searchQuery" : searchText },
					    success: function(response) {
					    	if(response != "NOTHING_TO_DO") {
					    		hd_createTableSearch(response);									    	
					    	}
					    },
					    error: function() {
						    jQuery('#lucene35mm').html('<div class="portlet-msg-error"><liferay-ui:message key="ht-generic-error" /></div>');
					    }
	    			}
		   		);
		}
	}

	
	function hd_getAllResults(categoryName){
		
		var category  =  new String(categoryName);
		var searchText = jQuery('#hd_search_string').val();
		var url = hd_servletName + "?tstamp=" + (new Date()).getTime() + "&groupId=10441";

		jQuery.ajax(
						{
						    type: "GET",
						    url: url,
					    	dataType: 'jsonp',
						    data: { "eventType" : "showAllResults" ,  "searchQuery" : searchText , "category" : category.toString()  },
						    success: function(response) {
						    					    	
						    	if(response != "NOTHING_TO_DO") {
							   		hd_showAllResults(response,1,'#hd_output_div');								    	
						    	}
												    	
						    },
						    error: function() {
							    jQuery('#lucene35mm').html('<div class="portlet-msg-error"><liferay-ui:message key="ht-generic-error" /></div>');
						    }
		    			}
			   		);
		
	}

	function hd_link(url){
		javascript:document.location.href=   url ; 
		}
	

		function hd_getTable( data , categoryName ){

			var mainTable = '';
			var listAncor = '';

			if( data.length > 0 ){
				
				for(var i=0; i< data.length; i++){
					
					//var url   = "'" + data[i].url + "'" ;
					var url   =  data[i].url  ;
					var title = data[i].title;
							
					if(typeof(title) != 'undefined'){
						listAncor  += '<div class="index-list-container-div"><span class="index-list-point">º</span><a class="search-ancor" href="'+ url + '">' + title + '</a></div>';
					}
				}			
						
				mainTable    += '<td valign="top" class="logo-text-container-td">';
				mainTable    += 	'<table id="' + categoryName + '">';
				mainTable    += 		'<tr>';
				if(categoryName == 'programmazione35mm'){
						var  paramSearch        = jQuery('#hd_search_string').val();
						var  url_tab_programmaz = hd_urlSearchRedirectPage + '?queryType=programmazione35mm&querySearch=' + escape(paramSearch) + '&queryTab=film35mm';

						mainTable    += '<td class="logo-' + categoryName + ' tip_trigger" onclick="hd_redirectUrl(\'' + url_tab_programmaz + '\');">';
						mainTable    += '<span class="tip2">VAI A RICERCA PERSONALIZZATA DELLA PROGRAMMAZIONE</span></a></td>';
					}
					else if(categoryName == 'cinema35mm'){
						var  paramSearch    = jQuery('#hd_search_string').val();
						var  url_tab_cinema = hd_urlSearchRedirectPage + '?queryType=programmazione35mm&querySearch=' + escape(paramSearch) + '&queryTab=cinema35mm';
						
						
						mainTable    += '<td class="logo-' + categoryName + ' tip_trigger" onclick="hd_redirectUrl(\'' + url_tab_cinema + '\');">';
						mainTable    += '<span class="tip1">VAI A RICERCA PERSONALIZZATA DEI CINEMA</span></a></td>';
					}
					else{
				
						mainTable    += '<td id="logo-' + categoryName + '" class="logo-' + categoryName + '"></td>';
					}
				mainTable    += 		'</tr>';
				mainTable    += 		'<tr>';
				mainTable    += 			'<td id="' + categoryName + '" class="' + categoryName + '">' + listAncor + '</td>';
				mainTable    += 		'</tr>';
				mainTable    +=		'</table>';

				if(data.length >= hd_maxNumberOfItemsForCategory ){
					var category = "'" + categoryName + "'";
				mainTable    += 	'<div  class="result-page-link-div" ><a href="#" onclick="hd_getAllResults(' + category + ')">Visualizza tutto</a></div>'; 	
				}

				mainTable    +=	'</td>';
						
				return mainTable;
			 }
		
		}
	
	function hd_toggleBorder(length){
		if( length > 0){
			jQuery('#hd_output_div').addClass('borderTable');
		}else{
			jQuery('#hd_output_div').removeClass('borderTable');
		}
	}


	function hd_createTableSearch(data){

		var mainTable = '';

		var listCategories  = eval(data.searchResults);
		var tootManyClauses = eval(data.tootManyClauses);

		var maxNumColumn    = 4;
		var totalElem       = listCategories.length;
		var numeroRighe     = hd_getMathFloor(totalElem,maxNumColumn);
		var numeroCategorie = listCategories.length;
		areFieldsNull = true;

			
			mainTable += '<div class="search-close-icon" onclick="hd_closeSearch();"></div>';
			mainTable += '<table id="mainTable" class="mainTable"><tr>';
			
			for(var i=0; i<numeroCategorie; i++){
	
				var current_index = i + 1;
				var category  = listCategories[i].category;
				var data 	  = listCategories[i].data;
				areFieldsNull = hd_checkDataLength(areFieldsNull,data);
				
				var title 	  = data.title;
				var riga 	  = hd_getMathFloor(i,maxNumColumn);
	
				if(i == ( ( (current_index - 1) * maxNumColumn ) + 1 ) ){/* first column */
					mainTable    +=  '<tr>' + hd_getTable( data , category );
	
				}else if(i == ((riga * maxNumColumn )-1)){ /* last column */
					mainTable   +=  hd_getTable( data , category )  + '</tr>';
						
				}
				else{/* center column */
					mainTable   += hd_getTable( data , category );
				}
			}
	
			mainTable   += '</table>';
		
		
		if(areFieldsNull && !tootManyClauses){
			mainTable = '';
		}
		
		jQuery('#hd_output_div').html( mainTable );
		hd_toggleBorder(numeroCategorie);
		hd_saveContext();
		initializeToolTipe();
		defaultVisibleTooltip();
		
	}


	function hd_getMathFloor(dividendo,divisore){
		if(dividendo > 0 && divisore > 0 ){
			var result = Math.floor(dividendo/divisore);
			if((dividendo%divisore)>0){
				return result + 1;
			}else{
				return result;
			}
		}
	}


	var jsonResponse;
	function hd_showAllResults(response,index,divContainer,cssClassName){
		
		if(typeof(index) == 'undefined'){
			index = 1;
		}else if(typeof(response) == "undefined"){
		    var response  = jsonResponse;
		}
		hd_storeJson(response);
		
		//il numero max di righe
		var maxItemsForColumn = 25;
		//il numero max di colonne nella pagina in cui visuaalizzo tutti i risultati
		var numberColumn = 3;

		if(typeof(response) != 'undefined'){
			
				var categories      = eval(response.searchResults);
				var tootManyClauses = eval(response.tootManyClauses);

				if(categories.length >0 ){	
				
					var data 	 = categories[0].data;
					var category = categories[0].category;
					
					var mainTable = '<div class="search-close-icon" onclick="hd_closeSearch();"></div><table id="allResultsTable" class="">';
					mainTable +=    '<tr class="allResultsOuterTr"><td class="allResultsOuterTd"><a class="allResultsOuterAnchor" href="#" onclick="hd_restoreContext()">Back</a></td></tr>';
					mainTable +=    '<tr><td class="logo-' + category + '"></td></tr>';
			
			
					if( data.length < maxItemsForColumn  ){
						maxItemsForColumn = data.length;
					}
			
					var min = ((index-1)*(numberColumn * maxItemsForColumn));
					var max = (index * (numberColumn * maxItemsForColumn));
					var column = hd_getMathFloor((max-min),maxItemsForColumn);
					var index = min;
									
					mainTable += '<tr class="allResultsInnerTr">';
							
					for(var i = 0; i < column ; i++){
						
						mainTable += '<td class="allResultsInnerTd">';
						
						for(var j=0; j< maxItemsForColumn; j++){
							
							if(typeof(data[index]) == 'undefined'){
								break;
							}
							
							var url   =  data[index].url ;
							var title = data[index].title;
							mainTable += '<div class="allResultsInnerDiv"><span class="index-list-point">º</span><a class="allResultsInnerAnchor"  href="' + url + '">' + title + '</a></div>';
							index = index + 1;
							
						}
						mainTable += '</td>';
					}
			
					mainTable += '</tr></table><br/>' + hd_getPaginationDiv(data.length,numberColumn,maxItemsForColumn, jsonResponse,index, divContainer);	
			
					jQuery(divContainer).html(mainTable).addClass(cssClassName);
//					hd_removeBackCloseButtons();
			}
		}
				
	}


    var htmlMainTable;
    function hd_saveContext(html){
    	htmlMainTable = jQuery('#hd_output_div').html();
	} 

	function hd_restoreContext(){
		jQuery('#hd_output_div').html(htmlMainTable);
		defaultVisibleTooltip();
		initializeToolTipe();
	}

	function hd_storeJson(json){
		jsonResponse = json; 
	}

	function hd_checkDataLength(var1 ,data){
		if( var1 && (data.length == 0) ){
			return true;
			}
		else {
			return false;
		}
	}


	function hd_closeSearch(){
		jQuery('#hd_output_div').html('').removeClass('borderTable');
	}


	function hd_getPaginationDiv(total,numberColumn,numberRow,jsonArray,clickedIndex,containerDiv){
		
		var paginationDiv = '<div class="paginationDiv"><table><tr><td class="pagination-title-name">Pagina</td>';
		var items = hd_getMathFloor(total,(numberColumn * numberRow));
		
		for(var i=1;i<=items;i++){

				paginationDiv += '<td class="pagination-td"><a href="#" onclick="hd_showAllResults('+ undefined + ',' +  i + ',\'' + containerDiv + '\',\'' + 'borderTable' + '\')" class="pagination-anchor">' + i + '</a></td>';
				
		}
		
		paginationDiv += '</tr></table></div>';

		return paginationDiv ;
		
	}

	
	function hd_urlRedirect(){
		var query = jQuery('#hd_search_string').val();
		var url =  hd_urlSearchRedirectPage + '?queryType=programmazione35mm&querySearch=' + query;
	 	return url;
	}

     
 
	function hd_removeBackCloseButtons(){
		//rimuove button back
		 jQuery('.allResultsOuterTd').css('display','none');
		 //rimuove icona di chiusura popUp
		 jQuery('.search-close-icon').css('display','none');

	}


function initializeToolTipe() {
	
jQuery(".tip_trigger")
	.hover
	(

		function()
		{
			tip1 = jQuery(this).find('.tip1');
		    tip2 = jQuery(this).find('.tip2');
		    if(typeof(tip1) != 'undefined' && typeof(tip2) != 'undefined'){
		    	tip1.show();
		    	tip2.show();
		    }
			 
			}, 
			function() 
			{
			if(typeof(tip1) != 'undefined' && typeof(tip2) != 'undefined'){
				tip1.css('display','none');
			    tip2.css('display','none');
			}
			}).mousemove(function(e) 
			{
		
				if(typeof(tip1) != 'undefined' && typeof(tip2) != 'undefined'){
					if(jQuery('.tip1').html() == null && jQuery('.tip2').html() != null){
						tip2.css({  top: 65 ,left:20 });
					}
					else if(jQuery('.tip1').html() != null && jQuery('.tip2').html() != null){
						tip1.css({  top: 65 ,left:20 });
		        		tip2.css({  top: 65 ,left:190 });
					}
								
			}
			
		}
	);
}


function hd_redirectUrl(url){
	javascript:document.location.href=   url ;
}
 
 
 function defaultVisibleTooltip(){
 jQuery('.tip1').css('display','none');
 jQuery('.tip2').css('display','none');	
 }
	

