	var enableCache = false;
	var jsCache = new Array();
	var AjaxObjects = new Array();
	var keywords = "";
	var boolSearchCriteria;
	var category = "";
	var page;
	var perpage;
	var inelementID;
	var isHTML;
	var parentDIV;
	var instanceURL;
	var inputElement;
	var SearchCount = 0;

	function EmbedObjects(sp, s, sInputElement, bool, sURL)
	{
		inelementID = s;
		isHTML = bool;
		parentDIV = sp;
		instanceURL = sURL;
		inputElement = sInputElement;
		if(document.getElementById("lypop"))
		{
			document.getElementById("lypop").style.display = "block";		
		}
		else
		{
			var lyPop = document.createElement("DIV");
			lyPop.id = "lypop";
			lyPop.className = "popscreen";
			document.getElementById(parentDIV).appendChild(lyPop);
			lyPop.style.display = "block";
		}
		createInstance(instanceURL);
	}

	function closePopScreen()
	{
		keywords = "";
		boolSearchCriteria = "";
		category = "";
		page = 1;
		perpage = 10;
		document.getElementById("lypop").style.display = "none";
	}

	function URLencode(s)
	{
		s = s.replace(/%/g, "%25");
		s = s.replace(/&/g, "%26");
		s = s.replace(/#/g, "%23");

		do
		{
			s = s.replace("?", "%3F");
		}
		while (s.indexOf("?") != "-1");

		do
		{
			s = s.replace("/", "%2F");
		}
		while (s.indexOf("/") != "-1");

		do
		{
			s = s.replace(".", "%2E");
		}
		while (s.indexOf(".") != "-1");
		
		s = s.replace(/=/g, "%3D");
		return s;
	}

	function createInstance(callSrc)
	{
		var ajaxIndex = AjaxObjects.length;
		AjaxObjects[ajaxIndex] = new sack();
		AjaxObjects[ajaxIndex].requestFile = callSrc;
		AjaxObjects[ajaxIndex].onCompletion = function(){Render(ajaxIndex);};
		AjaxObjects[ajaxIndex].runAJAX();		
	}

	function Render(aIndex)
	{
		var lycont = document.getElementById("lypop");
				
		lycont.innerHTML = AjaxObjects[aIndex].response;
		SetAttributes();
		if(enableCache){
				jsCache[url] = AjaxObjects[aIndex].response;
		}
		AjaxObjects[aIndex] = false;
		Loaded();
		
		if(document.getElementById("EmbedTip"))
		{
			SearchCount = SearchCount + 1;
		}

		if(SearchCount == 1)
		{
			document.getElementById("EmbedTip").style.display = "block";
			HideTip();
		}
	}

	function SetAttributes()
	{
		var totalresults, startresultno, endresultno;		
		document.getElementById("txtSearch").value = keywords;
		document.getElementById("category").value = category;

		if(boolSearchCriteria == "1")
		{
			document.getElementById("user").checked = true;
		}
		else
		{
			document.getElementById("defaulttitle").checked = true;						
		}

		if(document.getElementById("SearchRespSummary").innerText != "")
		{
			if(!document.getElementById("totalresults"))
			{
				return;
			}
			totalresults = document.getElementById("totalresults").innerHTML;
			if(totalresults == "")
			{
				document.getElementById("SearchRespSummary").innerText = "No results found.";
			}
			else
			{
				startresultno = eval((page-1)*perpage+1);
				endresultno = eval(page*perpage);
				endresultno = (endresultno > totalresults)	 ? totalresults:endresultno;
				document.getElementById("resultsinfo").innerHTML = startresultno + "-" + endresultno + " ";
				if(totalresults >= endresultno && perpage < totalresults)
				{
					Paginate(totalresults);
				}
			}
		}
	}

	function Paginate(totalresults)
	{
		var strPaging, noOfPages, pageSpan, startPage, endPage;
		pageSpan = 10;
		noOfPages = parseInt(totalresults/perpage);
		strPaging = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>Page: </b>";

		if((totalresults % perpage) > 0)
		{
			noOfPages = noOfPages + 1;
		}

		if(page >= pageSpan)
		{
			startPage = (page - parseInt(pageSpan/2)) + 1;
		}
		else
		{
			startPage = 1;
		}

		endPage = startPage + pageSpan - 1;

		endPage = (endPage > noOfPages)?noOfPages:endPage;

		if(page != 1)
		{
			strPaging = strPaging + "<a href='javascript:void(0);' onclick=\"javascript:NavigatePages(" + (page-1) + ");\"><img src=\"images/l_arrow_small.gif\" alt=\"\" border=\"0\" /></a>&nbsp;&nbsp;"; 
		}

		for(i=startPage;i<=endPage;i++)
		{
			if(i != page)
			{
				strPaging = strPaging + "<a href='javascript:void(0);' onclick=\"javascript:NavigatePages(" + i + ");\">" + i + "</a>&nbsp;";
			}
			else
			{
				strPaging = strPaging + "<b>" + i + "</b>&nbsp;";
			}
		}

		if(page < noOfPages && noOfPages > pageSpan)
		{
			strPaging = strPaging + "&nbsp;&nbsp;<a href='javascript:void(0);' onclick=\"javascript:NavigatePages(" + (page+1) + ");\"><img src=\"images/r_arrow_small.gif\" alt=\"Next Page\" border=\"0\" /></a>"; 
		}

		document.getElementById("SearchRespSummary").innerHTML = document.getElementById("SearchRespSummary").innerHTML + strPaging;
	}

	function Loading()
	{
		document.getElementById("loading").style.display = "inline";
	}
	
	function Loaded()
	{
		window.setTimeout("HideLoading();", 600);
	}

	function HideLoading()
	{
		document.getElementById("loading").style.display = "none";
	}

	function HideTip()
	{
		try
		{
			window.setTimeout("document.getElementById('EmbedTip').style.display='none';", 10000);
			SearchCount = 1;
		}
		catch (e)
		{
		}
	}

	function HideShowCategory(boolChecked, CrieriaID)
	{
		if(CrieriaID == "defaulttitle" && boolChecked)
		{
			document.getElementById("crieriacategoryspan").style.display = "inline";
		}
		else
		{
			document.getElementById("crieriacategoryspan").style.display = "none";			
		}
	}

	function NavigatePages(pageno)
	{
		page = pageno;
		var url = instanceURL + "?sb="+boolSearchCriteria+"&ca="+category+"&kyw="+URLencode(keywords)+"&pg="+page+"&perpg="+perpage;
		createInstance(url);
		Loading();
	}

	function Search()
	{
		page =	1;
		perpage = 10;
		keywords = document.getElementById("txtSearch").value;
		category = document.getElementById("category").value;

		if(document.getElementById("defaulttitle").checked == true)
		{
			boolSearchCriteria = "0";			
		}
		else
		{
			boolSearchCriteria = "1";						
		}

		var url = instanceURL + "?sb="+boolSearchCriteria+"&ca="+category+"&kyw="+URLencode(keywords)+"&pg="+page+"&perpg="+perpage;

		if(keywords != "")
		{
			createInstance(url);
			Loading();
		}
	}

	function EmbedSelected()
	{
		var boolSelected = false;
		var embedID = "";
		var displayEmbedId = "hid" + inputElement;

		for(i=0;i<document.getElementsByTagName("input").length;i++)
		{
			if(document.getElementsByTagName("input")[i].type == "radio" && document.getElementsByTagName("input")[i].name == "embedvideo" && document.getElementsByTagName("input")[i].checked == true)
			{
				embedID = document.getElementsByTagName("input")[i].value;
				boolSelected = true;
				break;
			}
		}

		if(boolSelected == false)
		{
			alert("Please select a video among the list.");
		}
		else
		{
			if(isHTML == true)
			{
				document.getElementById(inelementID).innerHTML = "<input type=\"text\" disabled=\"disabled\" style=\"display:none;\" /><object width=\"70\" height=\"70\"><param name=\"movie\" value=\"http://www.youtube.com/v/" + embedID + "\"></param><param name=\"wmode\" value=\"transparent\"></param><embed src=\"http://www.youtube.com/v/" + embedID + "\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"70\" height=\"70\"></embed></object>";
				document.getElementById(inelementID).innerHTML += "<br/><a href=\"javascript:void(0);\" onclick=\"ClearEmbed();\" class=\"smallstandardlink\">Remove</a><br/>";
			}
			else
			{
				document.getElementById(inelementID).value = document.getElementById(inelementID).value + "<object width=\"100\" height=\"100\"><param name=\"movie\" value=\"http://www.youtube.com/v/" + embedID + "\"></param><param name=\"wmode\" value=\"transparent\"></param><embed src=\"http://www.youtube.com/v/" + embedID + "\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"70\" height=\"70\"></embed></object>";
			}

			if(isHTML == true && inputElement != "")
			{
				document.getElementById(inputElement).value = "<object width=\"425\" height=\"350\"><param name=\"movie\" value=\"http://www.youtube.com/v/" + embedID + "\"></param><param name=\"wmode\" value=\"transparent\"></param><embed src=\"http://www.youtube.com/v/" + embedID + "\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"425\" height=\"350\"></embed></object>";
				document.getElementById(displayEmbedId).value = "<object width=\"70\" height=\"70\"><param name=\"movie\" value=\"http://www.youtube.com/v/" + embedID + "\"></param><param name=\"wmode\" value=\"transparent\"></param><embed src=\"http://www.youtube.com/v/" + embedID + "\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"70\" height=\"70\"></embed></object>";
			}
			closePopScreen();
		}
	}

	function PlayVideo(s)
	{
		if(document.getElementById("playvideostream"))
		{
			document.getElementById("playvideostream").style.display = "block";
		}
		else
		{
			var lyPopPlay = document.createElement("DIV");
			lyPopPlay.id = "playvideostream";
			document.getElementById(parentDIV).appendChild(lyPopPlay);
			lyPopPlay.style.display = "block";
		}
		document.getElementById("playvideostream").innerHTML = "<input type=\"button\" value=\"Close\" onclick=\"StopVideo();\" /><br />" + "<object width=\"425\" height=\"350\"><param name=\"movie\" value=\"http://www.youtube.com/v/" + s + "\"></param><param name=\"wmode\" value=\"transparent\"></param><embed src=\"http://www.youtube.com/v/" + s + "\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" flashvars=\"playnext=0\" width=\"425\" height=\"350\" allowfullscreen=\"true\"></embed></object>";
	}

	function StopVideo()
	{																																										 
		document.getElementById("playvideostream").innerHTML  = "<img src=\"images/loading.gif\" alt=\"Loading...\" border=\"0\" />";
		document.getElementById('playvideostream').style.display='none';
	}

	function AddEvent(sID)
	{
		if(navigator.appName == "Microsoft Internet Explorer" || navigator.userAgent.indexOf("MSIE") > 0)
		{
			if(document.getElementById(sID))
				document.getElementById(sID).attachEvent("onkeypress", KeyCodeEvent);
		}
		else
		{
			try
			{
				document.getElementById(sID).addEventListener("onkeypress", KeyCodeEvent, false);
			}
			catch (e)
			{
				return;
			}
		}
	}

	function KeyCodeEvent(event)
	{
		if(event.keyCode == 13)
		{
			Search();
		}
	}
