

var mboxCopyright = "Copyright 2003-2005 Fort Point Partners, Inc. All Rights Reserved. This software is the proprietary information of Fort Point Partners, Inc. Use is subject to license terms.";



if (typeof mboxIncluded == 'undefined') {
 var mboxIncluded = true;

 if (typeof mboxTimeout == 'undefined') {
 
 var mboxTimeout = 15000;
 }

 var mboxVersion = 9;

 
 var mboxClientCode = 'sml';
 
 var mboxServerURL = 'http://mbox.offermatica.com/boxserver/content.js';
 

 if (typeof mboxCookieDomain == 'undefined') {
 
 var mboxCookieDomain = "";
 }

 if (typeof mboxTimeout == 'undefined') {
 
 var mboxTimeout = 15000;
 }

 if (typeof mboxTrafficLevelPercentage == 'undefined') {
 
 var mboxTrafficLevelPercentage;
 }

 if (typeof mboxTrafficDuration == 'undefined') {
 
 var mboxTrafficDuration = 3 * 30 * 24 * 60 * 60;
 }

 if (typeof mboxXDomain == 'undefined') {
 
 var mboxXDomain = false;
 }

 var mboxSessionIdCookie = "mboxSession";
 var mboxPCIdCookie = "mboxPC";
 var mboxDisableCookie = "mboxDisable";
 var mboxCheckCookie = "mboxCheck";
 var mboxDebugModeCookie = "mboxDebug";
 var mboxXDomainArg = "mboxXDomain"

 var mboxNameArg = "mbox";
 var mboxClientCodeArg = "mboxClient";
 var mboxPCIdArg = "mboxPC";
 var mboxSessionIdArg = "mboxSession";
 var mboxPageIdArg = "mboxPage";
 var mboxHostArg = "mboxHost";
 var mboxURLArg = "mboxURL";
 var mboxReferrerArg = "mboxReferrer";
 var mboxVersionArg = "mboxVersion";
 var mboxCountArg = "mboxCount";
 var mboxEnvironmentArg = "envId";
 var mboxDebugModeArg = "mboxDebug";

 var mboxMarkerDivPrefix = "mboxMarker-";
 var mboxImportDivPrefix = "mboxImported-";
 var mboxDefaultDivClass = "mboxDefault";
 var mboxSignalPrefix = "mboxSignal-";

 var mboxPageId = mboxGenerateId();
 var mboxSessionId = new mboxSession(mboxPageId)
 var mboxPCId = new mboxPC(mboxPageId)

 var mboxs = new Array(); 
 var mboxGlobalArguments = "";
 var mboxCount = 0; 
 var mboxSignalCount = 0;

 var mboxCampaignsStateVersion = 0;
 var mboxCampaigns = new Array();

 var mboxEnv = new mboxEnvironment();

 if (mboxEnv.platform.isSupported()) {
 var mboxSafeBodyOnload = new mboxSafeOnload(window);

 mboxSafeBodyOnload.add(mboxCheckAll);
 if (mboxDebugMode()) {
 mboxSafeBodyOnload.add(mboxDebugInfo);
 }

 mboxEnv.limitTraffic(mboxTrafficLevelPercentage,
 mboxTrafficDuration);

 if (mboxEnv.isEnabled()) {
 mboxSignal();
 mboxDefaultContentDisplayNone();
 }
 else {
 
 }
 } else {
 if (mboxDebugMode()) {
 alert("mbox functionality is not supported on this browser");
 mboxDeleteCookie(mboxDebugModeCookie);
 }
 }
}



function mboxCreate(r0 ) {
 if (!mboxEnv.platform.isSupported()) {
 return;
 }
 mboxSafeBodyOnload.setup();

 var w1 = new Array();
 w1[0] = mboxNameArg + '=' + r0;
 for (var i = 1; i < arguments.length; i++) {
 w1[i] = arguments[i];
 }

 var l2 = new mbox(r0, w1);
 l2.put();
}


function mboxGlobalParameters() {
 for (var h3 = 0; h3 < arguments.length; h3++) {
 mboxGlobalArguments = mboxGlobalArguments + "&" + arguments[h3];
 }
}


