





function submitSearch()
{
	var f = document.searchForm;
	var h = document.hiddenForm;
	
	var category = f.category.options[f.category.selectedIndex].value;
	var type = f.type.options[f.type.selectedIndex].value;
	
	
	if (f.keywords.value != "")
	{
		h.keywords.disabled = false;
		h.keywords.value = f.keywords.value;
	}
	if (f.type.selectedIndex > 0)
	{
		h.type.disabled = false;
		h.type.value = type;
	}
	if (f.category.selectedIndex > 0)
	{
		h.category.disabled = false;
		h.category.value = category;
	}
	if (f.region.selectedIndex > 0)
	{
		h.region.disabled = false;
		h.region.value = f.region.options[f.region.selectedIndex].value;
	}

	h.closeReg.disabled = !(f.closeReg.checked);
	h.picture.disabled = !(f.picture.checked);
	
	if (f.minPrice.value != "")
	{
		h.minPrice.disabled = false;
		h.minPrice.value = extractNumbers(f.minPrice.value);
	}	
	if (f.maxPrice.value != "")
	{
		h.maxPrice.disabled = false;
		h.maxPrice.value = extractNumbers(f.maxPrice.value);
	}
	
	if (f.minOpt1)
	{
		if (f.minOpt1.selectedIndex > 0)
		{
			h.minOpt1.disabled = false;
			h.minOpt1.value = f.minOpt1.options[f.minOpt1.selectedIndex].value;
		}
		if (f.maxOpt1.selectedIndex > 0)
		{
			h.maxOpt1.disabled = false;
			h.maxOpt1.value = f.maxOpt1.options[f.maxOpt1.selectedIndex].value;
		}
	}
	if (f.minOpt2)
	{
		if (f.minOpt2.selectedIndex > 0)
		{
			h.minOpt2.disabled = false;
			h.minOpt2.value = f.minOpt2.options[f.minOpt2.selectedIndex].value;
		}
		if (f.maxOpt2.selectedIndex > 0)
		{
			h.maxOpt2.disabled = false;
			h.maxOpt2.value = f.maxOpt2.options[f.maxOpt2.selectedIndex].value;
		}
	}
	h.submit();
}



function clearSearchForm()
{
	var f = document.searchForm;
	var cat =  f.category.options[f.category.selectedIndex].value;
	var typ = f.type.options[f.type.selectedIndex].value;
	var hidden1 = getObj("hidden1");
	var hidden2 = getObj("hidden2");
	
	
	if (hidden1.style.visibility != "hidden")
	{
		if (f.region.selectedIndex == 0 &&
			 f.minPrice.value == "" &&
			 f.maxPrice.value == "" &&
			 f.minOpt1.selectedIndex == 0 &&
		    f.maxOpt1.selectedIndex == 0 &&
		    (hidden2.style.visibility == "hidden" ||
		    	(f.minOpt2.selectedIndex == 0 &&
		    	f.maxOpt2.selectedIndex == 0)) &&
		    f.closeReg.checked == false &&
		    f.picture.checked == false &&
		    f.keywords.value == "")
		{
			hidden1.style.visibility = "hidden";
			hidden2.style.visibility = "hidden";
			f.category.selectedIndex = 0;
			selectedOptions[0] = null;
			selectedOptions[1] = null;
		}
		else
		{
			f.minOpt1.selectedIndex = 0;
			f.maxOpt1.selectedIndex = 0;
			if (hidden2.style.visibility != "hidden")
			{
				f.minOpt2.selectedIndex = 0;
				f.maxOpt2.selectedIndex = 0;
			}
		}
	}
	else
		f.category.selectedIndex = 0;
	
	f.type.selectedIndex = 0;
	f.region.selectedIndex = 0;
	f.minPrice.value = "";
	f.maxPrice.value = "";
	f.closeReg.checked = false;
	getObj("hidden_closeReg").style.visibility = "hidden";
	f.picture.checked = false;
	getObj("camera").src = "/img/icon_camera.gif";
	f.keywords.value = "";
	f.keywords.focus();
}



function clickCamera(setBox)
{
	var f = document.searchForm;
	
	if (setBox)
	{
		if (f.picture.checked)
		{
			f.picture.checked = false;
			getObj("camera").src = "/img/icon_camera.gif";	
		}
		else
		{
			f.picture.checked = true;
			getObj("camera").src = "/img/icon_camera_on.gif";	
		}
	}
	
	else
	{
		if (f.picture.checked)
			getObj("camera").src = "/img/icon_camera_on.gif";	
		else
			getObj("camera").src = "/img/icon_camera.gif";	
	}
}



function go(categoryID, typeID, regionID)
{
	var f = document.searchForm;
	
	if (categoryID != -1)
	{
		var categories = f.category;
		for (var i=0; i<categories.length; i++)
		{
			if (categories.options[i].value == categoryID)
			{
				categories.selectedIndex = i;
				break;
			}
		}
	}
	if (typeID != -1)
		f.type.selectedIndex = typeID;	
	
	if (regionID != -1)		
		f.region.selectedIndex = regionID;
	
	submitSearch();
}




