addNamespace("Aspacts.Idios3.I_CAP.ClientInteraction.ActiveElement")

Aspacts.Idios3.I_CAP.ClientInteraction.ActiveElement.CoverLayer_class = function(elementParser, refElement)
{
	this.elementParser = elementParser
	this.refElement = refElement
	this.refCoverLayer = null
	this.actions = new Array()
	this.boolHightlight = false
}

Aspacts.Idios3.I_CAP.ClientInteraction.ActiveElement.CoverLayer_class.prototype.BuildCoverLayer = function()
{
	var intWidth = this.refElement.offsetWidth
	var intHeight = this.refElement.offsetHeight
	var intLeft = 0 
	var intTop = 0
	
	var pos = Aspacts.Idios3.I_CAP.Scripting.Core.FindElementPosition(this.refElement)
	intLeft = pos[0]
	intTop = pos[1]
	
	
	var intOffsetTop  = this.refElement.getAttribute("CAP_LayerOffsetTop") || this.elementParser.GetOption(this.refElement.getAttribute("CAP_OptionGroup") || "default", "intCoverLayerOffsetTop", "0")
	var intOffsetLeft  = this.refElement.getAttribute("CAP_LayerOffsetLeft") || this.elementParser.GetOption(this.refElement.getAttribute("CAP_OptionGroup") || "default", "intCoverLayerOffsetLeft", "0")
	var intOffsetWidth  = this.refElement.getAttribute("CAP_LayerOffsetWidth") || this.elementParser.GetOption(this.refElement.getAttribute("CAP_OptionGroup") || "default", "intCoverLayerOffsetWidth", "0")
	var intOffsetHeight  = this.refElement.getAttribute("CAP_LayerOffsetHeight") || this.elementParser.GetOption(this.refElement.getAttribute("CAP_OptionGroup") || "default", "intCoverLayerOffsetHeight", "0")
	
	
	
	
	intWidth += parseInt(intOffsetWidth)
	intHeight += parseInt(intOffsetHeight)
	 
	
	intLeft += parseInt(intOffsetLeft)
	intTop += parseInt(intOffsetTop)
	
	    
	this.refCoverLayer = document.createElement("span")
	 //document.getElementsByTagName("body")[0].insertBefore(this.editLayer, document.getElementsByTagName("body")[0] );   
	
	
	this.refCoverLayer.style.position= "absolute"  
    this.refCoverLayer.display="none"
	
	
	intWidth = this.elementParser.GetOption(this.refElement.getAttribute("CAP_OptionGroup") || "default", "intCoverLayerWidth", intWidth)
	intHeight = this.elementParser.GetOption(this.refElement.getAttribute("CAP_OptionGroup") || "default", "intCoverLayerHeight", intHeight)
	
	
	this.refCoverLayer.style.width =  this.refElement.getAttribute("CAP_LayerWidth") || intWidth + "px"
	this.refCoverLayer.style.height =  this.refElement.getAttribute("CAP_LayerHeight") || intHeight + "px"
	
	
	this.refCoverLayer.style.top = intTop + "px"
	this.refCoverLayer.style.left= intLeft + "px"                
	this.refCoverLayer.style.padding="0px"
	this.refCoverLayer.style.margin="0px"
	
	this.refCoverLayer.style.display = "inline"
	this.refCoverLayer.style.zIndex = 999999  
	this.refCoverLayer.refOwner = this
	this.refCoverLayer.className = "ActiveElementActiveElement"
	     
	
	//create opaque background-layer
	this.refCoverLayerBackGround = 	 document.createElement("span")   		
	this.refCoverLayer.appendChild(this.refCoverLayerBackGround)
	this.refCoverLayerBackGround.style.position= "absolute"  
	this.refCoverLayerBackGround.style.width = "100%"
	this.refCoverLayerBackGround.style.height = "100%"
	this.refCoverLayerBackGround.style.top =  "0px"
	this.refCoverLayerBackGround.style.left= "0px"       
	
	this.refCoverLayerBackGround.style.filter="alpha(opacity=10)";
		 
	this.refCoverLayerBackGround.style.MozOpacity = 0.1
	this.refCoverLayerBackGround.style.backgroundColor=this.refElement.getAttribute("CAP_LayerBackgroundColor") || this.elementParser.GetOption(this.refElement.getAttribute("CAP_OptionGroup") || "default", "strCoverLayerBackgroundColor", "black")
	this.refCoverLayerBackGround.className = "ActiveElementActiveElementBG"
	
	
	//create content-layer
	this.refCoverLayerContent = 	 document.createElement("span")   		
	this.refCoverLayer.appendChild(this.refCoverLayerContent)
	this.refCoverLayerContent.style.position= "absolute"  
	this.refCoverLayerContent.style.width = "100%"
	this.refCoverLayerContent.style.height = "100%"
	this.refCoverLayerContent.style.top =  "0px"
	this.refCoverLayerContent.style.left= "0px"       
	this.refCoverLayerContent.className = "ActiveElementActiveElementFR"
	
	Aspacts.Idios3.I_CAP.Scripting.Core.ImplementEvent(this.refCoverLayer)
	
	this.refCoverLayer.addEventListener('mouseover', function(evt){this.refOwner.elementParser.HandleElementMouseOver(evt||event, this.refOwner)}, true)
	this.refCoverLayer.addEventListener('mouseout', function(evt){this.refOwner.elementParser.HandleElementMouseOut(evt||event, this.refOwner)}, true)
	
}

