function _(str) { return document.getElementById(str); }

function $alpha(id, alpha) {
	var obj = (typeof id != 'object' ? document.getElementById(id) : id);
	alpha = Math.round(alpha);

	if (alpha == 0) {
		obj.style.display = 'none';
		alpha = 100;
	}
	else
		obj.style.display = 'block';

	obj.style.MozOpacity = alpha==100?'1':'.'+(alpha<10?'0':'')+alpha;
	obj.style.filter = 'alpha(opacity='+alpha+')';
	obj.style.opacity = alpha==100?'1':'.'+(alpha<10?'0':'')+alpha;
}

var __search_selected = 0;
var __search_resultList;
var __search_query = '';

function searchKeyOptions(event) {
	event = event || window.event;
	var key = event.keyCode;

	// Escape KEY
	if (key == 27) {
		_('search_input').value = '';
	}

	// Enter KEY
	if (key == 13) {
		location.href = __search_resultList[__search_selected].link;
	}

	// Up KEY
	if (key == 38) {
		__search_selected--;
		if (__search_selected < 0)
			__search_selected = 0;
		searchShow(__search_resultList, __search_query);
	}

	// Down KEY
	if (key == 40) {
		__search_selected++;
		if (__search_selected >= 8)
			__search_selected = 7;
		searchShow(__search_resultList, __search_query);
	}

}

function searchQuery(q) {
	if (__search_query != q) {
		var i = 0;
		var resultList = [];
		if (q.length) {
			for (i=0; i<productList.length; i++) {
				if (productList[i].sku.toLowerCase().indexOf(q.toLowerCase())!=-1 || productList[i].title.toLowerCase().indexOf(q.toLowerCase())!=-1 || productList[i].group.toLowerCase().indexOf(q.toLowerCase())!=-1)
					resultList.push(productList[i]);
			}
		}
		__search_selected = 0;
		__search_resultList = resultList;
		__search_query = q;
		searchShow(resultList, q);
	}
}

function searchShow(resultList, q) {
	var i=0, out='', title, sku, group, style;
	for (i=0;i<8&&i<resultList.length; i++) {
		title = replaceStr(q, '<b>'+he(q)+'</b>', resultList[i].title);
		sku = replaceStr(q, '<b>'+he(q)+'</b>', resultList[i].sku);
		group = replaceStr(q, '<b>'+he(q)+'</b>', resultList[i].group);
		style = (__search_selected == i ? 'background-color:#006699;color:#FFFFFF' : '');
		out += '<div class="search_result_box" style="cursor:pointer;'+style+'" onmousedown="location.href=\''+resultList[i].link+'\';"><div class="search_result_title"><a style="'+style+'" href="'+resultList[i].link+'">'+title+'</a></div><div class="search_result_text"><a style="'+style+'" href="'+resultList[i].link+'">'+sku+' - '+group+'</a></div></div>';
	}
	if (i) {
		_('search_dropdown').innerHTML = out;
		_('search_dropdown').style.display = 'block';
	}
	else
		_('search_dropdown').style.display = 'none';
}

function replaceStr(search, replace, str) {
	var i=0;
	var out = '';
	for (i=0; i<str.length; i++) {
		if (str.substr(i,search.length) == search) {
			out += replace;
			i += search.length-1;
		}
		else out += str.substr(i,1);
	}
	return out;
}

function he(str) {
	str = replaceStr('&', '&amp;', str);
	str = replaceStr('<', '&lt;', str);
	str = replaceStr('>', '&gt;', str);
	str = replaceStr('"', '&quot;', str);
	return str;
}

