var fixedTitle = "";
var tempTitle = "";
var speed = 200;
var timer = null;
var step = 0; 
var currentEffect = 1;
var toRight = true;


var stepsList = new Array();
stepsList[0] = ".";
stepsList[1] = "s";
stepsList[2] = "S"; 
stepsList[3] = "$";
stepsList[4] = "S";  
stepsList[5] = "s"; 
stepsList[6] = "."; 



function printTitle(str) {
	document.title = str;
}

function setTempTitle(str) {
	tempTitle = str;
}

function setFixedTitle(str) {
	fixedTitle = str;
}

function setCurrentEffect(num) {
	step = 0;
	currentEffect = num;
}


function update() {
	
	if (currentEffect == 0) {
		printTitle(fixedTitle);
	}
	
	if (currentEffect == 1) {
		var amount = 40;
		var t1 = ":";
		
		for (var i = 0; i < step; i++) {
			t1 += "$:";
		}  
		var t2 = ":";
		for (var i = step; i < amount; i++) {
			t2 += "$:";
		}
	    if (tempTitle != "") {
			printTitle (t1 +" - "+ fixedTitle + " - " + tempTitle +" - "+ t2);
		} else {
			printTitle (t1 +" - "+ fixedTitle + " - " + t2);  
		}
		if (toRight == true) {
			step += 1;
		} else{
			step -= 1;
		}
		if (step >= amount && toRight == true) {
			toRight = false;   
		}   
		if (step <= 0 && toRight == false) {
			toRight = true;   
		}
	}   
	
	if (currentEffect == 2) {
		if (document.title == "---") {
			var t1 = "$$$$$$$";
			printTitle(t1+" - "+tempTitle+" - "+t1);
		} else {
			printTitle("---");
		}
		step += 1;
		//if (step == 20) setCurrentEffect(1);
	}
	
	if (currentEffect == 3) {
		printTitle(fixedTitle +" "+ stepsList[step] +" "+ tempTitle)
		step += 1;
		if (step >= stepsList.length) step = 0;
	}
	
	if (currentEffect == 4) {
		if (document.title == "_____________________________________________________________________________________________") {
			var t1 = "#######################";
			printTitle(t1+" - "+tempTitle+" - "+t1);
		} else {
			printTitle("_____________________________________________________________________________________________");
		}
	}   
	
	if (currentEffect == 5) {
		printTitle(stepsList[step] +" "+ stepsList[step] +" "+ stepsList[step] +" "+ tempTitle +" "+ stepsList[step] +" "+ stepsList[step] +" "+ stepsList[step])
		step += 1;
		if (step >= stepsList.length) step = 0;  
	}
	
	timer = setTimeout("update()", speed);
}

update();