//Browser versioning

var bIE4 = false;	//True iff IE and v4
var bIE5 = false;	//True iff IE and v5
var bIE = false;	//True iff IE v4 or v5
var bNS4 = false;	//True iff NS v4
var bOpera = false;	//True iff Opera
var bDLB = true;	//True iff Downlevel or unknown browser
var bMac = false;	//True iff Mac


{
	var szUA = window.navigator.userAgent;
	bIE5 = szUA.indexOf("MSIE 5") != -1;
	bIE4 = szUA.indexOf("MSIE 4") != -1;
	bIE = bIE4 || bIE5;
	bOpera = szUA.indexOf("Opera") != -1;
	bMac = szUA.indexOf("Mac") > -1;
	bDLB = !bIE && !bOpera;
	if (bDLB)
	{
		var bNS = window.navigator.appName.indexOf("Netscape") >= 0;
		if (bNS)
		{
			var i =	szUA.indexOf("Mozilla/") + 8;
			var ver = parseInt(szUA.substring(i,szUA.indexOf(".",i)));
			bNS4 = ver == 4;
			bDLB = !bNS4;
		}
	}

	if (window == top)
	{
		// Redirect to framed GamesUp
		var szPath = document.location.href;
		var szLowerPath = szPath;
		szLowerPath.toLowerCase();
		var iPos = szLowerPath.indexOf("/data/");

		if (iPos != -1)
		{
			document.write('<span style="display:none">');

			var szFramedPath = szPath.substring(0, iPos);
			szFramedPath += "/index.htm#";
			szPath = szPath.substring(iPos+6);
			szPath = replaceAll(szPath, '/', '+');
			szFramedPath += szPath;
			document.location.replace(szFramedPath);
		}
	}
}

function replaceAll(sz, sz1, sz2)
{
	while (sz.indexOf(sz1) >= 0)
	{
		sz = sz.replace(sz1, sz2);
	}
	return sz;
}


function convertSTD(sz)
{
	sz = replaceAll(sz,":", "_");
	sz = replaceAll(sz,"'", "_");
	sz = replaceAll(sz,"&amp;", "&");
	sz = replaceAll(sz," ", "_");
	sz = replaceAll(sz,"/", "_");
	sz = replaceAll(sz,"*", "_");
	sz = replaceAll(sz,"\\", "_");
	sz = replaceAll(sz,"?", "_");
	sz = replaceAll(sz,"/", "_");
	return sz;
}

function OnError()
{
//	alert("Error!");
event.returnValue=true;
}

//window.onerror = OnError;

function PageLoad()
{
	//All our docs will notify us when they have loaded.
	if (window == top)
	{
//		LoadNavigationWindow();
	//	document.location.replace("D:\\Proj32\\GamesUpSite\\Release\\index.htm#games+Adventure+Return_to_Krondor.html");
	}
	else
	if  (parent.document.title.indexOf("GamesUp.Com")==0)
	{
		parent.NotifyDocLoaded(document.title, document.location.href);
	}
	else
	{
//		alert(parent.document.title);
	}
}

function LoadNavigationWindow()
{
	var szBase=parent.document.location.href;
	var inx = szBase.lastIndexOf("/");
	szBase=szBase.substring(0,inx+1);
	parent.window.name="gamesupmainwnd";
	var nav=parent.window.open(szBase+"mininav.htm#"+document.title, "gamesupnavwnd", "toolbar=no,location=no,menubar=no,width=240,height=600")
	nav.focus();
	nav.NotifyDocLoaded(document.title, document.location.href);
}

function Goto(szHREF)
{
	if (QueryProblemSite(szHREF))
	{
		window.setTimeout('deferredGoto("'+szHREF+'")', 2000);
//		parent.document.location.href = szHREF;
	}
	else
	{
		document.location.href = szHREF;
	}
}

var g_szJumpURL = ""

function deferredGoto(szHREF)
{
//	parent.document.location.href = szHREF;
	var szBase=parent.document.location.href;
	var inx = szBase.lastIndexOf("/");
	szBase=szBase.substring(0,inx+1);
	g_szJumpURL = szHREF;
//	var szJumpUrl=szBase+"jumpout.htm#"+szHREF;
//	alert(szJumpUrl);
	var szJumpUrl=szBase+"jumpout.htm";
	var nav=window.open(szJumpUrl,"gameupext","height=500,width=800,menubar,status,toolbar,location,scrollbars,resizable");
}

