/**
 * This class represent a model video in javascript side.
 * Compatible : IE, Firefox, Safari, Opera
 * @package DHL::CONTENT
 * @author Inoveo technologie inc.
 */
if (DHL == undefined) var DHL = {};
if (DHL.CONTENT == undefined) DHL.CONTENT = {};
(DHL.CONTENT.JSMODELVIDEO = function () {

	this.iId;
	this.iModelVideoPositionId;
	this.iModelId;
	this.strLocalPath;
	this.strFileName='';
	this.iModelVideoSetId;

	DHL.CONTENT.JSMODELVIDEO.prototype.__wakeUp = function __wakeUp(aData) {
		this.iId = aData['intId'];
		this.sOriginalFileName = aData['strOriginalFileName'];
		this.iModelVideoPositionId = aData['intModelVideoPositionId'];
		this.iModelId = aData['intModelId'];
		this.strLocalPath = aData['strLocalPath'];
		this.strFileName = aData['strFileName'];
		this.iModelVideoSetId = aData['intModelVideoSetId'];
	}

	DHL.CONTENT.JSMODELVIDEO.prototype.getId = function getId() {
		return this.iId;
	}
	
	DHL.CONTENT.JSMODELVIDEO.prototype.getFileName = function getFileName() {
		return this.strFileName;
	}
	
	DHL.CONTENT.JSMODELVIDEO.prototype.getClassId = function getClassId() {
		return 97;
	}
	
	DHL.CONTENT.JSMODELVIDEO.prototype.getModelVideoPosition = function getModelVideoPosition() {
		return DHL.CONTENT.JSMODELVIDEO_POSITION.getInstance(this.iModelVideoPositionId);
	}

	DHL.CONTENT.JSMODELVIDEO.prototype.getOriginalFileName = function getOriginalFileName() {
		return sOriginalFileName;
	}
	
	DHL.CONTENT.JSMODELVIDEO.prototype.getVideoPosition = function getImagePosition() {
		return DHL.CONTENT.JSMODELVIDEO_POSITION.getInstance(this.iModelVideoPositionId);
	}
	
	DHL.CONTENT.JSMODELVIDEO.prototype.getVideoSetId = function getVideoSetId() {
		return this.iModelVideoSetId;
	}
	
	DHL.CONTENT.JSMODELVIDEO.prototype.getVideoSetObjectKey = function getVideoSetObjectKey() {
		return "DHL.CONTENT.JSMODELVIDEO_SET[" + this.iModelVideoSetId + "]"
	}
	
	DHL.CONTENT.JSMODELVIDEO.prototype.getRelativePath = function getRelativePath() {
		strVideoPath = false;
		if(objVideoPosition = this.getVideoPosition()) {
			strVideoPath = (
				objVideoPosition.getRelativePath() + 
				this.iModelId + '/' + this.strFileName
			);  
		}
		return strVideoPath;
	}
	
	DHL.CONTENT.JSMODELVIDEO.prototype.getObjectKey = function getObjectKey() {
		return "DHL.CONTENT.JSMODELVIDEO[" + this.intId + "]";
	}
	
	// Static members definition {{{

	if (DHL.CONTENT.JSMODELVIDEO.className == undefined) { 

		var aInstance = new Object();

		DHL.CONTENT.JSMODELVIDEO.wakeup = function(aData) {
			var oModelVideo = aInstance[aData['intId']];
			if (oModelVideo == undefined) {
				oModelVideo = new DHL.CONTENT.JSMODELVIDEO();
				oModelVideo.__wakeUp(aData);
				aInstance[aData['intId']] = oModelVideo;
			}
			return oModelVideo;
		}
		
		DHL.CONTENT.JSMODELVIDEO.unmap = function(strAlias, arrData) {
			oModelVideo = new DHL.CONTENT.JSMODELVIDEO();
			oModelVideo.iId = arrData[strAlias + "id"];
			oModelVideo.iModelVideoPositionId = arrData[strAlias + "modelVideoPositionId"];
			oModelVideo.iModelId = arrData[strAlias + "modelId"];
			oModelVideo.strLocalPath = arrData[strAlias + "localPath"]; 
			oModelVideo.strFileName = arrData[strAlias + "fileName"];
			oModelVideo.iModelVideoSetId = arrData[strAlias + "modelVideoSetId"];
			return oModelVideo;
		}


		DHL.CONTENT.JSMODELVIDEO.getInstance = function (iId) {
			return aInstance[iId];
		}

		DHL.CONTENT.JSMODELVIDEO.className = 'DHL.CONTENT.JSMODELVIDEO';
		DHL.CONTENT.JSMODELVIDEO.prototype.className = 'DHL.CONTENT.JSMODELVIDEO';
	}

	// }}}
	
	this.jsClass = DHL.CONTENT.JSMODELVIDEO;
	
})(); 