//Utility function to find element by id Cross Browser
function findElementById(id)
{
	return ( document.all+"" != "undefined" ? document.all[id] : document.getElementById(id) );
}


// Tab switcher
// container = ID of tab container, must be used if more than one tab module is used on page (optional usage if only one tab module is displayed on a page )
// tab = ID of tab (mandatory)
function showTab(tab, container){
	if(typeof(container)=='undefined') {
		container='';
	}
	var i=1;
	do{
		findElementById(container+"tab"+i).className = "tab";
		findElementById(container+"tab"+i+"content").style.display="none";
		i++;
	}
	while(findElementById(container+"tab"+i));
	findElementById(container+tab+"content").style.display="block";
	findElementById(container+tab).className = "activeTab";
}

SlideAutoInterval = function(){}
SlideAutoInterval.SlidingInterval = 20000; //default autoslider interval
SlideAutoInterval.CurrentTimer = null;
SlideAutoInterval.boxCounter = new Array(); //0;
SlideAutoInterval.direction = 0;
SlideAutoInterval.lockAtSlider = null;


SliderManager = function(){}
SliderManager.PIXELSTEP = 20;
SliderManager.SWAP_TIMEOUT = 50;
SliderManager.CurrentTimer = null;
SliderManager.CurrentSlideMainContent = new Array(); //null;
SliderManager.CurrentSlideBox = new Array(); //null;
SliderManager.MAINCONTENT = "MainContent";
SliderManager.SINGLECONTENT = "SingleContent";
SliderManager.BUTTONBOX = "ButtonBox"

SliderManager.SlideNext = function( slideBaseId, auto )
{
	if( SliderManager.CurrentSlideMainContent[slideBaseId] == null )
	{
		SliderManager.CurrentSlideBox[slideBaseId] = findElementById( slideBaseId );
		SliderManager.CurrentSlideMainContent[slideBaseId] = findElementById( slideBaseId + SliderManager.MAINCONTENT );
		var slideMainCurrentTop = SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop;
		var slideMainCurrentHeight = SliderManager.CurrentSlideMainContent[slideBaseId].offsetHeight;
		var slideHeight = findElementById( slideBaseId + SliderManager.SINGLECONTENT ).offsetHeight;
		var newTop = slideMainCurrentTop-slideHeight;
		if( SlideAutoInterval.lockAtSlider==slideBaseId )
		{
			if(SlideAutoInterval.boxCounter[slideBaseId]==null || SlideAutoInterval.boxCounter[slideBaseId]=="undefined")
				SlideAutoInterval.boxCounter[slideBaseId]=0;
			
			SlideAutoInterval.boxCounter[slideBaseId]++;
			if(auto!=1)
			{
				clearTimeout(SlideAutoInterval.CurrentTimer);
				auto=0;
			}
		}
		if( newTop > 0-slideMainCurrentHeight )
			SliderManager.Slide( newTop, slideBaseId );
		else
			SliderManager.CurrentSlideMainContent[slideBaseId] = null;
	}
}

SliderManager.SlidePrev = function( slideBaseId, auto )

{
	if( SliderManager.CurrentSlideMainContent[slideBaseId] == null )
	{
		SliderManager.CurrentSlideBox[slideBaseId] = findElementById( slideBaseId );
		SliderManager.CurrentSlideMainContent[slideBaseId] = findElementById( slideBaseId + SliderManager.MAINCONTENT );
		var slideMainCurrentTop = SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop;
		var slideMainCurrentHeight = SliderManager.CurrentSlideMainContent[slideBaseId].offsetHeight;
		var slideHeight = findElementById( slideBaseId + SliderManager.SINGLECONTENT ).offsetHeight;
		var newTop = slideMainCurrentTop+slideHeight;
		if( SlideAutoInterval.lockAtSlider==slideBaseId )
		{
			if(SlideAutoInterval.boxCounter[slideBaseId]==null || SlideAutoInterval.boxCounter[slideBaseId]=="undefined")
				SlideAutoInterval.boxCounter[slideBaseId]=0;
				
			SlideAutoInterval.boxCounter[slideBaseId]--;
			if(auto!=1)
			{
				clearTimeout(SlideAutoInterval.CurrentTimer);
				auto=0;
			}
		}
		if( slideMainCurrentTop < newTop && newTop <= 0 )
			SliderManager.Slide( newTop, slideBaseId );
		else
			SliderManager.CurrentSlideMainContent[slideBaseId] = null;
	}
}

