$j(function(){
	VisualSearch_Load();
	VisualSearch.ITEMS_PER_PAGE = 7;
	VisualSearch.Search();
	
	Events_Calendar_Activate();
});

function Events_Update(sDate){
	if(sDate){
		sEvents_Date = sDate;
	}
	else{
		sDate = sEvents_Date;	
	}
	if(bEvents_Update_Active) return;
	bEvents_Update_Active = true;
	$j("#events_widget h3.date").html("Loading...");
	$j("#events_widget .events").fadeTo(0.2);
	$j.post(location.pathname, {
		cmd: "get-events",
		date: sDate
	}, function(sResponse){
		bEvents_Update_Active = false;
		try{
			eval("var Response = " + sResponse + ";");
			if(Response){
				$j("#events_widget h3.date").html(Response.date);
				$events = $j("#events_widget .events");
				var sHTML = "";
				if(Response.events.length != 0){
					for(i=0; i<Response.events.length; i++){
						aColumn = Response.events[i];
						sHTML += "<ul class=\"square\">";
						for(j=0; j<aColumn.length; j++){
							Event = aColumn[j];
							sHTML += "<li><a href=\"" + Event.URL + "\">" + Event.Name + "</a></li>";
						}
						sHTML += "</ul>";
					}
					sHTML += "<br class=\"clear\" />";
				}
				else{
					sHTML = "<em>No events found for this day.</em>";	
				}
				$events.html(sHTML);
				$events.stop().fadeTo(1);
			}
		}
		catch(e){
			alert("Sorry, we encountered a technical problem and the events couldn't be loaded. Please try again in a few moments, or if the problem persists, report the problem to us via our \"Contact Us\" link at the bottom of the page.");
		}
	});
}
