var searchHandles = [];
var celSettings = {Animations:{}};
function AddRefinements(sh,refObj)
{
	//alert(sh);
}
function hCallback( reinstate, cursor ) {
	var url = reinstate || "search.aspx";
	ajaxLoad(url);
}
function ajaxFormSubmit(e){
	var url = $(this).attr("action") || "search.aspx";
	url += "?";
	var params = {ajax:"true"};
	$("input",$(this)).each(function(){params[$(this).attr("name")] = $(this).value;url+=$(this).attr("name")+"="+$(this).val() + "&";});
	$.history(url);
	$("#divSB").load(url + " #searchBox",params,setupClicks);
	e.preventDefault();
	return false;
}
function ajaxClick(event,obj)
{
	if(obj==undefined)
		obj = this;

	var href = obj.href || obj;

	if(event && $.isFunction(event.preventDefault))
	{
		event.preventDefault();
		$.history(href);
	}
	ajaxLoad(href);
	return false;
}
function ajaxLoad(href)
{
	//$("#divAJAX").load(href,{ajax:"true"},function(){$("#divSB #searchBox").empty().replaceWith($("#divAJAX #searchBox"));setupClicks();});
	$("#divAJAX").load(href + " #searchBox",{ajax:"true"},function(){$("#divSB").empty().replaceWith($("#divAJAX"));setupClicks();});
}
function setupClicks()
{
	$("a[href*=Action]").not("[href*=AXD]").css({color:"red"}).click(ajaxClick);
	$("form").submit(ajaxFormSubmit);
}
function onloadAjax(){
	$.history.callback = hCallback;
	if(celSettings.Animations.NavFade === true)
	{
		if($("#divCurtain").length==0)
		{
			$("body").append($("<div id=\"divCurtain\"></div>"));
			$("#divCurtain").css({display:"none",backgroundColor:"white",position:"absolute",left:0,top:0,height:$(window).height(),width:$(window).width()}).fadeTo("fast",0.0);
		} else $("#divCurtain").fadeTo("slow",0.0,function(){$(this).hide();});
	}
	if($("#divAJAX").length==0)
		$("body").append($("<div id=\"divAJAX\"></div>"));

	setupClicks();
}
var othersTO = null;
function hideAllOthers()
{
	if(othersTO!=null)
		$(".SPOthers").hide();
	othersTO = null;
}
function listAll(obj)
{
	var ret = obj + ":";
	for(var kid in obj)
		ret += "\n" + kid + " = " + obj[kid];
	return ret;
}
function getBrowser()
{
	for(var b in $.browser)
		if($.browser[b]===true)
			return b;
	return "other";
}
var debugmode = false;
function debugPrint(txt)
{
	if(!(debugmode === true)) return;
	if($("#divDebug").length==0)
	{
		$("<div id=divDebug class=window style=\"position:absolute;left:0px;top:0px;padding:10px;background-color:gray;border:1px solid black;\" title=\"Debug Menu\"><div class=title><span class=tit>Debug Menu</span><span class=close>X</span></div><div class=contents><textarea cols=60 rows=20 id=txtDebug></textarea></body></div>").appendTo($("body"));
		$("#divDebug").draggable().css({left:$("body").width()-$("#divDebug").width()-40});
		$("#divDebug .close").click(function(){$(this).parents("#divDebug").hide();}).css({textAlign:"center",verticalAlign:"middle",cursor:"hand"});
	}
	$("#divDebug TEXTAREA")[0].innerHTML += ($("#divDebug TEXTAREA")[0].innerHTML == "" ? "" : "\n") + txt.replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
function getClassPath(obj)
{
	if(obj == undefined || obj == null || obj.nodeName == undefined) return "";
	var ret = obj.nodeName;
	if(obj.id!=undefined&&obj.id!=null&&obj.id.length>0)
		ret += "#"+$(obj).attr("id");
	if(obj.className!=undefined&&obj.className!=null&&obj.className.length>0)
		ret += "."+$(obj).attr("class").replace(/ +/g, ".");
	if($(obj).parent().length==0) return ret;
	var par = getClassPath($(obj).parent()[0]);
	if(par != "")
		ret = par + " > " + ret;
	return ret;
}
$.fn.extend({setStatus:function(txt){$.each(function(){$(this).hover(function(){window.status=txt;},function(){window.status=window.defaultStatus;});});return this;}});
function onload()
{
	$("html").addClass(getBrowser());
	// Handle Left Nav ROs
	$(".answerable").find(".questiontitle:first A").unbind().click(function(){$(this).toggleClass("minus").toggleClass("plus");$(this).parents(".answerable").find(".moreanswers:first").toggle().end().find(".selected .minus").filter(function(){return $(this).parent().parent().find("div").length==0}).removeClass("minus").addClass("plus");return false;}).each(function(i){if(i==0) $(this).removeClass("plus").addClass("minus");else $(this).removeClass("minus").addClass("plus");});
	$(".selected>A,A.selected")
		.each(function(){if($(this).parent().parent().find(".selected>div").length>0)$(this).addClass("minus").removeClass("plus")})
		.unbind().click(function(){if($(this).parent().parent().find(".selected > div").toggle().length>0){$(this).toggleClass("minus").toggleClass("plus");return false;}});
	$(".answerable:not(:first) .selected > div").show().each(function(){$(this).parents(".answerable").find(".plus").removeClass("plus").addClass("minus");});
	//$(".questiontitle A:first").addClass("minus").click(function(){debugPrint("first");$(this).toggleClass("minus").toggleClass("plus");return false;});
	//$(".refinement").find("div:last").parent().css({backgroundColor:"black"});
	// Handle Search Path
	$(".SPOthers").parents(".searchPathItem")
		.addClass("hoverable")
		.unbind().click(function(){var mySPO=$(".SPOthers",this);$(".SPOthers").filter(function(){return this!=mySPO[0]}).hide();mySPO.toggle();debugPrint("Clicked");return false;})
		.find("ul li a").click(function(){var href=$(this).attr("href");window.location=href;}).end()
		.hover(function(){if(othersTO!=null){var myspo=$(this).find(".SPOthers");$(".SPOthers").filter(function(){return this!=myspo[0];}).hide();myspo.show();clearTimeout(othersTO);othersTO=null;}$(this).addClass("hovering");},function(){$(this).removeClass("hovering");if($(".SPOthers:visible").length>0)othersTO=setTimeout(hideAllOthers, 500);});
	$(".SPOthers").each(function(){var spa=$(this).prevAll(".SPAnswer");if(spa==undefined)return;$(this).css({width:spa.parent().width()+8>$(this).width()?spa.parent().width()+8:$(this).width(),left:spa.position().left-5,top:spa.position().top+spa.height()+2});});
	//$("#celLeftNav .refinement").find(".answers:last").css({backgroundImage:"url(../images/pixel.gif)"});
	//alert($("#celLeftNav .selected .selected").parents("#celLeftNav .selected").length);
	//$("A").click(function(){debugPrint(getClassPath(this));});
}
$(onload);