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=#FFA200>  '; 
htm += ' <EMBED src="' + url + '" quality=high bgcolor=#FFA200  ';
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 = 728;
returnObj.height = 90;
break;
case 1:
returnObj.width = 250;
returnObj.height = 250;
break;
case 2:
returnObj.width = 90;
returnObj.height = 50;
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.MNI = 2;

var gBannerMgr = new BannerMgr();
gBannerMgr.Add(BannerMgr.BAN, "s", "http://www.revemexicain.com/pubs/toorism_mexico_728.gif", "Séjour Mexique", "http://www.toorism.fr/_mexique/?gclid=CPnZ_eKl4IkCFSbNZgodCAP3Zw");