
animationLock = false;
isIE = (navigator.userAgent.toLowerCase().indexOf("msie")!=-1);
stdBlockSize = (navigator.userAgent.toLowerCase().indexOf("firefox")!=-1)?100:10;
gradience = (navigator.userAgent.toLowerCase().indexOf("firefox")!=-1)?70:10;

k=0;

function gId(someId){return document.getElementById(someId);}

function fadeStart(targetImg,thisFadeFunction,thisEndState)
{
	if(!animationLock)
	{
		gId("arrowHome").style.visibility = "hidden";
		animationLock = true;
		targetElement = gId("myContainer1");
		backImage = new Image();
		backImage.src = targetImg;
		baseId = "element";
		endstateFunction = thisEndState;
		fadeSomeWay(thisFadeFunction);
	}
}

function outside_atrium() { setFader("bottomFader","siege.jpg",bottomToTop,atrium_outside,335,530); setFader("topFader","keepers.jpg",topToBottom,atrium_mainhall,340,5); setAntechamberBosses() }
function atrium_outside() { setFader("topFader","antechamber.jpg",topToBottom,outside_atrium,454,0); hideFader("bottomFader"); setSiegeBosses() }
function atrium_mainhall() { setFader("bottomFader","antechamber.jpg",bottomToTop,mainhall_atrium,478,555); setFader("topFader","spark.jpg",topToBottom,mainhall_spark,240,190); setFader("leftFader","descent.jpg",leftToRight,mainhall_descent,263,464); setKeepersBosses() }
function mainhall_atrium() { outside_atrium(); hideFader("leftFader") }
function mainhall_spark() { setFader("bottomFader","keepers.jpg",bottomToTop,spark_mainhall,400,520); hideFader("leftFader"); hideFader("topFader"); setSparkBosses() }
function mainhall_descent() { setFader("rightFader","keepers.jpg",rightToLeft,descent_mainhall,330,311+2); hideFader("leftFader"); hideFader("topFader"); hideFader("bottomFader"); setDescentBosses() }
function spark_mainhall() { atrium_mainhall(); }
function descent_mainhall() { atrium_mainhall(); hideFader("rightFader"); }

function setSiegeBosses() { setBoss("xt",471,81); setBoss("razor",528,163); setBoss("ignis",370,161); setBoss("flamo",477,245); }
function setAntechamberBosses() { setBoss("kologarn",359,69); setBoss("algalon",780,295); setBoss("council",140,366); }
function setKeepersBosses() { setBoss("aurayia",498,366); setBoss("hodir",656,411); setBoss("thoooor",708,310); setBoss("freya",519,140); }
function setSparkBosses() { setBoss("mimiron",422,260); }
function setDescentBosses() { setBoss("vezax",556,389); setBoss("yoggie",669,258); }

function setBoss(thisBoss,thisX,thisY)
{
	var newBossElement = document.createElement("div");
	newBossElement.className = "bossElement";
	newBossElement.style.left = (thisX>0)?thisX+"px":thisX+320+"px";
	var leftShow = (thisX+335>902)?thisX-350:thisX+60;
	newBossElement.style.top = thisY+"px";
	newBossElement.onmouseover = function(){setLolBoss(thisBoss,leftShow,thisY+10)};
	newBossElement.onmouseout = function(){hideLolBoss()};
	newBossElement.onclick = function(){hydraVision(thisBoss+".jpg")};
	targetElement.appendChild(newBossElement);
}

function setFader(thisFader,thisImage,thisFadeFunction,thisEndState,fLeft,fTop)
{
	var targetFader = gId(thisFader);
	targetFader.style.display = "block";
	targetFader.style.left = fLeft+"px";
	targetFader.style.top = fTop+"px";
	targetFader.onclick = function(){ fadeStart(thisImage,thisFadeFunction,thisEndState) }
}

function hideFader(thisFader) { gId(thisFader).style.display = "none"; }

function newSegment(thisWidth,thisHeight,bgLeft,bgTop,offsetTop,offsetLeft,thisID)
{
	var newElement = document.createElement("div");
	newElement.style.backgroundImage = "url("+backImage.src+")";
	newElement.style.backgroundPosition = bgLeft+"px "+bgTop+"px";
	newElement.style.height = thisHeight+"px";
	newElement.style.width = thisWidth+"px";
	newElement.style.opacity = "0";
	newElement.style.filter = "alpha(opacity=0)"
	newElement.className = "0";
	newElement.style.position = "absolute";
	newElement.style.top = offsetTop+"px";
	newElement.style.left = offsetLeft+"px";
	newElement.id = baseId+thisID;
	return newElement;
}

