
/*CUSTOM METHODS*/

function displayStatus(statusstring)
{
	document.getElementById("status").innerHTML = statusstring;
}

function setSearchDisabled(isdisabled)
{
	document.vidsearchform.searchsubmit.value = (isdisabled) ? "search submitted" : "search videos";
	document.vidsearchform.searchsubmit.disabled = isdisabled;
}

function getSearchTerms()
{
	return document.vidsearchform.searchterms.value;
}

function displayResults()
{
	var outputhtml = "";

	for (var i=0; i < AOLVS.VideoSet.totalResultsReturned; i++)
	{
		outputhtml += "<div>";
		outputhtml += "<a href='" + AOLVS.VideoSet.Video[i].videoUrl + "'>";
		outputhtml += AOLVS.VideoSet.Video[i].title + "</a>";
		outputhtml += "<p>" + AOLVS.VideoSet.Video[i].description + "</p>";
		outputhtml += "</div>";
	}
	outputhtml += (AOLVS.VideoSet.totalResultsReturned == 0) ? "<div>No videos found.</div>" : "<div>(end of results)</div>";

	document.getElementById("results").innerHTML = outputhtml;
}

/*API EVENT HANDLERS*/

function onVErrorH(code,message)
{
	setSearchDisabled(false);
	displayStatus("Error: " + message + " (code " + code + ")");
	return true;
}

function onVUpdateH()
{
	displayResults();
	setSearchDisabled(false);
	displayStatus("Results returned.");
	return true;
}

function onVInitializeH()
{
	setSearchDisabled(false);
	displayStatus("Search ready.");
	return true;
}

/*DOM EVENT HANDLERS*/

function onSubmitH(e)
{
	var searchterms = null;

	if (document.vidsearchform.searchsubmit.disabled)
		return false;

	setSearchDisabled(true);
	searchterms = getSearchTerms();
	AOLVS.getVideos(searchterms);
	displayStatus("Query submitted. Waiting for results...");
	return false;
}

function onLoadH(e)
{
	document.vidsearchform.onsubmit = onSubmitH;

	displayStatus("Initializing search...");
	AOLVS = new AOLVideoSearch("to8d6yjix7px60wlu");
	AOLVS.attachEvent("onload", "onVInitializeH();");
	AOLVS.attachEvent("onupdate", "onVUpdateH();");
	AOLVS.attachEvent("onerror", "onVErrorH(errorCode, errorMessage);");
	AOLVS.initialize();
	return true;
}

/*GLOBAL VARIABLES*/

var AOLVS = null;
var appId = "88";

window.onload = onLoadH;