/************************************************************************************************************
	
	Based on :

	(C) www.dhtmlgoodies.com, November 2005
	
	This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	
	
	Terms of use:
	You are free to use this script as long as the copyright message is kept intact. However, you may not
	redistribute, sell or repost it without our permission.
	
	Thank you!
	
	www.dhtmlgoodies.com
	Alf Magne Kalleland
	
	Modified for continuous scrolling by Digitalfog Srl - www.digitalfog.it, August 2006
	
************************************************************************************************************/
		
	var slideTimeBetweenSteps = 40;	// General speed variable (Lower = faster)
	
	
	var scrollingContainer = false;
	var scrollingContent = false;
	var containerHeight;
	var contentHeight;	
	
	var contentObjects = new Array();
	var contentDivs=new Array();
	var originalslideSpeed = false;
	var topPoss=new Array();
	var main_div=0;
	function slideContent(containerId)
	{
		var topPos=0;
		var divsNum=contentObjects[containerId]['objRef'].length;
		
		var breaked=false;
		for(i=0;i<divsNum;i++) {
			topPos = contentObjects[containerId]['objRef'][i].style.top.replace(/[^\-0-9]/g,'');
			topPos = topPos - contentObjects[containerId]['slideSpeed'];
			if((topPos/1) + (contentObjects[containerId]['contentHeight']/1*(i+1))<0) {
				topPos=(contentObjects[containerId]['contentHeight']/1)*(divsNum-(i+1));
				main_div=i+1;
				if (main_div==divsNum) main_div=0;
				//Logger.info("MAIN DIV: "+main_div);
			}
			
			//Logger.info("MAIN DIV: "+main_div);
			
			contentObjects[containerId]['objRef'][i].style.top = topPos + 'px';
			topPoss[i]=topPos;
			/*
			var sons=$(contentObjects[containerId]['objRef'][main_div].id).getElementsByTagName('div');
			son_top=0;
			for(j=0;j<sons.length;j++) {
				sons[j].style.top=son_top/1;
				son_top+=sons[j].offsetHeight/1;
				//Logger.info(main_div+"["+j+"] - "+son_top+" : "+topPos);
				if(((son_top*(main_div+1))+topPos)==0) {
					Logger.info("DIV "+main_div+" sopra!");
					//breaked=true;
					break;
				}
				
			}*/
			
		}
		//if (!breaked) {
			setTimeout('slideContent("' + containerId + '")',slideTimeBetweenSteps);
		//} else {
			//setTimeout('slideContent("' + containerId + '")',1000);
		//}
		
	}
	
	function stopSliding()
	{
		var containerId = this.id;
		contentObjects[containerId]['slideSpeed'] = 0;	
	}
	function pauseSliding()
	{
		var containerId = this.id;
		contentObjects[containerId]['slideSpeed'] = 1000;	
	}
	function restartSliding()
	{
		var containerId = this.id;
		contentObjects[containerId]['slideSpeed'] = contentObjects[containerId]['originalSpeed'];
		
	}
	function initSlidingContent(containerId,slideSpeed)
	{
		scrollingContainer = $(containerId);
		scrollingContent = scrollingContainer.getElementsByTagName('DIV')[0];
		
		contentDivs=scrollingContent.getElementsByTagName('div')
		//Logger.info(contentDivs);
		scrollingContainer.style.position = 'relative';
		scrollingContainer.style.overflow = 'hidden';
		scrollingContent.style.position = 'relative';
		
		scrollingContainer.onmouseover = stopSliding;
		scrollingContainer.onmouseout = restartSliding;
		
		originalslideSpeed = slideSpeed;
		
		scrollingContent.style.top = '0px';
		
		contentObjects[containerId] = new Array();
		contentObjects[containerId]['objRef'] = new Array();
		contentObjects[containerId]['objRef'][0]=scrollingContent;
		contentObjects[containerId]['contentHeight'] = scrollingContent.offsetHeight;
		contentObjects[containerId]['containerHeight'] = scrollingContainer.clientHeight;
		contentObjects[containerId]['slideSpeed'] = slideSpeed;
		contentObjects[containerId]['originalSpeed'] = slideSpeed;
		
		
		
		if (contentObjects[containerId]['contentHeight']) {
			//Logger.info(contentObjects[containerId]['contentHeight']);
			var n=Math.ceil(contentObjects[containerId]['containerHeight']/contentObjects[containerId]['contentHeight']);
			//Logger.info("n:"+n);
			//n=0;
			for (i=1;i<=n;i++) {
				contentObjects[containerId]['objRef'][i] = scrollingContent.cloneNode(true);
				scrollingContainer.appendChild(contentObjects[containerId]['objRef'][i]);
			}
			
			slideContent(containerId);
		}
		
		
	}