function HGoto(szHREF) {WGo("http://"+szHRef);}

function CodeToURL(szCode)
{
	var szURL = "../../";
	if (szCode=="cat") szURL+="gamesup/category/";
	else if (szCode=="zfe") szURL+="gamesup/Features/";
	else if (szCode=="gac") szURL+="games/Action/";
	else if (szCode=="gad") szURL+="games/Adventure/";
	else if (szCode=="gar") szURL+="games/Arcade/";
	else if (szCode=="gch") szURL+="games/Children_s_Games/";
	else if (szCode=="gdr") szURL+="games/Driving/";
	else if (szCode=="gfl") szURL+="games/Flight/";
	else if (szCode=="gsi") szURL+="games/Simulation/";
	else if (szCode=="gsp") szURL+="games/Sport/";
	else if (szCode=="gst") szURL+="games/Star_Trek/";
	else if (szCode=="gsw") szURL+="games/Strategy_and_Wargaming/";
	else if (szCode=="gtr") szURL+="games/traditional/";
	else if (szCode=="gun") szURL+="games/Unknown/";
	else if (szCode=="idv") szURL+="industry/companies/";
	else if (szCode=="ihw") szURL+="industry/Hardware/";
	else if (szCode=="ipb") szURL+="industry/companies/";
	else if (szCode=="wgg") szURL+="internet/gaming/";
	else if (szCode=="wos") szURL+="internet/shopping/";
	else if (szCode=="wgi") szURL+="internet/general/";
	else if (szCode=="ser") szURL+="games/series/";
	return szURL;
}

function PageUnload()
{
	if  (parent.document.title.indexOf("GamesUp.Com")==0)
	{
		parent.NotifyDocUnloaded(document.title, document.location.href);
	}
	return;

	//To be worked out
	//All our docs will notify us when they have loaded.
	if  (parent.document.title == "GamesUp.com Concept Preview")
	{
		parent.NotifyDocUnloaded(document.title, document.location.href);
	}
	else
	{
//		alert(parent.document.title);
	}
}

function MakeHREF(szURL) {return "'javascript: Goto("+'"'+szURL+'")'+"'";}

function MakeLink(szURL, szTitle)
{
	var sz = '<A HREF='+MakeHREF(szURL)+'>'+szTitle;
	if (szURL.indexOf("http://") >= 0)
	{
		sz += '<IMG SRC="../../ui/ilinkd.gif" border=0>';
	}
	sz += '</A>';
	return sz;
}

function MakeShoppingLink(szURL, szTitle)
{
	var sz = '<A HREF='+szURL+' TARGET="_blank">'+szTitle;
	if (szURL.indexOf("http://") >= 0)
	{
		sz += '<IMG SRC="../../ui/ilinkd.gif" border=0>';
	}
	sz += '</A>';
	return sz;
}


function MakeLI(szClass,szURL,szTitle)
{
	return '<LI CLASS='+szClass+'>'+MakeLink(szURL, szTitle);
}
function MakeLIX(szClass,szTitle)
{
	return '<LI CLASS='+szClass+'>'+szTitle;
}

function MakeIconCell(szCode)
{
	var szCell='<TD CLASS=INFOICONCELL WIDTH=4%><IMG SRC="../../ui/' + szCode+'.gif"></TD>';
	return szCell; 
}


var szPageStart="";
var szPageEnd="";


function GetInfoIconFile(szWhat)
{
	if (szWhat == "Previews" || szWhat == "Reviews" || szWhat == "Hints" || szWhat == "Cheats")
		return "../../ui/drv.gif"
	if (szWhat == "game")
		return "../../ui/game.gif"
	if (szWhat == "book")
		return "../../ui/book.gif"
	return "../../ui/info16.gif"
}

function PLObj(szType)
{
	this.szType = szType;
	this.szInfo = "";
	this.szIconClass = "";
	this.szTypeClass = "";
	this.iInfoLinkCount=0;
}


var szRightText="";

function BeginDoc(szCategory,szTitle,szSubTitle)
{
	szPageStart='<TABLE CLASS=PAGETABLE WIDTH=550 CELLSPACING=0 CELLPADDING=4>';
	szPageStart+='\n<TR VALIGN=CENTER><TD COLSPAN=2><H1 VALIGN=CENTER><IMG WIDTH=32 HEIGHT=32 VALIGN=CENTER SRC="../../ui/x'+szCategory+'.gif">'+szTitle+'</H1></TD></TR>';
	szPageStart+='<TR CLASS=DESCTABLEHEAD><TD COLSPAN=2><H2>'+szSubTitle+'</H2></TD></TR>';
	szPageStart+='<TR CLASS=TABLEDESC><TD CLASS=DESCTEXT>';
}

