﻿<!--

function addMethod(obj){

	//var obj = document.getElementById(str);

	obj.style.overflow='hidden';

	

	obj.animationOpenClose = new aoc();

					

	function aoc(){

		var height = 0;

		var targetHeight = 0;

		var maxHeight = 0;

		var cutSpeed = 10;

		var objVisible = false;

		var moving = false;

		var targetObj = obj;

		var triggerLinkObject = obj;

		var textTriggerLink = '';

		var alternateTextTriggerLink = '';

		var movingTextTriggerLink = '';

	

		//this.setTargetObj = setTargetObj;

		this.show = show;

		this.hide = hide;

		this.eswitch = eswitch;

		this.setTriggerLinkObject = setTriggerLinkObject;

		this.setAlternateTextTriggerLink = setAlternateTextTriggerLink;

		this.setMovingTextTriggerLink = setMovingTextTriggerLink;

		

		this.getObjVisible = getObjVisible;

		this.getMoving = getMoving;

	

		function setTargetObj(val)

		{

			targetObj = val;

		}

		function setTriggerLinkObject(val)

		{

			triggerLinkObject = val;

			//alert(triggerLinkObject.innerHTML);

			textTriggerLink = triggerLinkObject.innerHTML;

		}

		function setAlternateTextTriggerLink(val)

		{

			alternateTextTriggerLink = val;

		}

		function setMovingTextTriggerLink(val)

		{

			movingTextTriggerLink = val;

		}



		function getObjVisible(){

			return objVisible;

		}

		function getMoving(){

			return moving;

		}



		

		function show(){

			if(!moving){

				targetObj.style.display='block';

				if (maxHeight == 0){

					maxHeight = parseInt(targetObj.offsetHeight);

				}

				targetObj.style.height = 0

				targetHeight = maxHeight;

				objVisible = true;

				moving = true;

				cutInDiv();

			}

		}

		

		function cutInDiv(){

			height += cutSpeed;

			if(height>targetHeight){

				height=targetHeight;

			}

			targetObj.style.height = height+"px";

			if(height<targetHeight){

				setTimeout(cutInDiv,20);

			}else{

				targetObj.style.height = '';

				targetObj.style.display="block";

				moving = false;

				triggerLinkObject.innerHTML = alternateTextTriggerLink;

			}

		}

		

		

		function hide(){

			if(!moving){

				if (maxHeight == 0){

					maxHeight = parseInt(targetObj.offsetHeight);

					height = maxHeight;

				}

				targetHeight=0;

				moving=true;

				cutOutDiv();

			}

		}

		

		

		function cutOutDiv(){

			height -= cutSpeed;

			if(height<targetHeight){

				height=targetHeight;

			}

			targetObj.style.height = height+"px";

			if(height>targetHeight){

				setTimeout(cutOutDiv,20);

			}else{

				targetObj.style.display="none";

				objVisible = false;

				moving = false;

				triggerLinkObject.innerHTML = textTriggerLink;

			}

		}

		

		function eswitch(){

			if(!moving){

				triggerLinkObject.innerHTML = movingTextTriggerLink;

				if(targetObj.style.display=="none"){

					//triggerLinkObject.innerText = alternateTextTriggerLink;	

					this.show();

				} else {

					//triggerLinkObject.innerText = textTriggerLink;

					this.hide();

				}

			}

		}

	

	}

}





//--------------------------------------------------------



var nextElementCount = 0;

var divElements = Array();



function isKnownElement(obj){

	var isK = 0;

	for(var j=0;j<nextElementCount;j++){

		if(obj == divElements[j]){

			isK = j+1;

		}

	}

	return isK;

}



function clickSwitch(objLink,alternateText,movingText){

	divMappaObj = 0;

	var o = objLink;

	while(o.className!='box_menu'){

		o=o.parentNode;

	}

	for(var j=0;j<o.childNodes.length;j++){

		if(o.childNodes[j].className=='box_corpo_menu'){

			divNewsObj = o.childNodes[j];

		}

	}

		

	var elem = isKnownElement(divNewsObj);

	if(elem==0){

		addMethod(divNewsObj);

		divNewsObj.animationOpenClose.setTriggerLinkObject(objLink);

		divNewsObj.animationOpenClose.setAlternateTextTriggerLink(alternateText);

		divNewsObj.animationOpenClose.setMovingTextTriggerLink(movingText);

		//alert(nextElementCount);

		divElements[nextElementCount]=divNewsObj;

		nextElementCount++;

		elem = nextElementCount;

	}

	//alert(elem);

	divElements[elem-1].animationOpenClose.eswitch();

}