function mboxBase(i4, y5) {
 this.id = i4;
 this.url = y5;
 this.timeout = null;
 this.activated = 0;

 this.put = mbox_put;
 this.show = mbox_show;
 this.hide = mbox_hide;
 this.startTimeout = mbox_startTimeout;
 this.cancelTimeout = mbox_cancelTimeout;
 this.getDefaultDiv = mbox_getDefaultDiv;
 this.activate = mbox_activate;
 this.isActivated = mbox_isActivated;
 this.markerName = mbox_markerName;
 this.importName = mbox_importName;
 this.finalize = mbox_finalize;

 this.activateAction = mbox_show;
 this.setActivateAction = mbox_setActivateAction;

 this.time = new Array();
 this.activateCount = 0;
 this.setEventTime = mbox_setEventTime;


 this.error = null;

 
 if (mboxs[i4]) {
 this.error = "multiple mboxes with the id '" + i4 + "' exist on this page";
 this.put = mbox_putNothing;
 this.activateAction = mbox_hide;
 }

 mboxs[i4] = this;
}

function mbox(i4, w1) {
 this.base = mboxBase;
 w1[w1.length] = mboxCountArg + "=" + ++mboxCount;
 this.base(i4, mboxBuildURL(w1));
}

function mboxSignalMbox(i4, w1) {
 this.base = mboxBase;
 w1[w1.length] = mboxCountArg + "=" + --mboxSignalCount;
 this.base(i4, mboxBuildURL(w1));
}


function mbox_put() {
 if (mboxEnv.isEnabled()) {
 this.setEventTime("put.start");
 document.write(
 '<div id="' + this.markerName()
 + '" style="visibility:hidden;display:none">'
 + '<script language="JavaScript">'
 + 'mboxs["' + this.id + '"].startTimeout(' + mboxTimeout + ');'
 + '<' + '\/script>'
 + '<script src="' + this.url + '" language="JavaScript"><'+ '\/script>'
 + '</div>');

 this.setEventTime("put.end");
 }
 else {
 document.write('<div id="' + this.markerName() + '"></div>');
 }
}

function mbox_putNothing() {
 document.write('<div id="' + this.markerName() + '"></div>');
}


function mbox_activate() {
 if (this.activated) {
 return this.activated;
 }
 this.setEventTime('activate' + ++this.activateCount + '.start');

 if (this.activateAction()) {
 this.cancelTimeout();
 this.activated = 1;
 }

 this.setEventTime('activate' + this.activateCount + '.end');
 return this.activated;
}


function mbox_isActivated() {
 return this.activated;
}


function mbox_setActivateAction(m6) {
 this.activateAction = m6;
}


function mbox_show() {
 var b7 = document.getElementById(this.importName());

 
 if (b7 == null) {
 return 0;
 }

 var u8 = this.getDefaultDiv();

 this.setEventTime('show.start');

 if (mboxEnv.platform.supportsReplace()) {
 if (u8 != null) {
 u8.parentNode.replaceChild(b7, u8);
 }
 
 
 else {
 var a9 = document.getElementById(this.markerName());

 
 if (a9 == null) {
 return 0;
 }

 mboxMakeDivVisible(a9);
 }
 }
 
 
 else {
 var a9 = document.getElementById(this.markerName());

 
 if (a9 == null) {
 return 0;
 }

 if (u8 != null) {
 mboxMakeDivInvisible(u8);
 }

 mboxMakeDivVisible(a9);
 }

 mboxMakeDivVisible(b7);

 this.setEventTime('show.end');

 this.show = mbox_showNoOp;

 
 
 return 1;
}

function mboxMakeDivVisible(k10) {
 k10.style.visibility = "visible";
 k10.style.display = "block";
}

function mboxMakeDivInvisible(k10) {
 k10.style.visibility = "hidden";
 k10.style.display = "none";
}

function mbox_showNoOp() {
 
 
 return 1;
}