function BeginDocGame(szCategory,szTitle,szSubTitle,szPublisher,szDeveloper)
{
	szPageStart='<TABLE CLASS=PAGETABLE WIDTH=550 CELLSPACING=0 CELLPADDING=4>';
	szPageStart+='\n<TR><TD COLSPAN=2 VALIGN=CENTER><H1><IMG WIDTH=32 HEIGHT=32 VALIGN=CENTER SRC="../../ui/x'+szCategory+'.gif">'+szTitle+'</H1></TD></TR>';
	
	if (szPublisher!="")
	{
		szSubTitle+=' <I><SMALL>from</SMALL></I> '+ MakeLink("../../industry/companies/"+convertSTD(szPublisher)+".html", szPublisher);
	}
	if (szDeveloper!="" && szDeveloper!=szPublisher)
	{
		if (szPublisher!="") szSubTitle+=",";
		szSubTitle+=' <I><SMALL>by</SMALL></I> '+MakeLink("../../industry/companies/"+convertSTD(szDeveloper)+".html",szDeveloper);
	}

	szPageStart+='<TR CLASS=DESCTABLEHEAD><TD COLSPAN=2><H2>'+szSubTitle+'</H2></TD></TR>';
	szPageStart+='<TR CLASS=TABLEDESC><TD CLASS=DESCTEXT>';
}

function BeginText()
{
	document.write(szPageStart);
}

var szRightText;
function EndText()
{
	szRightText = '</TD><TD><TABLE CLASS=DESCTABLEHEAD WIDTH=140 BORDER=1 RULES=NONE CELLPADDING=0>';
}

function BeginMoreText()
{
	document.write('<FORM ALIGN=RIGHT><INPUT CLASS=DESCTEXT ID=MOREBUTTON TYPE="Button" VALUE="More..." NAME="YY" OnClick="ShowMore();"></FORM>');
	if (bNS4)
	{
//		document.write('<LAYER ID="MORETEXT" NAME=MORETEXT VISIBILITY=HIDE BGCOLOR="#555555">');
//		document.write('<TABLE BORDER=1><TR><TD>');
	}
	else
	{
		document.write('<DIV ID="MORETEXTIE">');
	}

}

function EndMoreText()
{
	if (bNS4)
	{
//		document.write('</TD></TR></TABLE></LAYER>');
//		document.layers[0].document.write('</LAYER>');
	}
	else
	{
		document.write('</DIV>');
	}
}

function ShowMore()
{
	if (bNS4)
	{
//		alert(document.layers["MORETEXT"]);
//		document.layers["MORETEXT"].visibility="SHOW";
//		document.layers["MORETEXT"].pageY=200;
document.location.reload();
	}
	else
	{
		if (MORETEXTIE.style.display!="block")
		{
			MORETEXTIE.style.display="block";
		}
		else
		{
			MORETEXTIE.style.display="none";
		}

	}
}


function EndDocPreEnd()
{
	document.write(szSLs);
	szRightText+='</TABLE></TD></TR>';

	if ((!sGen.bUsed) &&
		(!sPSX.bUsed) &&
		(!sPS2.bUsed) &&
		(!sDC.bUsed) &&
		(!sN64.bUsed) &&
		(!sND.bUsed) &&
		(!sMAC.bUsed) &&
		(!sXB.bUsed) && 
		(szSLs=="") &&
		(document.title.indexOf("|Games|") != -1))
	{
		// Temp - add holding block for formatting if no items on page
		sDefault.bUsed = true;
		xxWriteStream(sDefault);
	}
	else
	{
		xxWriteStream(sGen);
		xxWriteStream(sXB);
		xxWriteStream(sPS2);
		xxWriteStream(sND);
		xxWriteStream(sMAC);
		xxWriteStream(sPSX);
		xxWriteStream(sDC);
		xxWriteStream(sN64);
	}

	document.write("<P>");

	xxWriteStream(sBKS);

	document.write("<P>");
	xxWriteStream(sNews);
	
	document.write(szPageEnd);
	document.write(szRightText);

	szPageEnd='\n<TR><TD COLSPAN=2><P CLASS=FOOTNOTE>';
	document.write(szPageEnd);
}