function checkCloseReg()
{
	var f = document.searchForm;
	var obj = getObj("hidden_closeReg");
	
	if (f.region.selectedIndex > 0)
		obj.style.visibility = "visible";
	else
		obj.style.visibility = "hidden";
}


function temp(width)
{
	if (width == -1)
		width = 74; 
	return " style='width: " + width + "px'><option value='-1'>";	
}


function checkHiddenOptions(category, type)
{
	if (!category)
	{
		var f = document.searchForm;
		category = f.category.value;
		type = f.type.value;
	}
	showOptions(category, type);
}



var selectedOptions = new Array(null, null);


function showOptions(category, type)
{
	var f = document.searchForm;
	var opt = getOptions(category, type);
	var hidden1 = getObj("hidden1");
	var hidden2 = getObj("hidden2");
	
	if (opt == null)
	{
		hidden1.style.visibility = "hidden";
		hidden2.style.visibility = "hidden";
		selectedOptions[0] = null;
		selectedOptions[1] = null;
	}
	else
	{
		if (selectedOptions[0] != opt[0])
		{
			hidden1.style.visibility = "visible";
			getObj("name1").innerHTML = opt[0].name;
			getObj("opt1min").innerHTML = "<select name=minOpt1" + temp(opt[0].width) + opt[0].minOptions + "</select>";
			getObj("opt1max").innerHTML = "<select name=maxOpt1" + temp(opt[0].width) + opt[0].maxOptions + "</select>";
			selectedOptions[0] = opt[0];
		}
		
		if (opt.length == 2)
		{
			if (selectedOptions[1] != opt[1])
			{
				hidden2.style.visibility = "visible";
				getObj("name2").innerHTML = opt[1].name;
				getObj("opt2min").innerHTML = "<select name=minOpt2" + temp(opt[1].width) + opt[1].minOptions + "</select>";
				getObj("opt2max").innerHTML = "<select name=maxOpt2" + temp(opt[1].width) + opt[1].maxOptions + "</select>";
				selectedOptions[1] = opt[1];
			}
		}
		else
		{
			hidden2.style.visibility = "hidden";
			selectedOptions[1] = null;
		}
	}
}


function setOptions(minOpt1, maxOpt1, minOpt2, maxOpt2)
{
	var f = document.searchForm;
	if (minOpt1)
		setOption(f.minOpt1, minOpt1);
	if (minOpt1)
		setOption(f.maxOpt1, maxOpt1);
	if (minOpt1)
		setOption(f.minOpt2, minOpt2);
	if (minOpt1)
		setOption(f.maxOpt2, maxOpt2);
}



function setOption(obj, val)
{
	if (obj && val >= 0)
	{
		for (var i = 0; i < obj.options.length; i++)
		{
			if (obj.options[i].value == val)
			{
				obj.selectedIndex = i;
				break;	
			}
		}
	}
}

function showTypes(typID)
{
	var f = document.searchForm;
	var typOpt = f.type.options;
	if (!typID)
		typID = typOpt[f.type.selectedIndex].value;
	var catID = f.category.options[f.category.selectedIndex].value;
	var catTypes = defaultTypes;
	if (catID > 0)
		catTypes = categories[catID].types; 	
	
	
	for (var i = typOpt.length; i > 1 && i > (catTypes.length + 1); i--)
		typOpt[i-1] = null;
				
	
	
	for (var i = 0; i < catTypes.length; i++)
	{
		var id = catTypes[i];
		typOpt[i+1] = new Option(types[id].name, id);
		typOpt[i+1].className = types[id].color;
		
		if (typID == id)
			f.type.selectedIndex = (i+1);
	}
	checkHiddenOptions();
}


function showTop(url, keywords, type, category, region, minPrice, maxPrice, closeReg, picture, minOpt1, maxOpt1, minOpt2, maxOpt2)
{
	
	document.write("<form name=hiddenForm action='result.jsp' method=get>");
	document.write("<input type=hidden disabled name=keywords value=''>");
	document.write("<input type=hidden disabled name=type value=''>");
	document.write("<input type=hidden disabled name=category value=''>");
	document.write("<input type=hidden disabled name=region value=''>");
	document.write("<input type=hidden disabled name=minPrice value=''>");
	document.write("<input type=hidden disabled name=maxPrice value=''>");
	document.write("<input type=hidden disabled name=closeReg value='1'>");
	document.write("<input type=hidden disabled name=picture value='1'>");
	document.write("<input type=hidden disabled name=minOpt1 value=''>");
	document.write("<input type=hidden disabled name=maxOpt1 value=''>");
	document.write("<h1>500 Servlet Exception</h1>
<code><pre>
java.lang.NullPointerException
	at _js._search4__js._jspService(/js/search4.js:394)
	at com.caucho.jsp.JavaPage.service(JavaPage.java:75)
	at com.caucho.jsp.Page.subservice(Page.java:506)
	at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182)
	at com.caucho.server.http.Invocation.service(Invocation.java:315)
	at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:346)
	at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:274)
	at com.caucho.server.TcpConnection.run(TcpConnection.java:139)
	at java.lang.Thread.run(Thread.java:534)
</pre></code>
<hr /><small>
Resin 2.1.16 (built Tue Feb 15 11:12:27 PST 2005)
</small>