function mbox_hide() {
 var a9 = document.getElementById(this.markerName());
 if (a9 != null) {
 a9.style.visibility = "hidden";
 a9.style.display = "none";
 }

 var u8 = this.getDefaultDiv();
 if (u8 != null) {
 this.setEventTime('hide.start');
 u8.style.visibility = "visible";
 u8.style.display = "block";
 this.setEventTime('hide.end');
 return 1;
 }

 return 0;
}


function mbox_finalize() {
 this.setEventTime('finalize.start');

 this.cancelTimeout();

 if (!this.activate()) {
 this.hide();
 }

 this.setEventTime('finalize.end');
}

function mbox_startTimeout(b11) {
 this.timeout =
 setTimeout('mboxCheckTimeoutById("' + this.id + '")', b11);
}

function mbox_cancelTimeout() {
 if (this.timeout != null) {
 clearTimeout(this.timeout);
 }
}

function mbox_getDefaultDiv() {
 var node = document.getElementById(this.markerName());
 while (node != null) {
 
 if ((node.nodeType == 1) && (node.nodeName == "DIV")) {
 if (node.className.indexOf(mboxMarkerDivPrefix) > 0) {
 return null;
 }
 else if (node.className == mboxDefaultDivClass) {
 return node;
 }
 }
 node = node.previousSibling;
 }

 return null;
}

function mbox_setActivateAction(action) {
 this.activateAction = action;
}

function mbox_markerName() {
 return mboxMarkerDivPrefix + this.id
}

function mbox_importName() {
 return mboxImportDivPrefix + this.id
}

function mbox_setEventTime(event) {
 this.time[event] = (new Date()).getTime();
}


function mboxBuildURL(w1) {
 var p12 = mboxServerURL;

 if (document.location.protocol == "https:") {
 p12 = p12.replace("http:", "https:")
 }
 p12 += "?" + mboxClientCodeArg + "=" + mboxClientCode;
 p12 += "&" + mboxHostArg + "=" + document.location.hostname;

 for (var h3 = 0; h3 < w1.length; h3++) {
 p12 += "&" + w1[h3];
 }
 p12 += mboxGlobalArguments;

 if (p12.indexOf(mboxSessionIdArg) == -1) {
 p12 = p12 + "&" + mboxSessionIdArg + "=" + mboxSessionId.getId();
 }

 return p12 + "&" + mboxPCIdArg + "=" + mboxPCId.getId()
 + "&" + mboxPageIdArg + "=" + mboxPageId
 + "&" + mboxURLArg + "=" + escape(document.location)
 + "&" + mboxReferrerArg + "=" + escape(document.referrer)
 + (mboxXDomain ? "&" + mboxXDomainArg + "=true" : "")
 + "&" + mboxVersionArg + "=" + mboxVersion;
}



function mboxEnvironment() {
 this.platform = new mboxPlatform();
 this.p13 = this.platform.isSupported();

 
 if (!mboxCookieIsEnabled()) {
 this.p13 = false;
 }
 if (mboxGetCookie(mboxDisableCookie) == "true") {
 this.p13 = false;
 }

 this.isEnabled = mboxEnvironment_isEnabled;
 this.disable = mboxEnvironment_disable;
 this.enable = mboxEnvironment_enable;
 this.isAdmin = mboxEnvironment_isAdmin;
 this.limitTraffic = mboxEnvironment_limitTraffic;

 if (this.isAdmin()) {
 this.enable();
 }
}

function mboxEnvironment_isEnabled() {
 return this.p13;
}

function mboxEnvironment_disable(duration) {
 if (typeof duration == 'undefined') {
 duration = 60 * 60;
 }
 if (!this.isAdmin()) {
 this.p13 = false;
 mboxSetCookie(mboxDisableCookie, "true", duration);
 }
}

function mboxEnvironment_enable() {
 this.p13 = true;
 mboxDeleteCookie(mboxDisableCookie);
}

function mboxEnvironment_isAdmin() {
 return document.location.href.indexOf(mboxEnvironmentArg) != -1;
}