SliderManager.Slide = function( stopTop, slideBaseId )
{
	var currentTop = SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop;
	var newTop;
	if( currentTop > stopTop )
	{
		newTop = currentTop - SliderManager.PIXELSTEP;
		if( newTop < stopTop )
			newTop = stopTop;
	}	
	else
	{
		newTop = currentTop + SliderManager.PIXELSTEP;
		if( newTop > stopTop )
			newTop = stopTop;
	}
	
	
	if( newTop == 0 )
		SliderManager.CurrentSlideMainContent[slideBaseId].style.marginTop = "-1px";
	else
		SliderManager.CurrentSlideMainContent[slideBaseId].style.marginTop = newTop + "px";
	
	if( newTop != stopTop )
		window.setTimeout( "SliderManager.Slide(" + stopTop + ",'" + slideBaseId + "')", SliderManager.SWAP_TIMEOUT );
	else
		SliderManager.onEndSlide( slideBaseId );
}

SliderManager.onEndSlide = function( slideBaseId ) 
{
	var currentSlideBoxId = SliderManager.CurrentSlideBox[slideBaseId].id;
	var buttonBox = findElementById( currentSlideBoxId + SliderManager.BUTTONBOX );
	if( buttonBox )
	{
		if( SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop == 0 || SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop == -1 )
		{
			findElementById( currentSlideBoxId + "PrevButton" ).style.display = "none";
			if( SlideAutoInterval.lockAtSlider==slideBaseId )
				SlideAutoInterval.direction = 1;
		}
		else
			findElementById( currentSlideBoxId + "PrevButton" ).style.display = "block";
		
		var slideHeight = findElementById( currentSlideBoxId + SliderManager.SINGLECONTENT ).offsetHeight;
		if( SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop - slideHeight + SliderManager.CurrentSlideMainContent[slideBaseId].offsetHeight == 0
			|| SliderManager.CurrentSlideMainContent[slideBaseId].offsetTop - slideHeight + SliderManager.CurrentSlideMainContent[slideBaseId].offsetHeight == -1  )
		{
			findElementById( currentSlideBoxId + "NextButton" ).style.display = "none";
			if( SlideAutoInterval.lockAtSlider==slideBaseId )
				SlideAutoInterval.direction = 0;
		}
		else
		{
			findElementById( currentSlideBoxId + "NextButton" ).style.display = "block";
		}
	}
	SliderManager.CurrentSlideMainContent[slideBaseId] = null;
	SlideAutoInterval.ExecuteFunct( currentSlideBoxId );
}

SliderManager.initSlider = function( slideBaseId, seconds )
{
	var sliderBox = findElementById( slideBaseId );
	var sliderContent = findElementById( slideBaseId + "MainContent" );
	if( sliderBox.offsetHeight == sliderContent.offsetHeight )
	{
		var buttonBox = findElementById( slideBaseId + SliderManager.BUTTONBOX );
		if( buttonBox )
			buttonBox.style.display = "none";
	}
	if(seconds==0)
		return false;
	if(seconds!=null && seconds!="" && seconds!="undefined"){
		SlideAutoInterval.SlidingInterval = (seconds*1000);
	}	
	
	//avvio temporizzatore
	SlideAutoInterval.ExecuteFunct( slideBaseId, slideBaseId );
	
}

SlideAutoInterval.ExecuteFunct = function( slideBaseId, roundSlider )
{
	if(SlideAutoInterval.lockAtSlider==null){
		SlideAutoInterval.lockAtSlider=roundSlider;
	}
	if(slideBaseId==SlideAutoInterval.lockAtSlider)
	{
		if(SlideAutoInterval.direction==0 && SlideAutoInterval.boxCounter[slideBaseId]==-1)
			SlideAutoInterval.direction=1;
		switch(SlideAutoInterval.direction)
		{
			case 0:
				SlideAutoInterval.CurrentTimer = window.setTimeout( "SliderManager.SlidePrev('" + slideBaseId + "', 1)", SlideAutoInterval.SlidingInterval );
				break;
			case 1:
				SlideAutoInterval.CurrentTimer = window.setTimeout( "SliderManager.SlideNext('" + slideBaseId + "', 1)", SlideAutoInterval.SlidingInterval );
				break;
		}
	}
}

function openPopup(strurl, w, h, scrollbars, tk, popupName) {

  strurl = strurl + '&tk='+ tk +',c' + '&popup=true';

  if (scrollbars==''){
    scrollbars='no';
  }

  tools = 'width='+w+','+'height='+h+','+'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars='+scrollbars+',resizable=yes,top=5,left=5';

  window.open(strurl, popupName, tools);
}

function openWindowPopup(strurl, w, h, scrollbars, tk, area, popupName, check) {

  strurl = strurl + '&tk=' + tk + ',' + area;

  if (scrollbars=='') {
    scrollbars='no';
  }

  if (check == 0) {
    var c = 'no';
    strurl = strurl + '&popup=true';
  } else {
    var c = 'yes';
  }

  tools = 'width='+w+','+'height='+h+','+'toolbar='+c+',location='+c+',directories='+c+',status='+c+',menubar='+c+',scrollbars='+scrollbars+',resizable=yes,top=5,left=5';

  window.open(strurl, popupName, tools);
}