// STEP 5

function Is() {
	var agent = navigator.userAgent.toLowerCase();
	this.major = parseInt(navigator.appVersion);
	this.minor = parseFloat(navigator.appVersion);
	this.ns  = ((agent.indexOf('mozilla')!=-1) && ((agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1)));
	this.ns2 = (this.ns && (this.major == 2));
	this.ns3 = (this.ns && (this.major == 3));
	this.ns4 = (this.ns && (this.major >= 4));
	this.ie   = (agent.indexOf("msie") != -1);
	this.ie3  = (this.ie && (this.major == 2));
	this.ie4  = (this.ie && (this.major >= 4));
	this.op3 = (agent.indexOf("opera") != -1);
}

var is = new Is()

if(is.ns4) {
	doc = "document";
	sty = "";
	htm = ".document"
} else if(is.ie4) {
	doc = "document.all";
	sty = ".style";
	htm = ""
}

// STEP 6

var count = 0;

function preLoad() {
	moon = new Image();
	moon.onload = loadCheck;
	moon.src = "images/moon.gif";

	magic = new Image();
	magic.onload = loadCheck;
	magic.src = "images/magic.gif";
}

function loadCheck() {
	count++;
	if(count == 2) {
		layerSetup();
	}
}

// STEP 7

function layerSetup() {
	moonLyr = eval(doc + '["moonLayer"]' + sty);
	moonLyr.left = 20;
	moonLyr.top = 172;

	magicLyr = eval(doc + '["magicLayer"]' + sty);
	magicLyr.left = (available_width-353)/2;
	magicLyr.top = available_height-60;

	fadeLyr = eval(doc + '["fadeLayer"]' + sty);
	fadeLyr.left = (available_width-630)/2;
	fadeLyr.top = 20;

	visibilitySetup();
}

// STEP 8

function visibilitySetup() {
	moonLyr.visibility = "visible";
	magicLyr.visibility = "visible";
	fadeLyr.visibility = "visible";

	arraySetup();
}

// STEP 9

function arrayValues(msg, delay) {
	this.message = msg;
	this.delay = delay;
}

function arraySetup() {
	msgArray = new Array()
	msgArray[0] = new arrayValues("Hello there!!",2000);
	
	msgArray[1] = new arrayValues("This is my first time using JavaScript",2000);
	
	
	msgArray[2] = new arrayValues("I am still working on this Web site",2000);
        msgArray[3] = new arrayValues("so",1000);
        msgArray[4] = new arrayValues("please come back later!",2000);
     
	
        msgArray[5] = new arrayValues("thank you for your visiting",1000); 
        msgArray[6] = new arrayValues("bye for now...",2000);
        setTimeout("fadingText()", 2000);
}

// STEP 10

var message_index = 0;
var fade_direction = "in";
var fade_index = 1;
var fade_speed = 80;

function fadingText() {
	if(message_index <= msgArray.length-1) {
		if(fade_direction == "in") {
			if(fade_index <= 10) {
				fade();
				setTimeout("fadingText()", fade_speed);
				fade_index++;
			} else {
				fade_index = 10;
				fade_direction = "out"
				setTimeout("fadingText()", fade_speed);
			}
		} else if(fade_direction == "out") {
			if(fade_index >= 1) {
				fade();
				setTimeout("fadingText()", fade_speed);
				fade_index--;
			} else {
				fade_index = 1;
				fade_direction = "in"
				setTimeout("fadingText()", msgArray[message_index].delay);
				message_index++;
			}
		}
	}
}

function fade() {
	fadeHTML = eval(doc + '["fadeLayer"]' + htm);
	var msg = '<TABLE BORDER="0" WIDTH="630"><TR><TD ALIGN=CENTER><FONT CLASS=fade' + fade_index + '>' + msgArray[message_index].message + '</TD></TR></TABLE>';
	if(is.ns4) {
		fadeHTML.write(msg);
		fadeHTML.close();
	} else {
		fadeHTML.innerHTML = msg;
	}
}