function mboxEnvironment_limitTraffic(level, duration) {
 if (typeof level == 'undefined') {
 return;
 }

 var g14 = mboxGetCookie(mboxTrafficStateCookie);

 if (this.isAdmin()) {
 g14 = true;
 mboxSetCookie(mboxTrafficLevelCookie, level, duration);
 mboxSetCookie(mboxTrafficStateCookie, g14, duration);
 }
 else if (g14 == null || mboxGetCookie(mboxTrafficLevelCookie) != level) {
 g14 = (Math.random() * 100) <= level;
 mboxSetCookie(mboxTrafficLevelCookie, level, duration);
 mboxSetCookie(mboxTrafficStateCookie, g14, duration);
 }

 if (g14) {
 this.enable();
 }
 else {
 this.disable();
 }
}

function mboxTimedOut() {
 return mboxGetCookie(mboxDisableCookie) == "true";
}

function mboxCancelTimeoutById(id) {
 mboxs[id].activate();
}

function mboxActivateById(id) {
 mboxs[id].activate();
}

function mboxCheckTimeoutById(id) {
 mboxs[id].activate();

 if (!mboxs[id].isActivated()) {
 mboxEnv.disable();
 
 window.location.reload(false);
 }
}


function mboxCheckAll() {
 for (var mbox in mboxs) {
 mboxs[mbox].finalize();
 }
}


function mboxGetDefaultDiv(r0) {
 return mboxs[r0].getDefaultDiv();
}


function mboxMarkerName(r0) {
 return mboxs[r0].markerName();
}


function mboxImportName(r0) {
 return mboxs[r0].importName();
}


function mboxSetupSignal(s15, r0 ) {
 var w1 = new Array();
 for (var i = 1; i < arguments.length; i++) {
 w1[i-1] = arguments[i];
 }
 mboxSetCookie(mboxSignalPrefix + s15, w1.join("&"), 45 * 60);
}


function mboxSignal() {
 var n16 = mboxGetCookieNames(mboxSignalPrefix);
 for (g17 in n16) {
 var d18 = mboxGetCookie(n16[g17]);
 var w1 = d18.split("&");
 var r0 = w1[0];
 w1[0] = mboxNameArg + '=' + r0;
 var k19 = new mboxSignalMbox(r0, w1);
 k19.put();
 mboxDeleteCookie(n16[g17]);
 }
}


function mboxDefaultContentDisplayNone() {
 document.write("<style>." + mboxDefaultDivClass
 + " { visibility:hidden; }</style>");
}


function mboxArg(e20, z21) {
 return e20 + "=" + escape(z21);
}


function mboxSession(j22) {
 this.id = null;

 this.id = mboxGetPageParameter(mboxSessionIdArg);
 if (this.id == null || this.id.length == 0) {
 this.id = mboxGetCookie(mboxSessionIdCookie);
 if (this.id == null || this.id.length == 0) {
 this.id = j22;
 }
 }

 this.getId = mboxSession_getId;
}


function mboxSession_getId() {
 mboxSetCookie(mboxSessionIdCookie, this.id, 45 * 60);
 return this.id;
}

function mboxPC(randomId) {
 this.id = mboxGetCookie(mboxPCIdCookie);

 if (this.id == null || this.id.length == 0) {
 this.id = randomId;
 }

 this.getId = mboxPC_getId;
}


function mboxPC_getId() {
 mboxSetCookie(mboxPCIdCookie, this.id, 2 * 365 * 24 * 60 * 60);
 return this.id;
}

function mboxGenerateId() {
 return (new Date()).getTime() + "-" + Math.floor(Math.random() * 999999);
}

function mboxGetPageParameter(name) {
 var p12 = null;

 var x23 = new RegExp(name + "=([^\&]*)");
 var g24 = x23.exec(document.location);
 if (g24 != null && g24.length >=2) {
 p12 = g24[1];
 }

 return p12;
}


function mboxDebugMode() {
 var mode = mboxGetPageParameter(mboxDebugModeArg);

 if (mode != null) {
 mboxSetCookie(mboxDebugModeCookie, mode, 45 * 60);
 }
 else {
 mode = mboxGetCookie(mboxDebugModeCookie);
 }

 return mode;
}

