/*
######################################################################################
######                                                                        #######
######     SIDEBAR SCRIPTS			                                         #######
######                                                                      #######
##################################################################################
*/

	var sideBar = new Object();

/********************************************************************************/
/****** SIDERBAR FUNCTIONALITY *************************************************/
/******************************************************************************/
	
/****** SEARCH BOX FILTER *****/

	sideBar.Search = function(string,listArray,element) {
		element = $(element);
		if(string != '') {
			var refinedList = new Array();
			var rI = 0;
			
			string = string.toLowerCase();
			
			for(var i = 0; i < listArray.length; i++) {
				var firstName 	= listArray[i].first.toLowerCase();
				var lastName 	= listArray[i].last.toLowerCase();
				var fullName	= firstName + ' ' + lastName;
				
				var fullName 	= fullName.search(string);
				
				if(fullName != -1) {
					refinedList[rI] = {
						first: listArray[i].first,
						last: listArray[i].last,
						url: listArray[i].url,
						date: listArray[i].date
					};
					rI++;
				}
			}
		} else {
			string = 'view-all';
		}
		if(string == 'view-all') {
			refinedList = listArray;
		}
		var refinedResults = '';
	
		for(var j = 0; j < refinedList.length; j++) {
			var j2 = j + 1;
			refinedResults += '<a href="' + refinedList[j].url + '">';
			refinedResults += refinedList[j].first + ' ';
			refinedResults += refinedList[j].last;
			if(refinedList[j].date != '') {
				refinedResults += ' / <strong>' + refinedList[j].date + '</strong>';
			}
			if(j2 < refinedList.length) {
				refinedResults +='<br />';
			}
			refinedResults += '</a>';
		}
		$(element).innerHTML = '<p>' + refinedResults + '</p>';

	// Reset the dynamic slider (get the details from the sidebar html page)
		Generic.Slider.Run($(element), { axis: 'vertical', handle: 'handle', slider: 'slider', handleSize: 'dynamic' });
	}


/****** SEARCH BOX LINK FILTER *****/

	sideBar.SearchIndex = function(string1,string2,listArray,element) {
		element = $(element);
		var alphabet = new Array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
	
	// Get array numbers for each letter
		for(var i = 0; i < alphabet.length; i++) {
			if(string1 == alphabet[i]) {
				var fl = { no: [i], string: string1 };
			}
			if(string2 == alphabet[i]) {
				var ll = { no: [i], string: string2 };
			}
		}
		var refinedList = new Array();
		var rI = 0;

	// Rotate through the artists
		var startPos 	= parseInt(fl.no);
		var endPos 		= parseInt(ll.no)+1;
		
		for(var k = 0; k < listArray.length; k++) {
		// Check artists last names against the alphabet list
			for(var j = startPos; j < endPos; j++) {
				var lastName 	= listArray[k].last.toLowerCase();
				var lastName 	= lastName.indexOf(alphabet[j]);

				if(lastName == 0) {
					refinedList[rI] = {
						first: listArray[k].first,
						last: listArray[k].last,
						url: listArray[k].url,
						date: listArray[k].date
					};
					rI++;
				}
			}
		}
	
	// Print the HTML for the results
		var refinedResults = '';
		for(var j = 0; j < refinedList.length; j++) {
			var j2 = j + 1;
			refinedResults += '<a href="' + refinedList[j].url + '">';
			refinedResults += refinedList[j].first + ' ';
			refinedResults += refinedList[j].last;
			if(refinedList[j].date != '') {
				refinedResults += ' / <strong>' + refinedList[j].date + '</strong>';
			}
			if(j2 < refinedList.length) {
				refinedResults +='<br />';
			}
			refinedResults += '</a>';
		}
		$(element).innerHTML = '<p>' + refinedResults + '</p>';
	
	// Reset the dynamic slider (get the details from the sidebar html page)
		Generic.Slider.Run($(element), { axis: 'vertical', handle: 'handle', slider: 'slider', handleSize: 'dynamic' });
	}