//Author P.Laude
//Copyright 2008

function ScrollMenu(instanceName){
	
	var scrollElement = new Array;
	var currentScroll = 0;
	var scrollTimer 	= null;
	var timerParam 		= 500;
	var nbElement     = 4;
	var instanceName  = instanceName;
	
	this.addElement = function(linkName,uri,classStyle,updateUri,eol){
		
		var onClickAction;
		
		if(eol){
			var eol = eol;
		}else{
			var eol = '';
		}
				
		if(updateUri){
			if(uri.indexOf('?') > -1 && uri.indexOf('=') > -1){
				onClickAction = 'this.href=this.href+\'&m=\'+'+instanceName+'.getCurrentScroll()';
			}else if(uri.indexOf('?') > -1){
				onClickAction = 'this.href=this.href+\'m=\'+'+instanceName+'.getCurrentScroll()';
			}else{
				onClickAction = 'this.href=this.href+\'?m=\'+'+instanceName+'.getCurrentScroll()';
			}
		
			var elt = '<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle"><a href="'+uri+'" class="'+classStyle+'" onclick="'+onClickAction+'">'+linkName+'</a></td><td>'+eol+'</td></tr></table>';
		}else{
			var elt = '<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle"><a href="'+uri+'" class="'+classStyle+'">'+linkName+'</a></td><td>'+eol+'</td></tr></table>';
		}
		
		scrollElement.push(elt);
	}
	
	this.addSimpleElement = function(elt){		
		
		if(elt){
			scrollElement.push(elt);
		}
	}
	
	this.getScrollElement = function(){
		return scrollElement;
	}
	
	this.setCurrentScroll = function(cs){
		currentScroll = cs;
	}
	
	this.getCurrentScroll = function(){
		return currentScroll;
	}
	
	this.setNbElement = function(nb){
		nbElement = nb;
	}
	
	this.getNbElement = function(cs){
		return nbElement;
	}
		
	this.display = function(separator){
		
		document.write('<div id="scroll'+instanceName+'">');
		
		for(i=0; i < scrollElement.length && i < nbElement; i++){			
			
			iElt = currentScroll + i;
			
			if(iElt > scrollElement.length - 1){
				iElt = 0;
			}
				
			document.write('<div id="scroll'+instanceName+'_'+i+'">'+scrollElement[iElt]+'</div>'+separator+'');
		}
		
		document.write('</div>');
	}
	
	this.scrollUp = function(){
	
		currentScroll--;
		
		if(currentScroll < 0){
			currentScroll = 0;
			return false;
		}
				
		scrollNext = currentScroll;
			
		if(document.getElementById)
		for(i=0; i<nbElement; i++){			
		
			document.getElementById('scroll'+instanceName+'_'+i).innerHTML = scrollElement[scrollNext];
			
			scrollNext++;
		}
		
		return true;
	}

	this.scrollDown = function(){
		
		currentScroll++;
		
		if(currentScroll > scrollElement.length - nbElement){
			currentScroll = scrollElement.length - nbElement;
			return false;
		}
				
		scrollNext = currentScroll;
			
		if(document.getElementById)
		for(i=0; i<nbElement; i++){			
		
			document.getElementById('scroll'+instanceName+'_'+i).innerHTML = scrollElement[scrollNext];
			
			scrollNext++;
		}
		
		return true;
	}
		
	this.scrollStop = function(){
		clearTimeout(scrollTimer);
	}
	
}