//thisWidth,thisHeight,bgLeft,bgTop,offsetTop,offsetLeft,thisID

function leftToRight(i) {targetElement.appendChild(newSegment(stdBlockSize,backImage.height,(-i*stdBlockSize),0,0,(i*stdBlockSize),i));}
function rightToLeft(i) {targetElement.appendChild(newSegment(stdBlockSize,backImage.height,(-backImage.width+i*stdBlockSize+stdBlockSize),0,0,(backImage.width-i*stdBlockSize-stdBlockSize),i));}
function topToBottom(i) {targetElement.appendChild(newSegment(backImage.width,stdBlockSize,0,(-i*stdBlockSize),(i*stdBlockSize),0,i));}
function bottomToTop(i) {targetElement.appendChild(newSegment(backImage.width,stdBlockSize,0,(-backImage.height+i*stdBlockSize+stdBlockSize),(backImage.height-i*stdBlockSize-stdBlockSize),0,i));}

function fadeSomeWay(someDirection)
{
	if(backImage.complete)
	{
		numSegments = Math.ceil(backImage.width/stdBlockSize);
		for(i=0;i<numSegments;i++)
		{
			someDirection(i);
		}
		faderArray = new Array();
		faderCounter = 0;
		for(j=0;j<numSegments;j++)
		{
			window.setTimeout("launchFade("+j+")",j*gradience);
		}
	}
	else window.setTimeout("fadeSomeWay("+someDirection+")",50);
}

function launchFade(thisElement)
{
	faderArray[faderCounter++] = window.setInterval("fadeSegment("+thisElement+")",10);
}

fadeSegment = (!isIE)?function(thisElement)
{
	var currentSegment = gId(baseId+thisElement);
	if(currentSegment.style.opacity >= 1)
	{
		window.clearInterval(faderArray[thisElement]);
		if(thisElement==numSegments-1)
		{
			targetElement.style.backgroundImage = "url("+backImage.src+")";
			targetElement.innerHTML = "";
			endstateFunction();
			gId("arrowHome").style.visibility = "visible";
			animationLock = false;
		}
	}
	else
	{
		currentSegment.style.opacity = eval(currentSegment.style.opacity)+0.04;
	}
}:
function(thisElement)
{
	var currentSegment = gId(baseId+thisElement);
	var ieOpacityCrutch = currentSegment.className;
	if(ieOpacityCrutch == "100")
	{
		window.clearInterval(faderArray[thisElement]);
		if(thisElement==numSegments-1)
		{
			targetElement.style.backgroundImage = "url("+backImage.src+")";
			targetElement.innerHTML = "";
			endstateFunction();
			gId("arrowHome").style.visibility = "visible";
			animationLock = false;
		}
	}
	else
	{
		currentSegment.className = 10+parseInt(currentSegment.className);
		currentSegment.style.filter = "alpha(opacity="+currentSegment.className+")";
	}
}

function setLolBoss(thisBoss,thisLeft,thisTop)
{
	gId("loreBox").innerHTML = "<div class='lolthumb'><div><img src='"+thisBoss+"-thumb.jpg'/></div></div>"+bossLol[thisBoss];
	gId("lolBoss").style.top = (thisTop+gId("lolBoss").offsetHeight<640)?thisTop+"px":640-gId("lolBoss").offsetHeight+"px";
	gId("lolBoss").style.left = thisLeft+"px";
	gId("lolBoss").style.visibility = "visible";
}

function hideLolBoss() { gId("lolBoss").style.visibility = "hidden"; }

