<?xml version="1.0" encoding="UTF-8"?>
<rmml>
<!--
$RCSfile: rnmc_stdImage.xml $
$Revision: 957 $

last change: $Date: 2009-02-17 14:00:06 +0300 (Вт, 17 фев 2009) $
             $Author: toha $

	Lacerta Project
	version 1.0.0.1
	Copyright (C) 2007-2009 RNMC
-->
<!--
====================================================================================================================
			Визуальный объект 'Изображение'
====================================================================================================================
-->
<composition name="rnmc_stdImage" class="rnmc_stdMediaObject">
<script><![CDATA[
	this.type = "rnmc_stdImage"

//	для каждого объекта необходимо определить
//	какие эффекты к нему применимы
	this.fadeEffectEnabled = true;
	this.moveEffectEnabled = true;
	this.scaleEffectEnabled = false;
	
	function initFromNode(srcNode){
		var xmlNode = null;
		var xmlAttributeMap = null;
		var xmlAttribute = null;

		xmlAttributeMap = srcNode.attributes;
		if (xmlAttributeMap){
			xmlAttribute = xmlAttributeMap.getNamedItem("id");
			if (xmlAttribute != null && xmlAttribute.specified)
				this.id = xmlAttribute.value;
			xmlAttribute = xmlAttributeMap.getNamedItem("visible");
			if (xmlAttribute != null && xmlAttribute.specified){
				if(xmlAttribute.value == "true")
					this.visibility = OBJECT_VISIBILITY_TRUE;
				else if(xmlAttribute.value == "false")
					this.visibility = OBJECT_VISIBILITY_FALSE;
			}
			xmlAttribute = xmlAttributeMap.getNamedItem("enabled");
			if (xmlAttribute != null && xmlAttribute.specified && xmlAttribute.value == "false")
				this.disabled = true;
		}

		if(scene.defaultSettings && scene.defaultSettings.stdImage){
			this.titleStyle = scene.defaultSettings.stdImage.titleStyle;
		}

		xmlNode = srcNode.firstChild;
		while(xmlNode){
			if(xmlNode.nodeName == "param"){
				this.parseParamNode(xmlNode);
			} else if(xmlNode.nodeName == "rollovermenu"){
				this.parseRolloverMenuNode(xmlNode);
			}  else if(xmlNode.nodeName == "actions"){
				this.parseActionsNode(xmlNode);			
			} else if(xmlNode.nodeName == "zoom"){
				//	===============================================
			} else if(xmlNode.nodeName == "control"){
				this.parseControlNode(xmlNode);
			} else if(xmlNode.nodeName == "title"){
				this.parseTitleNode(xmlNode);
			} else if(xmlNode.nodeName == "hint"){
				this.parseHintNode(xmlNode);
			} else if(xmlNode.nodeName == "attach"){
				this.parseAttachNode(xmlNode);
			} else if(xmlNode.nodeName == "effects"){
				this.parseEffectsNode(xmlNode);
			}	else if(xmlNode.nodeName == "effect"){	//	старый вариант, NOT SAFE
				this.parseEffectNode(xmlNode);
			} else if(xmlNode.nodeName == "drag"){ //	таскание медиа-объекта
				this.parseDraggingNode(xmlNode);
			} else if(xmlNode.nodeName == "scrollmenu"){ //	таскание медиа-объекта
				this.parseScrollMenuNode(xmlNode);
			} else if(xmlNode.nodeName == "objectives"){
				this.parseObjectivesNode(xmlNode);
			} 
			xmlNode = xmlNode.nextSibling;
		}
	// если не задан zoom-объект - отключаем опцию увеличения в rollovermenu
		//if(!this.zoomObject)
		//	this.menuZoom = false;
		return true;
	}
	
//	загрузка объекта
	function loadObject(){
		if(!this.objectContent){
			this.objectContent = new Image();
			this.objectContent.src = this.objectSrc;
			this.objectContent.visible = false;
			if (this.objectHitArea != null)
				this.objectContent.hitArea = this.objectHitArea;
			this.objectContent.parent = this;
		}
	}

//	 выгрузка (удаление объекта)
	function unloadObject(){
		this.effectsTarget = null;
		if(this.objectContent){
			this.objectContent.src = null;
			this.objectContent.parent = null;
			this.objectContent = null;
		}
	}
	
	function showObject(){
		this.loadObject();
		if(this.objectContent){
			var objectPosition = this.getPosition();
			this.setPosition(objectPosition[0], objectPosition[1], objectPosition[2], objectPosition[3], this.objectDepth);
			this.objectContent.opacity = this.objectOpacity;
			this.objectContent.visible = false;
		};
		
		rnmc_stdMediaObject_showObject();
	};

	function hideObject(){
		rnmc_stdMediaObject_hideObject();
	};
]]></script>
</composition>
</rmml>