//////////////////////////////////////////////////////////////////////////
//
// Funzioni varie per la gestione delle News tramite layer
//
// By FG
//
// (c) 2002 Neomedia
//


/**********************************************************************************   
NewsSlideFade 
*   Copyright (C) 2001 Thomas Brattli
*   This script was released at DHTMLCentral.com
*   Visit for more great scripts!
*   This may be used and changed freely as long as this msg is intact!
*   We will also appreciate any links you could give us.
*
*   Made by Thomas Brattli
*
*   Script date: 09/04/2001 (keep this date to check versions) 
*********************************************************************************/

/****
Variables to set 
****/

//How do you want the script to work? 
//0 = Fade in - Fade out
//1 = Slide in - Fade out
//2 = Random 
nWorks = 1

//If you use the slide set these variables:
nSlidespeed = 3 //in px
nNewsheight = 120 //This is how long down it should start the slide.

nBetweendelay = 4000 //The delay before fading out.
nFadespeed = 100 //The speed to fade in, in milliseconds.

//Set the colors, first color is same as background, last color is the color it stops at:
//You can have as many colors you want
//nColor=new Array( '#FAFAFA','#CCCCCC','#999999','#667799','#335580','#00406A')
nColor=new Array( '#FFFFFF','#CCCCCC','#999999','#666666','#333333','#000000')


/********************************************************************************************
The init function. Calls the object constructor and set some properties and starts the fade
*********************************************************************************************/
function newsinit(){
	if( document.getElementById('divNews') )
		{
		oNews = new makeNewsObj('divNews','divNewsCont',"nColor","nNews",nFadespeed,nBetweendelay,nSlidespeed,nWorks,nNewsheight)
		works = !oNews.works?0:oNews.works==1?1:Math.round(Math.random())
		if (works==0) oNews.fadeIn(0,0)
		else if (works==1) oNews.slideIn(0,0)
		}
}

/********************************************************************************
Object code...Object constructors and functions...
********************************************************************************/
function makeNewsObj(obj,nest,color,news,fadespeed,betweendelay,slidespeed,works,newsheight){
   	this.writeref = document.getElementById(obj);
   	this.css = this.writeref.style;
	this.color=new Array(); this.color=eval(color);
	this.news=new Array(); this.news=eval(news);
	this.speed=fadespeed; this.delay=betweendelay; this.newsheight=newsheight;
	this.fadeIn=b_fadeIn;this.fadeOut=b_fadeOut; this.newsWrite=b_newsWrite; this.y=1;
	this.slideIn=b_slideIn; this.moveIt=b_moveIt; this.slideSpeed=slidespeed; this.works=works;
	this.obj = obj + "Object"; 	eval(this.obj + "=this"); return this;
}

// A unit of measure that will be added when setting the position of a layer.
var px = "px";

function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x+px; this.css.top=this.y+px;}

function b_newsWrite(num,i){
	if( this.news[num]['link'] )
		{
		this.writeref.innerHTML = '<a id="'+this.obj+'link' +'" style="color:'+this.color[i]+'" href="'+this.news[num]['link']+'">'+this.news[num]['text']+'</a>';
		}
	else
		{
		this.writeref.innerHTML = '<div id="'+this.obj+'link' +'" style="color:'+this.color[i]+'">'+this.news[num]['text']+'</div>';
		}
}
//Slide in
function b_slideIn(num,i){
	if (this.y>0){
		if (i==0){this.moveIt(0,this.newsheight); this.newsWrite(num,this.color.length-1)}
		this.moveIt(this.x,this.y-this.slideSpeed)
		i ++
		setTimeout(this.obj+".slideIn("+num+","+i+");",50)
	}else setTimeout(this.obj+".fadeOut("+num+","+(this.color.length-1)+")",this.delay)
}
//The fade functions
function b_fadeIn(num,i){
	if (i<this.color.length){
		if (i==0) this.newsWrite(num,i)
		else{
			obj = document.getElementById(this.obj+"link")
			obj.style.color = this.color[i]
		}
		i ++
		setTimeout(this.obj+".fadeIn("+num+","+i+")",this.speed)
	}else setTimeout(this.obj+".fadeOut("+num+","+(this.color.length-1)+")",this.delay)
}

function b_fadeOut(num,i){
	if (i>=0){
		if (i==0) this.newsWrite(num,i)	
		else{
			obj = document.getElementById(this.obj+"link")
			obj.style.color = this.color[i]
		}
		i --
		setTimeout(this.obj+".fadeOut("+num+","+i+")",this.speed)
	}else{
		num ++
		if(num==this.news.length) num=0
		works = !this.works?0:this.works==1?1:Math.round(Math.random())
		if(works==0) setTimeout(this.obj+".fadeIn("+num+",0)",500)
		else if (works==1){this.y=1; setTimeout(this.obj+".slideIn("+num+",0)",500)
		}
	}
}