bossLol = new Object();
bossLol["xt"] = "<span>拆解者XT-002</span><b>拆解者XT-002</b> &nbsp;&nbsp;&nbsp;是奥杜亚废料场主人米米隆制造出来的大型发条机器人。XT-002认为自己是他的发明者的儿子，所以这台机器的运作类似于一个小男孩。";
bossLol["razor"] = "<span>锐鳞</span><b>锐鳞</b> &nbsp;&nbsp;&nbsp;以前的名字是 维拉努斯，被洛肯俘获后改造为残酷的武器。在洛肯的示意下，火炉之主伊格尼司为锐鳞浇铸了铁甲，以提升她致命的攻击。";
bossLol["ignis"] = "<span>火炉之主伊格尼司</span><b> 火炉之主伊格尼司</b> &nbsp;&nbsp;&nbsp;他身处奥杜亚之中，可能也是被泰坦所创造的产物，但现在听命于上古之神尤格-萨隆。这位让人过目难忘的铁巨人在巨大的熔炉前辛勤劳作，制造着将以尤格萨隆之名去征服艾泽拉斯的钢铁军队。";
bossLol["flamo"] = "<span>烈焰战轮</span><b>烈焰战轮</b> &nbsp;&nbsp;&nbsp;烈焰战轮是一辆大型装甲坦克，守卫着奥杜亚的入口。守护者米米隆是它的创造者，他将这台坦克作为他V0-L7R-0N武器平台的一部分而制造。";
bossLol["kologarn"] = "<span>柯洛刚恩</span><b>柯洛刚恩</b> &nbsp;&nbsp;&nbsp;洛肯令火炉之主伊格尼司创造了这名高大的守护者，把守着破碎之廊。他庞大的身躯与手臂使他能轻易击碎任何胆敢冒犯禁地的入侵者。";
bossLol["algalon"] = "<span>观察者阿加隆</span><b>观察者阿加隆</b> &nbsp;&nbsp;&nbsp;洛肯之死触发了一套故障预警机制，使泰坦们得知艾泽拉斯失去了它的主要守护者。观察者阿加隆被指派前往调查局势，并且，在必要的时候发送一段回复代码，将现存的所有生物抹除，重构整个世界。";
bossLol["council"] = "<span>钢铁军队</span><b>钢铁军队</b> &nbsp;&nbsp;&nbsp;钢铁军队由三位来自不同种族的可怕领袖所带领，他们分别是风暴召唤者布伦迪尔、钢铁破坏者、符文大师莫杰姆。";
bossLol["aurayia"] = "<span>奥芮雅</span><b>奥芮雅</b> &nbsp;&nbsp;&nbsp;奥芮雅身为奥杜亚的档案管理者，在一群凶猛猫科动物的陪同下巡视观察之环。无数岁月的孤独成为了她的重负，而上古之神滋长的力量似乎撕碎了她最后的神智。";
bossLol["hodir"] = "<span>霍迪尔</span><b>霍迪尔</b> &nbsp;&nbsp;&nbsp;巨人霍迪尔掌管着寒冬神殿，统率着风暴峭壁的冰巨人。现在，这位守护者居住在寒冬山脉的冰穴之中，被迫为尤格-萨隆的意志服务。";
bossLol["thoooor"] = "<span>索林姆</span><b>索林姆</b> &nbsp;&nbsp;&nbsp;多年以来，索林姆一直认为冰巨人谋害了他深爱的妻子西芙，而没有意识到他的兄弟洛肯才是真凶。当索林姆发现真相，洛肯诱骗了他并把他带入奥杜亚。";
bossLol["freya"] = "<span>芙蕾雅</span><b>芙蕾雅</b> &nbsp;&nbsp;&nbsp;守护者芙蕾雅本应是万物的保护者，有三位长者辅助她。虽然她的温室仍然郁郁葱葱，但她却已经被上古之神的疯狂所支配。";
bossLol["mimiron"] = "<span>米米隆</span><b>米米隆</b> &nbsp;&nbsp;&nbsp;作为一个富于才华的发明家，米米隆在艾泽拉斯几种最重要的机械发明中起了重要的作用。但自从他受到洛肯的困扰，这位奥杜亚的守护者就只致力于研制战争机器了。";
bossLol["vezax"] = "<span>威札斯将军</span><b>威札斯将军</b> &nbsp;&nbsp;&nbsp;奥杜亚的深处潜藏着一种被称为“无面者”的奇特生物。它们的强大首领之一，威札斯将军便守卫着这通往尤格-萨隆的曲折通道。";
bossLol["yoggie"] = "<span>尤格-萨隆</span><b>尤格-萨隆</b> &nbsp;&nbsp;&nbsp;很久以前，泰坦们将尤格-萨隆封印在奥杜亚的深处，以使艾泽拉斯免遭上古之神的破坏。但是，经过多年的暗中设计，尤格-萨隆成功地腐化了他的看守，现在，这可怕的生物终于逃脱了出来。";
