//=====================================================================||
//                JavaScript eBay Module			                   ||
//                                                                     ||
//---------------------------------------------------------------------||

htmlData = "";
tblFeedback = 31;
tblAuction = 14;
tblOverall = 10;
tblScore  = 12;
tblRating = 17;

ntlIP = "81.101.39.218";

cgiServerURL = "http://www.smegsite.co.uk/albionbears/cgi-bin/";

//---------------------------------------------------------------------||

function forcePageLoad()
{
	var dom = "";
	
	if(top.location == self.location)
	{
		if(!isLocal())
		{
			if(document.domain.indexOf("smegsite",0) != -1)
			{
				dom = "http://" + document.domain + "/albionbears/";
			}
			else if(document.domain.indexOf(ntlIP) != -1)
			{
				dom = "http://"+ntlIP+"/albionbears/";
			}	
			else
			{
				dom = "http://" + document.domain + "/";
			}
			self.location.replace(dom+"auctions.htm");
		}
	}
}

//---------------------------------------------------------------------||

function getDomain()
{
	var dom = "";
	if(!isLocal())
	{
		if(document.domain.indexOf("smegsite",0) != -1)
		{
			dom = "http://" + document.domain + "/albionbears/";
		}
		else if(document.domain.indexOf(ntlIP) != -1)
		{
		dom = "http://"+ntlIP+"/albionbears/";
		}	
		else
		{
			dom = "http://" + document.domain + "/";
		}
	}
	else
	{
		dom = "http://127.0.0.1/albionbears/";
	}
	return dom;
}

//---------------------------------------------------------------------||

function getFeedbackTable( htmlData , tblRows )
{
	if((htmlTab = getTable( htmlData , tblFeedback , false )) == "") return "";

	htmlTabUpper = htmlTab.toUpperCase();
	
	tblRows += 2;
	
	idxStart = -1;
	for( i = 0 ; i < 4 ; i++) {
		idxStart = htmlTabUpper.indexOf("<TR",idxStart + 1);
	}		
	
	htmlOut = "";
	online = 0;
	do {
		idxStart = htmlTabUpper.indexOf("<TR",idxStart + 1);
		idxEnd = htmlTabUpper.indexOf("</TR",idxStart);
		if((online % 3) == 0)
		{
			htmlOut += htmlTab.substring(idxStart-1,idxEnd + 5)+"\n";
			tblRows--;
		}
		online++;
	} while(tblRows > 0);
	


	htmlOut = doChange( htmlOut , '<font face="Arial, Helvetica, sans-serif" size="-1">' , '' );
	htmlOut = doChange( htmlOut , '<font face="Arial, Helvetica, sans-serif" size="-2">' , '' );
	htmlOut = doChange( htmlOut , "Seller" , "" );
	htmlOut = doChange( htmlOut , "Buyer" , "" );
	htmlOut = doChange( htmlOut , "</font>" , "" );
	htmlOut = doChange( htmlOut , 'align="absmiddle"' , 'align="top"' );
	htmlOut = doChange( htmlOut , 'height="25" width="25"' , 'height="16" width="16"' );
	htmlOut = doChange( htmlOut , 'height="20" width="20"' , 'height="16" width="16" align="top"' );
	htmlOut = doChange( htmlOut , 'tr bgcolor="#E6E6E6"' , 'tr' );
	htmlOut = doChange( htmlOut , '<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">' , '');
	htmlOut = doChange( htmlOut , '<tr>\r\n<td width=\"100%\" colspan=\"4\">' , '');
	htmlOut = doChange( htmlOut , 'width=\"241\"' , 'width=150');
	htmlOut = doChange( htmlOut , 'width=\"200\"' , 'width=140');
	htmlOut = doChange( htmlOut , 'width=\"70%\"' , 'width=35%');

	htmlTab = "<TABLE style=\"padding:0px; border-collapse: collapse; font-family: Comic Sans MS; font-size: 9pt; letter-spacing: -0.5pt\">" +
				htmlOut + "</TABLE>";

	return setMaxWidth(setLinks( htmlTab ));	
	
}

/* --------------------------------------------------------------- */