function EndDocEnd()
{
	szPageEnd='</TD></TR></TABLE>';
	document.write(szPageEnd);
}

function EndDoc(szFootnote)
{
	document.write(szSLs);
	szRightText+='</TABLE></TD></TR>';

if ((!sGen.bUsed) &&
	(!sPSX.bUsed) &&
	(!sPS2.bUsed) &&
	(!sDC.bUsed) &&
	(!sN64.bUsed) &&
	(!sND.bUsed) &&
	(!sMAC.bUsed) &&
	(!sXB.bUsed) && 
	(szSLs=="") &&
	(document.title.indexOf("|Games|") != -1))
{
	// Temp - add holding block for formatting if no items on page
	sDefault.bUsed = true;
	xxWriteStream(sDefault);
}
else
{
	xxWriteStream(sGen);
	xxWriteStream(sPSX);
	xxWriteStream(sPS2);
	xxWriteStream(sDC);
	xxWriteStream(sN64);
	xxWriteStream(sND);
	xxWriteStream(sMAC);
	xxWriteStream(sXB);
}

document.write("<P>");

xxWriteStream(sBKS);

document.write("<P>");
xxWriteStream(sNews);

	document.write(szPageEnd);
	document.write(szRightText);
	szPageEnd='\n<TR><TD COLSPAN=2><P CLASS=FOOTNOTE>'+szFootnote+'</TD></TR></TABLE>';
	document.write(szPageEnd);
}


function EndDocPage(szFootnote)
{
	document.write(szSLs);

	if ((!sGen.bUsed) &&
		(!sPSX.bUsed) &&
		(!sPS2.bUsed) &&
		(!sDC.bUsed) &&
		(!sN64.bUsed) &&
		(!sND.bUsed) &&
		(!sMAC.bUsed) &&
		(!sXB.bUsed) && 
		(szSLs=="") &&
		(document.title.indexOf("|Games|") != -1))
	{
		// Temp - add holding block for formatting if no items on page
		sDefault.bUsed = true;
		xxWriteStream(sDefault);
	}
	else
	{
		xxWriteStream(sGen);
		xxWriteStream(sPSX);
		xxWriteStream(sPS2);
		xxWriteStream(sDC);
		xxWriteStream(sN64);
		xxWriteStream(sND);
		xxWriteStream(sMAC);
		xxWriteStream(sXB);
	}

	document.write("<P>");

	xxWriteStream(sBKS);

	document.write("<P>");
	xxWriteStream(sNews);

	document.write(szPageEnd);
	document.write(szRightText);
}

function EndDocFinal(szFootnote)
{
	// End the related pages table
	document.write('</TABLE></TD></TR>');

	szPageEnd='\n<TR><TD COLSPAN=2><P CLASS=FOOTNOTE>'+szFootnote+'</TD></TR></TABLE>';
	document.write(szPageEnd);
}

function AddATitle(szTitle)
{
	szRightText+='<TR CLASS=DESCINFO><TD CLASS=DESCTYPECELL COLSPAN=2>'+szTitle+'</TD></TR>';
}

function AddACTitle(szTitle)
{
	szRightText+='<TR CLASS=DESCINFO><TD CLASS=DESCTYPECELL ALIGN=CENTER COLSPAN=2>'+szTitle+'</TD></TR>';
}

function AddALink(szTitle, szURL)
{
	szRightText+='\n<TR><TD WIDTH=20><IMG SRC="../../ui/d.gif" border=0></TD><TD CLASS=DESCTYPECELL>'+MakeLink(szURL,szTitle)+'</TD></TR>';
}


var szSLs="";
function BeginSLs(szTitle)
{
	szSLs+='<TABLE CLASS=TABLEDESC WIDTH=400 xWIDTH=100% CELLSPACING=2 RULES=NONE CELLPADDING=0 BORDER=1>';
	szSLs+='<TR CLASS=DESCTABLEHEAD><TD CLASS=DESCTYPECELL COLSPAN=2><H2>'+szTitle+'</H2></TD></TR>';
}

function EndSLs()
{
	szSLs+='</TABLE>';
}

function AddSL(szTitle, szURL)
{
	szSLs+='<TR CLASS=DESCINFO><TD CLASS=DESCICONCELL WIDTH=20><IMG SRC="../../ui/info16.gif"></TD>';
	szSLs+='<TD CLASS=DESCTYPECELL WIDTH=96%><B>'+MakeLink(szURL,szTitle)+'</B></TD></TR>';
}

