/*
 * -- Tewonder code description start --
 * Name: se.tewonder.Global.GlobalObjects.MediaManager.MediaObjects.FlashVideoObject
 * Type: Class
 * Version: 0.1.02
 *
 * Edited by: Mattias Ekendahl (mattias@tewonder.se)
 * Updates:
 *
 * Notes:
 * Todo: 
 * -- Tewonder code description end --
 */

function gTewonderLocalScopeFunction() {

	var FlashVideoObject = (function() {
		//alert("se.tewonder.Global.GlobalObjects.MediaManager.MediaObjects.FlashVideoObject");
		
		this.playerPath = FlashVideoObject.DEFAULT_PLAYER_PATH;
		this.pathFlashVarsName = FlashVideoObject.DEFAULT_PATH_FLASH_VARS_NAME;
		this.type = "flashVideo";
		
		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();
			var currentArray = ["flv", "f4v", "f4p", "f4a", "f4b"];
			for(var i = -1; ++i < currentArray.length;) {
				if(extension == currentArray[i]) return 2;
			}
			return 0;
		});
		
		this.initializeHtmlRendering = (function() {
			var theFilePath = this.playerPath;
			if(this.skipCache) {
				//METODO: change to a url generator
				theFilePath += "?" + this.skipCacheQueryStringName + "=";
				switch(this.skipCacheTecnique) {
					case "random":
						theFilePath += Math.random();
						break;
					default:
						gTewonderGlobalObjects["errorManager"].report("error", 2, "se.tewonder.Global.GlobalObjects.MediaManager.MediaObjects.FlashVideoObject", "initializeHtmlRendering", "no skip cache tecnique named " + this.skipCacheTecnique + ". Using date.");
					case "date":
						var theDate = new Date();
						var NumberConverter = gTewonderClasses.se.tewonder.Global.Utilities.Number.NumberConverter;
						theFilePath += theDate.getFullYear() + "" + NumberConverter.getPaddedNumber(theDate.getMonth()+1, 2) + "" + NumberConverter.getPaddedNumber(theDate.getDate(), 2) + "T" + NumberConverter.getPaddedNumber(theDate.getHours(), 2) + "" + NumberConverter.getPaddedNumber(theDate.getMinutes(), 2) + "" + NumberConverter.getPaddedNumber(theDate.getSeconds(), 2) + "." + NumberConverter.getPaddedNumber(theDate.getMilliseconds(), 3);
						break;
				}
			}
			this.embedAttributesObject["src"] = theFilePath;
			this.paramsObject["movie"] = theFilePath;
			this.setupFlashVars();
		});
	});
	
	FlashVideoObject.DEFAULT_PLAYER_PATH = "flash/videoPlayer.swf";
	FlashVideoObject.DEFAULT_PATH_FLASH_VARS_NAME = "filePath";
	
	gTewonderGlobalFunctions.addClass("se.tewonder.Global.GlobalObjects.MediaManager.MediaObjects.FlashVideoObject", FlashVideoObject);
	
	gTewonderGlobalFunctions.setClassInheritance(gTewonderClasses.se.tewonder.Global.GlobalObjects.MediaManager.MediaObjects.FlashVideoObject, gTewonderClasses.se.tewonder.Global.GlobalObjects.MediaManager.MediaObjects.FlashObject);
	
}

gTewonderLocalScopeFunction();