function getAuctionTable( htmlData , tblRows)
{
	htmlRow = "";
	htmlTab = "<TABLE style=\"padding:0px; border-collapse: collapse; font-family: Comic Sans MS; font-size: 10pt; letter-spacing: -0.5pt\">";
	for(rw = 0 ; rw < tblRows ; rw++)
	{
		htmlRw = getTable( htmlData , tblAuction + rw * 3 , true);
		htmlRw = doChange( htmlRw , 'tr bgcolor="#ffffff"' , 'tr' );
		htmlRw = doChange( htmlRw , 'tr bgcolor="#efefef"' , 'tr' );
		htmlRw = doChange( htmlRw , '</b>' , '' );
		htmlRw = doChange( htmlRw , '<b>' , '' );
		htmlRow += htmlRw;
	}

	if(htmlRow == "")
	{
		return "<div align=center><p>" +
			   "<font face=\"Comic Sans MS\"><br>" + 
			   "<img border=\"0\" src=\"images/smicon.gif\" width=\"48\" height=\"46\" align=\"absmiddle\"> "+
			   "<b><font color=\"#800080\" size=\"4\">I</font></b><font color=\"#4F5B75\">'m, sorry " + 
			   "but I have no bears for auction at <img border=\"0\" src=\"images/oanimebay3.gif\"  align=\"absmiddle\">" +
			   "for the moment <br> Please try again soon!<br><br>" +
			   "<b><font color=\"#800080\" size=\"4\">T</font></b><font color=\"#4F5B75\">" +
			   "o see the bears I have in the Albion Bears online shop please click <a " +
			   "title=\"Vist the Albion Bears online shop\" href=\"javascript:doURL('teddybear.htm')\">" +
			   "<font color=\"#4F5B75\">here</font></a>&nbsp;" +
			   "<img border=\"0\" src=\"images/smicon.gif\" width=\"48\" height=\"46\" align=\"absmiddle\"> "+
			   "</font></div>" ;
	}

	htmlTab += (htmlRow + "</TABLE>");

	return setLinks(htmlTab);

}

/* --------------------------------------------------------------- */

function getRatingTable( htmlData )
{
	htmlTab = getTable( htmlData , tblRating , false);
	if((idxStart = htmlTab.indexOf(">",0)) != -1)
	{
		htmlTab = htmlTab.substring(0,idxStart) +
		" style =\"padding:0px; border-collapse: collapse; font-family: Comic Sans MS; font-size: 9pt; letter-spacing: -0.5pt\"" +
		htmlTab.substring(idxStart);
	}
	
	overall = getTable( htmlData , tblOverall , false );
	if((idxStart = overall.indexOf(">",0)) != -1)
	{
		overall = overall.substring(0,idxStart) +
		" style =\"padding:0px; border-collapse: collapse; font-family: Comic Sans MS; font-size: 9pt; letter-spacing: -1.0pt\"" +
		overall.substring(idxStart);
		if((idxStart = overall.indexOf("suebears62",0)) != -1)
		{
			overall = overall.substring(0,idxStart) +
			"<a href=\"javascript:doURL('http://contact.ebay.co.uk/ws1/eBayISAPI.dll?ReturnUserEmail&amp;requested=suebears62&amp;frm=366')\">" +
			overall.substring(idxStart,idxStart + 11) + "</a>" +
			overall.substring(idxStart + 11);
			idxStart = overall.indexOf("suebears62",0);
			idxStart = overall.indexOf("(",idxStart);
			idxEnd   = overall.indexOf("<",idxStart);
			overall = overall.substring(0,idxStart + 1) +
			"<a href=\"javascript:doURL('http://cgi2.ebay.co.uk/aw-cgi/eBayISAPI.dll?ViewFeedback&userid=suebears62')\">" +
			overall.substring(idxStart+1,idxEnd) + "</a>" +
			overall.substring(idxEnd);
		}
	}
	overall = doChange( overall , 'Member Profile:' , '' );
	
	rating = getTable( htmlData , tblScore , false );
	if((idxStart = rating.indexOf("Positive Feedback",0)) != -1)
	{
		idxStart = rating.indexOf("<td",idxStart);
		idxEnd = rating.indexOf("</td",idxStart);
		rating = rating.substring(idxStart,idxEnd) + "</td>";
		idxStart = rating.indexOf("<b>",0);
		rating = rating.substring(0,idxStart+3)+"&nbsp;&nbsp;Feedback: "+rating.substring(idxStart+3);
	}
	else
	{
		reting = "<td></td>";
	}
	rating = doChange( rating , 'top' , 'middle' );
	
	idxStart = overall.indexOf("</td>",0);
	overall = overall.substring(0,idxStart+5)+rating+overall.substring(idxStart+5);
	overall = doChange( overall , '<b>' , '' );
	overall = doChange( overall , '</b>' , '' );
	overall = doChange( overall , 'face="Arial, Helvetica, sans-serif"' , '' );
	overall = doChange( overall , '<font >' , '' );
	overall = doChange( overall , '</font>' , '' );

	htmlTab += overall;
	
	htmlTab = doChange( htmlTab , 'face="Arial, Helvetica, sans-serif"' , '' );
	htmlTab = doChange( htmlTab , 'Past<br>' , 'Past ' );
	htmlTab = doChange( htmlTab , 'Past 6' , '6' );
	htmlTab = doChange( htmlTab , 'Past 12' , '12' );
	htmlTab = doChange( htmlTab , 'Past Month' , '1 Month' );
	htmlTab = doChange( htmlTab , 'Feedback:' , ' ' );
	htmlTab = doChange( htmlTab , '15%' , '10%' );
	
	return htmlTab;
	
}