function AddRawSL(szTitle)
{
	szSLs+='<TR CLASS=DESCINFORAW></TD>';
	szSLs+='<TD CLASS=DESCTYPECELL WIDTH=100% COLSPAN=2>'+szTitle+'</TD></TR>';
}


function AddSLGC(szTitle, szURL, szGameTitle, szCode, szCompany)
{

	szSLs+='<TR CLASS=DESCINFO><TD CLASS=DESCICONCELL WIDTH=20><IMG SRC="../../ui/info16.gif"></TD>';
	szSLs+='<TD CLASS=DESCTYPECELL WIDTH=96%><B>'+MakeLink(szURL,szTitle);
	szSLs+='</B>&nbsp;&nbsp;&nbsp;see [';
	
	if (szGameTitle != "")
	{	
		var szGameURL=CodeToURL(szCode)+convertSTD(szGameTitle)+".html";
		szSLs+='<A HREF='+MakeHREF(szGameURL)+">"+szGameTitle+'</A>';
	}

	if (szCompany!="")
	{	
		var szCompanyURL="../../industry/companies/"+convertSTD(szCompany)+".html";
		
		if (szGameTitle != "")
		{
			szSLs+=', ';
		}

		szSLs+=MakeLink(szCompanyURL, szCompany);
	}

	szSLs+=']</TD></TR>';
}


function AddSLGD(szGameTitle, szCode, szGameLinkTitle, szExternalLinkTitle, szExternalURL)
{
	//szSLs+='<TR CLASS=DESCINFO><TD CLASS=DESCICONCELL WIDTH=20><IMG SRC="../../ui/info16.gif"></TD>';
	szSLs+='<TR CLASS=DESCINFO>'+MakeIconCell(szCode);
	szSLs+='<TD CLASS=DESCTYPECELL WIDTH=96%>';
	
	var szGameURL=CodeToURL(szCode)+convertSTD(szGameTitle)+".html";
	szSLs+='<A HREF='+MakeHREF(szGameURL)+"><B>"+szGameLinkTitle+'</B></A>';
	szSLs += '&nbsp;&nbsp;at&nbsp;&nbsp;<I>'+MakeLink(szExternalURL,szExternalLinkTitle);
	szSLs += '</I></TD></TR>';
}


function BeginPLs(szTitle) {return BeginSLs(szTitle);}
function EndPLs(){return EndSLs();}

function AddPL(szTitle, szCode, szPublisher, szDeveloper)
{
	var szURL=CodeToURL(szCode)+convertSTD(szTitle)+".html";
	var szPublisherURL;var szDeveloperURL;
	if (szPublisher!="") szPublisherURL="../../industry/companies/"+convertSTD(szPublisher)+".html";
	if (szDeveloper!="") szDeveloperURL="../../industry/companies/"+convertSTD(szDeveloper)+".html";
	var sz = '<TR CLASS=TABLEINFO>'+MakeIconCell(szCode)+'<TD><A HREF='+MakeHREF(szURL)+"><B>"+szTitle+'</B></A>';
	if (szPublisher!="")
	{
		sz += ' <SMALL> - from</SMALL> '+ MakeLink(szPublisherURL, szPublisher);
	}
	if (szDeveloper!="")
	{
		if (szPublisher!="")
		{
			sz += ',';
		}
		sz += ' <SMALL>by</SMALL> '+MakeLink(szDeveloperURL, szDeveloper);
	}
	szSLs+=sz+'</TD></TR>\r\n';
}

function BeginWLs(szTitle) {return BeginSLs(szTitle);}
function EndWLs(){return EndSLs();}

function AddWL(szTitle, szLinkText, szURL)
{
	var sz = '<TR CLASS=TABLEINFO><TD COLSPAN=2>'+szTitle+': '+MakeLink(szURL, szLinkText)+'</TD></TR>\r\n';
	szSLs+=sz;
}

function BeginLLs(szTitle) {return BeginSLs(szTitle);}
function EndLLs(){return EndSLs();}

function AddLLE(szTitle, szCode, szURL)
{
	var sz = '<TR CLASS=TABLEINFO>'+MakeIconCell(szCode)+'<TD>' + MakeLink(szURL, szTitle)+'</TD></TR>\r\n';
	szSLs+=sz;
}

