/********************************************************************************
Copyright (C) 1999 Thomas Brattli
This script is made by and copyrighted to Thomas Brattli at www.bratta.com
Visit for more great scripts. This may be used freely as long as this msg is intact!
I will also appriciate any links you could give me.
********************************************************************************/
//Default browsercheck, added to all scripts!
function checkBrowser(){
	this.ver=navigator.appVersion
	this.dom=document.getElementById?1:0
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
	this.ie4=(document.all && !this.dom)?1:0;
	this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
	return this
}
bw=new checkBrowser()
/***************************************************************************
Variables to set.

Remember that if you want another font, font-size or whatever you set 
that in the .clDivs class in the styletag!
****************************************************************************/


numberOfLetters=14 //How many letters do you have

ypos=-100 //The Y position of the letters, relative to the center

//The x positions of the letters, relative to center.
//This is the tricky part, when you change font-size or type and letters 
//be sure to play with the values in this array, if not your letters
//will not arrange correctly. (note the testing variable)
xpos=new Array()
xpos[0]=-320
xpos[1]=-265
xpos[2]=-190
xpos[3]=-140
xpos[4]=-90
xpos[5]=-40
xpos[6]=10
xpos[7]=-320
xpos[8]=-245
xpos[9]=-190
xpos[10]=-140
xpos[11]=-90
xpos[12]=-40
xpos[13]=10


//To make the xpos a little simpler to set you can set this value to 1
//If you do no animation will happen, but the letters will place themself
//where they will end at the end of the animation. 
testing=0

//There are 3 different animation you can use.
//Set this variable to 1,2 or 3 for the different ones,
//or set it to 4 for random
animation=4

aspeed=20 //The timer animation speed. 


/********************************************************************************
Object constructor
********************************************************************************/
function makeObj(obj,speed,xmove,ymove,works){
	this.el=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?document.layers[obj]:0;	
  	this.css=bw.dom || bw.ie4?this.el.style:bw.ns4?this.el:0;
	this.moveIt=b_moveIt;
}
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x; this.css.top=this.y}
/***************************************************************************
Initiating page and starting animation
****************************************************************************/
var posArray,oZdivs;
function introInit(){

	pageXcenter=bw.ns4 ||bw.ns5?innerWidth/2:document.body.offsetWidth/2
	pageYcenter=bw.ns4||bw.ns5?innerHeight/2:document.body.offsetHeight/2
	oZdivs=new Array()
	for(i=0;i<numberOfLetters;i++){
		oZdivs[i]=new makeObj('div'+i)
		oZdivs[i].moveIt(-200,0)
		oZdivs[i].css.visibility='visible'
	}
	if(animation==4) animation=Math.round(Math.random()*2)+1
	if(!testing) eval('anim'+animation+'(0)')
	else testIt()
}
function testIt(){
	for(i=0;i<oZdivs.length;i++){
	if (i <= 6){
		oZdivs[i].moveIt((pageXcenter+xpos[i]),(pageYcenter+ypos))
	}
	else{
		oZdivs[i].moveIt((pageXcenter+xpos[i]),(pageYcenter+250+ypos))
	}
	}
	
	//for(i=0;i<oZdivs.length;i++){
    	//oZdivs[i].moveIt((pageXcenter+xpos[i]),(pageYcenter+ypos))
	//}	
}

/***************************************************************************
Intro 1
****************************************************************************/
xPath1=new Array(-277,-271,-264,-255,-245,-234,-223,-210,-196,-181,-161,-134,-98,-52,1,53,98,131,151,156,147,124,92,59,0)
yPath1=new Array(-240,-206,-162,-114,-64,-16,29,71,112,151,187,217,241,255,260,254,239,213,179,143,108,77,51,30,0)
function anim1(num,test){
	if(num<oZdivs.length){
		st=test?test:0;
		animX(num,'xPath1','yPath1',aspeed,st,'anim1('+(num+1)+','+st+')')
	}else endanim(0)
}
/***************************************************************************
Intro 2
****************************************************************************/
xPath2=new Array(-285,-270,-255,-240,-225,-210,-195,-180,-165,-150,-135,-120,-105,-90,-75,-60,-45,-30,-15,0)
yPath2=new Array(-353,-344,-335,-324,-312,-299,-285,-270,-254,-236,-218,-198,-177,-155,-132,-108,-83,-56,-29,0)
function anim2(num){
	if(num<oZdivs.length){
		animX(num,'xPath2','yPath2',aspeed,0,'anim2('+(num+1)+')')
	}else endanim(0)
}
/***************************************************************************
Intro 3
****************************************************************************/
xPath3=new Array(0,-2,-6,-13,-23,-36,-50,-66,-83,-100,-117,-134,-150,-164,-177,-187,-194,-198,-200,-198,-194,-187,-177,-164,-150,-134,-117,-100,-83,-66,-50,-36,-23,-13,-6,-2,0)
yPath3=new Array(0,-17,-34,-50,-64,-77,-87,-94,-98,-100,-98,-94,-87,-77,-64,-50,-34,-17,0,17,34,50,64,77,87,94,98,100,98,94,87,77,64,50,34,17,0)
function anim3(num){
	if(num<oZdivs.length){
		animX(num,'xPath3','yPath3',aspeed,0,'anim3('+(num+1)+')')
	}else endanim(0)
}
/***************************************************************************
Animation function
****************************************************************************/
function animX(divnum,arrayX,arrayY,speed,num,fn){
	arrayXr = new Array(); arrayYr = new Array()
	arrayXr = eval(arrayX); arrayYr = eval(arrayY)
	arrayX = "'"+arrayX+"'"; arrayY = "'"+arrayY+"'"
	if(num<arrayXr.length){
	if (divnum <=6){
    		oZdivs[divnum].moveIt(arrayXr[num]+(pageXcenter+xpos[divnum]+175),arrayYr[num]+(pageYcenter+ypos))
	}else{
		oZdivs[divnum].moveIt(arrayXr[num]+(pageXcenter+xpos[divnum]+175),arrayYr[num]+(pageYcenter+ypos+75))
	}
	
		num++;
		setTimeout("animX("+divnum+","+arrayX+","+arrayY+","+speed+","+num+",'"+fn+"')",speed)
	}else eval(fn)
}
/***************************************************************************
This is what happens when the animation is over. If
you want something else to happen edit here!
****************************************************************************/
function endanim(num){
	objTopCircle=new makeObj('divCircleTop')
	objTopCircle.css.visibility='visible';
	objBottomCircle=new makeObj('divCircleBottom')
	objBottomCircle.css.visibility='visible';
	objHeading=new makeObj('divHeading')
	objHeading.css.visibility='visible';
	if(num<oZdivs.length){
		oZdivs[num].css.visibility='hidden' //Hiding divs
				
		num++
		setTimeout("endanim("+num+")",300)
	}else{
		for (num=0;num<oZdivs.length;num++){
			//oZdivs[num].css.zindex=1000;
			//oZdivs[num].css.visibility='visible'
		}
			
		objText=new makeObj('divText')
		objText.css.visibility='visible';
		objSkip=new makeObj('divSkip')
		objSkip.css.visibility='hidden';
		objEnter=new makeObj('divEnter')
		objEnter.css.visibility='visible';
		//introInit();

		//location.href="main2.html" //Going to another page
	}
}

/***************************************************************************
Starting the intro when the page is loaded.
****************************************************************************/
onload=introInit;