/* --------------------------------------------------------------- */

function getTable( htmlData , tblNum , isAuction )
{
	htmlUpper = htmlData.toUpperCase();
	
	idxStart = -1;
	for( i = 0 ; i <= tblNum ; i++) {
		idxStart = htmlUpper.indexOf("<TABLE",idxStart + 1);
	}
	
	if(idxStart == -1) return "";
	
	idxTest = idxStart ;
	nestLevel = 0;
	
	do {
		idxEnd = htmlUpper.indexOf("</TABLE",idxTest);
		idxTest = htmlUpper.indexOf("<TABLE",idxTest + 1);
		nestLevel += (idxTest < idxEnd && idxTest != 0) ? 1 : -1;
	} while(nestLevel != -1);
		
	if(idxEnd == -1) return "";

	
	htmlRet = htmlData.substring(idxStart,idxEnd + 8);
	
	if(isAuction)
	{
		if((idxTest = htmlUpper.indexOf("</SPAN",idxEnd)) != -1)
		{
			if((itm = getItem(htmlRet)) == "") return "";
		
			htmlRet += htmlData.substring(idxEnd + 8,idxTest + 6) + "></td>"
			htmlRet += ("<td><a title=\"Bid for this bear!\" href=\"javascript:doURL('http://signin.ebay.co.uk/ws1/eBayISAPI.dll?MfcISAPICommand=MakeBid&item=" + itm + 
					    "&co_partnerid=&maxbid=')\">" + "  <img border=\"0\" src=\"images/obid.gif\" width=\"83\" height=\"22\"></a></td></tr>");
			htmlRet = htmlRet.substring(htmlRet.indexOf("<tr",0));
		}
		else
		{
			return "";
		}
	}
	
	
	htmlRet = doChange( htmlRet , "~dq~" , '"');
	htmlRet = doChange( htmlRet , "~sq~" , "'");
	htmlRet = doChange( htmlRet , "~cr~" , "\r");
	htmlRet = doChange( htmlRet , "~lf~" , "\n");
	
	return htmlRet;
}

/* --------------------------------------------------------------- */

function doChange( istr , fstr , rstr)
{
	do {
		if((p = istr.indexOf(fstr)) != -1)
		{
			istr = istr.substring(0,p) + rstr + istr.substring(p+fstr.length,istr.length) ;
		}
	} while (p != -1) ;
	
	return istr;
}
						
/* --------------------------------------------------------------- */