function BeginXLs(szTitle)
{
	szSLs+='<TABLE CLASS=TABLEDESC WIDTH=100% CELLSPACING=2 RULES=NONE CELLPADDING=0 BORDER=1>';
	szSLs+='<TR CLASS=DESCTABLEHEAD><TD CLASS=DESCTYPECELL COLSPAN=3><H2>'+szTitle+'</H2></TD></TR>';
}

function EndXLs(){return EndSLs();}

function AddXLT(szTitle)
{
	szSLs+='<TR CLASS=DESCTABLEHEAD><TD CLASS=DESCTYPECELL COLSPAN=3><H2>'+szTitle+'</H2></TD></TR>';
}
function AddXLI(szTitle, szCode, szInfo)
{
	var szURL=CodeToURL(szCode)+convertSTD(szTitle)+".html";
	var sz = '<TR CLASS=TABLEINFO>'+MakeIconCell(szCode)+'<TD>' + MakeLink(szURL, szTitle)+'</TD><TD>'+szInfo+'</TD></TR>\r\n';
	szSLs+=sz;
}

function AddTextBlock(szText)
{
	szSLs+='<TABLE CLASS=DESCINFO WIDTH=100% CELLSPACING=2 RULES=NONE CELLPADDING=0 BORDER=0>';
	szSLs+='<TR CLASS=DESCTABLEHEAD><TD CLASS=DESCTYPECELL>'+szText+'</TD></TR>';
	szSLs+='</TABLE>';
}

function AddImageBlock(szImageURL)
{
	szSLs+='<CENTER><IMG ALIGN=CENTER SRC="'+szImageURL+'"></CENTER>';
}

function AddImageLinkBlock(szImageURL, szLinkURL)
{
//!!Need to make an HREF
	szSLs+='<CENTER><IMG ALIGN=CENTER SRC="'+szImageURL+'"></CENTER>';
}

///////////////////////////////////////////////////////


function Stream(szType)
{
	this.bUsed = false;
	this.szType = szType;
	this.szIconClass = "";
	this.szTypeClass = "";
	this.szTableClass = "TABLE"+szType;
	this.szHeadClass = "HEAD"+szType;
	this.nPanels=0;
	var szTitle="PC and General Information"
	if (szType=="MAC") szTitle="Apple Macintosh";
	if (szType=="DC") szTitle="Sega Dreamcast";
	if (szType=="N64") szTitle="Nintendo 64";
	if (szType=="PSX")  szTitle="PlayStation";
	if (szType=="PS2")  szTitle="PlayStation2";
	if (szType=="ND")  szTitle="Nintendo Gamecube";
	if (szType=="XB")  szTitle="Xbox";
	if (szType=="BKS")  szTitle="Books";
	if (szType=="NEWS")  szTitle="News";
	this.szInfo='<TABLE WIDTH=100% CLASS='+this.szTableClass+' BORDER=1 CELLSPACING=1 RULES=NONE><TR>';
	this.szInfo+='<TR><TD COLSPAN=3 CLASS='+this.szHeadClass+'>'+szTitle+'</TD></TR><TR>';
}

var sGen=new Stream("PC");
var sMAC=new Stream("MAC");
var sDC=new Stream("DC");
var sN64=new Stream("N64");
var sPSX=new Stream("PSX");

var sPS2=new Stream("PS2");
var sXB=new Stream("XB");
var sND=new Stream("ND");

var sBKS=new Stream("BKS");

var sNews=new Stream("NEWS");

// Default used when no links at all - for formatting
var sDefault=new Stream("PC");
while(sDefault.nPanels < 3)
{
	InsertNullPanel(sDefault);
}

var szPanel="";

function xxBeginPanel(strm, szTableClass)
{
	strm.szInfo+='<TD><TABLE WIDTH=135 CLASS='+szTableClass+' BORDER=1 CELLSPACING=1 RULES=NONE>';
	strm.nPanels++;
	strm.bUsed = true;
}

function xDescText(strm, szText)
{
	strm.szInfo+='<TR><TD COLSPAN=3 CLASS="PLATDESC">' + szText + '<HR></TD></TR>';
	strm.bUsed = true;
}

function xxStartSubPanel(strm, szTableClass)
{
	strm.szInfo+='</TABLE><TABLE WIDTH=135 CLASS='+szTableClass+' BORDER=1 CELLSPACING=1 RULES=NONE>';
}

function xxEndPanel(strm)
{
	strm.szInfo+='</TABLE></TD>';
}

