/*
 * -- Tewonder code description start --
 * Name: se.tewonder.Global.GlobalObjects.MediaManager.MediaObjects.WindowsMediaVideoObject
 * Type: Class
 * Version: 0.1.01
 *
 * Edited by: Mattias Ekendahl (mattias@tewonder.se)
 * Updates:
 *
 * Notes:
 * Todo: 
 * -- Tewonder code description end --
 */

function gTewonderLocalScopeFunction() {
	//alert("gTewonderLocalScopeFunction::WindowsMediaVideoObject");
	
	var WindowsMediaVideoObject = (function() {
		//alert("se.tewonder.Global.GlobalObjects.MediaManager.MediaObjects.WindowsMediaVideoObject");
		this.versionString = WindowsMediaVideoObject.DEFAULT_VERSION_STRING;
		this.checkVersion = WindowsMediaVideoObject.DEFAULT_CHECK_VERSION;
		this.checkPlugin = WindowsMediaVideoObject.DEFAULT_CHECK_PLUGIN;
		this.type = "windowsMediaVideo";
			
		var currentFunction = function(aName, aValue) {
			this.filePath = aValue;
		}
		this.addSetParameterFunction(currentFunction, ["src", "FileName", "URL"]);

		var currentFunction = function(aName, aValue) {
			this.embedAttributesObject[aName] = (aValue ? 1 : 0);
			this.paramsObject[aName] = aValue;
		}
		this.addSetParameterFunction(currentFunction, ["ShowControls", "ShowStatusbar", "ShowDisplay", "AutoStart", "AutoSize", "ScaleToFit"]);
		
		var currentFunction = function(aName, aValue) {
			this.embedAttributesObject["type"] = aValue;
		}
		this.addSetParameterFunction(currentFunction, ["embedType"]);
		
		var currentFunction = function(aName, aValue) {
			this.objectAttributesObject["type"] = aValue;
		}
		this.addSetParameterFunction(currentFunction, ["objectType"]);
		
		//MENOTE: clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6 is for version 7 and later, clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95 is for version 6.4
		this.setParameter("classid", "clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6");
		var codebaseString = "http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab";
		if(this.versionString != null) {
			codebaseString += "#Version=" + this.versionString.split(".").join(",");
		}
		this.setParameter("codebase", codebaseString);
		this.setParameter("pluginspage", "http://www.microsoft.com/Windows/MediaPlayer/");
		this.setParameterToEmbedAttributes("type", "application/x-mplayer2");
		this.setParameterToObjectAttributes("type", "application/x-oleobject");
		
		this.canShowMedia = (function() {
			return gTewonderGlobalObjects["pluginDetector"].detectByMimeType("application/x-mplayer2", null);
		});
		
		this.canHandleFileByPath = (function(aFilePath) {
			//Returnvalues: 0 = can't handle file, 1 = is primary handler for file, 2 = can handle file
			var filePathWithoutQueryString;
			var questionMarkPosition = aFilePath.indexOf("?");
			if(questionMarkPosition != -1) {
				filePathWithoutQueryString = aFilePath.substring(0, questionMarkPosition);
			}
			else {
				filePathWithoutQueryString = aFilePath;
			}
			var extension = filePathWithoutQueryString.substring(filePathWithoutQueryString.lastIndexOf(".")+1, filePathWithoutQueryString.length).toLowerCase();
			
			//MENOTE: test wvx, wax
			var currentArray = ["wmv", "wvx", "wax", "asx"];
			for(var i = -1; ++i < currentArray.length;) {
				if(extension == currentArray[i]) return 2;
			}
			return 0;
		});
		
		this.initializeHtmlRendering = (function() {
			//alert("se.tewonder.Global.GlobalObjects.MediaManager.MediaObjects.WindowsMediaVideoObject::initializeHtmlRendering");
			var theFilePath = this.filePath;
			this.embedAttributesObject["src"] = theFilePath;
			//MENOTE: clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95 is using FilePath
			//this.paramsObject["FilePath"] = theFilePath;
			//MENOTE: clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6 is using URL
			this.paramsObject["URL"] = theFilePath;
		});
	});
	
	WindowsMediaVideoObject.DEFAULT_VERSION_STRING = null;
	WindowsMediaVideoObject.DEFAULT_CHECK_VERSION = false;
	WindowsMediaVideoObject.DEFAULT_CHECK_PLUGIN = true;
	
	WindowsMediaVideoObject.setDefaultRequiredPluginVersion = (function(aVersionString) {
		WindowsMediaVideoObject.DEFAULT_VERSION_STRING = aVersionString;
		WindowsMediaVideoObject.DEFAULT_CHECK_VERSION = true;
	});
	
	WindowsMediaVideoObject.getGetPlayerHtml = (function(aType) {
		var htmlText = "";
		switch(aType) {
			case "default":
				htmlText = "";
				break;
			default:
				break;
		}
		return htmlText;
	});
	
	gTewonderGlobalFunctions.addClass("se.tewonder.Global.GlobalObjects.MediaManager.MediaObjects.WindowsMediaVideoObject", WindowsMediaVideoObject);
	
	gTewonderGlobalFunctions.setClassInheritance(gTewonderClasses.se.tewonder.Global.GlobalObjects.MediaManager.MediaObjects.WindowsMediaVideoObject, gTewonderClasses.se.tewonder.Global.GlobalObjects.MediaManager.MediaObjects.ObjectsObject);
}

gTewonderLocalScopeFunction();
