function FlashInstalled()






{






	result = false;






	if (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"])






	{






		result = navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin;






	}






	else if (document.all && (navigator.appVersion.indexOf("Mac")==-1))






	{






		// IE Windows only -- check for ActiveX control, have to hide code in eval from Netscape (doesn't like try)






		eval ('try {var xObj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");if (xObj)	result = true; xObj = null;	} catch (e)	{}');






	}






	return result;






}













function GetFlashHTML(url,width,height)






{






	var htm = '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';






	htm += '  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" ';






	htm += ' WIDTH=' + width + ' HEIGHT=' + height + '>';






	htm += ' <PARAM NAME=movie VALUE="' + url + '"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF>  '; 






	htm += ' <EMBED src="' + url + '" quality=high bgcolor=#FFFFFF  ';






	htm += ' swLiveConnect=FALSE WIDTH=' + width + ' HEIGHT=' + height;






	htm += ' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">';






	htm += ' </EMBED></OBJECT>';






	return htm;






}













function BannerMgr_Switch(imageObj,kind,criteria)






{






	var banObj = this.GetBanner(kind,criteria);






	if (banObj != null)






	{






		imageObj.src = banObj.imgSrc;






		this.SetAnchorRef(imageObj.name+"Ref",banObj.ref);






	}






}













function BannerMgr_SetAnchorRef(name,ref)






{






	for (var i=0;i<document.anchors.length;i++)






	{






		if (document.anchors[i].name == name)






		{






			document.anchors[i].href = ref;






			break;






		}






	}






}













function BannerMgr_GetBanner(kind, criteriaStr)






{






	var banArray = this.banners[kind];






	var possibles = new Array();






	var result = null;






	






	for (var i=0;i<banArray.length;i++)






	{






		var criteria = criteriaStr.split(",");






		






		var matches = false;






		for (var j=0;j<criteria.length;j++)






		{






			if ((criteria[j]=="all") || (banArray[i].keywords.indexOf(criteria[j]) >= 0))






			{






				matches = true;






			}






			else






				matches = false;






		}






		if (matches)






			possibles[possibles.length] = banArray[i];






	}






	






	






	if (possibles.length > 0)






	{






		var choice = Math.floor(Math.random()*possibles.length);






		result = possibles[choice];






	}













	return result;	






}













function BannerMgr_Add(kind, keywords, imgSrc, altText, ref, flashSrc)






{






	var banArray = this.banners[kind];






	var banObj = new Object();






	banObj.name = "ban" + banArray.length;






	banObj.keywords = keywords;






	banObj.imgSrc = imgSrc;






	banObj.altText = altText;






	banObj.ref = ref;






	






	if (arguments.length > 5)






		banObj.flashSrc = flashSrc;






	else






		banObj.flashSrc = null;






	






	banArray[banArray.length] = banObj;






}













function BannerMgr_WriteBanner(kind,criteria)






{






	var htm = this.GetBannerHTML(kind,criteria);






	document.write(htm);













}













function BannerMgr_GetBannerHTML(kind,criteria)






{






	var banObj = this.GetBanner(kind,criteria);






	var wh = this.GetWidthHeight(kind);






	






	var htm = '';






	if (banObj.flashSrc && FlashInstalled())






	{






		htm = GetFlashHTML(banObj.flashSrc+"?link="+banObj.ref,wh.width,wh.height);






	}






	else






	{






		htm += '<a name="' + banObj.name + 'Ref" href="' + banObj.ref + '" target="_blank">';






		htm += '<img name="' + banObj.name + '" src="' + banObj.imgSrc + '" width=';






		htm += wh.width + ' height=' + wh.height + ' onerror="gBannerMgr.Switch(this,' + kind + ',\'local,' + criteria + '\')" ';






		htm += 'alt="' + banObj.altText + '" border=0></a>';













		// support for airplane banner






		if (kind==BannerMgr.BAN)






		{






			gBannerName = banObj.name;






			gBannerLinkName = banObj.name;






			gBannerLinkURL = banObj.ref;






		}






	}













	return htm;






}













function BannerMgr_GetWidthHeight(kind)






{






	var returnObj = new  Object();






	switch(kind)






	{






		case 0:






			returnObj.width = 600;






			returnObj.height = 90;






			break;






		case 1:






			returnObj.width = 88;






			returnObj.height = 31;






			break;






		case 2:






			returnObj.width = 120;






			returnObj.height = 60;






			break;






	}






	return returnObj;		






}



























function BannerMgr()






{






	this.banners = new Array( new Array(), new Array(),new Array() );






	// Methods






	this.GetWidthHeight = BannerMgr_GetWidthHeight;






	this.WriteBanner = BannerMgr_WriteBanner;






	this.Add = BannerMgr_Add;






	this.GetBanner = BannerMgr_GetBanner;






	this.SetAnchorRef = BannerMgr_SetAnchorRef;






	this.Switch = BannerMgr_Switch;






	this.GetBannerHTML = BannerMgr_GetBannerHTML;






}






BannerMgr.BAN = 0;






BannerMgr.BTN = 1;






BannerMgr.BTN2X = 2;













var gBannerMgr = new BannerMgr();













// Regular Size Banner Examples






// Regular Size Banner Examples






gBannerMgr.Add(BannerMgr.BAN, "local,general,irie", "http://www.caribana.com/Resources/banners/Irie_2007_Leader.gif", "Irie Music Festival 2007", "http://www.iriemusicfestival.com");






// gBannerMgr.Add(BannerMgr.BAN, "local,general,soulconnect", "http://www.caribana.com/Resources/banners/soulconnect_banner.gif", "Get connected at Soulconnect.com", "http://www.soulconnect.com");






// gBannerMgr.Add(BannerMgr.BAN, "local,general,tumf", "http://www.caribana.com/Resources/banners/tumf_banner_v2.gif", "Toronto Urban Music Festival 2003", "http://www.tumf.net");






// gBannerMgr.Add(BannerMgr.BAN, "local,general,carnival", "http://www.caribana.com/Resources/banners/to_carnival_banner.gif", "Carnival Toronto Guide 2003", "http://www.carnivaltoronto.com");




















// Button Size Banner Examples






// gBannerMgr.Add(BannerMgr.BTN, "genealogy", "http://www.ancestry.com/images/small_anc.gif", "Ancestry.com", "http://www.angusog.com/redir.asp?url=http://service.bfast.com/bfast/click?bfmid=5647408&siteid=33161451&bfpage=anc_small");






// gBannerMgr.Add(BannerMgr.BTN, "local,general", "http://www.angusog.com/images/FreeMarklet.gif", "Click here for details", "http://www.angusog.com/redir.asp?url=http://www.angusog.com/marklets/");