// Ajax Code //

var ajax;
var matches = [];
var peek_imgs = [];

//////////////////////////////////////////////////////////////////////////////

function get_new_ajax_object()
{
	if (window.XMLHttpRequest)
	{
		return new XMLHttpRequest();
	}
	
	if (window.ActiveXObject)
	{
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	return null;
}

//////////////////////////////////////////////////////////////////////////////

function search_data(str)
{
	ajax = get_new_ajax_object();
	
	if (ajax == null || str.length == 0)
	{
		hide_results_container();
		return;
	}
	
	var a = "/s.cgi?" + encodeURIComponent(str);
		
	ajax.onreadystatechange = data_from_server;
	ajax.open("GET", a);
	ajax.send();
}

//////////////////////////////////////////////////////////////////////////////

function data_from_server()
{
	if (ajax.readyState == 4)
	{
		if (ajax.status != 200)
		{
			return;
		}
		
		var response = ajax.responseText;
		var data = JSON.parse(response);
		var lg = data.length;
		
		var rc = document.getElementById("results_container");
		rc.style.visibility = "hidden";
		
		if (lg == 0)
		{
			return;
		}
		
		matches = [];
		peek_imgs = [];
				
		for (var i = 0; i < lg; i++)
		{
			matches[i] =
			{
				HtmlText: data[i][1],
				Link: "http://www.lcwprops.com/php/catalog.php?mode=browse&categoryID=" + data[i][2],
				OrigCase: data[i][0]
			};
			
			peek_imgs[i] = new Image();
			
			var str = data[i][3];
			
			if (str.length == 0)
			{
				peek_imgs[i].src = "http://www.lcwprops.com/no_image.png";
			}
			else
			{
				peek_imgs[i].src = "http://www.lcwprops.com/upload/catalog/" + str;	
			}
			
			document.getElementById("result_" + (i + 1)).innerHTML = matches[i].HtmlText;
			document.getElementById("result_" + (i + 1) + "_link").href = matches[i].Link;
		}
		
		rc.style.height = (26 * lg) + "px";
		rc.style.top = (188 - (26 * lg)) + "px";
		rc.style.visibility = "visible";
	}
}

//////////////////////////////////////////////////////////////////////////////

function over(num)
{
	document.getElementById("picture_peek_pic").src = peek_imgs[num].src;
	aspect_ratio(peek_imgs[num]);
	document.getElementById("picture_peek").style.visibility = "visible";
}

//////////////////////////////////////////////////////////////////////////////

function out()
{
	document.getElementById("picture_peek").style.visibility = "hidden";
}

//////////////////////////////////////////////////////////////////////////////

function aspect_ratio(img)
{	
	var w = img.width;
	var h = img.height;
	var img_element = document.getElementById("picture_peek_pic");
	var thumb_size = 130;
	
	var a = thumb_size / Math.max(w, h);
	
	w = parseInt((w * a) + 0.5);
	h = parseInt((h * a) + 0.5);
	
	img_element.width  = w;
	img_element.height = h;
	
	var c = ((thumb_size - Math.min(w, h)) / 2) + 0.5;
	c = parseInt(c);
	
	if (w >= h)
	{	
		img_element.style.top  = c + "px";
		img_element.style.left = "0px";
	}
	else
	{		
		img_element.style.top  = "0px";
		img_element.style.left = c + "px";
	}
}

//////////////////////////////////////////////////////////////////////////////

function search_result_clicked(num)
{
	document.getElementById("search").value = matches[num].OrigCase;
}

//////////////////////////////////////////////////////////////////////////////

function hide_results_container()
{
	document.getElementById("results_container").style.visibility = "hidden";
	document.getElementById("picture_peek").style.visibility = "hidden";
}

//////////////////////////////////////////////////////////////////////////////

