window.addEvent('domready', function() {
	
	
	$('categories').addEvent('change', function() {
		
			update_results();
				
	});
	
	
		
	$('key').addEvent('keyup', function() {
			update_results();
	});
	
	function load_all(item) {
		
		new Request.JSON({
			url: '/searchData.php',
			method: 'get',
			onComplete: function(data){
			
				$$('#'+item+'option').each(function(element) {
					element.dispose();
				});				
					insert_option('-- Select --', '', item);
					
					
					data.each(function(product){
				
						var itemField;
						if(product.category)  {
							itemField = product.category;
								insert_option(itemField, itemField, item);
						}
						

					});
					
				
			}
		}).get({'key': item, 'item': 'all'});
		
		
	};
	
	function load_item(key, item, target, cascade) {
	
		new Request.JSON({
			url: '/searchData.php',
			method: 'get',
			onComplete: function(data){
			
				$$('#'+target+' option').each(function(element) {
					element.dispose();
				});				
				
				
				var preCount = 0;
				data.each(function(prod) {
					preCount++;
				});
				
				if(preCount > 1) insert_option('All', '--', target);
				
				var count = 0;
				data.each(function(product){

					var itemField;
					if(product.category) 
						itemField = product.category;
					else {
						itemField = product.company;
					}
					
					insert_option(itemField, itemField, target);
				
				count++;				
				});

				if(count == 0) load_all(target);
				

				update_results();
				
			}
		}).get({'key': key, 'item': item, 'cascade': cascade});
	};
	
	function insert_option(sOption, sValue, sTarget) {
		
		new Element('option').set({
						value: sValue,
						html: sOption
					}).inject($(sTarget, 'bottom'));
		
	};
	
	$('searchReset').addEvents({'click': function() {
		
		$$('#categories option').each(function(element) {
					element.dispose();
				});	
								
				
		$('key').set('value', '');
				
		load_all('categories');
		
		update_results();
	},
	'mouseover': function() { $('searchReset').setStyle('text-decoration', 'underline'); },
	'mouseout': function() { $('searchReset').setStyle('text-decoration', 'none'); }
	});
	
	update_results();
	
	function update_results() {
		
		var rCategory = $('categories').get('value');
		var rKey = $('key').get('value');
		
		new Request.JSON({
			url: '/searchData.php',
			method: 'get',
			onComplete: function(data){
			
				var count = 0;
				data.each(function(video){
					count++;				
				});

				$('searchCount').set('html', count);

			
				
			}
		}).get({'category': rCategory, 'item': 'results', 'key': rKey});
		
	};
	
	
});
