/**
 * sina flash class
 * @version 1.1.4.2
 * @author [sina ui]zhangping1@
 * @update 2008-7-7 
 */

if (typeof (sina) != "object") {
    var sina = {};
}
sina.$ = function(i) {
    if (!i) {
        return null;
    }
    return document.getElementById(i);
};
var SWF = function(V, x, X, Z, v, z, i, c, I, l, o) {
    var w = this;
    if (!document.createElement || !document.getElementById) {
        return;
    }
    w.id = x ? x : '';
    var O = function(I, i) {
        for (var l = 0; l < I.length; l++) {
            if (I[l] == i) { return l }
        }
        return -1;
    },
    C = '8.0.42.0';
    if (O(['eladies.sina.com.cn', 'ent.sina.com.cn'], document.domain) > -1) {
        w.ver = C;
    }
    else {
        w.ver = v ? v : C;
    }
    w.ver = w.ver.replace(/\./g, ',');
    w.__classid = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
    w.__codebase = "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=" + w.ver;
    w.width = X;
    w.height = Z;
    w.movie = V;
    w.src = w.movie; w.bgcolor = z ? z : '';
    w.quality = c ? c : "high";
    w.__pluginspage = "http://www.macromedia.com/go/getflashplayer";
    w.__type = "application/x-shockwave-flash";
    w.useExpressInstall = (typeof (i) == "boolean") ? i : false;
    w.xir = I ? I : window.location;
    w.redirectUrl = l ? l : window.location;
    w.detectKey = (typeof (o) == "boolean") ? o : true;
    w.escapeIs = false;
    w.__objAttrs = {};
    w.__params = {};
    w.__embedAttrs = {};
    w.__flashVars = [];
    w.__flashVarsStr = "";
    w.__forSetAttribute("id", w.id);
    w.__objAttrs["classid"] = w.__classid;
    w.__forSetAttribute("codebase", w.__codebase);
    w.__forSetAttribute("width", w.width);
    w.__forSetAttribute("height", w.height);
    w.__forSetAttribute("movie", w.movie);
    w.__forSetAttribute("quality", w.quality);
    w.__forSetAttribute("pluginspage", w.__pluginspage);
    w.__forSetAttribute("type", w.__type); 
    w.__forSetAttribute("bgcolor", w.bgcolor)
}
SWF.prototype = {
    getFlashHtml: function() {
        var I = this, i = '<object ';
        for (var l in I.__objAttrs) {
            i += l + '="' + I.__objAttrs[l] + '"' + ' ';
        }
        i += '>\n';

        for (var l in I.__params) {
            i += '	<param name="' + l + '" value="' + I.__params[l] + '" \/>\n';
        }

        if (I.__flashVarsStr != "") {
            i += '	<param name="flashvars" value="' + I.__flashVarsStr + '" \/>\n';
        }
        i += '	<embed ';
        for (var l in I.__embedAttrs) {
            i += l + '="' + I.__embedAttrs[l] + '"' + ' ';
        }

        i += '><\/embed>\n<\/object>';
        return i
    },
    __forSetAttribute: function(I, i) {
        var l = this;
        if (typeof (I) == "undefined" || I == '' || typeof (i) == "undefined" || i == '') {
            return;
        }
        I = I.toLowerCase();
        switch (I) {
            case "classid":
                break;
            case "pluginspage":
                l.__embedAttrs[I] = i;
                break;
            case "onafterupdate":
            case "onbeforeupdate":
            case "onblur":
            case "oncellchange":
            case "onclick":
            case "ondblClick":
            case "ondrag":
            case "ondragend":
            case "ondragenter":
            case "ondragleave":
            case "ondragover":
            case "ondrop":
            case "onfinish":
            case "onfocus":
            case "onhelp":
            case "onmousedown":
            case "onmouseup":
            case "onmouseover":
            case "onmousemove":
            case "onmouseout":
            case "onkeypress":
            case "onkeydown":
            case "onkeyup":
            case "onload":
            case "onlosecapture":
            case "onpropertychange":
            case "onreadystatechange":
            case "onrowsdelete":
            case "onrowenter":
            case "onrowexit":
            case "onrowsinserted":
            case "onstart":
            case "onscroll":
            case "onbeforeeditfocus":
            case "onactivate":
            case "onbeforedeactivate":
            case "ondeactivate":
            case "codebase":
                l.__objAttrs[I] = i;
                break;
            case "src":
            case "movie":
                l.__embedAttrs["src"] = i;
                l.__params["movie"] = i;
                break;
            case "width":
            case "height":
            case "align":
            case "vspace":
            case "hspace":
            case "title":
            case "class":
            case "name":
            case "id":
            case "accesskey":
            case "tabindex":
            case "type":
                l.__objAttrs[I] = l.__embedAttrs[I] = i;
                break;
            default:
                l.__params[I] = l.__embedAttrs[I] = i;
        }
    },
    __forGetAttribute: function(i) {
        var I = this;
        i = i.toLowerCase();
        if (typeof I.__objAttrs[i] != "undefined") {
            return I.__objAttrs[i];
        }
        else if (typeof I.__params[i] != "undefined") {
            return I.__params[i];
        }
        else if (typeof I.__embedAttrs[i] != "undefined") {
            return I.__embedAttrs[i];
        }
        else {
            return null;
        }
    },
    setAttribute: function(I, i) {
        this.__forSetAttribute(I, i);
    },
    getAttribute: function(i) {
        return this.__forGetAttribute(i);
    },
    addVariable: function(I, i) {
        var l = this;
        if (l.escapeIs) {
            I = escape(I);
            i = escape(i);
        }
        if (l.__flashVarsStr == "") {
            l.__flashVarsStr = I + "=" + i;
        }
        else {
            l.__flashVarsStr += "&" + I + "=" + i;
        }
        l.__embedAttrs["FlashVars"] = l.__flashVarsStr;
    },
    getVariable: function(I) {
        var o = this, i = o.__flashVarsStr;
        if (o.escapeIs) {
            I = escape(I);
        }
        var l = new RegExp(I + "=([^\\&]*)(\\&?)", "i").exec(i);
        if (o.escapeIs) {
            return unescape(RegExp.$1);
        }
        return RegExp.$1;
    },
    addParam: function(I, i) {
        this.__forSetAttribute(I, i);
    },
    getParam: function(i) {
        return this.__forGetAttribute(i);
    },
    write: function(i) {
        var I = this;
        if (typeof (i) == "string") {
            document.getElementById(i).innerHTML = I.getFlashHtml();
        }
        else if (typeof i == "object") {
            i.innerHTML = I.getFlashHtml();
        }
    }
}