//************************************************** Object Class ****************
//Browsercheck (needed) ***************
function lib_bwcheck(){ 
  this.ver=navigator.appVersion
  this.agent=navigator.userAgent
  this.dom=document.getElementById?1:0
  this.opera5=this.agent.indexOf("Opera 5")>-1
  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
}
bw=new lib_bwcheck() //Browsercheck object

//Debug function ******************
function lib_message(txt){alert(txt); return false}

//Lib objects  ********************
function lib_obj(obj,nest){ 
  if(!bw.bw) return lib_message('Old browser')
  nest=(!nest) ? "":'document.'+nest+'.'
  this.evnt=bw.dom? document.getElementById(obj):
    bw.ie4?document.all[obj]:bw.ns4?eval(nest+"document.layers." +obj):0;	
  if(!this.evnt) return lib_message('The layer does not exist ('+obj+')' 
    +'- \nIf your using Netscape please check the nesting of your tags!')
  this.css=bw.dom||bw.ie4?this.evnt.style:this.evnt; 
  this.ref=bw.dom||bw.ie4?document:this.css.document;
  this.x=parseInt(this.css.left)||this.css.pixelLeft||this.evnt.offsetLeft||0;
  this.y=parseInt(this.css.top)||this.css.pixelTop||this.evnt.offsetTop||0
  this.w=this.evnt.offsetWidth||this.css.clip.width||
    this.ref.width||this.css.pixelWidth||0; 
  this.h=this.evnt.offsetHeight||this.css.clip.height||
    this.ref.height||this.css.pixelHeight||0
  this.c=0 //Clip values
  if((bw.dom || bw.ie4) && this.css.clip) {
  this.c=this.css.clip; this.c=this.c.slice(5,this.c.length-1); 
  this.c=this.c.split(' ');
  for(var i=0;i<4;i++){this.c[i]=parseInt(this.c[i])}
  }
  this.ct=this.css.clip.top||this.c[0]||0; 
  this.cr=this.css.clip.right||this.c[1]||this.w||0
  this.cb=this.css.clip.bottom||this.c[2]||this.h||0; 
  this.cl=this.css.clip.left||this.c[3]||0
  this.obj = obj + "Object"; eval(this.obj + "=this")
  this.name =obj
  
  // needed for scrolling area
  this.scrollHeight=bw.ns4?this.css.document.height:this.evnt.offsetHeight 
  this.clipHeight=bw.ns4?this.css.clip.height:this.evnt.offsetHeight 
  
  return this
}

var VISIBLE= (bw.ns4) ? 'show' : 'visible';
var HIDDEN= (bw.ns4) ? 'hide' : 'hidden';

//Showing object ************
lib_obj.prototype.showIt = function(){this.css.visibility=VISIBLE}

//Hiding object **********
lib_obj.prototype.hideIt = function(){this.css.visibility=HIDDEN}

//Changing backgroundcolor ***************
lib_obj.prototype.bg = function(color){ 
	if(bw.opera) this.css.background=color
	else if(bw.dom || bw.ie4) this.css.backgroundColor=color
	else if(bw.ns4) this.css.bgColor=color  
}

//Writing content to object ***
lib_obj.prototype.writeIt = function(text,startHTML,endHTML){
	if(bw.ns4){
    if(!startHTML){startHTML=""; endHTML=""}
	  this.ref.open("text/html"); 
    this.ref.write(startHTML+text+endHTML); 
    this.ref.close()
	}else this.evnt.innerHTML=text
}

//Here are the variables you have to set:                                                                 

//There are 2 ways this script can work.
// 0 = WriteText
// 1 = RemoveText
wWorks = 0

var wText = "www.bratta.com" //The text you want write out
var wFontsize = 70           //Set the fontsize you want
var wColor = "#003300"       //The text color
var wAlign = "center"        //the alignment of the text, you can choose center, right or left.
var wSpeed = 500             //Set the speed you want it to write in (in milliseconds between each letter)
var wFont = 'arial black,arial,helvetica,sans-serif' //The font face
var wHide = true             //do you want it to hide when its done? (true or false)
var wHidewait = 1000         //Set the time you want it to wait before it hides
        
/*You can remove this if you don't wan't it to start right away.
You can have it start if someone clicks a link (make a link like this:
<a href="/nfbs/#" onclick="writeInit()">Click to writetext</a>)*/

/********* You shouldn't really have to set anything below this point ***********/
//Object functions
function makeWriteObj(obj,text,size,color,align,speed,font,hide,hidewait,works){
   	this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?document.layers[obj]:0;	
   	this.writeref=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?document.layers[obj].document:0;	
	this.text=text; this.size=size; this.color=color; this.align=align; this.speed=speed;
	this.font=font; this.hide=hide; this.hidewait=hidewait; this.writeWrite=b_writeWrite;
	this.writeText=b_writeText; this.removeText=b_removeText; this.works=works; this.write=b_write
	if(bw.dom || bw.ie4){ //Setting the style properties
		this.css.fontFamily=this.font; this.css.fontSize=this.size+"px"; this.css.color=this.color;
		this.css.textAlign=this.align
	}
	this.obj = obj + "Object"; 	eval(this.obj + "=this"); return this
}
function b_write(num,fn){
	if(!fn) fn=""
	if(!this.works) this.writeText(num,fn) 
	else this.removeText(fn)
}
function b_writeWrite(text){
	if(bw.ns4){
		this.writeref.write('<p style="text-align:'+this.align+'; font-size:' +this.size+'px; font-family:'+this.font+'; color:'+this.color+'">'+text+'</p>')
		this.writeref.close()
	}else this.writeref.innerHTML = text
}
function b_writeText(num,fn){
	if (num<=this.text.length){
		wtext = this.text.substr(0,num)
		this.writeWrite(wtext)
		num ++
		setTimeout(this.obj+".writeText("+num+",'"+fn+"')",this.speed)
	}else{
		if(this.hide) setTimeout(this.obj+".css.visibility='hidden'",this.hidewait);
		eval(fn)
	}
}
function b_removeText(fn){
	if (this.text.length>0){
		this.text = this.text.slice(0,this.text.length-1)
		this.writeWrite(this.text)
		setTimeout(this.obj+".removeText('"+fn+"')",this.speed)
	}else{
		if(this.hide) setTimeout(this.obj+".css.visibility='hidden'",this.hidewait);
		eval(fn)
	}
}

//***************************************** Object Class END****************


//**************************************************Panel switch functions****************

function changePrinciple(principleNumber, totalPrinciples)
{
    
    for (count=1; count <= totalPrinciples; count ++)
    {
		theObject = new lib_obj('principle' + count);
		theObject.hideIt();
	}
	theObject = new lib_obj('principle' + principleNumber);
	theObject.showIt();
    
}
