function _mp() {
    this.host = "us.video.aol.com";
    this.referer = document.location.href;
    var idx = this.referer.indexOf("?");
    if (idx > 0) {
        this.referer = this.referer.substring(0, idx);
    }
    this.debug = false;
    this.popup = "";

    this.widgets = new Array();
    this.widgets['video-browse-full']   = { t:'video', w:708, h:600, p:7, R:10, page:'video.index.adp', embed: false, size: 'browse-full',  mode: 3 };
    this.widgets['video-browse-light']  = { t:'video', w:708, h:600, p:7, R:10, page:'video.index.adp', embed: false, size: 'browse-light', mode: 2 };
    this.widgets['video-browse']        = { t:'video', w:708, h:366, p:7, R:10, page:'video.index.adp', embed: false, size: 'browse',       mode: 1 };
    this.widgets['video-full']          = { t:'video', w:708, h:358, p:7, R:10, page:'video.full.adp',  embed: false, size: 'full',         mode: 0 };
    this.widgets['audio-full']          = { t:'audio', w:708, h:358, p:7, R:37, page:'audio.full.adp',  embed: false, size: 'full',         mode: 0 };
    this.widgets['video-mini']          = { t:'video', w:325, h:348, P:7, R:10, page:'video.mini.adp',  embed: false, size: 'mini',         mode: 0 };
    this.widgets['audio-mini']          = { t:'audio', w:325, h:110, P:7, R:10, page:'audio.mini.adp',  embed: false, size: 'mini',         mode: 0 };
    this.widgets['video-oldmedium']     = { t:'video', w:320, h:300, p:0, R:0,  page:'widget.adp',      embed: true,  size: '1',            mode: 0 };
    this.widgets['video-large']         = { t:'video', w:320, h:317, p:0, R:0,  page:'widget.adp',      embed: true,  size: 'large',        mode: 0 };
    this.widgets['video-small']         = { t:'video', w:176, h:155, p:0, R:0,  page:'widget.adp',      embed: true,  size: 'small',        mode: 0 };
    this.widgets['video-widescreen']    = { t:'video', w:368, h:284, p:0, R:0,  page:'widget.adp',      embed: true,  size: 'widescreen',   mode: 0 };
    this.widgets['video-superlarge']    = { t:'video', w:640, h:557, p:0, R:0,  page:'widget.adp',      embed: true,  size: 'superlarge',   mode: 0 };
    this.widgets['audio-large']         = { t:'audio', w:320, h:77,  p:0, R:0,  page:'widget.adp',      embed: true,  size: 'large',        mode: 0 };
    this.widgets['audio-small']         = { t:'audio', w:176, h:23,  p:0, R:0,  page:'widget.adp',      embed: true,  size: 'small',        mode: 0 };

    this.play = mp_play;
    this.playlist = mp_playlist;
    this._play = mp__play;
    this.init = mp_init;
}

var mp = new _mp();

function mp_playlist(widget, pls, type, start, startid) {
    if (type == null || type.length == 0) { type = "wmv"; }
        
    var idx = pls.indexOf(":");
    if (idx > 0) {
        pls = pls.substring(idx+1);
    }
    var url = "&pls=" + pls + "&type=" + type;

    if (start)
        url += "&start=" + start;

    if (startid)
        url += "&startid=" + startid;

    this._play(widget, url);
}

function mp_play(widget, media, scrollArray, options) {
    var idx = media.indexOf(":");
    var idtype, idval;
    if (idx > 0) {
        idtype = media.substring(0, idx);
        idval = media.substring(idx+1);
        var params = "&" + idtype + "=" + escape(idval);
        // options could be skin, logo, franchise
        if (options && options.length) {
            var idx, optname, optval;
            for (var i = 0; i < options.length; i++) {
                idx = options[i].indexOf(":");
                if (idx < 0) {
                     continue;
                }
                optname = options[i].substring(0,idx);
                optval  = options[i].substring(idx+1);
                params += "&" + optname + "=" + escape(optval);
                if (optname == "debug" && optval == 1) {
                    this.debug = true;
                }
            }
        }
        
        if (scrollArray && scrollArray.length ) {
            var scrollNames = new Array("scroll1", "scroll2", "scroll3");
            for (var i = 0; i < scrollArray.length; i++ ) {
                params += "&" + scrollNames[i] + "=" + escape(scrollArray[i]);
            }
        }

        this._play(widget, params);
    }
}

function mp__play(widget, media_param) {
    widget = widget.toLowerCase();
    var ua = navigator.userAgent.toLowerCase();
    var ie = ((ua.indexOf("msie") > 0) && (ua.indexOf("america online browser") == -1) && (ua.indexOf("netscape/8") == -1));
    var ns7 = (ua.indexOf("netscape/7") > 0);
    var ff = (ua.indexOf("firefox") > 0);

    var w = null;
    try {
        w = this.widgets[widget];
    }
    catch(e) {
        w = this.widgets['video-full'];
    }

    var url = "http://" + this.host + "/" + w.page + "?mode=" + w.mode + media_param + "&referer=" + escape(this.referer);
    var features = "width=" + w.w + ", height=" + w.h + ",status=yes,resizable=no";
    if (this.debug) {
        features += ",location=yes,scrollbars=yes";
    }

    if (w.embed) {
        url += "&mediatype=" + w.t;
        url += "&size=" + w.size;

        var af = null;
        try { af = window.frames._AVID_IFRAME_; } catch(e) {}
        if (af) 
            af.location.href = url;
        else 
            this.init(widget, url);
    } else {
        if (ua.indexOf("aol") != -1) {
            try {
                // for aol client, close the existing player
                if (this.popup != "")
                    this.popup.close();
            }
            catch(e) {}
        }

        this.popup = window.open(url, "_aolvideo_", features);
    }
} 

function mp_init(widget, url) {
    widget = widget.toLowerCase();
    if (url == null) url = "";

    var w = null;
    try {
        w = this.widgets[widget];
    }
    catch(e) {
        w = this.widgets['video-large'];
    }
    document.write("<iframe id='_AVID_IFRAME_' name='_AVID_IFRAME_' width=" + w.w + " height=" + w.h + " name='" + widget + "'");
    document.write(" marginwidth=0 marginheight=0 frameborder=0 scrolling=no border=0 style='overflow:hidden;");
    document.writeln(" position:relative; top:0px; left:0px;' src='" + url + "'></iframe>");
}


