Source Code for http://www.brettb.com/js_banner_ad_rotator.asp
<html>
<head>
<title>A JavaScript Banner Ad Rotator Script</title>
<link REL="stylesheet" HREF="BrettbDotCom.css" TYPE="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="description" content="JavaScript banner ad rotator script">
<meta name="keywords" content="javascript, banner, free script, advert, rotator, ad">
<script language="javascript"><!--
//JavaScript Banner Ad Rotator version 2.1 - last modified 16 November 2000
//Obtained from http://www.brettb.com/js_banner_ad_rotator.asp
//User defined variables - change these variables to alter the behaviour of the script
var ImageFolder = "images"; //Folder name containing the images
var ImageFileNames = new Array('AmazonAd1_anim.gif', 'ASPDocumentationToolBannerAd3.gif', 'AmazonAd2_anim.gif', 'WinnershTriangleWebSolutions_BannerAd.gif'); //List of images to use
var ImageURLs = new Array('redirector.asp?URL=http://www.amazon.com/exec/obidos/redirect?tag=brettbcom&path=subst/home/home.html&FROM=http://www.brettb.com/js_banner_ad_rotator.asp', 'redirector.asp?URL=http://www.winnershtriangle.com/w/Products.ASPDocumentationTool.asp&FROM=http://www.brettb.com/js_banner_ad_rotator.asp', 'http://www.amazon.com/exec/obidos/redirect?tag=brettbcom&path=subst/home/home.html&FROM=http://www.brettb.com/js_banner_ad_rotator.asp', 'redirector.asp?URL=http://www.winnershtriangle.com/w/&FROM=http://www.brettb.com/js_banner_ad_rotator.asp'); //List of hyperlinks associated with the list of images
var DefaultURL = 'redirector.asp?URL=http://www.amazon.com/exec/obidos/redirect?tag=brettbcom&path=subst/home/home.html&FROM=http://www.brettb.com/js_banner_ad_rotator.asp'; //Default hyperlink for the Banner Ad
var DisplayInterval = 5; //Number of seconds to wait before the next image is displayed
var TargetFrame = "_blank"; //Name of the frame to open the hyperlink into
//Internal variables (do not change these unless you know what you are doing)
var IsValidBrowser = false;
var BannerAdCode = 0;
var BannerAdImages = new Array(NumberOfImages);
var DisplayInterval = DisplayInterval * 1000;
var NumberOfImages = ImageFileNames.length;
//A dd a trailing forward slash to the ImageFolder variable if it does not already have one
if (ImageFolder.substr(ImageFolder.length - 1, ImageFolder.length) != "/" && ImageFolder != "") { ImageFolder += "/";
}
if (TargetFrame == '') {
var FramesObject = null;
} else {
var FramesObject = eval('parent.' + TargetFrame);
}
//Function runs when this page has been loaded and does the following:
//1. Determine the browser name and version
// (since the script will only work on Netscape 3+ and Internet Explorer 4+).
//2. Start the timer object that will periodically change the image displayed
// by the Banner Ad.
//3. Preload the images used by the Banner Ad rotator script
function InitialiseBannerAdRotator() {
//Determine the browser name and version
//The script will only work on Netscape 3+ and Internet Explorer 4+
var BrowserType = navigator.appName;
var BrowserVersion = parseInt(navigator.appVersion);
if (BrowserType == "Netscape" && (BrowserVersion >= 3)) {
IsValidBrowser = true;
}
if (BrowserType == "Microsoft Internet Explorer" && (BrowserVersion >= 4)) {
IsValidBrowser = true;
}
if (IsValidBrowser) {
TimerObject = setTimeout("ChangeImage()", DisplayInterval);
BannerAdCode = 0;
for (i = 0; i < NumberOfImages; i++) {
BannerAdImages[i] = new Image();
BannerAdImages[i].src = ' ' + ImageFolder + ImageFileNames[i];
}
}
}
//Function to change the src of the Banner Ad image
function ChangeImage() {
if (IsValidBrowser) {
BannerAdCode = BannerAdCode + 1;
if (BannerAdCode == NumberOfImages) {
BannerAdCode = 0;
}
window.document.bannerad.src = BannerAdImages[BannerAdCode].src;
TimerObject = setTimeout("ChangeImage()", DisplayInterval);
}
}
//Function to redirect the browser window/frame to a new location,
//depending on which image is currently being displayed by the Banner Ad.
//If Banner Ad is being displayed on an old browser then the DefaultURL is displayed
function ChangePage() {
if (IsValidBrowser) {
if (TargetFrame != '' && (FramesObject)) {
FramesObject.location.href = ImageURLs[BannerAdCode];
} else {
document.location = ImageURLs[BannerAdCode];
}
} else if (!IsValidBrowser) {
document.location = DefaultURL;
}
}
// --></script>
</head>
<body onload="InitialiseBannerAdRotator()">
<script language="JavaScript">
function SubmitHeaderSearchForm() {
document.FormSubmitHeaderSearch.submit();
}
</script>
<div align="center"><table border="0" cellpadding="0" cellspacing="0" width="800"
style="border: 1px solid rgb(0,0,0)">
<tr>
<td width="167"><a href="Default.asp" title="Brettb.Com (Back to Home Page)"><img src="Images/BrettbDotCom_Logo.jpg" width="167" height="72"
alt="Brettb.Com" border="0"></a></td>
<td width="633"><img src="HeaderImages/Fluroescent-Tubes.jpg" width="633" height="72" alt=""></td>
</tr>
</table><table border="0" cellpadding="0" width="802" bgcolor="#DD3333"
style="border-left: 1px solid rgb(0,0,0); border-right: 1px solid rgb(0,0,0); border-top: 1px none rgb(0,0,0); border-bottom: 1px solid rgb(0,0,0)">
<tr>
<td class="TDHeader" valign="middle" align="left"> <a href="Default.asp"
title="HOME">HOME</a> | <a href="web.asp" title="ABOUT ME">ABOUT ME</a> | <a
href="Biotechnology.asp" title="BIOTECHNOLOGY">BIOTECHNOLOGY</a> | <a
href="technicalwriting.asp" title="ARTICLES">ARTICLES</a> | <a
href="DeveloperTools.asp" title="DEVELOPER TOOLS">TOOLS</a> | <a href="Gallery.asp"
title="GALLERY">GALLERY</a> | <a href="contact.asp" title="CONTACT">CONTACT</a></td>
<form method="POST" action="SearchResults.asp" name="FormSubmitHeaderSearch"><td align="right" class="TDHeader" valign="middle">Search: <input type="text" name="query"
size="20" maxlength="100"> <a href="javascript:SubmitHeaderSearchForm();">Go</a></td></form>
</tr>
</table>
</center></div>
<div align="center"><center>
<table border="0" cellpadding="8" cellspacing="0" width="802"
style="border-left: 1px solid rgb(0,0,0); border-right: 1px solid rgb(0,0,0)">
<tr>
<td bgcolor="#E0E0E0" width="151" valign="top" align="left" class="TDLeftPanel" nowrap><strong><a href="DeveloperTools.asp" title="DEVELOPER TOOLS">DEVELOPER TOOLS</a><br>
</strong> <a href="ASPDocumentationTool.asp" title="ASP Documentation Tool">ASP Doc
Tool</a><br>
<a href="ASPNetDocumentationTool.asp" title="ASP.NET Documentation Tool">ASP.NET Doc
Tool</a><br>
<a href="http://www.winnershtriangle.com/w/Products.SQLDocumentationTool.asp" title="SQL Documentation Tool" target="_blank">SQL Doc
Tool</a><br>
<a href="IndexServerCompanion.asp" title="Index Server Companion">Index Server
Companion</a><br>
<a href="TheWebsiteUtility.asp" title="The Website Utility">The Website Utility</a><p><strong>TECHNICAL
ARTICLES <br>
</strong> <a href="ASPWatchArticles.asp" title="ASP Articles">ASP</a><br>
<a href="ASP.NETArticles.asp" title="ASP.NET Articles">ASP.NET</a><br>
<a href="JavaScriptArticles.asp" title="JavaScript Articles">JavaScript</a><br>
<a href="SQL_Help.asp" title="Transact SQL Articles">Transact SQL</a></p>
<p><strong>PHOTO GALLERIES</strong><br>
<a href="CanonEOS300D_Gallery1.asp" title="Canon EOS 300D Samples">Canon EOS 300D
Samples</a><br>
<a href="Red_Arrows_2004.asp" title="Red Arrows 2004">Red Arrows 2004</a><br>
<a href="Living_Coasts_Photos.asp" title="Living Coasts">Living Coasts</a><br>
<a href="backgrounds.asp" title="Web Page Backgrounds">Web Page Backgrounds</a><br>
<a href="gallery.asp" title="More Galleries...">More Galleries...</a></p>
<p><strong>NEW STUFF</strong><br>
<a href="TransactSQLColorCoder.asp" title="Transact SQL Color Coder">SQL Color Coder</a><br>
<a href="CanonEOS300D_Gallery3.asp" title="Canon EOS 300D Samples">Canon EOS 300D
Samples</a><br>
<a href="TheWebsiteUtility.asp" title="The Website Utility">The Website Utility</a><br>
<a href="Website_Search_Engine_Optimisation.asp" title="Useful Search Engine Optimization Techniques">Search Engine Optimisation</a><br>
<a href="BuildingAnASPSearchEngine.asp" title="Creating an ASP Search Engine for your Website">Build an ASP Search Engine</a><br>
<a href="MyTropicalFishtank.asp" title="My Tropical Freshwater Fishtank">My Tropical Fishtank</a><br>
<a href="Investments_ISAs.asp" title="Savings & Investments">Savings & Investments</a><br>
<a href="what's_new.asp" title="What's New?">Other New Stuff...</a></p>
<p><strong>POPULAR STUFF</strong><br>
<a href="VBScriptRegularExpressions.asp" title="VBScript Regular Expressions">Regular
Expressions</a><br>
<a href="ASPDocumentationTool.asp">ASP Documentation Tool</a><br>
<a href="SearchingIndexServerWithASP.asp" title="Index Server & ASP">Index
Server & ASP</a><br>
<a href="js_banner_ad_rotator.asp" title="JavaScript Banner Ad Rotator">JavaScript Ad Rotator</a></p>
<p><strong>LINKS</strong><br>
<a href="http://www.winnershtriangle.com/w/Default.asp" title="Business Website"
target="_blank">Business Website</a><br>
<a href="http://authors.aspalliance.com/brettb/" title="ASPAlliance Articles"
target="_blank">ASPAlliance Articles</a><br>
</p>
<p><img alt="Microsoft Certified Professional"
src="images/MCP_c_smaller.gif" width="151" height="38"></p>
<p align="center">
<script type="text/javascript"><!--
google_ad_client = "pub-7044749527879330";
google_alternate_color = "FFFFFF";
google_ad_width = 120;
google_ad_height = 90;
google_color_border = "000000";
google_color_bg = "DDDDDD";
google_color_link = "FF0000";
google_color_url = "DD3333";
google_color_text = "CCCCCC";
google_ad_format = "120x90_0ads_al_s";
google_ad_channel ="6714185213";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</p>
<p align="center">
<SCRIPT type='text/javascript' language='JavaScript' src='http://xslt.alexa.com/site_stats/js/s/a?amzn_id=brettbcom&url=www.brettb.com'></SCRIPT>
</p>
</td>
<td width="551" valign="top" align="left">
<p><a href="Default.asp" title="Home">Home</a> > <a href="technicalwriting.asp"
title="Articles">Articles</a></p>
<h1>A JavaScript Banner Ad Rotator Script</h1>
<p align="left">This script was written to address some of the shortcomings of some other
methods for creating rotating banner advertisements "Banner Ads", namely:</p>
<ul>
<li><p align="left">The Banner Ad Manager that comes with Microsoft FrontPage uses Java to
create a banner that changes on the page. This has the problem that it takes a few seconds
for the Java Applet to load, and each image in the sequence cannot point to a different
URL. </p>
</li>
<li><p align="left">The Ad Rotator Active Server Component of Microsoft's Internet
Information Server can insert a random image on a page, with each image pointing to an
appropriate URL. But each Ad can only display a single image each time the page is loaded.
</p>
</li>
</ul>
<p align="left">The script described here addresses both problems. It displays a different
image after a specific amount of time, and clicking on each of the images in the sequence
will take you to a different URL. An example banner can be viewed below: </p>
<p align="center"><a href="javascript:ChangePage()"><img src="images/AmazonAd1_anim.gif"
alt="Banner Advertisement" border="0" hspace="0" name="bannerad" WIDTH="400" HEIGHT="52"></a>
</p>
<h2 align="left">Adding the script to a page</h2>
<p align="left">There are several requirements for this script: </p>
<p align="left">You need several, identically sized images. The images can be in any
format supported by browsers (i.e. GIF, PNG or JPEG). The example described in this
article uses four different images, each of which is 468 pixels wide and 60 pixels high. </p>
<p align="left">You need to add some extra code to your HTML document. For the script to
work there must be an initial image on the web page. In this case the image has a filename
of bb-amazon-ad1.gif. This image will also be visible when the page is viewed in browsers
that do not support the script. After loading the image, its width and height should be
specified, and it should also be given the name attribute of "bannerad". The
image should be hyperlinked so that the ChangePage JavaScript function is executed when
the image is clicked on. Example code for including the initial image is shown below: </p>
<p align="left"><font color="#000080"><a
href="javascript:ChangePage()"><img
src="images/AmazonAd1_anim.gif" alt="Banner Advertisement"
border="0" hspace="0" name="bannerad" WIDTH="466"
HEIGHT="58"></a> </p>
<p align="left">You also need to modify the <BODY> HTML tag of the page so that when
the page is loaded, it executes the InitialiseBannerAdRotator function. Do this by adding
the onload tag, as shown below: </p>
<p align="left"><font color="#000080"><body
onload="InitialiseBannerAdRotator()"></font> </p>
<p align="left">Finally, you need to add the following script to the page (within the
<HEAD> part of the page is the ideal location): </font></p>
<p align="left"><font color="#000080"><script
language="javascript"><!--<br>
</font><font color="#008040">//JavaScript Banner Ad Rotator version 2.1 - last modified 16
November 2000<br>
//Obtained from http://www.brettb.com/js_banner_ad_rotator.asp<br>
<br>
//User defined variables - change these variables to alter the behaviour of the script<br>
</font><font color="#000080">var ImageFolder = "</font><font color="#FF0000">images</font><font
color="#000080">"; </font><font color="#008040">//Folder name containing the images</font><font
color="#000080"><br>
var ImageFileNames = new Array('</font><font color="#FF0000">AmazonAd1_anim.gif</font><font
color="#000080">', '</font><font color="#FF0000">ASPDocumentationToolBannerAd3.gif</font><font
color="#000080">', '</font><font color="#FF0000">AmazonAd2_anim.gif</font><font
color="#000080">', '</font><font color="#FF0000">WinnershTriangleWebSolutions_BannerAd.gif</font><font
color="#000080">');</font><font color="#008040"> //List of images to use</font><font
color="#000080"><br>
var ImageURLs = new Array('</font><font color="#FF0000">http://www.amazon.com/exec/obidos/redirect?tag=brettbcom&path=subst/home/home.html</font><font
color="#000080">', '</font><font color="#FF0000">http://winnershtriangle.com/w/Products.ASPDocumentationTool.asp</font><font
color="#000080">', '</font><font color="#FF0000">http://www.amazon.com/exec/obidos/redirect?tag=brettbcom&path=subst/home/home.html</font><font
color="#000080">', '</font><font color="#FF0000">http://www.winnershtriangle.com/w/</font><font
color="#000080">');</font><font color="#008040"> //List of hyperlinks associated with the
list of images<br>
</font><font color="#000080">var DefaultURL = '</font><font color="#FF0000">http://www.amazon.com/exec/obidos/redirect?tag=brettbcom&path=subst/home/home.html</font><font
color="#000080">'; </font><font color="#008040">//Default hyperlink for the Banner Ad</font><font
color="#000080"><br>
var DisplayInterval = 5; </font><font color="#008040">//Number of seconds to wait before
the next image is displayed<br>
</font><font color="#000080">var TargetFrame = ""; </font><font color="#008040">//Name
of the frame to open the hyperlink into</font><font color="#000080"><br>
<br>
</font><font color="#008040">//Internal variables (do not change these unless you know
what you are doing)<br>
</font><font color="#000080">var IsValidBrowser = false;<br>
var BannerAdCode = 0;<br>
var BannerAdImages = new Array(NumberOfImages);<br>
var DisplayInterval = DisplayInterval * 1000;<br>
var NumberOfImages = ImageFileNames.length;<br>
<br>
</font><font color="#008040">//Add a trailing forward slash to the ImageFolder variable if
it does not already have one<br>
</font><font color="#000080">if (ImageFolder.substr(ImageFolder.length - 1,
ImageFolder.length) != "</font><font color="#FF0000">/</font><font color="#000080">"
&& ImageFolder != "") { ImageFolder += "</font><font
color="#FF0000">/</font><font color="#000080">";<br>
}<br>
<br>
if (TargetFrame == '') {<br>
var FramesObject = null;<br>
} else {<br>
var FramesObject = eval('parent.' + TargetFrame);<br>
}<br>
<br>
</font><font color="#008040">//Function runs when this page has been loaded and does the
following:<br>
//1. Determine the browser name and version (since the script will only work on
Netscape 3+ and Internet Explorer 4+).<br>
//2. Start the timer object that will periodically change the image displayed by the
Banner Ad.<br>
//3. Preload the images used by the Banner Ad rotator script</font><font color="#000080"><br>
function InitialiseBannerAdRotator() {<br>
<br>
</font><font color="#008040">//Determine the browser name and version<br>
//The script will only work on Netscape 3+ and Internet Explorer 4+</font><font
color="#000080"><br>
var BrowserType = navigator.appName;<br>
var BrowserVersion = parseInt(navigator.appVersion);<br>
<br>
if (BrowserType == "</font><font color="#FF0000">Netscape</font><font color="#000080">"
&& (BrowserVersion >= 3)) {<br>
IsValidBrowser = true;<br>
}<br>
<br>
if (BrowserType == "</font><font color="#FF0000">Microsoft Internet Explorer</font><font
color="#000080">" && (BrowserVersion >= 4)) {<br>
IsValidBrowser = true;<br>
}<br>
<br>
if (IsValidBrowser) {<br>
TimerObject = setTimeout("</font><font color="#FF0000">ChangeImage()</font><font
color="#000080">", DisplayInterval);<br>
BannerAdCode = 0;<br>
<br>
for (i = 0; i < NumberOfImages; i++) {<br>
BannerAdImages[i] = new Image();<br>
BannerAdImages[i].src = ' ' + ImageFolder + ImageFileNames[i];<br>
}<br>
<br>
}<br>
<br>
}<br>
<br>
</font><font color="#008040">//Function to change the src of the Banner Ad image</font><font
color="#000080"><br>
function ChangeImage() {<br>
<br>
if (IsValidBrowser) {<br>
BannerAdCode = BannerAdCode + 1;<br>
<br>
if (BannerAdCode == NumberOfImages) {<br>
BannerAdCode = 0;<br>
}<br>
<br>
window.document.bannerad.src = BannerAdImages[BannerAdCode].src;<br>
TimerObject = setTimeout("</font><font color="#FF0000">ChangeImage()</font><font
color="#000080">", DisplayInterval);<br>
}<br>
}<br>
<br>
</font><font color="#008040">//Function to redirect the browser window/frame to a new
location,<br>
//depending on which image is currently being displayed by the Banner Ad.<br>
//If Banner Ad is being displayed on an old browser then the DefaultURL is displayed</font><font
color="#000080"><br>
function ChangePage() {<br>
<br>
if (IsValidBrowser) {<br>
<br>
if (TargetFrame != '' && (FramesObject)) {<br>
FramesObject.location.href = ImageURLs[BannerAdCode];<br>
} else {<br>
document.location = ImageURLs[BannerAdCode];<br>
}<br>
<br>
} else if (!IsValidBrowser) {<br>
document.location = DefaultURL;<br>
}<br>
<br>
}<br>
// --></script> </font></p>
<p align="left">A link at the bottom of this article will allow you to download a ZIP file
containing the script and example images.</p>
<h2 align="left">Script Parameters</h2>
<p align="left">The script has a number of parameters in the section headed "User
defined variables", which you will need to change in order to customise the script.
The parameters are described below:</p>
<ul>
<li><p align="left"><b>ImageFolder</b> - the name of the folder containing the images. Leave
as "" if the images are in the same folder as the document containing the banner
ad rotator JavaScript.</p>
</li>
<li><p align="left"><b>ImageFileNames</b> - this should be a list of images to use with the
script.</p>
</li>
<li><p align="left"><b>ImageURLs</b> - this should be a list of URLs to associate with the
list of images. Needless to say, the number of items in this list should be the same as
the number of images. </p>
</li>
<li><p align="left"><b>DefaultURL</b> - the default URL the banner ad rotator should link
to. This hyperlink is the one browsers are redirected to if the banner ad image is clicked
on with a browser that is not fully supported by the script.</p>
</li>
<li><p align="left"><b>DisplayInterval</b> - the time interval (in seconds) before the next
image is displayed.</p>
</li>
<li><p align="left"><b>TargetFrame</b> - the name of the frame in which to open the URL in.
Leave as "" if the banner ad should open the URL in the same frame as the page
containing the script.</p>
</li>
</ul>
<h2 align="left">How the Script Works</h2>
<p align="left">When the web page is first loaded into the web browser, it runs the
function InitialiseBannerAdRotator. The first part of this function determines the name
and version of the browser the script is being run on, setting the variable IsValidBrowser
to true if the browser is supported by the script. Browsers supported by the script are
Netscape versions of 3 and above, and Microsoft Internet Explorer 4 and above. </p>
<p align="left">The InitialiseBannerAdRotator function then sets a timer called
"TimerObject" for the time interval specified in the user defined variables.
When this timer reaches zero, it then runs the ChangeImage function (the use of which is
described further on). </p>
<p align="left">The function also assigns zero to the BannerAdCode variable. This variable
is used to cycle through the different images to be shown. Finally, the function pre-loads
the images required by the script. </p>
<p align="left">The second function in the script is called ChangeImage. This function
increases the value of the BannerAdCode variable, ensuring that if it is too large for the
number of different images, it is reset to zero. After changing the BannerAdCode variable,
the function changes the image source ("src") of the image that has the name of
"bannerad" to point to the next image in the sequence. This is the part of the
script which actually changes the image on the page. </p>
<p align="left">The final function in the script is called ChangePage, and is called when
the Banner Ad is clicked on. This function reads the value of BannerAdCode, then sets the
document (or frame) location to the new location. "location" is a built-in
feature of JavaScript that allows you to specify the URL of the page loaded in the web
browser. Note that if the banner is being viewed in a browser not supported by the script,
it will set the page location to that specified in the DefaultURL variable.</p>
<h2 align="left">Limitations</h2>
<p align="left">There can only be one instance of a banner ad per page on your site,
although with a few modifications the script could support several banners per page. Don't
forget that adding too much advertising to your site will distract users, so use
sparingly.</p>
<p align="left">The script currently cycles through a series of images, but it would not
be too difficult to modify it to show the images in a random order.</p>
<p align="left">The script doesn't open links in a new browser window. If you want the
commercial version of the script that does, then you can <a
href="http://www.winnershtriangle.com/w/Products.JavaScriptBannerAdRotator.asp">purchase
the full version for just $3</a>.</p>
<p align="left">If you purchase any of my other software products (<a
href="http://www.winnershtriangle.com/w/Products.ASPDocumentationTool.asp" target="_blank">ASP
Documentation Tool</a>, <a
href="http://www.winnershtriangle.com/w/Products.ASPNETDocumentationTool.asp"
target="_blank">ASP.NET Documentation Tool</a>, <a
href="http://www.winnershtriangle.com/w/Products.IndexServerCompanion.asp" target="_blank">Index
Server Companion</a>) then let me know and I'll send you the script for free!</p>
<h2 align="left">Downloads</h2>
<p align="left">If you would like the Banner Ad Rotator script together with some sample
images, then click on the link below: </p>
<ul>
<li><p align="left"><a href="redirector.asp?URL=downloads/BannerAdRotatorSamplePage.zip">Banner
Ad Rotator sample files</a> (37.9 Kb ZIP file).</p>
</li>
</ul>
<h2 align="left">Further Reading</h2>
<ul>
<li><p align="left">Want to help your website vistors find stuff? Then put a <a
href="http://www.winnershtriangle.com/w/Products.TheWebsiteUtility.JavaScriptSearchEngine.asp"
target="_blank">JavaScript Search Engine</a> on your website!</p>
</li>
</ul>
<p align="left">Enhance your knowledge of JavaScript with the following:</p>
<ul>
<li><p align="left"><a
href="http://www.amazon.com/exec/obidos/ASIN/0764531883/o/qid=973525853/sr=8-2/brettbcom">JavaScript
bible</a>. </p>
</li>
<li><p align="left"><a
href="http://www.amazon.com/exec/obidos/ASIN/1565923928/o/qid=973525853/sr=8-1/brettbcom">Javascript
: The Definitive Guide</a>.</p>
</li>
<li><p align="left"><a href="http://www.amazon.com/exec/obidos/ASIN/1565925211/brettbcom">Javascript
Pocket Reference</a>. </p>
</li>
</ul>
<p align="left">Alternatives to using this Banner Ad script:</p>
<ul>
<li><p align="left">A <a href="JavaBannerAdRotator.asp">Java version</a> of the Banner Ad
Rotator.</p>
</li>
<li><p align="left"><a href="http://www.4guysfromrolla.com/webtech/042999-2.shtml">Using the
Ad Rotator</a>.</p>
</li>
</ul>
</td>
<td width="100" valign="top" align="left">
<script type="text/javascript"><!--
google_ad_client = "pub-7044749527879330";
google_ad_width = 120;
google_ad_height = 600;
google_ad_format = "120x600_as";
google_ad_channel ="8099820950";
google_ad_type = "text_image";
google_color_border = "CCCCCC";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_url = "DD3333";
google_color_text = "000000";
google_alternate_ad_url = "http://www.brettb.com/NoGoogleAds.asp";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<iframe marginwidth="0" marginheight="0" src="http://rcm.amazon.com/e/cm?t=brettbcom&o=1&p=6&l=bn1&mode=books&browse=5&=1&fc1=&lc1=FF3333<1=_blank&bg1=&f=ifr" width="130" height="160" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe>
</td>
</tr>
</table>
</center></div>
<div align="center"><center>
<table border="0" cellpadding="2" cellspacing="0" width="802"
style="border: 1px solid rgb(0,0,0)">
<tr>
<td class="TDFooter"> <a href="toc.asp" title="Site Map">Site Map</a></td>
<td class="TDFooter"><p align="right">All content is © 1995 - 2006 Brett Burridge</td>
</tr>
</table>
</center></div>
</body>
</html>