// css detect
var css = (document.getElementById) ? 1 : 0;
var ns4 = (document.layers) ? 1 : 0;
var moz = (navigator.product == "Gecko") ? 1 : 0;
var ie5 = (navigator.userAgent.indexOf('MSIE 5') > -1) ? 1 : 0;


// for use with addHushIdentityFavorite()
var browserApp = navigator.appName;
var browserNum = navigator.appVersion;
var ie = (browserApp=="Microsoft Internet Explorer") ? 1 : 0; 

itemsArray = [];
moveArray = [];
waitArray = [];

function getItem(targ){
	if(css) return document.getElementById(targ);
	else if(ns4) return document[targ];
	else return eval(targ);
//	else return document[targ];
}

function scrollActive(){
	var i = moveArray.length;
	while(i--){
		moveArray[i].scrollBy(2);
	}
}


function sizeScrollingNews(){
	var h = getItem("scrollHolder");
	if(ns4) h.style = h;
	h.style.width = newsWindowWidth;
	setClipArea(h,0,newsWindowWidth,70,0);
	for(i = 0; i < waitArray.length; i++){
		waitArray[i].style.left = newsWindowWidth;
	}
}

function makeScrollingNews(nSize){
	//newsWindowWidth = (ns4) ? innerWidth : document.body.clientWidth-10;
	var d;
	document.write('<div id="scrollHolder">');
	for(i = 0; i < mArray.length; i++){
		d = new NewsItem(i);
		d.divObject = d.writeNewsItem(i);
		d.style = (ns4) ? d.divObject : d.divObject.style;
		d.message = mArray[i];
		d.initScroll(i);
		itemsArray.push(d);
	}
	waitArray = itemsArray.slice();
	document.write('</div>');
}

function initScrollingNews(){
	if(!ns4) window.onresize = sizeScrollingNews;
	var h = getItem("scrollHolder");
	if(ns4) {
		h.style = h;
		var hi = 24;
		var t = 0;
		var l = 0;
	}
	else {
		var hi = "24px";
		var t = "0px";
		var l = "0px";
	}
	h.style.height = hi;
	h.style.top = t;
	h.style.left = l;
	sizeScrollingNews();
	moveArray.push(itemsArray[0]);
	waitArray.removeItem(itemsArray[0]);
	scrollingMachine = setInterval("scrollActive()",35);
}

function NewsItem(i) {
	this.className = "newsItem";
}

NewsItem.prototype.writeNewsItem = function(i) {
	var div = '<div id="news'+ i +'" class="newsItem">';
	div += '<table border="0" height="26" cellpadding="0" cellspacing="0">';
	div += '<tr>';
	div += '<td class="newsItem" nowrap>';
	div += mArray[i];
	div += '<span class="newbreaker">&nbsp;&nbsp;&nbsp;|</span></td>';
	div += '</tr>';
	div += '</table>';
	div += '</div>';
	document.write(div);
	return getScrollItem("news" + i);
}

NewsItem.prototype.initScroll = function(i,s) {
	this.index = i;
	this.anchor = 0;
	this.width = (ns4) ? this.divObject.clip.right : this.divObject.offsetWidth;
	this.triggered = 0;
	if(moz) {
		this.style.top = "-14px";
	}
	
	this.style.left = (newsWindowWidth+this.anchor) + ((css) ? "px" : "");
}


NewsItem.prototype.scrollBy = function(a) {
	var p = (parseInt(this.style.left)-a);
	if(!this.triggered && newsWindowWidth-p > this.width + 10) {
		this.triggered = 1;
		var t = itemsArray[(this.index + 1) % itemsArray.length];
//		alert(this.width);
		if(waitArray.length) {
			moveArray.push(t);
			waitArray.removeItem(t);
		}
	}
	
	if(p < -this.width) {
		p = newsWindowWidth+this.anchor;
		this.triggered = 0;
		if(waitArray.length || !moveArray[moveArray.length-1].triggered) {
			waitArray.push(this);
			moveArray.removeItem(this);
		}
	}
	var l = this.cLeft - p;
	this.style.left = (ns4) ? p : p+"px";
	this.style.visibility = "visible";
}


function setClipArea(targ, t, r, b, l) {
	if(ns4) {
		targ.clip.top = t;
		targ.clip.right = newsWindowWidth-30;
		targ.clip.bottom = b;
		targ.clip.left = l;
	}
	else {
		targ.style.clip = 'rect('+t+'px,'+r+'px,'+b+'px,'+l+'px)';
	}
}


Array.prototype.getplace = function(item){
	for(i in this) {
		if(this[i] == item){ return(i);}
	}
	return(-1);
}

Array.prototype.removeItem = function(item) {
	var p = this.getplace(item);
	if(p>-1) this.splice(p,1);
}

function getScrollItem(targ) {
	if(css) return document.getElementById(targ);
	else if(ns4) return document.scrollHolder.document[targ];
	else return targ;
}