function InsertNullPanel(strm)
{
	strm.szInfo+='<TD WIDTH=135>&nbsp;</TD>';
	strm.nPanels++;

	//if (strm == sGen)
	//{
	//	strm.bUsed = true;
	//}
}

function xxBeginPanelDbl(strm, szTableClass)
{
	strm.szInfo+='<TD COLSPAN=2><TABLE WIDTH=270 CLASS='+szTableClass+' BORDER=1 CELLSPACING=1 RULES=NONE>';
	strm.nPanels+=2;
}
function xxBeginPanelTpl(strm, szTableClass)
{
	strm.szInfo+='<TD COLSPAN=3><TABLE WIDTH=405 CLASS='+szTableClass+' BORDER=1 CELLSPACING=1 RULES=NONE>';
	strm.nPanels+=3;
	strm.bUsed = true;
}


function xAH(strm, szHeading)
{
	strm.szInfo+='<TR CLASS=DESCINFO><TD CLASS=DESCTYPECELL COLSPAN=2>'+szHeading+'</TD></TR>';
}

function xAL(strm, szTitle, szURL)
{
	strm.szInfo+='\n<TR><TD WIDTH=4%><IMG SRC="../../ui/d.gif" border=0></TD><TD WIDTH=96% CLASS=DESCTYPECELL>'+MakeLink(szURL,szTitle)+'</TD></TR>';
}

function xALX(strm, szTitle, szIconCode, szURL)
{
	strm.szInfo+='\n<TR><TD WIDTH=4%><IMG SRC="../../ui/'+szIconCode+'.gif" border=0></TD><TD WIDTH=96% CLASS=DESCTYPECELL>'+MakeLink(szURL,szTitle)+'</TD></TR>';
}

function xALXX(strm, szTitle, szIconCode, szURL)
{
	strm.szInfo+='\n<TR><TD WIDTH=4%><IMG SRC="../../ui/'+szIconCode+'.gif" border=0></TD><TD WIDTH=96% CLASS=DESCTYPECELL>'+MakeShoppingLink(szURL,szTitle)+'</TD></TR>';
}

function xxAddShLink(strm,szTitle,szURL,icon) {return xALXX(strm,szTitle,icon,szURL);}

function xLAM(strm,szCode) {if (szCode.length == 9) szCode = "0" + szCode; xxAddShLink(strm,"Amazon.com", "http://www.amazon.com/exec/obidos/ASIN/"+szCode+"/gamesupcom","shoppn16");}
//function xLAM(strm,szCode) {if (szCode.length == 9) szCode = "0" + szCode; xxAddShLink(strm,"Amazon.com", "http://www.amazon.com/exec/obidos/redirect?tag=gamesupcom&path=tg/detail/-/"+szCode,"shoppn16");}
//function xLAU(strm,szCode) {if (szCode.length == 9) szCode = "0" + szCode; xxAddShLink(strm,"Amazon.co.uk", "http://www.amazon.co.uk/exec/obidos/ASIN/"+szCode+"/gamesupcom03","shoppneuro16");}
function xLAU(strm,szCode) {if (szCode.length == 9) szCode = "0" + szCode; xxAddShLink(strm,"Amazon.co.uk", "http://www.amazon.co.uk/exec/obidos/ASIN/"+szCode+"/ref=ase_gamesupcom03","shoppneuro16");}
function xLIB(strm,szCode) {xxAddShLink(strm,"iBS (UK)", "http://www.bookshop.co.uk/ser/serdsp.asp?shop=4424&isbn="+szCode+"&DB=224","shoppneuro16");}
function xLBB(strm,szCode) {xxAddShLink(strm,"Bookbuyer.Com", "http://www.bookbuyer.com/cgi-bin/link.cgi?url=http://www.bookbuyer.com/aisles/titles/"+szCode+".htm&affl_id=9318759291738233494","shoppn16");}
function xLBS(strm,szCode) {xxAddShLink(strm,"BRESoftware", "http://st3.yahoo.com/cgi-bin/clink?bre+TGaPxq+" + szCode+".html","shoppn16");}

function xLGU(strm,szCode) {xxAddShLink(strm,"Games Universe", "http://www.cduniverse.com/productinfo.asp?pid="+szCode+"&style=games&frm=lk_gamesup","shoppn16");}