Aspacts.Idios3.I_CAP.ClientInteraction.ActiveElement.CoverLayer_class.prototype.Highlight = function(boolShowHighlight)
{
	if(boolShowHighlight)
	{
		this.refCoverLayerBackGround.style.filter="alpha(opacity=30)";
		this.refCoverLayerBackGround.style.MozOpacity = 0.3
		
	}
	else
	{
		this.refCoverLayerBackGround.style.filter="alpha(opacity=10)";
		this.refCoverLayerBackGround.style.MozOpacity = 0.1
		
	}
	this.boolHightlight = boolShowHighlight
}

Aspacts.Idios3.I_CAP.ClientInteraction.ActiveElement.CoverLayer_class.prototype.SetPosition = function()
{
	var intWidth = this.refElement.offsetWidth
	var intHeight = this.refElement.offsetHeight
	var pos = Aspacts.Idios3.I_CAP.Scripting.Core.FindElementPosition(this.refElement)
	var intLeft  = pos[0]
	var intTop =  pos[1]
	/*var intOffsetTop  = this.refElement.getAttribute("CAP_LayerOffsetTop") || "0"
	var intOffsetLeft  = this.refElement.getAttribute("CAP_LayerOffsetLeft") || "0"
	var intOffsetWidth  = this.refElement.getAttribute("CAP_LayerOffsetWidth") || "0"
	var intOffsetHeight  = this.refElement.getAttribute("CAP_LayerOffsetHeight") || "0"*/
	
	
	var intOffsetTop  = this.refElement.getAttribute("CAP_LayerOffsetTop") || this.elementParser.GetOption(this.refElement.getAttribute("CAP_OptionGroup") || "default", "intCoverLayerOffsetTop", "0")
	var intOffsetLeft  = this.refElement.getAttribute("CAP_LayerOffsetLeft") || this.elementParser.GetOption(this.refElement.getAttribute("CAP_OptionGroup") || "default", "intCoverLayerOffsetLeft", "0")
	var intOffsetWidth  = this.refElement.getAttribute("CAP_LayerOffsetWidth") || this.elementParser.GetOption(this.refElement.getAttribute("CAP_OptionGroup") || "default", "intCoverLayerOffsetWidth", "0")
	var intOffsetHeight  = this.refElement.getAttribute("CAP_LayerOffsetHeight") || this.elementParser.GetOption(this.refElement.getAttribute("CAP_OptionGroup") || "default", "intCoverLayerOffsetHeight", "0")
	
	
	intLeft += parseInt(intOffsetLeft)
	intTop += parseInt(intOffsetTop)
	intWidth += parseInt(intOffsetWidth)
	intHeight += parseInt(intOffsetHeight)
	
	
	
	
	//only allow CoverLayerWidth when set via OptionGroup where offset was set via default group
	if (!this.refElement.getAttribute("CAP_OptionGroup") || parseInt(intOffsetWidth) == 0)
		intWidth = this.elementParser.GetOption(this.refElement.getAttribute("CAP_OptionGroup") || "default", "intCoverLayerWidth", intWidth)
	if (!this.refElement.getAttribute("CAP_OptionGroup") || parseInt(intOffsetHeight) == 0)
		intHeight = this.elementParser.GetOption(this.refElement.getAttribute("CAP_OptionGroup") || "default", "intCoverLayerHeight", intHeight)
	
	
	
	this.refCoverLayer.style.top = intTop + "px"
	this.refCoverLayer.style.left= intLeft + "px"   
	
	this.refCoverLayer.style.width =  (this.refElement.getAttribute("CAP_LayerWidth") || intWidth) + "px"
	this.refCoverLayer.style.height =  (this.refElement.getAttribute("CAP_LayerHeight") || intHeight) + "px"

	             
	        
}

Aspacts.Idios3.I_CAP.ClientInteraction.ActiveElement.CoverLayer_class.prototype.Hide = function()
{
	this.refCoverLayer.style.display="none"
	this.Highlight(false);
}

Aspacts.Idios3.I_CAP.ClientInteraction.ActiveElement.CoverLayer_class.prototype.Show = function()
{
	this.SetPosition()
	this.Highlight(false);
	this.refCoverLayer.style.display="block"
}


