| 
					
				 | 
			
			
				@@ -1,4 +1,119 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(function ($, Drupal, drupalSettings) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(function($,Drupal,drupalSettings){var settings=drupalSettings.edlp_search;var _$body=$('body');var _$container;var _$form;function init(){initEvents();initAjax();};function initEvents(){$('body').on('new-content-ajax-loaded',initAjax).on('edlp_search_search_form-col-closed',onSearchClosed);};function initAjax(){_$form=$('#edlp-search-form:not(.ajax-enabled)');if(!_$form.length)return false;_$form=$('#edlp-search-form:not(.ajax-enabled)').on('submit',onSubmitForm).addClass('ajax-enabled');_$container=_$form.parents('.row');if(!_$container.length){_$container=_$form.parent();}};function onSubmitForm(e){e.preventDefault();var args={};args.keys=$('input[type="search"]',this).val();args.entries=[];$('input[type="checkbox"]:checked','#edit-entries').each(function(index,el){args.entries.push($(this).val());});args.langues=$('input[name="language"]',this).val();args.genres=$('input[name="genres"]',this).val();loadResults(args);return false;};function loadResults(args){_$form.addClass('ajax-loading');_$body.addClass('ajax-loading');$('[theme="edlp_search_results"]',_$container).addClass('ajax-loading');var path=window.location.origin+drupalSettings.path.baseUrl+settings.results_ajax_url;$.getJSON(path,args).done(function(data){onResultsLoaded(data);}).fail(function(jqxhr,textStatus,error){onResultsLoadFail(jqxhr,textStatus,error);});};function onResultsLoaded(data){_$form.removeClass('ajax-loading');_$body.removeClass('ajax-loading');$prev_results=$('[theme="edlp_search_results"]',_$container);if($prev_results.length){$prev_results.replaceWith(data.rendered);}else{_$container.append(data.rendered);} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_$body.trigger({'type':'search-results-loaded','results':data.results_nids});};function onResultsLoadFail(jqxhr,textStatus,error){void 0;};function onSearchClosed(e){$('div[theme="edlp_search_results"]').remove();_$body.trigger({'type':'search-closed'});} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-init();})(jQuery,Drupal,drupalSettings); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  var settings = drupalSettings.edlp_search; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  var _$body = $('body'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  var _$container; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  var _$form; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  function init(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // console.log('EdlpSearch Init', settings); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initEvents(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initAjax(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  function initEvents(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $('body') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .on('new-content-ajax-loaded', initAjax) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .on('edlp_search_search_form-col-closed', onSearchClosed); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  function initAjax(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _$form = $('#edlp-search-form:not(.ajax-enabled)'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(!_$form.length) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //console.log('EdlpSearch initAjaxForm()'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _$form = $('#edlp-search-form:not(.ajax-enabled)') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .on('submit', onSubmitForm) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .addClass('ajax-enabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _$container = _$form.parents('.row'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(!_$container.length){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _$container = _$form.parent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  function onSubmitForm(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    e.preventDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // console.log('onSubmitForm',e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var args = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // search for key words 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args.keys = $('input[type="search"]', this).val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // entries filter 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args.entries = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $('input[type="checkbox"]:checked', '#edit-entries').each(function(index, el) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      args.entries.push($(this).val()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // langues 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args.langues = $('input[name="language"]', this).val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // genres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    args.genres = $('input[name="genres"]', this).val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //console.log('EdlpSearch onSubmitForm() : args',args); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    loadResults(args); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  function loadResults(args){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //console.log('EdlpSearch loadResults() : args', args); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _$form.addClass('ajax-loading'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _$body.addClass('ajax-loading'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $('[theme="edlp_search_results"]', _$container).addClass('ajax-loading'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var path = window.location.origin + drupalSettings.path.baseUrl +settings.results_ajax_url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $.getJSON(path, args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .done(function(data){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        onResultsLoaded(data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .fail(function(jqxhr, textStatus, error){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        onResultsLoadFail(jqxhr, textStatus, error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  function onResultsLoaded(data){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // console.log('EdlpSearch onResultsLoaded()', data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _$form.removeClass('ajax-loading'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _$body.removeClass('ajax-loading'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // insert results col 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $prev_results = $('[theme="edlp_search_results"]', _$container); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if($prev_results.length){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $prev_results.replaceWith(data.rendered); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _$container.append(data.rendered); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // trigger event 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _$body.trigger({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'type':'search-results-loaded', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'results':data.results_nids 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // piwik 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(typeof _paq !== 'undefined'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // trackEvent(category, action, [name], [value]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      var search_name = 'keys:'+data.keys 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        +';langues:'+data.langues 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        +';genres:'+data.genres 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        +';entries:'+data.entry_names.join(','); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _paq.push(['trackEvent', 'AjaxSearch', 'Results', search_name, data.results_nids.length]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  function onResultsLoadFail(jqxhr, textStatus, error){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.warn('EdlpSearch : search results ajax load failed : '+error, jqxhr.responseText); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  function onSearchClosed(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // console.log('Edlp Search onSearchClosed()'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $('div[theme="edlp_search_results"]').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // trigger event 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _$body.trigger({'type':'search-closed'}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+})(jQuery, Drupal, drupalSettings); 
			 |