var calc_service = new CalcService();

var search_results = new Array();

var search_current_i;

var search_field;

var search_timer;

var search_value;

var results_div_id;

function hide_product_search(){
	
	var div = new getObj(results_div_id);
	
	div.obj.className = 'hidden';
	
	search_current_i = undefined;
	
	EventManager.Add("search-field", "click", show_product_search);

}

function show_product_search(){
	
	var div = new getObj("frame-search-results");
	
	div.obj.className = 'visible';
	
	EventManager.Add(document, "click", hide_product_search);

}

function product_search_type(event, field, results_div){
	
	results_div_id = results_div;
	
	search_field = field;
	
	var key_code;
	
	if (event.keyCode){
		
		 key_code = event.keyCode;
		 
	}else if (e.which){
		
		key_code = event.which;		
	}
	
	//alert(key_code);
	
	switch(key_code){
		
		case 13:
		
			product_search_go(search_current_i);	
			return false;
		
		case 38:
		
			product_search_select_previous();
			return false;
			
		case 40:
			
			product_search_select_next();
			return false;
		
		case 27:
			
			hide_product_search();
			return false;
			
		case 9:
		case 16:
		case 17:
		case 18:
		case 37:
		case 39:
		case 49:
		case 224:
			
			return false;
		
		default:
		
			//suggest_text = '' + targ.value;
			
			//alert(targ.value);
			
			product_search(search_field);
			return true;
	}
}

function product_search_select_next(){
	
	var i;
	
	if(search_current_i < search_results.length -1){
		
		i = search_current_i + 1;
		
	}else{
		
		i = 0;
	}
	
	product_search_over(i);
	
	product_search_scroll_to(i);
}

function product_search_select_previous(){
	
	var i;
	
	if(search_current_i > 0){
		
		i = search_current_i - 1;
		
	}else{
		
		i = undefined;
	}
	
	product_search_over(i);
	
	product_search_scroll_to(i);
}

function product_search_over(i){
	
	var button = new getObj('frame-search-go');
	
	//button.obj.disabled = true;
	
	if(search_current_i != undefined && i != search_current_i){
		
		var current = new getObj('frame-search-list-item-' + search_current_i);
		
		current.obj.className = 'off'
	}
	
	search_current_i = i;
	
	var current = new getObj('frame-search-list-item-' + search_current_i);
	
	current.obj.className = 'on';
}

function product_search_scroll_to(i){
	
	var current = new getObj('frame-search-list-item-' + i);
		
	var list = new getObj('frame-search-list');
	
	if(current.obj.offsetTop < list.obj.scrollTop){
	
		list.obj.scrollTop = current.obj.offsetTop;
		
	}else if(current.obj.offsetTop >= list.obj.scrollTop + list.obj.offsetHeight - current.obj.offsetHeight){
	
		list.obj.scrollTop = current.obj.offsetTop - list.obj.offsetHeight + current.obj.offsetHeight;
	}
}

function product_search_go(i){

	if(i != undefined){
		
		if(jitterbug_site_id != ''){
			JBC.doSearchClick(search_results[i].product_id);
		}
		
		self.location = base_url+'/product/' + search_results[i].product_id + '/';

	}else{
		
		var search_str = '' + search_field.value;
		
		search_str = search_str.replace(/\//gi, "_slash_");
		
		search_str = search_str.replace(/^\}W/i, "");
		
		//alert(search_str);
		
		self.location = base_url+'/search/1/q/' + search_str + '/?live=1';

	}
}

function product_search(field){
	
	hide_tip();
	
	var div = new getObj(results_div_id);
	
	search_value = field.value;
	
	field.className = 'text-searching';
	
	if(jitterbug_site_id != ''){
		JBC.setSearchClickData(jitterbug_site_id, search_value);
	}
	
	calc_service.product_search.result = null;
	
	calc_service = new CalcService();
	
	if(search_timer){
		
		clearTimeout(search_timer);
	}
	
	search_timer = setTimeout("calc_service.product_search.call(search_value);",200);
	
	calc_service.product_search.result = function(items) {

		field.className = 'text';
		
		if(items.length > 0){
			
			search_current_i = undefined;
			
			search_results = items;
			
			div.obj.innerHTML = '';
			
			var list_html = '<ol id="frame-search-list">';

				
			for(var i in items){
				
				var item = items[i];
			
				if(item.product_id){

					var as_much_as;
					if (item.category_parent_id == 56)
						as_much_as = parseFloat(item.nw_price_excellent);
					else if (_.instore && item.category_parent_id == 1)
						as_much_as = parseFloat(item.nw_price_fair);
					else
						as_much_as = parseFloat(item.nw_price_good);
					
					var as_much_as_html = 'Recycle it!'
					
					if(as_much_as > 0){
						//as_much_as = as_much_as * 0.9;	
						var as_much_as_min = as_much_as * 0.9; 
						
						var as_much_as_price = as_much_as.formatMoney();
						var as_much_as_price_min = as_much_as_min.formatMoney();
						
						as_much_as_html = 'Between ' + convertCurrency(as_much_as_price_min, currency) + ' and ' + convertCurrency(as_much_as_price, currency);
					}
					
					var jbc_click = '';
					
					if(jitterbug_site_id != ''){
					
						jbc_click = 'JBC.doSearchClick(\'' + item.product_id + '\');';
					}
					
					list_html += '<li id="frame-search-list-item-' + i + '" onmouseover="product_search_over(' + i + ');" onclick="' + jbc_click + ' parent.location=\''+base_url+'/product/?id=' + item.product_id + '\';"><img src="/inc/scripts/image.php?trim=1&w=30&h=50&file_id=' + item.file_id + '" />' + 
										'<a onClick="return JBC.doSearchClick(\'' + item.product_id + '\');" target="_self" href="'+base_url+'/product/' + item.product_id + '/"> <div>' + item.title + '</div> </a> <span>' + as_much_as_html + '</span> </li><!-- -->';
				}

			}
			
			list_html += '</ol>';
			
			div.obj.innerHTML = list_html;
			
			div.obj.className = 'visible';
			
			EventManager.Add(document, "click", hide_product_search);
			
			//EventManager.Add("frame-search", "mouseover", show_product_search);
			
		}else{
			
			div.obj.className = 'hidden';
		}
	}
}
