
var JsListNewsTicker = function(tickerDivID,objName,interval,pauseOnOver,mode){
	if(document.getElementById){
		this.tickerDivID = document.getElementById(tickerDivID);
		this.objName = objName;
		this.interval = interval;
		this.init();
		if(pauseOnOver){
			this.attachPauseOnOver();
		}
		this[mode]();
	}
}
var o = JsListNewsTicker.prototype;
o.init = function(){
	this.tickerItems = this.tickerDivID.getElementsByTagName("li");
	this.allowTick = true;
	this.tickCount=0;
	this.tickerDivID.className = 'tickerAttached';
}
o.attachPauseOnOver = function(){
	this.tickerDivID.obj = this;
	this.tickerDivID.onmouseover=function() {
		this.obj.MouseOver();
    }
	this.tickerDivID.onmouseout=function() {
		this.obj.MouseOut();        
	}
}
o.MouseOver = function(){
	this.allowTick = false;
}
o.MouseOut = function(){
	this.allowTick = true;
}
o.showNextLetter = function(){	
	if(!this.allowTick){
		this.activeLetter = this.activeText.length+1;
	}
	this.tickerItems[this.tickCount].innerHTML = this.activeText.substring(0,this.activeLetter)+"|";
	this.activeLetter++;
	if(this.activeLetter > this.activeText.length){
		this.tickerItems[this.tickCount].innerHTML = this.activeText.substring(0,this.activeLetter);
		this.tickCount++;
		if(this.tickCount>=this.tickerItems.length){
			this.tickCount=0;
		}
		window.setTimeout(""+this.objName+".lettertick()",this.interval);
		return;
	}
	window.setTimeout(""+this.objName+".showNextLetter()",100);
}
o.lettertick = function(){
	if(this.allowTick){
		this.showOnlyItem(this.tickCount);
		this.activeText = this.tickerItems[this.tickCount].innerHTML;
		this.activeLetter = 0;
		this.showNextLetter();
	}else{
		window.setTimeout(""+this.objName+".lettertick()",1000);		
	}
}
o.blend = function(){
		if(this.allowTick){
			if(document.all){
				if(this.tickerDivID.filters && this.tickerDivID.filters.revealTrans){
					this.tickerDivID.filters.revealTrans.Apply();
				}
			}
			this.showOnlyItem(this.tickCount);
			if(document.all){
				if(this.tickerDivID.filters && this.tickerDivID.filters.revealTrans){
					this.tickerDivID.filters.revealTrans.play();
				}
			}
			this.tickCount++;
			if(this.tickCount>=this.tickerItems.length){
				this.tickCount=0;
			}
		}
		window.setTimeout(""+this.objName+".blend()",this.interval);
}
o.setUpTickerElements = function(){
	for(var i=0;i<this.tickerItems.length;i++){
		while(this.getItemHeight(this.tickerItems[i])>30){
			this.enlargeItemWidth(this.tickerItems[i]);
		}
	}
	var newContainerWidth = 0;
	for(var i=0;i<this.tickerItems.length;i++){
		newContainerWidth+=this.getItemWidth(this.tickerItems[i])+15;
	}
	this.tickerListWidth = newContainerWidth;
	this.tickerListPosition = 0;
	this.tickerList = this.tickerItems[0].parentNode;
	this.tickerList.style.width=this.tickerListWidth*2;
	this.tickerList.innerHTML = this.tickerItems[0].parentNode.innerHTML+this.tickerItems[0].parentNode.innerHTML;
	this.tickerElementsSetUp = true;
}
o.tick = function(){

	if(!this.tickerElementsSetUp){
		this.setUpTickerElements();
	}
		if(this.allowTick){
			this.tickerListPosition = this.tickerListPosition-2;
			if(this.tickerListPosition<(this.tickerListWidth*-1)){
				this.tickerListPosition = 0;
			}
			this.tickerList.style.marginLeft = this.tickerListPosition;
		}
		window.setTimeout(""+this.objName+".tick()",this.interval);
}
o.getItemHeight = function(tickerItem){
	return tickerItem.offsetHeight;
}
o.getItemWidth = function(tickerItem){
	return tickerItem.offsetWidth;
}
o.enlargeItemWidth = function(tickerItem){
	tickerItem.style.width = tickerItem.offsetWidth+5;
	return tickerItem.offsetWidth;
}
o.showOnlyItem = function(tickerItem){
	this.hideAllItems();
	this.showItem(this.tickerItems[tickerItem]);
}
o.showItem = function(tickerItem){
	tickerItem.style.display = "list-item";
}
o.hideItem = function(tickerItem){
	tickerItem.style.display = "none";
}
o.hideAllItems = function(){
	for(var i=0;i<this.tickerItems.length;i++){
		this.hideItem(this.tickerItems[i]);
	}
}