WMPObject = function(mov, id, w, h) { 
	this.mov = mov; 
	this.id = id; 
	this.width = w; 
	this.height = h; 
	this.params = new Object();
} 
WMPObject.prototype.addParam = function(name, value) { 
	this.params[name] = value; 
} 
WMPObject.prototype.getParams = function() {
	return this.params; 
} 
WMPObject.prototype.getParam = function(name) { 
	return this.params[name]; 
} 
WMPObject.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; 
} 

var agt = navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie6 = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
var is_ff = (agt.indexOf("firefox") != -1);
var is_opera = (agt.indexOf("opera") != -1);

var os = navigator.platform.toLowerCase();
var is_windows = (os.indexOf("win") != -1);
var is_mac = (os.indexOf("mac") != -1);
var is_linux = (os.indexOf("linux") != -1);

WMPObject.prototype.getHTML = function() {
    var wmpHTML = "";
    if (is_ie) {
        wmpHTML += '<object type="application/x-mplayer2" width="' + this.width + '" height="' + this.height + '" id="' + this.id + '">';
        wmpHTML += '<param name="volume" value="0" />';
        this.addParam("Filename", this.mov);
        if (this.getParamTags() != null) {
            wmpHTML += this.getParamTags();
        }
        wmpHTML += '</object>';
        wmpHTML += '<script type="text/JScript" for="' + this.id + '" event="ScriptCommand(scType, scParam)">';
        wmpHTML += 'CallScriptCommand(scType, scParam)</script>';
    }
    else if (is_ff && is_windows) {
        wmpHTML += '<object type="application/x-ms-wmp" width="' + this.width + '" height="' + this.height + '" id="' + this.id + '">';
        wmpHTML += '<param name="volume" value="100" />';
        this.addParam("Filename", this.mov);
        if (this.getParamTags() != null) {
            wmpHTML += this.getParamTags();
        }
        wmpHTML += '</object>';
        wmpHTML += '<script id="WmpIntegration" type="text/javascript">' +
			'function OnDSScriptCommandEvt(scType, scParam) { CallScriptCommand(scType, scParam); }' +
			'</script>';
    }
    else if (is_ff && is_mac) {
        wmpHTML += '<embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" src="' +
			this.mov + '" width="' + this.width + '" height="' + this.height + '" id="' + this.id + '"';
        for (var param in this.getParams()) {
            wmpHTML += ' ' + param + '="' + this.getParam(param) + '"';
        }
        wmpHTML += '></embed>';
    }
    else if (navigator.plugins && navigator.plugins.length) { // not ie
        wmpHTML += '<embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" src="' +
			this.mov + '" width="' + this.width + '" height="' + this.height + '" id="' + this.id + '" volume="100"';
        for (var param in this.getParams()) {
            wmpHTML += ' ' + param + '="' + this.getParam(param) + '"';
        }
        wmpHTML += '></embed>';
    }
    return wmpHTML;
}
WMPObject.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; 
	} 
} 
WMPObject.prototype.write = function(elementId) { 
	if (elementId) { 
		document.getElementById(elementId).innerHTML = this.getHTML(); 
	} 
	else { 
		document.write(this.getHTML()); 
	} 
}
