var problems;
var solutions;
var n = 0;
var i;

dojo.require('dojo.fx');
dojo.require('dojox.timing');

	dojo.addOnLoad(function(){
		init();
});

function init() {
	initProblems();
}

function getInternetExplorerVersion() {
	var rv = -1; // Return value assumes failure.
	if (navigator.appName == 'Microsoft Internet Explorer')
	{
	 var ua = navigator.userAgent;
	 var re= new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
	 if (re.exec(ua) != null)
	 rv = parseFloat( RegExp.$1 );
	}
	return rv;
}

function initProblems() {
	var ver = getInternetExplorerVersion();
	problems = dojo.query(".problem");
	solutions = dojo.query(".solution");
	dojo.style(problems[0], "opacity", "0");
	
	dojo.style(problems[1], "opacity", "100");
	dojo.style(problems[2], "opacity", "100");
	dojo.style(problems[3], "opacity", "100");
	dojo.style(problems[1], "height", "0");
	dojo.style(problems[2], "height", "0");
	dojo.style(problems[3], "height", "0");
	
	dojo.style(solutions[0], "opacity", "0");
	
	dojo.style(solutions[1], "opacity", "100");
	dojo.style(solutions[1], "height", "0");
	
	startAnimation();
}

function startAnimation() {
	// PROBLEM 1
	dojo.fadeIn({
		node: problems[0],
		duration: 500,
		delay: 2000
	}).play();
	
	dojo.fx.wipeIn({
		node: problems[1],
		duration: 500,
		delay: 2000
	}).play();
	
	dojo.fadeOut({
		node: problems[0],
		duration: 500,
		delay: 7000
	}).play();
	
	dojo.fadeOut({
		node: problems[1],
		duration: 250,
		delay: 7000,
		onEnd: function() {
			dojo.style(problems[0], "opacity", "0");
			dojo.style(problems[1], "display", "none");
		}
	}).play();
	
	// PROBLEM 2
	dojo.fadeIn({
		node: problems[0],
		duration: 500,
		delay: 8000
	}).play();
	
	dojo.fx.wipeIn({
		node: problems[2],
		duration: 500,
		delay: 8000
	}).play();
	
	dojo.fadeOut({
		node: problems[0],
		duration: 500,
		delay: 12000
	}).play();
	
	dojo.fadeOut({
		node: problems[2],
		duration: 250,
		delay: 12000,
		onEnd: function() {
			dojo.style(problems[0], "opacity", "0");
			dojo.style(problems[2], "display", "none");
		}
	}).play();
	
	// PROBLEM 3
	dojo.fadeIn({
		node: problems[0],
		duration: 500,
		delay: 13000
	}).play();
	
	dojo.fx.wipeIn({
		node: problems[3],
		duration: 500,
		delay: 13000
	}).play();
	
	dojo.fadeOut({
		node: problems[0],
		duration: 500,
		delay: 17000,
		onEnd: function() {
			dojo.style(problems[0], "display", "none");
		}
	}).play();
	
	dojo.fadeOut({
		node: problems[3],
		duration: 250,
		delay: 17000,
		onEnd: function() {
			dojo.style(problems[3], "display", "none");
	}
	}).play();
	
	// SOLUTION
	dojo.fadeIn({
		node: solutions[0],
		duration: 250,
		delay: 18000
	}).play();
	
	dojo.fx.wipeIn({
		node: solutions[1],
		duration: 500,
		delay: 18000
	}).play();
}

function startNonAnimation() {
	n++;
	
	if (n == 1) {
		dojo.style(problems[0], "opacity", "100");
	}
}
