dojo.addOnLoad(function(){
	var anim;
	var current = -1;
	var selected = -1;
	var slider = dojo.byId("slider");
	var button = dojo.byId("slider-button");
	var title = dojo.byId("stories");
	var body = dojo.byId("stories-content");

	var people = [{
		title: "User Stories",
		body: body.innerHTML
	},{
		title: "Jane",
		body: "Jane is the average person who tries hard to lose weight but has some bad days every now and then. We look at how the program gives her leeway in her weight loss efforts.",
		mov: "average"
	},{
		title: "Ken",
		body: "Ken is the guy who has no problem with his weight loss efforts. We look at how the program gives him constant encouragement even with day-to-day fluctuations.",
		mov: "strict"
	},{
		title: "Carl",
		body: "Carl is going to a family reunion over the weekend, which means he'll be overindulging a little. We look at how the program gives immediate feedback and how it doesn't give you a break until you get the weight totally off.",
		mov: "weekend"
	},{
		title: "Terry",
		body: "Teri is at her goal weight and is using the program in maintenance mode. We look at how the program allows for fluctuations in weight but still knows when the right time is to let you know when you need to get back on track.",
		mov: "maintenance"
	}];

	function leftFromPos(pos){
		if(pos == 3){
			return 460;
		}else if(pos >= 0){
			return (pos * 155);
		}
		return 0;
	}

	function parseE(e){
		// width: 619px (155px)
		var parsed = {};
		var rect = dojo.position(slider, true);
		var offset = e.pageX - rect.x;

		parsed.pos = 3;
		if(offset < 155){
			parsed.pos = 0;
		}else if(offset < 310){
			parsed.pos = 1;
		}else if(offset < 465){
			parsed.pos = 2;
		}

		parsed.left = leftFromPos(parsed.pos);

		return parsed;
	}

	function fillPos(pos){
		var person = people[pos + 1];

		title.innerHTML = person.title;
		body.innerHTML = person.body;
	}

	var loop = true;
	var screen = dojo.byId("screen");
	var screenImg = dojo.create("img", {src: "screen/1.jpg"}, screen);
	var screenMov = dojo.create("div", null, screen);
	var screenCache = dojo.create("img");
	var screenNum = 1;
	setTimeout(function(){
		screenImg.src = "screen/" + ((screenNum++ % 4) + 1) + ".jpg";
		screenCache.src = "screen/" + ((screenNum++ % 4) + 1) + ".jpg";

		if(loop){
			setTimeout(arguments.callee, 10000);
		}
	}, 10000);

	var playing = false;

	dojo.connect(slider, "onclick", function(e){
		selected = current;
		loop = false;
		var person = people[selected + 1];
		screenImg.style.display = "none";
		screenMov.innerHTML = '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="359" width="250"><param name="src" value="https://bitmethod-liteweight.s3.amazonaws.com/' + person.mov + '.mov"><param name="autoplay" value="true"><param name="type" value="video/quicktime" height="359" width="250"><param name="controller" value="false"><embed src="https://bitmethod-liteweight.s3.amazonaws.com/' + person.mov + '.mov" height="359" width="250" autoplay="true" type="video/quicktime" controller="false" pluginspage="http://www.apple.com/quicktime/download/"></object>';
		playing = true;
	});

	dojo.connect(dojo.byId("screen-overlay"), "onclick", function(e){
		dojo.stopEvent(e);

		dojo.query("object, embed", screen).some(function(movie){
			if(movie.Play && movie.Stop){
				if(playing){
					movie.Stop();
				}else{
					movie.Play();
				}
				playing = !playing;

				return true;
			}
		});
	});

	dojo.connect(slider, "onmousemove", function(e){
		var obj = parseE(e);

		if(current != obj.pos){
			current = obj.pos;

			fillPos(current);

			anim && anim.pause();
			anim = dojo.animateProperty({
				node: button,
				properties: {
					left: obj.left
				}
			});
			anim.play();
		}
	});

	dojo.connect(slider, "onmouseleave", function(e){
		current = selected;
		fillPos(selected);

		anim && anim.pause();
		anim = dojo.animateProperty({
			node: button,
			properties: {
				left: leftFromPos(current)
			}
		});
		anim.play();
	});
});