function getItem( htmlRow )
{
	var item = "";
	
	if((ist = htmlRow.indexOf(";item=",0)) != -1)
	{
		if((ien = htmlRow.indexOf("~>",ist)) != -1)
		{
			bit = htmlRow.substring(ist,ien);
			for(pos = 0 ; pos < bit.length ; pos++)
			{
				ch = bit.charAt(pos);
				if(ch >= '0' && ch <= '9')
				{
					item += ch;
				}
			}			
		}
	}
	return item;
}
	
/* --------------------------------------------------------------- */

function showFeedbackTable( tblRows )
{
	document.write(getFeedbackTable( htmlData , tblRows ));
	document.close();
}

/* --------------------------------------------------------------- */

function showAuctionTable( tblRows )
{
	document.write(getAuctionTable( htmlData , tblRows ));
	document.close();
}

/* --------------------------------------------------------------- */

function showRatingTable( tblRows )
{
	document.write(getRatingTable( htmlData ));
	document.close();
}

/* --------------------------------------------------------------- */

function setSource( cgiFile )
{
	if(isLocal())
	{
		document.getElementById("cgiscript").src = "http://127.0.0.1/albionbears/cgi-bin/" + cgiFile;
	}
	else
	{
		document.getElementById("cgiscript").src = cgiServerURL + cgiFile;
	}
}

/* --------------------------------------------------------------- */

function setFeedbackSource()
{
	setSource( "feedback.pl" );
}

/* --------------------------------------------------------------- */

function setAuctionSource()
{
	setSource( "auctions.pl" );
}

/* --------------------------------------------------------------- */

function setRatingSource()
{
	setSource( "rating.pl" );
}

/* --------------------------------------------------------------- */

function isLocal( dom )
{
	return (document.domain == "" || document.domain == "127.0.0.1" || document.domain == "localhost" || document.domain == "charon");
}

/* --------------------------------------------------------------- */

function setLinks( htmlData )
{
	idxStart = 0;
	do {
		if((idxNext = htmlData.indexOf("<a href=\"",idxStart)) != -1)
		{
			if((idxEnd = htmlData.indexOf("\"",idxNext + 9)) != -1)
			{
				htmlData = htmlData.substring(0,idxNext + 8) + "\"javascript:doURL('" +
				           htmlData.substring(idxNext + 9,idxEnd) + "')" +
				           htmlData.substring(idxEnd);
			}
		}
		idxStart = idxNext + 1;
	} while(idxNext != -1);
	
	return htmlData;
}
		
/* --------------------------------------------------------------- */

function setMaxWidth( htmlData )
{
	idxStart = 0;
	do {
		if((idxNext = htmlData.indexOf("align=\"left\" valign=\"top\"",idxStart)) != -1)
		{
			if((idxEnd = htmlData.indexOf("</td",idxNext)) != -1)
			{
				if(idxEnd - idxNext > 50)
				{
					htmlData = htmlData.substring(0,idxNext + 50) + " ..." + htmlData.substring(idxEnd);
				}
			}
		}
		idxStart = idxNext + 1;
	} while(idxNext != -1);
	return htmlData;
}
		
/* --------------------------------------------------------------- */

function doURL( url )
{
	window.parent.location = url;
}

/* --------------------------------------------------------------- */

function makeFrame( file , topmar )
{
	document.write("<iframe marginheight=" + topmar + " src=\"" + getDomain() + file +"\" height=100% width=100% scrolling=no frameborder=no>I'm sorry but your browser doesn't support iframes</iframe>");
}

/* --------------------------------------------------------------- */

function makeFeedbackFrame()
{
	makeFrame( "feedback.htm" , 5 );
}

/* --------------------------------------------------------------- */

function makeAuctionFrame()
{
	makeFrame( "current.htm" , 0 );
}

/* --------------------------------------------------------------- */

function makeRatingFrame()
{
	makeFrame( "rating.htm" , 5 );
}

/* --------------------------------------------------------------- */

function doLoad() 
{
	if (document.getElementById) {  
		document.getElementById('hidepage').style.visibility = 'hidden';
	}
	else {
		if (document.layers) {  // Netscape 4
			document.hidepage.visibility = 'hidden';
		}
		else {  
			document.all.hidepage.style.visibility = 'hidden';
		}
	}
}

/* --------------------------------------------------------------- */
