PageSourceSearch

https://africanfossils.org/sites/all/themes/fossil/js/search.js

js africanfossils.org collected 2026-10-02 05:31:36 UTC 38,996 bytes, 937 lines download raw bytes

1/*  EXECUTES IMMEDIATELY   */
2
3		//  global namespace
4		var FOSSIL = {};
5		var FOSSIL_H = {};
6		var FOSSIL_F = {};
7		var FOSSIL_T = {};
8		
9		
10		//	right away, download fossil data
11		//  TO DO: move this into a function
12		(jQuery).getJSON("/fossils/all", function(rawJson0) {			
13			FOSSIL.fossils = ( typeof rawJson0.fossils != undefined && rawJson0.fossils.length > 0 ) 
14				? rawJson0.fossils
15				: '';
16		});
17		
18		// finish setup when page is ready
19		jQuery('document').ready(function(){ 
20			documentReady();
21			$("#hominids-icon-cat-list, #animals-icon-cat-list, #tools-icon-cat-list, #h-family, #h-genus, #h-element, #h-tribe, #h-species, #f-family, #f-genus, #f-element, #f-tribe, #f-species, #t-tool_type, #t-site, #t-industry").hide(); 
22			//check_footer();
23		});		
24		
25/*  END IMMEDIATE CODE */  
26
27		function documentReady(){
28			fossilTestForReady();			
29		}
30
31		function fossilTestForReady(){
32			// until we figure out how to set a jCarousel initCallback using the installed module,
33			// we're forced to sit and watch for it to be ready, then fire the callback
34			if( typeof FOSSIL.fossils != undefined && jQuery.isArray(FOSSIL.fossils) ){
35				fossilReady();
36				show();
37			} else {
38				setTimeout( function(){ fossilTestForReady(); }, 300 );
39			}
40		};
41		
42		function show() {
43			$('.windows8').attr('style', 'display: none;');
44			setTimeout(showAll, 100);
45		};
46		
47		function showAll() {
48			$('#models-box').attr('style', 'visibility: visible;').fadeIn();
49		};
50		
51		function fossilReady(){
52			// called when global FOSSIL info is ready			
53			var htmlStr = $('#models-box ul');
54			var newItem = '';
55			var todaySeconds = Date.parse(Date())/1000;
56			
57			var fossil_family = '';
58			var fossil_genus = '';
59			var fossil_element = '';
60			var fossil_tribe = '';
61			var fossil_species = '';
62			
63			var HFamilyList = [];
64			var HGenusList = [];
65			var HSpeciesList = [];
66			
67			var FFamilyList = [];
68			var FGenusList = [];
69			var FSpeciesList = [];
70			var FTribeList = [];
71			
72			var TIndustryList = [];
73			var TTypeList = [];
74			var TSiteList = [];
75			
76			var HFamilyItem = "";
77			var HGenusItem = ""; 
78			var HSpeciesItem = "";
79			
80			var FFamilyItem = "";
81			var FGenusItem = ""; 
82			var FSpeciesItem = "";
83			var FTribeItem = "";
84			
85			var TIndustryItem = "";
86			var TTypeItem = "";
87			var TSiteItem = "";			
88			
89			jQuery.each(FOSSIL.fossils, function(index,value){
90				if ((todaySeconds - parseInt(FOSSIL.fossils[index].fossil.created)) < 2592000 && FOSSIL.fossils[index].fossil.type == "tools") {
91					newItem = '<img class="item-new" src="/sites/all/themes/fossil/images/new_item.png">';
92				} else {
93					newItem = '';
94				}
95				
96				fossil_family = (typeof FOSSIL.fossils[index].fossil.family != undefined) ? FOSSIL.fossils[index].fossil.family : '';
97				fossil_genus = (typeof FOSSIL.fossils[index].fossil.genus != undefined) ? FOSSIL.fossils[index].fossil.genus : '';
98				fossil_element = (typeof FOSSIL.fossils[index].fossil.element != undefined) ? FOSSIL.fossils[index].fossil.element : '';
99				fossil_tribe = (typeof FOSSIL.fossils[index].fossil.tribe != undefined) ? FOSSIL.fossils[index].fossil.tribe : '';
100				fossil_species = (typeof FOSSIL.fossils[index].fossil.species != undefined) ? FOSSIL.fossils[index].fossil.species : '';
101				
102				if (FOSSIL.fossils[index].fossil.type == 'hominids') {
103					(jQuery)('<li f_title="'+FOSSIL.fossils[index].fossil.title+'" f_age="'+FOSSIL.fossils[index].fossil.age_estimate+'" f_family="'+fossil_family+'" f_genus="'+fossil_genus+'" f_element="'+fossil_element+'" f_tribe="'+fossil_tribe+'" f_species="'+fossil_species+'" f_type="'+FOSSIL.fossils[index].fossil.type+'">' +
104								'<div>' +
105									'<a href="/hominids/'+FOSSIL.fossils[index].fossil.title.replace(/\s+/g, '-').toLowerCase()+'?o=1" target="_blank">' +
106										'<img class="item" src="'+FOSSIL.fossils[index].fossil.image.src+'" width="150" height="150" alt="">' + newItem +
107									'</a>' +
108								'</div>' +
109								'<div>'+FOSSIL.fossils[index].fossil.title+'</div>' +
110								'<label>Compare <input type="checkbox" value="'+FOSSIL.fossils[index].fossil.nid+'" /></label>' +
111							'</li>').appendTo(htmlStr);
112							
113					if (FOSSIL.fossils[index].fossil.family != "") {
114						HFamilyItem = FOSSIL.fossils[index].fossil.family;
115						var found = jQuery.inArray(HFamilyItem, HFamilyList);
116						if (found < 0) {
117							// Element was not found, add it.
118							HFamilyList.push(HFamilyItem);
119							(jQuery)('<li>'+ HFamilyItem +
120							'</li>').appendTo($("#h-family"));
121						}
122
123					}
124					
125					if (FOSSIL.fossils[index].fossil.genus != "") {
126						HGenusItem = FOSSIL.fossils[index].fossil.genus;
127						var found = jQuery.inArray(HGenusItem, HGenusList);
128						if (found < 0) {
129							// Element was not found, add it.
130							HGenusList.push(HGenusItem);
131							(jQuery)('<li>'+ HGenusItem +
132							'</li>').appendTo($("#h-genus"));
133						}
134					}
135					
136					if (FOSSIL.fossils[index].fossil.species != "") {
137						HSpeciesItem = FOSSIL.fossils[index].fossil.species;
138						var found = jQuery.inArray(HSpeciesItem, HSpeciesList);
139						if (found < 0) {
140							// Element was not found, add it.
141							HSpeciesList.push(HSpeciesItem);
142							(jQuery)('<li>'+ HSpeciesItem +
143							'</li>').appendTo($("#h-species"));
144						}
145					}
146				}
147				
148				if (FOSSIL.fossils[index].fossil.type == 'fauna') {
149					(jQuery)('<li f_title="'+FOSSIL.fossils[index].fossil.title+'" f_age="'+FOSSIL.fossils[index].fossil.age_estimate+'" f_family="'+fossil_family+'" f_genus="'+fossil_genus+'" f_element="'+fossil_element+'" f_tribe="'+fossil_tribe+'" f_species="'+fossil_species+'" f_type="'+FOSSIL.fossils[index].fossil.type+'">' +
150								'<div>' +
151									'<a href="/fauna/'+FOSSIL.fossils[index].fossil.title.replace(/\s+/g, '-').toLowerCase()+'?o=1" target="_blank">' +
152										'<img class="item" src="'+FOSSIL.fossils[index].fossil.image.src+'" width="150" height="150" alt="">' + newItem +
153									'</a>' +
154								'</div>' +
155								'<div>'+FOSSIL.fossils[index].fossil.title+'</div>' +
156								'<label>Compare <input type="checkbox" value="'+FOSSIL.fossils[index].fossil.nid+'" /></label>' +
157							'</li>').appendTo(htmlStr);
158							
159					if (FOSSIL.fossils[index].fossil.family != "") {
160						FFamilyItem = FOSSIL.fossils[index].fossil.family;
161						var found = jQuery.inArray(FFamilyItem, FFamilyList);
162						if (found < 0) {
163							// Element was not found, add it.
164							FFamilyList.push(FFamilyItem);
165							(jQuery)('<li>'+ FFamilyItem +
166							'</li>').appendTo($("#f-family"));
167						}
168					}
169					
170					if (FOSSIL.fossils[index].fossil.genus != "") {
171						FGenusItem = FOSSIL.fossils[index].fossil.genus;
172						var found = jQuery.inArray(FGenusItem, FGenusList);
173						if (found < 0) {
174							// Element was not found, add it.
175							FGenusList.push(FGenusItem);
176							(jQuery)('<li>'+ FGenusItem +
177							'</li>').appendTo($("#f-genus"));
178						}
179					}
180					
181					if (FOSSIL.fossils[index].fossil.tribe != "") {
182						FTribeItem = FOSSIL.fossils[index].fossil.tribe;
183						var found = jQuery.inArray(FTribeItem, FTribeList);
184						if (found < 0) {
185							// Element was not found, add it.
186							FTribeList.push(FTribeItem);
187							(jQuery)('<li>'+ FTribeItem +
188							'</li>').appendTo($("#f-tribe"));
189						}
190					}
191					
192					if (FOSSIL.fossils[index].fossil.species != "") {
193						FSpeciesItem = FOSSIL.fossils[index].fossil.species;
194						var found = jQuery.inArray(FSpeciesItem, FSpeciesList);
195						if (found < 0) {
196							// Element was not found, add it.
197							HSpeciesList.push(FSpeciesItem);
198							(jQuery)('<li>'+ FSpeciesItem +
199							'</li>').appendTo($("#f-species"));
200						}
201					}							
202				}
203				
204				if (FOSSIL.fossils[index].fossil.type == 'tools') {
205					(jQuery)('<li f_title="'+FOSSIL.fossils[index].fossil.title+'" f_age="'+FOSSIL.fossils[index].fossil.age_estimate+'" f_industry="'+FOSSIL.fossils[index].fossil.industry+'" f_tool_type="'+FOSSIL.fossils[index].fossil.tool_type+'" f_site="'+FOSSIL.fossils[index].fossil.site+'" f_type="'+FOSSIL.fossils[index].fossil.type+'">' +
206								'<div>' +
207									'<a href="/tools/'+FOSSIL.fossils[index].fossil.title.replace(/\s+/g, '-').toLowerCase()+'?o=1" target="_blank">' +
208										'<img class="item" src="'+FOSSIL.fossils[index].fossil.image.src+'" width="150" height="150" alt="">' + newItem +
209									'</a>' +
210								'</div>' +
211								'<div>'+FOSSIL.fossils[index].fossil.title+'</div>' +
212								'<label>Compare <input type="checkbox" value="'+FOSSIL.fossils[index].fossil.nid+'" /></label>' +
213							'</li>').appendTo(htmlStr);
214							
215					if (FOSSIL.fossils[index].fossil.site != "") {
216						TSiteItem = FOSSIL.fossils[index].fossil.site;
217						var found = jQuery.inArray(TSiteItem, TSiteList);
218						if (found < 0) {
219							// Element was not found, add it.
220							TSiteList.push(TSiteItem);
221							(jQuery)('<li>'+ TSiteItem +
222							'</li>').appendTo($("#t-site"));
223						}
224
225					}
226					
227					if (FOSSIL.fossils[index].fossil.industry != "") {
228						TIndustryItem = FOSSIL.fossils[index].fossil.industry;
229						var found = jQuery.inArray(TIndustryItem, TIndustryList);
230						if (found < 0) {
231							// Element was not found, add it.
232							TIndustryList.push(TIndustryItem);
233							(jQuery)('<li>'+ TIndustryItem +
234							'</li>').appendTo($("#t-industry"));
235						}
236					}
237					
238					if (FOSSIL.fossils[index].fossil.tool_type != "") {
239						TTypeItem = FOSSIL.fossils[index].fossil.tool_type;
240						var found = jQuery.inArray(TTypeItem, TTypeList);
241						if (found < 0) {
242							// Element was not found, add it.
243							TTypeList.push(TTypeItem);
244							(jQuery)('<li>'+ TTypeItem +
245							'</li>').appendTo($("#t-tool_type"));
246						}
247					}							
248
249				}
250			
251			});
252			
253		};
254		
255		var age_min = 0;
256		var age_max = 25;
257		var f_family = "--";
258		var f_genus = "--";
259		var f_element = "--";
260		var f_tribe = "--";
261		var f_species = "--";
262		var f_type = "--";
263		var f_site = "--";
264		var f_tool_type = "--";
265		var f_industry = "--"
266
267		$(function() {
268			$( "#slider-range" ).slider({
269				  range: true,
270				  min: 0,
271				  max: 25,
272				  values: [ 0, 25 ],
273				  step: 0.1,
274				  slide: function( event, ui ) {
275					age_min = ui.values[ 0 ];
276					age_max = ui.values[ 1 ];
277					
278					$( "#age-min" ).text(age_min);
279					$( "#age-max" ).text(age_max);
280					
281
282					$( "#selectedModels-main" ).text('');
283					$( "#selectedModels-age" ).text(age_min+'-'+age_max+' Million Years Old ');
284					$("<a></a>").appendTo( $( "#selectedModels-age" ) );
285					allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
286					
287					
288				  }
289				}).draggable();
290			
291			
292			$( "#age-min" ).text( $( "#slider-range" ).slider( "values", 0 ) );
293			$( "#age-max" ).text( $( "#slider-range" ).slider( "values", 1 ) );	
294
295			var hominidsClick = false;
296			var faunaClick = false;
297			var toolsClick = false;
298			
299			$('body').click(function(e) {
300				if (!$(e.target).is('ul#hominids-list, ul#animals-list, ul#tools-l
300ist')) {
301					$('ul#hominids-list, ul#animals-list, ul#tools-list').removeClass('selected');
302					$('#hominids-list ul, #animals-list ul, #tools-list ul').hide();
303				}
304			});
305
306			
307			(jQuery)("#hominids-main-box div:first").click(
308				 function() {
309					if (hominidsClick == false){
310						$("#hominids-icon-cat-list").show('fast'); 
311						$("#hominids-main-box").css({background: "rgb(34, 34, 34)", border: "3px solid rgb(24, 24, 24)", height: "95px" })
312						$("#animals-icon-cat-list, #tools-icon-cat-list").hide('fast'); 
313						$("#animals-main-box, #tools-main-box").attr('style','');
314						(jQuery)("#hominids-list ul, #animals-list ul, #tools-list ul").hide(0);
315						hominidsClick = true;
316						faunaClick = false;
317						toolsClick = false;
318						//f_family = "--";
319						f_type = "hominids";
320						clearLabels ("Hominids");
321						allFilter(age_min, age_max, "--", "--", "--", "--", "--", f_type, "--", "--", "--");
322						return;
323					}
324					else {
325						$("#hominids-icon-cat-list").hide('fast');
326						$("#hominids-main-box").attr('style','');
327						(jQuery)("#hominids-list ul, #animals-list ul, #tools-list ul").hide(0);
328						hominidsClick = false;
329						faunaClick = false;
330						toolsClick = false;
331						return;
332					}
333				}
334			);			
335		
336			
337			(jQuery)("#animals-main-box div:first").click(
338				 function() {
339					if (faunaClick == false){
340						$("#animals-icon-cat-list").show('fast');
341						$("#animals-main-box").css({background: "rgb(34, 34, 34)", border: "3px solid rgb(24, 24, 24)", height: "95px" })
342						$("#hominids-icon-cat-list, #tools-icon-cat-list").hide('fast');
343						$("#hominids-main-box, #tools-main-box").attr('style','');
344						(jQuery)("#hominids-list ul, #animals-list ul, #tools-list ul").hide(0);
345						faunaClick = true;
346						hominidsClick = false;
347						toolsClick = false;
348						//f_family = "--";
349						f_type = "fauna";
350						clearLabels ("Animals");
351						allFilter(age_min, age_max, "--", "--", "--", "--", "--", f_type, "--", "--", "--");
352						return;
353					}
354					else {
355						$("#animals-icon-cat-list").hide('fast');
356						$("#animals-main-box").attr('style','');
357						(jQuery)("#hominids-list ul, #animals-list ul, #tools-list ul").hide(0);
358						faunaClick = false;
359						hominidsClick = false;
360						toolsClick = false;
361						return;
362					}
363					
364				}
365			);
366			
367			(jQuery)("#tools-main-box div:first").click(
368				 function() {
369					if (toolsClick == false){
370						$("#tools-icon-cat-list").show('fast');
371						$("#tools-main-box").css({background: "rgb(34, 34, 34)", border: "3px solid rgb(24, 24, 24)", height: "95px" })
372						$("#hominids-icon-cat-list, #animals-icon-cat-list").hide('fast');
373						$("#hominids-main-box, #animals-main-box").attr('style','');
374						(jQuery)("#hominids-list ul, #animals-list ul, #tools-list ul").hide(0);
375						toolsClick = true;
376						faunaClick = false;
377						hominidsClick = false;
378						//f_family = "--";
379						f_type = "tools";
380						clearLabels ("Tools");
381						allFilter(age_min, age_max, "--", "--", "--", "--", "--", f_type, "--", "--", "--");
382						return;
383					}
384					else {
385						$("#tools-icon-cat-list").hide('fast');
386						$("#tools-main-box").attr('style','');
387						(jQuery)("#hominids-list ul, #animals-list ul, #tools-list ul").hide(0);
388						faunaClick = false;
389						hominidsClick = false;
390						toolsClick = false;
391						return;
392					}
393					
394				}
395			);
396			
397			function clearLabels (fossil_type) {
398				$( "#selectedModels-main" ).text(fossil_type);
399				$( "#selectedModels-family" ).text('');
400				$( "#selectedModels-genus" ).text('');
401				$( "#selectedModels-element" ).text('');
402				$( "#selectedModels-tribe" ).text('');
403				$( "#selectedModels-species" ).text('');
404				$( "#selectedModels-site" ).text('');
405				$( "#selectedModels-industry" ).text('');
406				$( "#selectedModels-tool-type" ).text('');
407				age_min = 0;
408				age_max = 25;
409				$( "#selectedModels-age" ).text('');
410				$( "#age-min" ).text( age_min );
411				$( "#age-max" ).text( age_max );
412				$("#slider-range div").css({left: "0%", width: "100%"});
413				$("#slider-range a:nth-child(2)").css({left: "0%"});
414				$( "#slider-range" ).slider({ values:[0, 25] });
415				$("#slider-range a:nth-child(3)").css({left: "100%"});				
416			}
417			
418			(jQuery)("ul#hominids-list, ul#animals-list, ul#tools-list").delegate("li", "click", function(event){
419				(jQuery)("#hominids-list ul, #animals-list ul, #tools-list ul").hide(0);
420				$(this).next('ul').show('fast');
421			});
422			
423			$(function() {
424				$( "#compare-box" ).draggable();
425			});
426		
427		
428// FILTER BY KEYWORD START ===============
429
430	  jQuery.expr[':'].Contains = function(a,i,m){
431		  return (a.textContent || a.innerText || "").toUpperCase().indexOf(m[3].toUpperCase())>=0;
432	  };
433
434
435	  function listFilter(header, list) { // header is any element, list is an unordered list
436		// create and add the filter form to the header
437		var form = $("<form>").attr({"class":"filterform","action":""}),
438			input = $("<input>").attr({"class":"search_box","type":"text", "placeholder":"Filter by Keyword"});
439		$(form).append(input).appendTo(header);
440
441		$(input)
442		  .change( function () {
443			var filter = $(this).val();
444			if(filter) {
445			  // this finds all links in a list that contain the input,
446			  // and hide the ones not containing the input while showing the ones that do
447				
448				var ifilter =  RegExp(filter ,"i"); 
449				var search_values = '';
450				
451				$('#flist li[f_title], #flist li[f_family], #flist li[f_genus], #flist li[f_species], #flist li[f_tribe], #flist li[f_industry], #flist li[f_tool_type], #flist li[f_site]').not(function() {
452				   search_values = ifilter.test($(this).attr('f_title')) + ifilter.test($(this).attr('f_family'))
453									+ ifilter.test($(this).attr('f_genus')) + ifilter.test($(this).attr('f_species'))
454									+ ifilter.test($(this).attr('f_tribe')) + ifilter.test($(this).attr('f_industry'))
455									+ ifilter.test($(this).attr('f_tool_type')) + ifilter.test($(this).attr('f_site'));
456				   return search_values;
457				}).hide();
458				
459				$('#flist li[f_title], #flist li[f_family], #flist li[f_genus], #flist li[f_species], #flist li[f_tribe], #flist li[f_industry], #flist li[f_tool_type], #flist li[f_site]').filter(function() {
460					search_values = ifilter.test($(this).attr('f_title')) + ifilter.test($(this).attr('f_family'))
461									+ ifilter.test($(this).attr('f_genus')) + ifilter.test($(this).attr('f_species'))
462									+ ifilter.test($(this).attr('f_tribe')) + ifilter.test($(this).attr('f_industry'))
463									+ ifilter.test($(this).attr('f_tool_type')) + ifilter.test($(this).attr('f_site'));
464				   return search_values;
465				}).show();
466			} else {
467			  $(list).find("li").show();
468			}
469			return false;
470		  })
471		.keyup( function () {
472			// fire the above change event after every letter
473			$(this).change();
474			check_footer();
475		});
476	  }
477
478	  //ondomready
479	  $(function () {
480		listFilter($("#search-box"), $("#flist"));
481	  });
482	  
483	});
484	
485// FILTER BY KEYWORD END ===============
486
487
488	function allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry) {
489		$("#flist li").hide();
490		
491		$('#flist li').each(function () {
492			var showModelAge = true;
493			var showModelFamily = true; 
494			var showModelGenus = true; 
495			var showModelElement = true; 
496			var showModelTribe = true; 
497			var showModelSpecies = true;
498			var showModelType = true;
499			var showModelSite = true; 
500			var showModelToolType = true;
501			var showModelIndustry = true;
502			
503			if ($(this).attr("f_age") >= age_min && $(this).attr('f_age') <= age_max) { showModelAge = true; } else {showModelAge = false;}
504			if  ($(this).attr('f_family') == f_family || $(this).attr('f_family') == "--" || f_family == "--") { showModelFamily = true; } else {showModelFamily = false;}
505			if  ($(this).attr('f_genus') == f_genus || $(this).attr('f_genus') == "--" || f_genus == "--") { showModelGenus = true; } else {showModelGenus = false;}
506			if  ($(this).attr('f_element') == f_element || $(this).attr('f_element') == "--" || f_element == "--") { showModelElement = true; } else {showModelElement = false;}
507			if  ($(this).attr('f_tribe') == f_tribe || $(this).attr('f_tribe') == "--" || f_tribe == "--") { showModelTribe = true; } else {showModelTribe = false;}
508			if  ($(this).attr('f_species') == f_species || $(this).attr('f_species') == "--" || f_species == "--") { showModelSpecies = true; } else {showModelSpecies = false;}
509			if  ($(this).attr('f_type') == f_type || $(this).attr('f_type') == "--" || f_type == "--") { showModelType = true; } else {showModelType = false;}
510			if  ($(this).attr('f_site') == f_site || $(this).attr('f_site') == "--" || f_site == "--") { showModelSite = true; } else {showModelSite = false;}
511			if  ($(this).attr('f_tool_type') == f_tool_type || $(this).attr('f_tool_type') == "--" || f_tool_type == "--") { showModelToolType = true; } else {showModelToolType = false;}
512			if  ($(this).attr('f_industry') == f_industry || $(this).attr('f_industry') == "--" || f_industry == "--") { showModelIndustry = true; } else {showModelIndustry = false;}
513			
514			if (showModelAge == true && showModelFamily == true && showModelGenus == true && showModelElement == true && showModelTribe == true && showModelSpecies == true && showModelType == true && showModelSite == true && showModelToolType == true && showModelIndustry == true) {
515				$(this).show();
516			}
517		});
518		
519		//console.log(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
520		check_footer();
521		$("input.search_box").val('');
522	}
523	
524	function check_footer() {
525		if (jQuery('body').height() <= jQuery(window).height()) {
526			jQuery('.footer-content').css("position", "fixed");
527		} else {
528			jQuery('.footer-content').css("position", "relative");
529		} 
530	}
531
532	
533	$(window).load(function() {
534		setTimeout(function(){ 
535			(jQuery)("#h-family, #f-family").delegate("li", "click", function(event){
536					f_family = $(this).text();
537					var fossil_type = $(this).parent().parent().attr('f_type');
538					findFossilType(fossil_type);
539					
540					if (f_family == "--") {
541						$( "#selectedModels-family" ).text('');
542					}
543					else {
544						$( "#selectedModels-family" ).text('Family: ' + f_family + ' ');
545						$("<a></a>").appendTo( $( "#selectedModels-family" ) );
546					}
547					$( "#selectedModels-main" ).text('');					
548					$( "#selectedModels-age" ).text(age_min+'-'+age_max+' Million Years Old ');
549					$("<a></a>").appendTo( $( "#selectedModels-age" ) );
550					allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
551				} 
552			);
553			
554			(jQuery)("#h-genus, #f-genus").delegate("li", "click", function(event){
555					f_genus = $(this).text();
556					var fossil_type = $(this).parent().parent().attr('f_type');
557					findFossilType(fossil_type);
558					
559					if (f_genus == "--") {
560						$( "#selectedModels-genus" ).text('');
561					}
562					else {
563						$( "#selectedModels-genus" ).text('Genus: ' + f_genus + ' ');
564						$("<a></a>").appendTo( $( "#selectedModels-genus" ) );
565					}
566					$( "#selectedModels-main" ).text('');					
567					$( "#selectedModels-age" ).text(age_min+'-'+age_max+' Million Years Old ');
568					$("<a></a>").appendTo( $( "#selectedModels-age" ) );
569					allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
570				} 
571			);
572			
573			(jQuery)("#h-element, #f-element").delegate("li", "click", function(event){
574					f_element = $(this).text();
575					var fossil_type = $(this).parent().parent().attr('f_type');
576					findFossilType(fossil_type);
577
578					if (f_element == "--") {
579						$( "#selectedModels-element" ).text('');
580					}
581					else {
582						$( "#selectedModels-element" ).text('Element: ' + f_element + ' ');
583						$("<a></a>").appendTo( $( "#selectedModels-element" ) );
584					}
585					$( "#selectedModels-main" ).text('');				
586					$( "#selectedModels-age" ).text(age_min+'-'+age_max+' Million Years Old ');
587					$("<a></a>").appendTo( $( "#selectedModels-age" ) );
588					allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
589				} 
590			);
591			
592			(jQuery)("#h-tribe, #f-tribe").delegate("li", "click", function(event){
593					f_tribe = $(this).text();
594					var fossil_type = $(this).parent().parent().attr('f_type');
595					findFossilType(fossil_type);
596					
597					if (f_tribe == "--") {
598						$( "#selectedModels-tribe" ).text('');
599					}
600					else {
601						$( "#selectedModels-tribe" ).text('Tribe: ' + f_tribe + ' ');
602						$("<a></a>").appendTo( $( "#selectedModels-tribe" ) );
603					}
604					$( "#selectedModels-main" ).text('');	
605					$( "#selectedModels-age" ).text(age_min+'-'+age_max+' Million Years Old ');
606					$("<a></a>").appendTo( $( "#selectedModels-age" ) );
607					allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
608				} 
609			);
610			
611			(jQuery)("#h-species, #f-species").delegate("li", "click", function(event){
612					f_species = $(this).text();
613					var fossil_type = $(this).parent().parent().attr('f_type');
614					findFossilType(fossil_type);
615					
616					if (f_species == "--") {
617						$( "#selectedModels-species" ).text('');
618					}
619					else {
620						$( "#selectedModels-species" ).text('Species: ' + f_species + ' ');
621						$("<a></a>").appendTo( $( "#selectedModels-species" ) );
622					}
623					$( "#selectedModels-main" ).text('');
624					$( "#selectedModels-age" ).text(age_min+'-'+age_max+' Million Years Old ');
625					$("<a></a>").appendTo( $( "#selectedModels-age" ) );
626					allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
627				} 
628			);
629			
630			(jQuery)("#t-site").delegate("li", "click", function(event){
631					f_site = $(this).text();
632					var fossil_type = $(this).parent().parent().attr('f_type');
633					findFossilType(fossil_type);
634					
635					if (f_site == "--") {
636						$( "#selectedModels-site" ).text('');
637					}
638					else {
639						$( "#selectedModels-site" ).text('Site: ' + f_site + ' ');
640						$("<a></a>").appendTo( $( "#selectedModels-site" ) );
641					}
642					$( "#selectedModels-main" ).text('');
643					$( "#selectedModels-age" ).text(age_min+'-'+age_max+' Million Years Old ');
644					$("<a></a>").appendTo( $( "#selectedModels-age" ) );
645					allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
646				} 
647			);
648			
649			(jQuery)("#t-industry").delegate("li", "click", function(event){
650					f_industry = $(this).text();
651					var fossil_type = $(this).parent().parent().attr('f_type');
652					findFossilType(fossil_type);
653					
654					if (f_industry == "--") {
655						$( "#selectedModels-industry" ).text('');
656					}
657					else {
658						$( "#selectedModels-industry" ).text('Industry: ' + f_industry + ' ');
659						$("<a></a>").appendTo( $( "#selectedModels-industry" ) );
660					}
661					$( "#selectedModels-main" ).text('');
662					$( "#selectedModels-age" ).text(age_min+'-'+age_max+' Million Years Old ');
663					$("<a></a>").appendTo( $( "#selectedModels-age" ) );
664					allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
665				} 
666			);
667			
668			(jQuery)("#t-tool_type").delegate("li", "click", function(event){
669					f_tool_type = $(this).text();
670					var fossil_type = $(this).parent().parent().attr('f_type');
671					findFossilType(fossil_type);
672					
673					if (f_tool_type == "--") {
674						$( "#selectedModels-tool-type" ).text('');
675					}
676					else {
677						$( "#selectedModels-tool-type" ).text('Tool Type: ' + f_tool_type + ' ');
678						$("<a></a>").appendTo( $( "#selectedModels-tool-type" ) );
679					}
680					$( "#selectedModels-main" ).text('');
681					$( "#selectedModels-age" ).text(age_min+'-'+age_max+' Million Years Old ');
682					$("<a></a>").appendTo( $( "#selectedModels-age" ) );
683					allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
684				} 
685			);
686			
687			function findFossilType(fossil_type) {
688					if(fossil_type == "hominids") {
689						f_type = "hominids";
690						console.log(f_type);
691					} 
692					if (fossil_type == "fauna"){
693						f_type = "fauna";
694						console.log(f_type);
695					}
696					if (fossil_type == "tools"){
697						f_type = "tools";
698					}
699			}
700			
701			(jQuery)("#selectedModels-family").delegate("a", "click", function(event){
702				f_family = "--";
703				$( "#selectedModels-family" ).text('');
704				if (age_min == 0 && age_max == 25 && f_family == "--" && f_genus == "--" && f_element == "--" && f_tribe == "--" && f_species == "--" && f_site == "--" && f_tool_type == "--" && f_industry == "--") {
705					f_type = "--";
706					$( "#selectedModels-age" ).text('');
707					$( "#selectedModels-main" ).text('All Fossils');
708				}
709				
710				allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
711			});
712			
713			(jQuery)("#selectedModels-tribe").delegate("a", "click", function(event){
714				f_tribe = "--";
715				if (age_min == 0 && age_max == 25 && f_family == "--" && f_genus == "--" && f_element == "--" && f_tribe == "--" && f_species == "--" && f_site == "--" && f_tool_type == "--" && f_industry == "--") {
716					f_type = "--";
717					$( "#selectedModels-age" ).text('');
718					$( "#selectedModels-main" ).text('All Fossils');
719				}
720				$( "#selectedModels-tribe" ).text('');
721				allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
722			});
723			
724			(jQuery)("#selectedModels-genus").delegate("a", "click", function(event){
725				f_genus = "--";
726				if (age_min == 0 && age_max == 25 && f_family == "--" && f_genus == "--" && f_element == "--" && f_tribe == "--" && f_species == "--" && f_site == "--" && f_tool_type == "--" && f_industry == "--") {
727					f_type = "--";
728					$( "#selectedModels-age" ).text('');
729					$( "#selectedModels-main" ).text('All Fossils');
730				}
731				$( "#selectedModels-genus" ).text('');
732				allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
733			});
734			
735			(jQuery)("#selectedModels-species").delegate("a", "click", function(event){
736				f_species = "--";
737				if (age_min == 0 && age_max == 25 && f_family == "--" && f_genus == "--" && f_element == "--" && f_tribe == "--" && f_species == "--" && f_site == "--" && f_tool_type == "--" && f_industry == "--") {
738					f_type = "--";
739					$( "#selectedModels-age" ).text('');
740					$( "#selectedModels-main" ).text('All Fossils');
741				}
742				$( "#selectedModels-species" ).text('');
743				allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
744			});
745			
746			(jQuery)("#selectedModels-element").delegate("a", "click", function(event){
747				f_element = "--";
748				if (age_min == 0 && age_max == 25 && f_family == "--" && f_genus == "--" && f_element == "--" && f_tribe == "--" && f_species == "--" && f_site == "--" && f_tool_type == "--" && f_industry == "--") {
749					f_type = "--";
750					$( "#selectedModels-age" ).text('');
751					$( "#selectedModels-main" ).text('All Fossils');
752				}
753				$( "#selectedModels-element" ).text('');
754				allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
755			});
756			
757			(jQuery)("#selectedModels-site").delegate("a", "click", function(event){
758				f_site = "--";
759				if (age_min == 0 && age_max == 25 && f_family == "--" && f_genus == "--" && f_element == "--" && f_tribe == "--" && f_species == "--" && f_site == "--" && f_tool_type == "--" && f_industry == "--") {
760					f_type = "--";
761					$( "#selectedModels-age" ).text('');
762					$( "#selectedModels-main" ).text('All Fossils');
763				}
764				$( "#selectedModels-site" ).text('');
765				allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
766			});
767			
768			(jQuery)("#selectedModels-industry").delegate("a", "click", function(event){
769				f_industry = "--";
770				if (age_min == 0 && age_max == 25 && f_family == "--" && f_genus == "--" && f_element == "--" && f_tribe == "--" && f_species == "--" && f_site == "--" && f_tool_type == "--" && f_industry == "--") {
771					f_type = "--";
772					$( "#selectedModels-age" ).text('');
773					$( "#selectedModels-main" ).text('All Fossils');
774				}
775				$( "#selectedModels-industry" ).text('');
776				allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
777			});
778			
779			(jQuery)("#selectedModels-tool-type").delegate("a", "click", function(event){
780				f_tool_type = "--";
781				if (age_min == 0 && age_max == 25 && f_family == "--" && f_genus == "--" && f_element == "--" && f_tribe == "--" && f_species == "--" && f_site == "--" && f_tool_type == "--" && f_industry == "--") {
782					f_type = "--";
783					$( "#selectedModels-age" ).text('');
784					$( "#selectedModels-main" ).text('All Fossils');
785				}
786				$( "#selectedModels-tool-type" ).text('');
787				allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
788			});
789			
790			(jQuery)("#selectedModels-age").delegate("a", "click", function(event){
791				age_min = 0;
792				age_max = 25;
793				if (age_min == 0 && age_max == 25 && f_family == "--" && f_genus == "--" && f_element == "--" && f_tribe == "--" && f_species == "--" && f_site == "--" && f_tool_type == "--" && f_industry == "--") {
794					f_type = "--";
795					$( "#selectedModels-age" ).text('');
796					$( "#selectedModels-main" ).text('All Fossils');
797				}
798				$( "#selectedModels-age" ).text('');
799				$( "#age-min" ).text( age_min );
800				$( "#age-max" ).text( age_max );
801				$("#slider-range div").css({left: "0%", width: "100%"});
802				$("#slider-range a:nth-child(2)").css({left: "0%"});
803				$( "#slider-range" ).slider({ values:[0, 25] });
804				$("#slider-range a:nth-child(3)").css({left: "100%"});
805				allFilter(age_min, age_max, f_family, f_genus, f_element, f_tribe, f_species, f_type, f_site, f_tool_type, f_industry);
806			});
807			
808			
809			(jQuery)("#flist").delegate("li", "hover", function(event){
810				if( event.type === 'mouseover' ) {
811					$(this).find("label").css({visibility: "visible"}); 
812				}
813				else {
814					if ($(this).find('label').find("input").is(':checked')) {
815						$(this).find("label").css({visibility: "visible"}); 
816					}
817					else {
818						$(this).find("label").css({visibility: "hidden"}); 
819					} 
820				}				
821			});
822			
823			
824			var compare_list = [];
825			var compare_list_id = [];
826			
827			(jQuery)("#flist li label").find("input").live("click", function(event){
828					var compare1 = $(this).val();
829					var compare_img_src = "";
830					$("#compare-box-inner").html('');
831					
832						if ($("#flist li label input:checked").length == 1) {
833							
834							var compare_img_src = $(this).parent().parent().find("a").find("img").attr("src");
835							if (compare_list.length>0) {
836								$(compare_list).each(function (i, value) {
837									if ('"'+compare_img_src+'"' == value) {
838										compare_list = jQuery.grep(compare_list, function(value) { return value != '"'+compare_img_src+'"'; });
839										compare_list_id = jQuery.grep(compare_list_id, function(value) { return value != compare1; });
840									}
841									
842								});
843							}
844							else {
845								compare_list.push('"'+compare_img_src+'"');
846								compare_list_id.push(compare1);
847							}
848						}
849					
850						if ($("#flist li label input:checked").length == 2) {
851							var compare_img_src = $(this).parent().parent().find("a").find("img").attr("src");
852							
853							$(compare_list).each(function (i, value) {
854								if (compare_img_src == value) {
855									compare_list = jQuery.grep(compare_list, function(value) { return value != compare_img_src; });
856									compare_list_id = jQuery.grep(compare_list_id, function(value) { return value != compare1; });
857								}
858								else {
859									compare_list.push('"'+compare_img_src+'"');
860									compare_list_id.push(compare1);
861								}
862								
863							});
864						}
865					
866					
867						if ($("#flist li label input:checked").length > 2) {
868							$(this).attr('checked', false);
869						}
870						
871						if ($("#flist li label input:checked").length == 0) {
872							$("#compare-box-inner").html('');
873							$("#compare-box").css({display: "none"}); 
874							compare_list = [];
875							compare_list_id = [];
876						}
877					$(compare_list).each(function (i, value) {
878						compareBoxList(value, compare_list_id[i]);
879					});
880					if ($(compare_list).length == 1) {
881						$('<a>Select another fossil</a>').appendTo($("#compare-box-inner"));
882						$("#compare-box").css({display: "block"}); 
883					}
884					
885					if ($(compare_list).length == 2) {
886						$('<a id="compare-btn" href="/compare?one='+compare_list_id[0]+'&two='+compare_list_id[1]+'">Start Comparison</a>').appendTo($("#compare-box-inner"));
887						$("#compare-box").css({display: "block"}); 
888					}
889			});
890			
891			function compareBoxList(imgsrc, fid) {
892					$('<a><img class="compare_img" src=' + imgsrc + ' width="70" height="70" alt=""><img class="compare_close" src="/sites/all/themes/fossil/images/search_page/close.png" width="10" height="10"><input type="hidden" value="'+fid+'"></a>').appendTo($("#compare-box-inner"));
893			}
894			
895			(jQuery)("#compare-box-inner").delegate("a", "click", function(event){
896					var compare1 = (jQuery)(this).find('input').val();
897					var compare_img_src = (jQuery)(this).find("img").attr("src");
898					$("#compare-box-inner").html('');
899					
900					compare_list = jQuery.grep(compare_list, function(value) { return value != '"'+compare_img_src+'"'; });
901					compare_list_id = jQuery.grep(compare_list_id, function(value) { return value != compare1; });
902					(jQuery)("#flist li label input[value='"+(jQuery)(this).find('input').val()+"']").attr('checked', false);
903					(jQuery)(this).remove();
904					
905					if ($(compare_list_id).length == 1) {
906						$('<a><img class="compare_img" src=' + compare_list[0] + ' width="70" height="70" alt=""><img class="compare_close" src="/sites/all/themes/fossil/images/search_page/close.png" width="10" height="10"><input type="hidden" value="'+compare_list_id[0]+'"></a>').appendTo($("#compare-box-inner"));
907						$('<a>Select another fossil</a>').appendTo($("#compare-box-inner"));
908						$("#compare-box").css({display: "block"}); 
909					}
910					
911					if ($(compare_list_id).length == 0) {
912						$("#compare-box-inner").html('');
913						$("#compare-box").css({display: "none"}); 
914						compare_list = [];
915						compare_list_id = [];
916					}
917
918					if ((jQuery)("#flist li label input[value='"+(jQuery)(this).find('input').val()+"']").is(':checked')) {
919						(jQuery)("#flist li label input[value='"+(jQuery)(this).find('input').val()+"']").parent().css({visibility: "visible"}); 
920					}
921					else {
922						(jQuery)("#flist li label input[value='"+(jQuery)(this).find('input').val()+"']").parent().css({visibility: "hidden"}); 
923					} 
924				}
925				
926			);
927			
928			(jQuery)("#compare-box-close").click(
929				 function() {
930					(jQuery)("#compare-box").css({display: "none"}); 
931				 }
932			);
933			
934		}, 1000);
935			
936		});
937

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.