

// DOM Check
if (!document.getElementById) {
 self.location.replace('/browserupgrade');
}

// IE 5.0
var ua = navigator.userAgent.toLowerCase();
var ieIndex = ua.indexOf("msie");
if (ieIndex != -1 && ua.indexOf("mac") == -1) {
    var ieVer = parseFloat(ua.substr(ieIndex + 5));
    if (ieVer < 5.5) {
        window.location.replace("/browserupgrade");
    }
}
function clearfix(classname) {
    if(navigator.appVersion.indexOf('Mac')!= -1 && document.all) {
        var divs = document.getElementsByTagName("DIV");
        for(var i = 0; i < divs.length; i++) {
            if(divs[i].className.indexOf(classname) != -1) {
                //divs[i].innerHTML += '<div class="mac-clearfix"> </div>';
                var clearDiv = document.createElement("div");
                clearDiv.className = "mac-clearfix";
                divs[i].appendChild(clearDiv);
            }
        }
    }
}
// Add it to window.onload event
addOnLoad(function() {clearfix("clearthis");});

/*
 * Adds a function into the onload event
 * Usage: addOnLoad(functionName)
 * Or, if you need to pass arguments in the
 * function:
 * addOnLoad(function() {functionName("argument")})
*/
function addOnLoad(newFunction) {
    var currentOnLoad = window.onload;
    if (typeof window.onload != "function") {
        window.onload = newFunction;
    }
    else {
        window.onload = function() {
            currentOnLoad();
            newFunction();
        }
    }
}

Flash = function(swf, staticImage, link, width, height, version)
{
    this.swf = swf || "";
	this.staticImage = staticImage || "";
	this.link = link || "";
    this.width = width || "100%";
    this.height = height || "100%";
    this.requiredVersion = version || 6;
    this.id = "";
    this.params = new Object();
    this.variables = new Object();
};

Flash.hasVersion = function(requiredVersion)
{
    var hasVersion = false;
    if (navigator.plugins.length > 0 && navigator.plugins["Shockwave Flash"]) { // NS/Mozilla
        var description = navigator.plugins["Shockwave Flash"].description;
        var version = description.match(/\d{1,2}/);
        hasVersion = (version >= requiredVersion);
    }
    else if (window.ActiveXObject && window.execScript && navigator.userAgent.indexOf('Mac') == -1) { // Win IE
        Flash.hasActiveX = false;
        window.execScript("On error resume next: Flash.hasActiveX = IsObject(CreateObject('ShockwaveFlash.ShockwaveFlash." + requiredVersion + "'))", "VBScript");
        hasVersion = Flash.hasActiveX;
        delete Flash.hasActiveX;
    }
    return hasVersion;
};

Flash.resizeTo = function(id, w, h)
{
    var movie = document.getElementById(id);
    movie.width = w;
    movie.height = h;
};

Flash.prototype.getSWF = function()
{
    return this.swf;
};

Flash.prototype.getStaticImage = function()
{
    return this.staticImage;
};

Flash.prototype.getLink = function()
{
    return this.link;
};

Flash.prototype.setSWF = function(swf)
{
    this.swf = swf;
};

Flash.prototype.getWidth = function()
{
    return this.width;
};

Flash.prototype.setWidth = function(w)
{
    this.width = w;
};

Flash.prototype.getHeight = function()
{
    return this.height;
};

Flash.prototype.setHeight = function(h)
{
    this.height = h;
};

Flash.prototype.getRequiredVersion = function()
{
    return this.requiredVersion;
};

Flash.prototype.setRequiredVersion = function(v)
{
    this.requiredVersion = v;
};

Flash.prototype.getId = function()
{
    return this.id;
};

Flash.prototype.setId = function(id)
{
    this.id = id;
};

Flash.prototype.getParam = function(name)
{
    return this.params[name];
};

Flash.prototype.getParams = function()
{
    return this.params;
};

Flash.prototype.setParam = function(name, value)
{
    this.params[name] = value;
};

Flash.prototype.getVariable = function(name)
{
    return this.variables[name];
};

Flash.prototype.getVariables = function()
{
    return this.variables;
};

Flash.prototype.setVariable = function(name, value)
{
    this.variables[name] = value;
};

Flash.prototype.getVariablePairs = function()
{
    var variablePairs = new Array();
    for (var name in this.getVariables()) {
        variablePairs.push(name + "=" + escape(this.getVariable(name)));
    }
    if (variablePairs.length > 0) {
        return variablePairs.join("&");
    }
    else {
        return null;
    }
};

Flash.prototype.getParamTags = function()
{
    var paramTags = "";
    for (var param in this.getParams()) {
        paramTags += '<param name="' + param + '" value="' + this.getParam(param) + '" />';
    }
    if (paramTags == "") {
        paramTags = null;
    }
    return paramTags;
};

Flash.prototype.getHTML = function()
{
    var flashHTML = "";
    if (window.ActiveXObject && navigator.userAgent.indexOf('Mac') == -1) { // PC IE
        flashHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + this.getWidth() + '" height="' + this.getHeight() + '" id="' + this.getId() + '">';
        flashHTML += '<param name="movie" value="' + this.getSWF() + '" />';
        if (this.getParamTags() != null) {
            flashHTML += this.getParamTags();
        }
        if (this.getVariablePairs() != null) {
            flashHTML += '<param name="flashVars" value="' + this.getVariablePairs() + '" />';
        }
        flashHTML += '</object>';
    }
    else { // Everyone else
        flashHTML += '<embed type="application/x-shockwave-flash" src="' + this.getSWF() + '" width="' + this.getWidth() + '" height="' + this.getHeight() + '" id="' + this.getId() + '"';
        for (var param in this.getParams()) {
            flashHTML += ' ' + param + '="' + this.getParam(param) + '"';
        }
        if (this.getVariablePairs() != null) {
            flashHTML += ' flashVars="' + this.getVariablePairs() + '"';
        }
        flashHTML += '></embed>';
    }
    
    return flashHTML;
};

Flash.prototype.render = function(elementId)
{
    if(Flash.hasVersion(this.getRequiredVersion())) {
        if (elementId) {
            document.getElementById(elementId).innerHTML = this.getHTML();
        }
        else {
            document.write(this.getHTML());
        }
    }
	else
	{
		// Render static image
		document.write(this.getLink() != "" ? "<a href=\""+this.getLink()+"\" target=\"_blank\">" : "");
		document.write(this.getStaticImage() != "" ? "<img src=\""+this.getStaticImage()+"\" width=\""+this.getWidth()+"\" height=\""+this.getHeight()+"\" border=\"0\">" : "");
		document.write(this.getLink() != "" ? "</a>" : "");
		
	}
};