function mboxDebugInfo() {
 var a25 = new mboxDebugWindow();
 a25.put("<p>");
 a25.put(" <b>Page</b>: " + document.location);
 a25.put(" <ul>");

 if (mboxEnv.isEnabled()) {
 a25.put("  <li>Enabled: true</li>");
 }
 else {
 a25.put(
 '  <li>Enabled: <span style="color:red"><b>false</b></span></li>');
 }
 a25.put("  <li>Cookies enabled: " + mboxCookieIsEnabled() + "</li>");
 a25.put("  <li>Global arguments: '" + mboxGlobalArguments + "'</li>");
 a25.put("  <li>Referring URL: '" + document.referrer + "'</li>");
 a25.put("  <li>Page URL: '" + document.location + "'</li>");
 a25.put("  <li>Cookies: '" + document.cookie + "'</li>");
 a25.put("  <li>Page Id: " + mboxPageId + "</li>");

 for (r0 in mboxs) {
 a25.put("  <li>mbox: '" + mboxs[r0].id + "'");
 a25.put("   <ul>");

 if (mboxs[r0].error) {
 a25.put('   <li><span style="color: red"><b>Error: '
 + mboxs[r0].error + '</b></span></li>');
 }

 var a9 = document.getElementById(mboxMarkerName(mboxs[r0].id));
 if (a9 == null) {
 a25.put('    <li><span style="color: red">'
 + '<b>Error: can not find mbox in dom</b></span></li>');
 }
 else {
 a25.put("    <li>has default content: "
 + (mboxs[r0].getDefaultDiv() != null) + "</li>");
 }

 if (mboxDebugMode().indexOf("t") > 0) {
 a25.put('    <li>times (ms):');
 a25.put('     <table>');
 var x26 = 0;
 for(a27 in mboxs[r0].time) {
 var z28 = '<tr>';

 z28 = z28 + '<td>' + a27 + '</td>'
 + '<td>' + mboxs[r0].time[a27] + '</td>';

 if (x26) {
 z28 = z28 + '<td>-' + x26 + ':</td><td> '
 + (mboxs[r0].time[a27] - mboxs[r0].time[x26])
 + '</td>'
 }
 z28 = z28 + '</tr>';
 a25.put(z28);
 x26 = a27;
 }
 a25.put('     </table>');
 a25.put('    </li>');
 }

 a25.put('    <li><a href="' + mboxs[r0].url + '">'
 + mboxs[r0].url + '</a></li>');
 a25.put("   </ul>");
 a25.put("  </li>");
 }
 a25.put(" </ul>");
 a25.putCloseButton()
 a25.put("</p>");
}


function mboxDebugWindow() {
 var o29 = document.location.hostname;
 var n30 = /\W/g
 var v31 = o29.replace(n30, '_');

 this.put = mboxDebugWindow_put;
 this.putCloseButton = mboxDebugWindow_putCloseButton;
 this.window = window.open("", "mboxDebugWindow" + v31,
 "width=600,height=300,resizable,scrollbars=yes,toolbar=yes");

 if (this.window == null) {
 alert("Unable to open Offermatica's mboxDebugWindow Window.\n"
 + "Are you blocking popups?\n");
 return;
 }

 if (this.window.document.getElementById("mboxDebugWindowSetup") == null) {
 this.put("<html><head>\n")
 this.put(" <title>Mbox Debug Window - " + o29 + "</title>\n");
 this.put("  <script>");
 this.put("   function mboxWindowClose() {");
 this.put("     document.cookie = \""
 + mboxDebugModeCookie + "=0;"
 + "expires=Thu, 01-Jan-70 00:00:01 GMT; path=/;"
 + mboxCookieDomain
 + "\"");
 this.put("     window.close();");
 this.put("   }");
 this.put("  </" + "script>");
 this.put(" </head>\n")
 this.put(" <body>\n")
 this.put("  <b>Mbox Debug Window (version:" + mboxVersion + ")</b></br>");
 this.put("  <div id=\"mboxDebugWindowSetup\"></div>\n");
 }
}