function xLBY(strm,szCode) {xxAddShLink(strm,"Beyond.com", "http://www.beyond.com/AF51227/"+szCode+"/prod.htm","shoppn16");}
function xLGC(strm,szCode) {xxAddShLink(strm,"Game Cave", "http://www.gamecave.com/default.asp?source=YIRR&sku="+szCode,"shoppn16");}
function xLGP(strm,szCode) 
{
	var szLink = "http://www.gamesparadise.com/ser/serdsp.asp?shop=4727&isbn="+szCode;
	
	if (szCode.indexOf("&DB=") == -1)
	{
		szLink+="&DB=620";
	}

	xxAddShLink(strm,"Games Paradise",szLink,"shoppneuro16");
}

function xLEB(strm,szCode) 
{
	// Dummy until we sort out EB affiliate
}


function xLEBG(strm,szCode) {xxAddShLink(strm,"EBGames.com<IMG border=0 alt=icon width=1 height=1 src='http://ad.linksynergy.com/fs-bin/show?id=H2qA/vDQnDE&amp;bids=13850&amp;type=2&amp;subid=0'>", "http://click.linksynergy.com/fs-bin/click?id=H2qA/vDQnDE&amp;offerid=13850."+szCode+"&amp;type=2&amp;subid=0","shoppn16");}
function xLGS(strm,szCode)
{
	var i = szCode.indexOf('=');
	if (i!=-1)
	{
		szCode = szCode.substr(i+1);
	}
	var szLink='<IMG SRC="http://service.bfast.com/bfast/serve?bfmid=1375281&siteid=39970384&bfpid='+szCode + '&bfmtype=products" BORDER="0" WIDTH="1" HEIGHT="1" NOSAVE >';
	szLink = 'http://service.bfast.com/bfast/click?bfmid=1375281&siteid=39970384&bfpid='+szCode+'&bfmtype=products';


xxAddShLink(strm,'GameStop<IMG SRC="http://service.bfast.com/bfast/serve?bfmid=1375281&siteid=39970384&bfpid='+szCode + '&bfmtype=products" BORDER="0" WIDTH="1" HEIGHT="1" NOSAVE >', szLink,"shoppn16");
}

function xLOP(strm,szCode) {xxAddShLink(strm,"Outpost<IMG border=0 alt=icon width=1 height=1 src='http://ad.linksynergy.com/fs-bin/show?id=BYbOIu/nA04&bids=2161&type=2&subid=0'>", "http://click.linksynergy.com/fs-bin/stat?id=BYbOIu/nA04&offerid=2161&type=2&subid=0&lssku="+szCode,"shoppn16");}
function xLSH(strm,szCode) {}
//function xLSH(szCode) {xL("Shoplet", "http://www.shoplet.com/link.xgi?url=http://www.shoplet.com/cdrom/db/"+szCode+".html&affl_id=9318759291738233494","shoppn16");}

function xLEX(strm,szCode) 
{
	var szCat;
	var szProductNumber;

	var szKey = "CATALOG=";
	var i = szCode.indexOf(szKey);

	if (i == -1)
	{
		return;
	}

	szCode = szCode.substr(i+szKey.length);

	i = szCode.indexOf(':');

	if (i == -1)
	{
		return;
	}

	szCat = szCode.substr(0, i);
	szCode = szCode.substr(i+1);

	szKey = "PRODUCTNUMBER=";
	i = szCode.indexOf(szKey);

	if (i == -1)
	{
		return;
	}

	szProductNumber = szCode.substr(i+szKey.length, szCode.length);

	var szLink = "http://click.linksynergy.com/fs-bin/stat?id=BYbOIu/nA04&offerid=7845&type=2&subid=0&lsnstapp=%26url";
	szLink += "%3D/consumer/products%255Fgames%255Ffr%252Easp%2526NO%255FCATALOG%253D";
	szLink += szCat;
	szLink += "%2526PRODUCTNUMBER%253D";
	szLink += szProductNumber;
	
	var szName = "Express.com";
	szName += '<IMG border=0 alt=icon width=1 height=1 src="http://ad.linksynergy.com/fs-bin/show?id=BYbOIu/nA04&bids=7845&type=2&subid=0">';

	xxAddShLink(strm, szName, szLink, "shoppn16");
}


function xxWriteStream(strm)
{
	if (strm.nPanels!=0 && strm.bUsed)
	{
		while (strm.nPanels < 3)
		{
			InsertNullPanel(strm);
		}
		strm.szInfo+='</TR></TABLE>';
		document.write(strm.szInfo);

		document.write("<P>");
	}
}

