/*
 * cinematoday.ad.js
 * COPYRIGHT (C) 2008 WELVA CORPORATION. ALL RIGHTS RESERVED.
 *
 * $Id: cinematoday.ad.js,v 1.4 2008/04/24 18:50:26 flix Exp $
 */

var ct = {};
ct.ad = {
    s_code: function(adid) {
        return "var s=s_gi(s_account);"
             + "s.linkTrackVars='events,products,eVar1,eVar2';"
             + "s.linkTrackEvents='event5';"
             + "s.events='event5';"
             + "s.products='banner;" + adid + "';"
             + "s.tl(this,'o','Banner Click');";
    },
    pool: {},
    picked: [],
    regist: function(entry) {
        if (this.pool[entry.adtype] == null) {
            this.pool[entry.adtype] = new Array();
        }
        this.pool[entry.adtype].push(entry);
    },
    show: function(adtype, docid) {
        if (this.pool[adtype] == null) {
            return;
        }
        var ad = this.pool[adtype][
            Math.floor(Math.random() * this.pool[adtype].length)];
        this.addPicked(ad.adtype + ';' + ad.id);
        if (ad.html != null) {
            var s = this.s_code(ad.id);
            s = '<a href="' + this.esc(ad.linkTo) + '"'
              + ' onclick="' + s + '"'
              + ' target="' + ad.target + '">';
            var h = ad.html.replace('${linkS}', s);
            h = h.replace('${linkE}', '</a>');
            $("#"+docid).html(h);
        } else {
            var u = ad.linkTo;
            var t = ad.target;
            if (ad.media.spec >= 2) {
                u = "javascript:void(ct.ad.click('"
                  + ad.adtype + "','" + ad.id + "'))"
                t = "_self";
            }
            swfobject.embedSWF(ad.media.url, docid,
                ad.media.width, ad.media.height, "6.0.0", null,
                {clickTAG: u, targetTAG: t},
                ad.media.params);
        }
    },
    click: function(adtype, adid) {
        var ad = this.getad(adtype, adid);
        if (ad != null) {
            var result = eval(this.s_code(adid));
            setTimeout(
                'window.open("' + ad.linkTo + '", "' + ad.target + '")', 1000);
        }
    },
    getevents: function(s, e) {
        if (this.picked.length > 0) {
            if (s) s += ',';
            s += e;
        }
        return s;
    },
    getlist: function(s) {
        for (var i = 0; i < this.picked.length; i++) {
            if (s) s += ',';
            s += this.picked[i];
        }
        return s;
    },
    getad: function(adtype, adid) {
        for (var i = 0; i < this.pool[adtype].length; i++) {
            if (this.pool[adtype][i].id == adid) {
                return this.pool[adtype][i];
            }
        }
        return null;
    },
    addPicked: function(id) {
        for (var i = 0; i < this.picked.length; i++) {
            if (this.picked[i] == id) return;
        }
        this.picked.push(id);
    },
    esc: function(s) {
        s = s.replace('&', '&amp;');
        s = s.replace('<', '&lt;');
        s = s.replace('>', '%gt;');
        return s;
    }
};
