
var pageResults = new Object();
var pageResultURLs = new Array();

var currentPreview = null;
var currentPreviewIndex = -1;

var currentWhois = null;

var searchTerms = new Array();
var searchTermsDisplay = new Array();

var resultBaseURL = "";

function SB_EndsWith(string, substring)
{
	return (string.lastIndexOf(substring)==(string.length-substring.length))
}

function SB_IsExternalLink(inputURL, inputText)
{
	var url = inputURL.toLowerCase();
	var text = inputText.toLowerCase();

	var isDomainAskCareers = url.match(/^http:\/\/([^\/]*.)askcareers\.com\//);
	var isDomainAskForKids = url.match(/^http:\/\/([^\/]*.)askforkids\.com\//);

	return ((url.indexOf('google.com')==-1)&&
		(url.indexOf('ask.com')==-1)&&
		(url.indexOf('answers.com')==-1)&&
		(url.indexOf('pricegrabber.com')==-1)&&
		(!isDomainAskCareers)&&
		(!isDomainAskForKids)&&
		(url.indexOf('http')!=-1)&&
		(url.charAt(0)!='/')&&
		(!SB_EndsWith(url,".pdf"))&&
		(text != 'view as html')&&
		(text != 'cached'));
}

function SB_IsSearchLink(inputURL)
{
	var url = inputURL.toLowerCase();
	var isDomainGoogle = url.match(/^http:\/\/([^\/]*.)google\.com\//);
	var isDomainAsk = url.match(/^http:\/\/([^\/]*.)ask\.com\//);
	var isRelativeSearch = url.match(/^\/?[^\/:]*search\?/);

	return (isDomainGoogle||isDomainAsk||isRelativeSearch);
}

function SB_IsSimilarPagesLink(inputURL, inputText)
{
	var isURLRelated = inputURL.match(/related/gi);
	var isTextSimilarPages = inputText.match(/similar pages/gi);
	
	return (isURLRelated&&isTextSimilarPages);
}

function SB_Encode(input)
{
	var result = "";
	var inputLength = input.length;
	var count;
	for (count = 0; count < inputLength; count+=1 )
	{
		var currentCharacter = input.charAt(count);
		
		var isSpace = (currentCharacter==" ");
		var isNormal = ("-_.!~*'()0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz".indexOf(currentCharacter)!=-1);

		if (isNormal)
		{
			result += currentCharacter;
		}
		else if (isSpace)
		{
			result += "+";
		}
		else
		{
			var characterCode = currentCharacter.charCodeAt(0);
			if (characterCode<255)
			{
				result += "%";
				result += "0123456789ABCDEF".charAt(characterCode/16);
				result += "0123456789ABCDEF".charAt(characterCode%16);
			}
			else
				result += "?";
				
		}
	}

	return result;
};

function SB_Decode(input)
{
	var result = "";
	var inputLength = input.length;
	var count;
	for (count = 0; count < inputLength; count+=1 )
	{
		var currentCharacter = input.charAt(count);
		
		var isPlus = (currentCharacter=="+");
		var isPercent = (currentCharacter=="%");
		var isNormal = ("-_.!~*'()0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz".indexOf(currentCharacter)!=-1);
		if (isNormal)
		{
			result += currentCharacter;
		}
		else if (isPlus)
		{
			result += " ";
		}
		else if ((isPercent)&&(count<(inputLength-2)))
		{
			var firstDigit = input.charAt(count+1).toUpperCase();
			var secondDigit = input.charAt(count+2).toUpperCase();
			
			var firstValue = "0123456789ABCDEF".indexOf(firstDigit);
			var secondValue = "0123456789ABCDEF".indexOf(secondDigit);
			var characterCode = ((firstValue*16)+secondValue);

			result += String.fromCharCode(characterCode);				
			count += 2;
		}
		else
		{
			// Do nothing
		}
		
	}

	return result;
};

function SB_ExtractSearchTerms(url)
{
	delete searchTerms;
	delete searchTermsDisplay;
	searchTerms = new Array();
	searchTermsDisplay = new Array();

	var searchPart = url.match(/[\?\&]q=[^\&]*/gi);
	if (searchPart==null)
		return;
		
	searchPart = ""+searchPart;
	
	searchPart = searchPart.toLowerCase();
				
	searchPart = searchPart.substring(searchPart.indexOf("=")+1,searchPart.length);

	var decodedSearch = SB_Decode(searchPart);
	
	var currentTerm = "";
	var currentDisplayTerm = "";
	var isInQuote = false;
	var count;
	for (count=0; count<decodedSearch.length; count+=1)
	{
		var currentCharacter = decodedSearch.charAt(count);
		if (currentCharacter=="\"")
		{
			if (isInQuote)
			{
				if (currentTerm.length>0)
				{
					searchTerms.push(currentTerm);
					searchTermsDisplay.push("\""+currentDisplayTerm+"\"");
				}
				isInQuote = false;
			}
			else
			{
				if ((currentTerm.length>0)&&(currentTerm.indexOf(":")==-1))
				{
					searchTerms.push(currentTerm);
					searchTermsDisplay.push(currentDisplayTerm);
				}
				isInQuote = true;
			}

			currentTerm = "";
			currentDisplayTerm = "";
		}
		else if (currentCharacter==" ")
		{
			if (isInQuote)
			{
				currentTerm += "[^a-z]+";
				currentDisplayTerm += " ";
			}
			else
			{
				if ((currentTerm.length>0)&&(currentTerm.indexOf(":")==-1))
				{
					searchTerms.push(currentTerm);
					searchTermsDisplay.push(currentDisplayTerm);
				}
				currentTerm = "";
				currentDisplayTerm = "";
			}
		}
		else
		{
			currentTerm += currentCharacter;
			currentDisplayTerm += currentCharacter;
		}
	}
				
	if ((currentTerm.length>0)&&(currentTerm.indexOf(":")==-1))
	{
		searchTerms.push(currentTerm);
		searchTermsDisplay.push(currentDisplayTerm);
	}
}

function SB_GetSearch(url)
{
	window.appletframe.pageRequest_Forward(url, "SB_PageRequestDone_Forward");
}

function SB_GetExternal(url)
{
	pageResultURLs.push(url);
	window.appletframe.pageRequest_Forward(url, "SB_PageRequestDone_Forward");
}

function SB_GetWhois(url)
{
	if ((currentWhois==null)||(currentWhois!=url))
	{
		currentWhois = url;
		window.appletframe.whoisRequest_Forward(url);

		currentPreview = null;
		
		var whoisLoadingHTML = "<html><head></head><body><font face=\"verdana\" align=\"center\">Contacting whois servers for '"+
			url+
			"'...</font></body></html>";
		
		window.previewframe.document.open();
		window.previewframe.document.write(whoisLoadingHTML);
		window.previewframe.document.close();

	}
}

function SB_ParseForm(form)
{
	var queryString = form.action+"?";

	var isFirst = true;

	for (count=0; count<form.length; count+=1)
	{
		var childNode = form.elements[count];
		var tagName = childNode.tagName.toLowerCase();
		var childName = childNode.name;
		
		if (tagName == "input")
		{
			var childType = childNode.type.toLowerCase();
			var childValue = SB_Encode(childNode.value);

			var newString = "";
			if ((childType == "text")||(childType == "hidden")||(childType == "submit"))
			{
				// Pete- Don't put the 'I Feel Lucky' button in the URL
				if (childName!="btnI")
					newString = childName + "=" + childValue;
			}
			else if (childType == "checkbox")
			{
				if (childNode.checked) 
				{
					newString = childName + "=" + childValue;
				}
				else
				{
					newString = childName + "=";
				}
			}
			else if (childType == "radio")
			{
				if (childNode.checked)
				{
					newString = childName + "=" + childValue;
				}
			}
			
		}   
		else if (tagName == "select") 
		{
			newString = childName + "=" + childNode.options[sel.selectedIndex].value;
		}

		if (newString.length>0)
		{
			if (!isFirst)
				newString = "&" + newString;
			else
				isFirst = false;
				
			queryString += newString;

		}

	}

	return queryString;
}

function SB_HandleSubmit(form,baseURL)
{
	var queryString = SB_ParseForm(form);
	
	if (queryString.substring(0,7)!="http://")
		queryString = baseURL + queryString;
	
	SB_GetSearch(queryString);

	return false;
}

function SB_NextPreview()
{
	if (pageResultURLs==null)
		return;
		
	var pageResultURLsLength = pageResultURLs.length;

	if ((currentPreviewIndex==-1)&&(pageResultURLsLength==0))
		return;

	var nextPreview = null;

	var count;
	for (count=(currentPreviewIndex+1); count<pageResultURLsLength; count+=1)
	{
		var currentURL = pageResultURLs[count];
		if (pageResults[currentURL]!=null)
		{
			nextPreview = currentURL;
			break;
		}
	}
	
	if (nextPreview!=null)
		SB_SetPreviewFrame(nextPreview);
	else if (currentPreview!=null)
		SB_GetNextResultPage();

	return false;
}

function SB_PageRequestDone(contents,url,status,statusMessage,age)
{
	// Pete- Safari quirk, some string ops don't work on the returned string objects, so I do this to
	// force them into being native js strings rather than java ones(?)
	if (contents!=null)
		contents = ""+contents;
	url = ""+url;
	
	var baseURL = url.substring(0,url.lastIndexOf('/'));
	
	if (SB_IsSearchLink(url))
	{
		SB_ExtractSearchTerms(url);

		resultBaseURL = baseURL;

		var contentsWithBase = SB_SetBaseURL(contents,url);

		if (searchTerms.length>0)
			contentsWithBase = contentsWithBase.replace("<input type=submit name=\"btnG\" value=\"Search\">", 
				"<input type=submit name=\"btnG\" value=\"Search\"><tr><td><center><input type=submit name=\"nextpreview\" value=\"Show Next Result\" onclick=\"top.SB_NextPreview();return false\"></center></td></tr>");

		var contentsWithScript = SB_SetScript(contentsWithBase,
"function SB_SetLinkStatus(url, status, before, after)"+
"{"+
"	var linkNodes = document.getElementsByTagName(\"a\");"+
"	for (var linkIndex=0; linkIndex<linkNodes.length; linkIndex+=1)"+
"	{"+
"		var currentLink = linkNodes.item(linkIndex);"+
"		if (currentLink)"+
"		{"+
"			var currentLinkTarget = currentLink.getAttribute(\"href\");"+
"			if (currentLinkTarget)"+
"			{"+
"				if (currentLinkTarget==url)"+
"				{"+
"					var next = currentLink.nextSibling;"+
"					if (next.getAttribute&&(next.getAttribute(\"id\")==\"status\"))"+
"					{"+
"						next.innerHTML = status;"+
"					}"+
"					else"+
"					{"+
"						var newElement = document.createElement(\"span\");"+
"						newElement.innerHTML = status;"+
"						newElement.setAttribute(\"id\",\"status\");"+
"						currentLink.parentNode.insertBefore(newElement, currentLink.nextSibling);"+
"					}"+
"					currentLink.innerHTML = before+currentLink.innerHTML+after;"+
"					return;"+
"				}"+
"			}"+
"		}"+
"	}"+
"}"+
""+
"function SB_IsLinkInPage(url)"+
"{"+
"	var linkNodes = document.getElementsByTagName(\"a\");"+
"	for (var linkIndex=0; linkIndex<linkNodes.length; linkIndex+=1)"+
"	{"+
"		var currentLink = linkNodes.item(linkIndex);"+
"		if (currentLink)"+
"		{"+
"			var currentLinkTarget = currentLink.getAttribute(\"href\");"+
"			if (currentLinkTarget)"+
"			{"+
"				if (currentLinkTarget==url)"+
"					return true;"+
"			}"+
"		}"+
"	}"+
"	return false;"+
"}"+
""+
"function SB_StartDocumentParsing()"+
"{"+
"	var previousLinkTarget = \"\";"+
"	var linkNodes = document.getElementsByTagName(\"a\");"+
"	for (var linkIndex=0; linkIndex<linkNodes.length; linkIndex+=1)"+
"	{"+
"		var currentLink = linkNodes.item(linkIndex);"+
"		if (currentLink)"+
"		{"+
"			var currentLinkTarget = currentLink.getAttribute(\"href\");"+
"			if (currentLinkTarget)"+
"			{"+
"				if ((previousLinkTarget!=currentLinkTarget)&&(top.SB_IsExternalLink(currentLinkTarget, currentLink.innerHTML)))"+
"				{"+
"					previousLinkTarget = currentLinkTarget;"+
"					currentLink.onmouseover = function() { top.SB_SetPreviewFrame(this.href); };"+
"					setTimeout(\"top.SB_GetExternal(\\\"\"+currentLinkTarget+\"\\\");\",100);"+
"					SB_SetLinkStatus(currentLinkTarget, \"<br><font size=-1 color=\\\"black\\\"><b>Checking...</b></font>\",\"\",\"\");"+
"				}"+
"				else if (top.SB_IsSearchLink(currentLinkTarget))"+
"				{"+
"					currentLink.onclick = function() { top.SB_GetSearch(this.href); return false; };"+
"					if (top.SB_IsSimilarPagesLink(currentLinkTarget, currentLink.innerHTML))"+
"					{"+
"						var newText = document.createTextNode(\" - \");"+
"						currentLink.parentNode.insertBefore(newText, null);"+
"						var newElement = document.createElement(\"a\");"+
"						newElement.innerHTML = \"Whois\";"+
"						newElement.setAttribute(\"href\",\"#\");"+
"						newElement.setAttribute(\"class\",\"fl\");"+
"						newElement.setAttribute(\"id\",previousLinkTarget);"+
"						newElement.onclick = function() { top.SB_GetWhois(this.id); return false; };"+
"						currentLink.parentNode.insertBefore(newElement, null);"+
"					}"+
"				}"+
"			}"+
"		}"+
"	}"+
""+
"	var formNodes = top.resultsframe.document.body.getElementsByTagName(\"form\");"+
"	for (var formIndex=0; formIndex<formNodes.length; formIndex+=1)"+
"	{"+
"		var currentForm = formNodes.item(formIndex);"+
"		if (currentForm)"+
"		{"+
// Pete- A really weird problem, FF seems to forget about the submit request sometimes unless I use setAttribute,
// but IE chokes on that form, so I'm keeping the old code in for it. I hate browser-sniffing, but this is the
// least-worst option at this point. See http://sourceforge.net/tracker/index.php?func=detail&aid=1599913&group_id=175393&atid=873055
"			if (document.all)"+
"				currentForm.onsubmit = function() { return top.SB_HandleSubmit(this, \""+baseURL+"\"); };"+
"			else"+
"				currentForm.setAttribute(\"onsubmit\", \"return top.SB_HandleSubmit(this, \\\""+baseURL+"\\\");\");"+
"		}"+
"	}"+
"}"+
""+
"function SB_GetLinkWithText(wantedText)"+
"{"+
"	wantedText = wantedText.toLowerCase();"+
"	var linkNodes = document.getElementsByTagName(\"a\");"+
"	for (var linkIndex=0; linkIndex<linkNodes.length; linkIndex+=1)"+
"	{"+
"		var currentLink = linkNodes.item(linkIndex);"+
"		if (currentLink)"+
"		{"+
"			var currentLinkTarget = currentLink.getAttribute(\"href\");"+
"			if (currentLinkTarget)"+
"			{"+
"				if (top.SB_IsSearchLink(currentLinkTarget))"+
"				{"+
"					if (currentLink.innerHTML.toLowerCase().indexOf(wantedText)!=-1)"+
"					{"+
"						return currentLinkTarget;"+
"					}"+
"				}"+
"			}"+
"		}"+

"	}"+
""+
"	return null;"+
"}"+
""+
"function SB_SetLinkSelected(url)"+
"{"+
"	var linkNodes = document.getElementsByTagName(\"a\");"+
"	for (var linkIndex=0; linkIndex<linkNodes.length; linkIndex+=1)"+
"	{"+
"		var currentLink = linkNodes.item(linkIndex);"+
"		if (currentLink)"+
"		{"+
"			var currentLinkTarget = currentLink.getAttribute(\"href\");"+
"			if (currentLinkTarget)"+
"			{"+
"				if (top.SB_IsExternalLink(currentLinkTarget, currentLink.innerHTML))"+
"				{"+
"					var borderSize;"+
"					if (currentLinkTarget==url)"+
"						borderSize = \"1\";"+
"					else"+
"						borderSize = \"0\";"+
""+
"					var next = currentLink.nextSibling;"+
"					if (next.getAttribute&&next.getAttribute(\"id\")==\"status\")"+
"					{"+
"						var table = next.nextSibling;"+
"						if (table&&table.setAttribute)"+
"						{"+
"							table.setAttribute(\"border\", borderSize);"+
"						}"+
"					}"+
"				}"+
"			}"+
"		}"+
"	}"+
"}"
		);

		window.resultsframe.document.open();
		window.resultsframe.document.write(contentsWithScript);
		window.resultsframe.document.close();

		delete pageResults;
		pageResults = new Object();

		delete pageResultURLs;
		pageResultURLs = new Array();
		
		currentPreview = null;
		currentPreviewIndex = -1;

		setTimeout("SB_StartDocumentParsing()",500);
	}
	else
	{
		if (SB_IsLinkInResultsPage(url))
		{
			var statusString;
			var prefix = "";
			var suffix = "";
			if ((contents!=null)&&(contents.length>0))
			{
				var searchContents = contents.toLowerCase();
				var termsMissing = new Array();
				var termsMissingCount = 0;
				var count;
				for (count=0; count<searchTerms.length; count+=1)
				{
					var queryString = "/[^a-z]"+searchTerms[count]+"[^a-z]/gi";
					if (searchContents.match(searchTerms[count])==null)
					{
						termsMissing += searchTermsDisplay[count]+" ";
						termsMissingCount += 1;
					}
				}
				
				if (termsMissing.length==0)
				{
					statusString = "<br><font size=-1 color=\"blue\"><b>All terms found";
					if (age!=null)
						statusString += " - "+age;
					statusString += "</b></font><br>";
				}
				else
				{
					prefix = "<font color=\"red\">";
					suffix = "</font>";
					statusString = "<br><font size=-1 color=\"blue\"><b>";
					statusString += "<i>"+termsMissing+"</i>";
					if (termsMissingCount==1)
						statusString += "term ";
					else
						statusString += "terms ";
					statusString += "missing";
					if (age!=null)
						statusString += " - "+age;
					statusString += "</b></font><br>";
				}
				
				pageResults[url] = contents;
			}
			else
			{
				statusString = "<br><font size=-1 color=\"red\"><b>"+statusMessage+" ("+status+")"+"</b></font><br>";
				prefix = "<font color=\"red\"><del>";
				suffix = "</del></font>";
			}
				
			if ((currentPreviewIndex==-1)&&(url==pageResultURLs[0]))
				SB_NextPreview();

			SB_SetLinkStatus(url,statusString,prefix,suffix);
		}
	}
}

function SB_WhoisRequestDone(result,url)
{
	url = ""+url;
	result = ""+result;

	if (url!=currentWhois)
		return;
		
	currentPreview = null;
	
	var whoisHTML = SB_GetWhoisHTML(result,url);
	
	window.previewframe.document.open();
	window.previewframe.document.write(whoisHTML);
	window.previewframe.document.close();

}

function SB_GetWhoisHTML(whoisText,url)
{
	var result = "<html><head></head><body><font face=\"verdana\" align=\"center\">";
	if (whoisText.length<10)
	{
		result += "Couldn't get whois info for '"+url+"'";
	}
	else
	{
		result += whoisText.replace(/\r\n/gi,"<br>");
		result = result.replace(/Registrant:/gi,"<b><u>Registered to:</b></u>");
	}
	result += "</font></body></html>";
	
	return result;
}

function SB_SetBaseURL(contents, baseURL)
{
	var baseText = "<base href=\""+baseURL+"\" target=\"_top\">";

	return SB_InsertStringAtStartOfHead(contents, baseText);
}

function SB_SetScript(contents, script)
{
	var scriptText = "<SCRIPT type=\"text/javascript\">"+script+"</SCRIPT>";
	
	return SB_InsertStringAtStartOfHead(contents, scriptText);
}

function SB_InsertStringAtStartOfHead(contents, string)
{
	return contents.replace(/<head>/gi,"<head>"+string);
}

function SB_MakeCanonical(contents)
{
	var result = contents;
	
	// remove newlines
	result.replace(/\n/gi,"");
	// remove spaces before the start of tags
	result.replace(/<\s*/gi,"<");
	
	return result;
}

function SB_RemoveScripts(contentsUpperCase, tag)
{
	var contents = SB_MakeCanonical(contentsUpperCase);

	contents = contents.replace(/<script[^<]*<\/script/gi,"<!-- disabled script --");
	contents = contents.replace(/<script/gi,"<!-- script");
	contents = contents.replace(/<\/script/gi,"</disabled_script--!");
	contents = contents.replace(/javascript:/gi,"disabled_javascript:");
	contents = contents.replace(/eval\(/gi,"disabled_eval(");
	contents = contents.replace(/onload/gi,"disabled_onload");
	
	return contents;
}


function SB_SetPreviewFrame(target)
{
	if ((currentPreview)&&(currentPreview==target))
		return;

	var count;
	for (count=0; count<pageResultURLs.length; count+=1)
	{
		var currentURL = pageResultURLs[count];
		if (currentURL==target)
			currentPreviewIndex = count;
	}
		
	currentPreview = target;
	currentWhois = null;

	var canAccess = false;
	try
	{
		if (window.previewframe.document)
		   canAccess = true;
	}
	catch (e)
	{
		canAccess = false;
	}

	if (!canAccess)
	{
		var frames = window.document.getElementsByName("previewframe");
		frames[0].setAttribute("src", "previewframe.html");
	}

	if (canAccess&&(pageResults!=null)&&(pageResults[target]!=null)&&(window.previewframe.document))
	{
		var baseURL = target;
	
		var contentsWithBase = SB_SetBaseURL(pageResults[target],baseURL);

		var contentsWithoutScripts = SB_RemoveScripts(contentsWithBase);

		window.previewframe.document.open();
		window.previewframe.document.write(contentsWithoutScripts);
		window.previewframe.document.close();

		SB_SetLinkSelected(target);
	}

}

function SB_StartDocumentParsing()
{
	if (window.resultsframe.SB_StartDocumentParsing)
		window.resultsframe.SB_StartDocumentParsing();
	else
	{
		setTimeout("SB_StartDocumentParsing()",1000);		
	}
}

function SB_SetLinkStatus(url, status, prefix, suffix)
{
	window.resultsframe.SB_SetLinkStatus(url,status,prefix,suffix);
}

function SB_SetLinkSelected(url)
{
	window.resultsframe.SB_SetLinkSelected(url);
}

function SB_GetNextResultPage()
{
	var nextResultTarget = SB_GetResultLinkWithText("next");
	if (nextResultTarget)
	{
		if (nextResultTarget.substring(0,7)!="http://")
			nextResultTarget = resultBaseURL + nextResultTarget;

		SB_GetSearch(nextResultTarget);
	}
}

function SB_GetResultLinkWithText(wantedText)
{
	return window.resultsframe.SB_GetLinkWithText(wantedText);
}

function SB_IsLinkInResultsPage(url)
{
	return window.resultsframe.SB_IsLinkInPage(url);
}

function SB_StartSearch()
{
	var searchLocation = "";

	var currentURL = ""+window.location;

	var questionStart = currentURL.indexOf("?");

	if (questionStart==-1)
	{
		searchLocation = "http://www.google.com/search?q=";
	}
	else
	{
		if ((currentURL.length>=(questionStart+4))&&(currentURL.substring((questionStart+1),(questionStart+4))=="ask"))
		{
			searchLocation = "http://www.ask.com/web?q="+currentURL.substring((questionStart+4),currentURL.length);
		}
		else
		{
			searchLocation = "http://www.google.com/search"+currentURL.substring(questionStart,currentURL.length);
		}
	}

	SB_GetSearch(searchLocation);
}

function SB_DocumentLoaded()
{
	var n=navigator.userAgent;
	var w=n.indexOf("MSIE");
	if((w>0)&&(parseInt(n.charAt(w+5))>5))
	{
		var T=["object","embed","applet"];
		for(j=0;j<2;j++)
		{
			var E=document.getElementsByTagName(T[j]);
			for(i=0;i<E.length;i++)
			{
				P=E[i].parentNode;
				H=P.innerHTML;
				P.removeChild(E[i]);
				P.innerHTML=H;
			}
		}
	}
}

function SB_NotifyAppletLoaded()
{
	setTimeout(SB_StartSearch,500);
//	document.onkeypress = function(currentEvent) 
//	{
//		if (currentEvent==null)
//			currentEvent = window.event;
//		var currentKey;
//		if (currentEvent.keycode)
//			currentKey = currentEvent.keycode;
//		else
//			currentKey = currentEvent.which;
//
//		alert(currentKey);
//
//		if ((currentKey==40)||(currentKey==63233))
//		{
//			SB_NextPreview();
//			return false;
//		}
//		else
//		{
//			return true;
//		}
//	}
}

window.onload = SB_DocumentLoaded;