function mboxDebugWindow_put(u33) {
 if (this.window == null) {
 return;
 }
 this.window.document.writeln(u33);
 this.window.scrollBy(0, 1000);
}

function mboxDebugWindow_putCloseButton() {
 this.put("<a href=\"javascript:mboxWindowClose()\">"
 + "click here to close debug window</a>");
}

function mboxSafeOnload(element) {
 this.x34 = new Array()
 this.add = mboxSafeOnload_add;
 this.setup = mboxSafeOnload_setup;
 this.action = mboxSafeOnload_action;
 this.element = element;

 if (typeof mboxSafeOnloadFunctions == "undefined") {
 mboxSafeOnloadFunctions = new Array();
 }
 var offset = mboxSafeOnloadFunctions.length;
 mboxSafeOnloadFunctions[offset] = this;
 this.t35 = new Function("mboxSafeOnloadFunctions[" + offset + "].action()");

 this.setup();
}

function mboxSafeOnload_setup() {
 if (this.element.onload != this.t35) {
 if (this.element.onload) {
 this.add(this.element.onload);
 }
 window.onload = this.t35;
 }
}

function mboxSafeOnload_add(a36) {
 this.x34[this.x34.length] = a36;
}

function mboxSafeOnload_action() {
 for (var h3 = 0; h3 < this.x34.length; h3++) {
 this.x34[h3]();
 }
}


function mboxSetCookie(o29, z21, b11) {
 var w37 = new Date();
 w37.setTime(w37.getTime() + b11 * 1000);
 document.cookie = o29 + "=" + escape(z21) + "; expires="
 + w37.toGMTString() + "; path=/" + mboxCookieDomain;
;
}


function mboxGetCookie(o29)
{
 var z21 = null;

 var a38 = document.cookie.indexOf(o29 + "=");
 if (a38 == -1) {
 return null;
 }
 var t39 = a38 + o29.length + 1;

 var e40 = document.cookie.indexOf(";" , t39);
 if (e40 == -1) {
 e40 = document.cookie.indexOf("," , t39);
 if (e40 == -1) {
 e40 = document.cookie.length;
 }
 }

 return unescape(document.cookie.substring(t39, e40));
}


function mboxGetCookieNames(j41) {
 var a42 = new RegExp(j41 +"[^=]*", "g");
 var e43 = new Array();
 do {
 var o44 = a42.exec(document.cookie);
 if (o44 != null) {
 e43.push(o44[0]);
 }
 } while (o44 != null);
 return e43;
}


function mboxDeleteCookie(o29) {
 var w37 = new Date();
 var n45 = w37.getTime() - 365 * 24 * 60 * 60 * 1000;
 if (n45 < 0) {
 n45 = 0;
 }
 w37.setTime(n45);
 document.cookie = o29 + "=; expires=" + w37.toGMTString()
 + "; path=/" + mboxCookieDomain;
 document.cookie = o29 + "; expires=" + w37.toGMTString()
 + "; path=/" + mboxCookieDomain;
}

function mboxCookieIsEnabled() {
 mboxSetCookie(mboxCheckCookie, "true", 60);
 return mboxGetCookie(mboxCheckCookie) == "true";
}

function mboxPlatform() {
 
 this.j46 = window.navigator.appVersion.indexOf("Mac") != -1;
 this.i47 = window.navigator.appVersion.indexOf("MSIE") != -1;

 
 var e48 = window.navigator.userAgent.indexOf("Opera") != -1;
 var s49 = window.navigator.userAgent.indexOf("Konqueror") != -1;
 var p50 = this.i47 &&
 (window.navigator.appVersion.indexOf("MSIE 4.") != -1);
 var o51 = (navigator.appName == 'Netscape') &&
 (parseInt(navigator.appVersion) == 4);

 
 this.supported = !(o51 || p50 || e48 || s49);

 
 this.isSupported = mboxPlatform_isSupported;
 this.supportsReplace = mboxPlatform_supportsReplace;
}

function mboxPlatform_isSupported() {
 return this.supported;
}

function mboxPlatform_supportsReplace() {
 return !(this.i47 && this.j46)
}

