/**********************************************************************************   
NewsSlideFade 
*   Copyright (C) 2001 <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a>
*   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 <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a> 
*********************************************************************************/
function nolink() {
}

function lib_bwcheck(){ //Browsercheck (needed)
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.opera5=(navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?1:0
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6
	this.mac=this.agent.indexOf("Mac")>-1
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
	return this
}
var bw=new lib_bwcheck()

/***************************************************************************
Use the style tag to change the placement and width of the layers.
If you are trying to place this into a table cell or something make the
position of the divNewsCont layer relative...Remeber that that might crash
Netscape 4 though, Good luck!
********************************************************************************/

/****
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=5 //in px
nNewsheight=90 //This is how long down it should start the slide

nBetweendelay=3000 //The delay before fading out.
nFont='verdana,tahoma,arial,helvetiva' //The font for the news
nFontsize=11 //font size in pixel
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('#F7D79C', '#f6cf82','#f4c75f','#999999','#666666','#333333','#000000')

//This is the news you wanna have, set the link and the text. If you don't wan't it to link anywhere
//use a # as the link
nNews=new Array()

//Copy there three lines and change the info and numbers to get more news.
nNews[0]=new Array()
nNews[0]["text"]="Coverage of several hundred topics in food-animal production"
nNews[0]["link"]="javascript:nolink()"

nNews[1]=new Array()
nNews[1]["text"]="Comprehensive, illustrated datasheets on over 300 diseases, each covering..."
nNews[1]["link"]="javascript:nolink()"

nNews[2]=new Array()
nNews[2]["text"]="epidemiology, geographic and host range, economic impact, pathology, symptoms, diagnosis, prevention, treatment, zoonoses, food safety issues"
nNews[2]["link"]="javascript:nolink()"

nNews[3]=new Array()
nNews[3]["text"]="Illustrated, breed datasheets on over 500 livestock and poultry breeds providing worldwide coverage, each covering..."
nNews[3]["link"]="javascript:nolink()"

nNews[4]=new Array()
nNews[4]["text"]="status, husbandry, geographic range, health, nutrition, performance, products, economics, genetics, reproduction."
nNews[4]["link"]="javascript:nolink()"

nNews[5]=new Array()
nNews[5]["text"]=" Also incorporating over 5000 datasets on different breeds in different countries from FAO's DAD-IS database."
nNews[5]["link"]="javascript:nolink()"

nNews[6]=new Array()
nNews[6]["text"]="Feed information detailing feed composition and nutritional requirements"
nNews[6]["link"]="javascript:nolink()"

nNews[7]=new Array()
nNews[7]["text"]="International veterinary drugs and products database, including vaccines: a unique compilation of databases from diverse sources in five continents"
nNews[7]["link"]="javascript:nolink()"

nNews[8]=new Array()
nNews[8]["text"]="Geographic Information System to display global and regional maps from underlying geographic databases, especially useful in international trade and quarantine"
nNews[8]["link"]="javascript:nolink()"

nNews[9]=new Array()
nNews[9]["text"]="Over 2000 images allowing easy identification and useful for teaching, extension, public awareness and many other purposes"
nNews[9]["link"]="javascript:nolink()"

nNews[10]=new Array()
nNews[10]["text"]="Diagnostic aid for diseases and identification keys for helminth and arthropod parasites and pests"
nNews[10]["link"]="javascript:nolink()"

nNews[11]=new Array()
nNews[11]["text"]="Bibliographic database with over 84,900 records (many with abstracts), all soft-linked from citations within the text"
nNews[11]["link"]="javascript:nolink()"

nNews[12]=new Array()
nNews[12]["text"]="Background information on 20,000 pathogens, diseases and breeds, providing a complete archive"
nNews[12]["link"]="javascript:nolink()"

nNews[13]=new Array()
nNews[13]["text"]="Other features..."
nNews[13]["link"]="javascript:nolink()"

nNews[14]=new Array()
nNews[14]["text"]="Electronic notepads for keeping or sharing in-context personal notes at any point in the Compendium"
nNews[14]["link"]="javascript:nolink()"

nNews[15]=new Array()
nNews[15]["text"]="Softlinks from all words to relevant information"
nNews[15]["link"]="javascript:nolink()"

nNews[16]=new Array()
nNews[16]["text"]="Easy-to-start, front-end search engine"
nNews[16]["link"]="javascript:nolink()"

nNews[17]=new Array()
nNews[17]["text"]="Export tools for creating reports and recording search results"
nNews[17]["link"]="javascript:nolink()"

nNews[18]=new Array()
nNews[18]["text"]="Data from OIE, FAO, World Bank and USDA-FAS"
nNews[18]["link"]="javascript:nolink()"

nNews[19]=new Array()
nNews[19]["text"]="Interactive glossary, with more than 70,000 definitions"
nNews[19]["link"]="javascript:nolink()"

nNews[20]=new Array()
nNews[20]["text"]="Intelligent taxonomic framework"
nNews[20]["link"]="javascript:nolink()"

nNews[21]=new Array()
nNews[21]["text"]="Common names in different languages"
nNews[21]["link"]="javascript:nolink()"

nNews[22]=new Array()
nNews[22]["text"]="Also available on CD-ROM"
nNews[22]["link"]="javascript:nolink()"

/********************************************************************************
Object code...Object constructors and functions...
********************************************************************************/
function makeNewsObj(obj,nest,font,size,color,news,fadespeed,betweendelay,slidespeed,works,newsheight){
    nest=(!nest) ? "":'document.'+nest+'.'
   	this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+"document.layers." +obj):0;	
   	this.writeref=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+"document.layers." +obj+".document"):0;
	if(font){this.color=new Array(); this.color=eval(color); this.news=new Array(); this.news=eval(news)
		this.font=font; this.size=size; 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
		if(bw.dom || bw.ie4){this.css.fontFamily=this.font; this.css.fontSize=this.size; this.css.color=this.color[0]}
	}
	this.obj = obj + "Object"; 	eval(this.obj + "=this"); return this
}
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x; this.css.top=this.y}

function b_newsWrite(num,i){
	if(bw.ns4){
		this.writeref.write("<a href=\""+this.news[num]['link']+"\" target=\"_self\" style=\"text-decoration:none; font-size:"+this.size+"px\">"
			+"<font face=\""+this.font+"\" color=\""+this.color[i]+"\">"+this.news[num]['text']+"</font></a>")
		this.writeref.close()
	}else this.writeref.innerHTML='<a id="'+this.obj+'link' +'" target="_self"  style="text-decoration:none; font-size:'+this.size+'px; color:'+this.color[i]+'" href="'+this.news[num]['link']+'">'+this.news[num]['text']+'</a>'
}
//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 || bw.ns4)	this.newsWrite(num,i)
		else{obj=bw.ie4?eval(this.obj+"link"):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 || bw.ns4)	this.newsWrite(num,i)	
		else{obj=bw.ie4?eval(this.obj+"link"):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)
		}
	}
}
/********************************************************************************************
The init function. Calls the object constructor and set some properties and starts the fade
*********************************************************************************************/
function fadeInit(){
	oNews=new makeNewsObj('divNews','divNewsCont',nFont,nFontsize,"nColor","nNews",nFadespeed,nBetweendelay,nSlidespeed,nWorks,nNewsheight)
	oNewsCont=new makeNewsObj('divNewsCont')
	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)
	oNewsCont.css.visibility='visible'
}

//Calls the init function on pageload. 
if(bw.bw) onload=fadeInit;