//  Fancy Slides
//	©2011 Arlo Rose
//
//  Yeah, I did this all by hand.
//  Yeah, I wish I'd written a tool to do it instead.



mySlides1 = new slide({
	id: "#slide1",
	number: "1",
	entering: [{
		id: '#t1a',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t1b',
		move: 'translate(350px, 0px)',
	}],
	leaving: [{
		id: '#t1a',
		move: 'translate(300px, 0px)',
	},{
		id: '#t1b',
		move: 'translate(0px, 200px)',
	}]
});

mySlides2 = new slide({
	id: "#slide2",
	number: "2",
	entering: [{
		id: '#t2a',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t2b',
		move: 'translate(0px, -200px)',
	}],
	leaving: [{
		id: '#slide2',
		move: 'translate(350px, 0px)',
	}]
});

mySlides3 = new slide({
	id: "#slide3",
	number: "3",
	entering: [{
		id: '#i3_dig_clock',
 		move: 'translate(-90px, -20px)',
	},{
		id: '#i3_cal',
 		move: 'translate(-90px, 20px)',
	},{
		id: '#i3_ana_clock',
 		move: 'translate(90px, -20px)',
	},{
		id: '#i3_it_mini',
 		move: 'translate(-20px, 90px)',
	},{
		id: '#i3_bat_full',
 		move: 'translate(120px, 90px)',
	},{
		id: '#i3_bat_charge',
 		move: 'translate(70px, 50px)',
	},{
		id: '#i3_bat_empt',
 		move: 'translate(30px, 25px)',
	},{
		id: '#t3',
		move: 'translate(-200px, 0px)',
	}],
	leaving: [{
		id: '#i3_widgets',
		move: 'scale(0.7) translate(80px, 80px)',
	},{
		id: '#t3 .description',
		move: 'translate(350px, 0px)',
	},{
		id: '#t3 .title',
		move: 'none',
	},{
		id: '#t3 .sub_title',
		move: 'none',
	}]
});

mySlides4 = new slide({
	id: "#slide4",
	number: "4",
	entering: [{
		id: '#i4_isobel',
 		move: 'translate(-70px, -70px)',
	},{
		id: '#i4_address',
 		move: 'scale(.6)',
	},{
		id: '#i4_todo',
 		move: 'translate(70px, 70px)',
	},{
		id: '#i4_health',
		move: 'translate(-70px, 70px)',
	},{
		id: '#t4 .description',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t4 .title',
		move: 'none',
	},{
		id: '#t4 .sub_title',
		move: 'none',
	}],
	leaving: [{
		id: '#i4_widgets',
		move: 'translate(-80px, 0px)',
	},{
		id: '#t4 .description',
		move: 'translate(350px, 0px)',
	},{
		id: '#t4 .title',
		move: 'none',
	},{
		id: '#t4 .sub_title',
		move: 'none',
	}]
});

mySlides5 = new slide({
	id: "#slide5",
	number: "5",
	entering: [{
		id: '#i5_sun1',
 		move: 'translate(-70px, 0px)',
	},{
		id: '#i5_cloud1',
 		move: 'translate(20px, 0px)',
	},{
		id: '#i5_sun2',
 		move: 'translate(-90px, 0px)',
	},{
		id: '#i5_cloud2',
 		move: 'translate(30px, 0px)',
	},{
		id: '#i5_thunder',
 		move: 'translate(-80px, 0px)',
	},{
		id: '#i5_flurries',
 		move: 'translate(-100px, 0px)',
	},{
		id: '#i5_moon1',
 		move: 'translate(30px, 110px)',
	},{
		id: '#i5_moon2',
 		move: 'translate(50px, 0px)',
	},{
		id: '#i5_moon3',
 		move: 'translate(30px, -110px)',
	},{
		id: '#i5_moon4',
 		move: 'translate(-70px, 60px)',
	},{
		id: '#i5_moon5',
 		move: 'translate(-70px, -60px)',
	},{
		id: '#t5 .description',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t5 .title',
		move: 'none',
	},{
		id: '#t5 .sub_title',
		move: 'none',
	}],
	leaving: [{
		id: '#i5_widgets',
 		move: 'rotate(-30deg) translate(200px, -200px)',
	},{
		id: '#t5 .description',
		move: 'translate(350px, 0px)',
	},{
		id: '#t5 .title',
		move: 'none',
	},{
		id: '#t5 .sub_title',
		move: 'none',
	}]
});

mySlides6 = new slide({
	id: "#slide6",
	number: "6",
	entering: [{
		id: '#i6',
		move: 'rotate(50deg) translate(-280px, -280px)',
	},{
		id: '#t6 .description',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t6 .title',
		move: 'none',
	},{
		id: '#t6 .sub_title',
		move: 'none',
	}],
	leaving: [{
		id: '#i6',
 		move: 'none',
	},{
		id: '#t6 .description',
		move: 'translate(350px, 0px)',
	},{
		id: '#t6 .title',
		move: 'none',
	},{
		id: '#t6 .sub_title',
		move: 'none',
	}]
});

mySlides7 = new slide({
	id: "#slide7",
	number: "7",
	entering: [{
		id: '#i7',
		move: 'none',
	},{
		id: '#t7 .description',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t7 .title',
		move: 'none',
	},{
		id: '#t7 .sub_title',
		move: 'none',
	}],
	leaving: [{
		id: '#i7',
 		move: 'none',
	},{
		id: '#t7 .description',
		move: 'translate(350px, 0px)',
	},{
		id: '#t7 .title',
		move: 'none',
	},{
		id: '#t7 .sub_title',
		move: 'none',
	}]
});

mySlides8 = new slide({
	id: "#slide8",
	number: "8",
	entering: [{
		id: '#i8',
		move: 'none',
	},{
		id: '#t8 .description',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t8 .title',
		move: 'none',
	},{
		id: '#t8 .sub_title',
		move: 'none',
	}],
	leaving: [{
		id: '#i8',
 		move: 'none',
	},{
		id: '#t8 .description',
		move: 'translate(350px, 0px)',
	},{
		id: '#t8 .title',
		move: 'none',
	},{
		id: '#t8 .sub_title',
		move: 'none',
	}]
});

mySlides9 = new slide({
	id: "#slide9",
	number: "9",
	entering: [{
		id: '#i9',
		move: 'none',
	},{
		id: '#t9 .description',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t9 .title',
		move: 'none',
	},{
		id: '#t9 .sub_title',
		move: 'none',
	}],
	leaving: [{
		id: '#i9',
 		move: 'none',
	},{
		id: '#t9 .description',
		move: 'translate(350px, 0px)',
	},{
		id: '#t9 .title',
		move: 'none',
	},{
		id: '#t9 .sub_title',
		move: 'none',
	}]
});

mySlides10 = new slide({
	id: "#slide10",
	number: "10",
	entering: [{
		id: '#i10',
		move: 'none',
	},{
		id: '#t10 .description',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t10 .title',
		move: 'none',
	},{
		id: '#t10 .sub_title',
		move: 'none',
	}],
	leaving: [{
		id: '#i10',
 		move: 'none',
	},{
		id: '#t10 .description',
		move: 'translate(350px, 0px)',
	},{
		id: '#t10 .title',
		move: 'none',
	},{
		id: '#t10 .sub_title',
		move: 'none',
	}]
});

mySlides11 = new slide({
	id: "#slide11",
	number: "11",
	entering: [{
		id: '#i11',
		move: 'none',
	},{
		id: '#t11 .description',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t11 .title',
		move: 'none',
	},{
		id: '#t11 .sub_title',
		move: 'none',
	}],
	leaving: [{
		id: '#i11',
		move: 'translate(0px, 350px)',
	},{
		id: '#t11',
		move: 'translate(350px, 0px)',
	}]
});

mySlides12 = new slide({
	id: "#slide12",
	number: "12",
	entering: [{
		id: '#t12a',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t12b',
		move: 'translate(0px, -200px)',
	}],
	leaving: [{
		id: '#t12a',
		move: 'translate(0px, 150px)',
	},{
		id: '#t12b',
		move: 'translate(350px, 0px)',
	}]
});

mySlides13 = new slide({
	id: "#slide13",
	number: "13",
	entering: [{
		id: '#i13a',
		move: 'translate(-100px, -70px)',
	},{
		id: '#i13b',
		move: 'translate(100px, 70px)',
	},{
		id: '#t13a',
		move: 'translate(0px, -150px)',
	},{
		id: '#t13b',
		move: 'translate(100px, 0px)',
	}],
	leaving: [{
		id: '#i13a',
		move: 'translate(100px, 0px)',
	},{
		id: '#i13b',
		move: 'translate(-100px, 0px)',
	},{
		id: '#t13a',
		move: 'none',
	},{
		id: '#t13b',
		move: 'translate(350px, 0px)',
	}]
});

mySlides14 = new slide({
	id: "#slide14",
	number: "14",
	entering: [{
		id: '#i14a',
		move: 'translate(-100px, 0px)',
	},{
		id: '#i14b',
		move: 'translate(100px, 0px)',
	},{
		id: '#t14a',
		move: 'none',
	},{
		id: '#t14b',
		move: 'translate(-200px, 0px)',
	}],
	leaving: [{
		id: '#i14a',
		move: 'translate(-100px, 0px)',
	},{
		id: '#i14b',
		move: 'translate(100px, 0px)',
	},{
		id: '#t14a',
		move: 'none',
	},{
		id: '#t14b',
		move: 'translate(350px, 0px)',
	}]
});

mySlides15 = new slide({
	id: "#slide15",
	number: "15",
	entering: [{
		id: '#i15',
		move: 'translate(0px, -50px)',
	},{
		id: '#t15a',
		move: 'none',
	},{
		id: '#t15b',
		move: 'translate(-200px, 0px)',
	}],
	leaving: [{
		id: '#i15',
		move: 'scale(.7)',
	},{
		id: '#t15a',
		move: 'none',
	},{
		id: '#t15b',
		move: 'translate(350px, 0px)',
	}]
});

mySlides16 = new slide({
	id: "#slide16",
	number: "16",
	entering: [{
		id: '#i16a',
		move: 'translate(-70px, -35px)',
	},{
		id: '#i16b',
		move: 'translate(70px, -35px)',
	},{
		id: '#i16c',
		move: 'translate(-70px, -5px)',
	},{
		id: '#i16d',
		move: 'translate(70px, 35px)',
	},{
		id: '#t16a',
		move: 'none',
	},{
		id: '#t16b',
		move: 'translate(-200px, 0px)',
	}],
	leaving: [{
		id: '#i16a',
		move: 'translate(-70px, -35px)',
	},{
		id: '#i16b',
		move: 'translate(70px, -35px)',
	},{
		id: '#i16c',
		move: 'translate(-70px, -5px)',
	},{
		id: '#i16d',
		move: 'translate(70px, 35px)',
	},{
		id: '#t16a',
		move: 'translate(450px, 0px)',
	},{
		id: '#t16b',
		move: 'translate(450px, 0px)',
	}]
});

mySlides17 = new slide({
	id: "#slide17",
	number: "17",
	entering: [{
		id: '#i17a',
		move: 'translate(170px, 0px)',
	},{
		id: '#i17b',
		move: 'translate(-70px, 0px)',
	},{
		id: '#t17',
		move: 'translate(-200px, 0px)',
	}],
	leaving: [{
		id: '#i17a',
		move: 'translate(170px, 0px)',
	},{
		id: '#i17b',
		move: 'translate(-70px, 0px)',
	},{
		id: '#t17 .description',
		move: 'translate(350px, 0px)',
	},{
		id: '#t17 .title',
		move: 'none',
	},{
		id: '#t17 .sub_title',
		move: 'none',
	}]
});

mySlides18 = new slide({
	id: "#slide18",
	number: "18",
	entering: [{
		id: '#i18a',
		move: 'translate(0px, 70px)',
	},{
		id: '#i18b',
		move: 'translate(0px, -70px)',
	},{
		id: '#t18 .description',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t18 .title',
		move: 'none',
	},{
		id: '#t18 .sub_title',
		move: 'none',
	}],
	leaving: [{
		id: '#i18a',
		move: 'translate(70px, 30px)',
	},{
		id: '#i18b',
		move: 'translate(-70px, -30px)',
	},{
		id: '#t18 .description',
		move: 'translate(350px, 0px)',
	},{
		id: '#t18 .title',
		move: 'none',
	},{
		id: '#t18 .sub_title',
		move: 'none',
	}]
});

mySlides19 = new slide({
	id: "#slide19",
	number: "19",
	entering: [{
		id: '#i19a',
		move: 'translate(0px, 70px)',
	},{
		id: '#i19b',
		move: 'translate(0px, -70px)',
	},{
		id: '#t19 .description',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t19 .title',
		move: 'none',
	},{
		id: '#t19 .sub_title',
		move: 'none',
	}],
	leaving: [{
		id: '#i19a',
		move: 'translate(70px, 30px)',
	},{
		id: '#i19b',
		move: 'translate(-70px, -30px)',
	},{
		id: '#t19',
		move: 'translate(350px, 0px)',
	}]
});

mySlides20 = new slide({
	id: "#slide20",
	number: "20",
	entering: [{
		id: '#t20a',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t20b',
		move: 'translate(0px, -200px)',
	}],
	leaving: [{
		id: '#t20a',
		move: 'translate(500px, 0px)',
	},{
		id: '#t20b',
		move: 'translate(350px, 0px)',
	}]
});

mySlides21 = new slide({
	id: "#slide21",
	number: "21",
	entering: [{
		id: '#i21',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t21',
		move: 'translate(-350px, 0px)',
	}],
	leaving: [{
		id: '#i21',
		move: 'translate(0px, 150px)',
	},{
		id: '#t21',
		move: 'translate(82px, 0px)',
	}]
});

mySlides22 = new slide({
	id: "#slide22",
	number: "22",
	entering: [{
		id: '#i22a',
		move: 'translate(-100px, 0px)',
	},{
		id: '#i22b',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t22',
		move: 'translate(-82px, 0px)',
	}],
	leaving: [{
		id: '#i22a',
		move: 'translate(0px, 120px)',
	},{
		id: '#i22b',
		move: 'translate(0px, 180px)',
	},{
		id: '#t22',
		move: 'none',
	}]
});

mySlides23 = new slide({
	id: "#slide23",
	number: "23",
	entering: [{
		id: '#i23a',
		move: 'translate(0px, -80px)',
	},{
		id: '#i23b',
		move: 'translate(0px, -120px)',
	},{
		id: '#t23',
		move: 'none',
	}],
	leaving: [{
		id: '#i23a',
		move: 'translate(80px, 0px)',
	},{
		id: '#i23b',
		move: 'translate(120px, 0px)',
	},{
		id: '#t23',
		move: 'none',
	}]
});

mySlides24 = new slide({
	id: "#slide24",
	number: "24",
	entering: [{
		id: '#i24',
		move: 'translate(-200px, 0px)',
	},{
		id: '#t24',
		move: 'none',
	}],
	leaving: [{
		id: '#i24',
		move: 'translate(0px, 150px)',
	},{
		id: '#t24',
		move: 'none',
	}]
});

mySlides25 = new slide({
	id: "#slide25",
	number: "25",
	entering: [{
		id: '#i25',
		move: 'translate(0px, -100px)',
	},{
		id: '#t25',
		move: 'none',
	}],
	leaving: [{
		id: '#slide25',
		move: 'scale(.6)',
	}]
});

mySlides26 = new slide({
	id: "#slide26",
	number: "26",
	entering: [{
		id: '#t26',
		move: 'scale(.7)',
	}],
	leaving: [{
		id: '#t26',
		move: 'scale(.7)',
	}]
});

var running = 'none';
var x;

function nextSlide() {
	if (running == 'back') { return; } else {
	running = 'fwd';
	if ($('#slides').attr('data-slide-num') == 1) {
		$('#header_last').css({opacity: 1, cursor: 'pointer'});
	} else if ($('#slides').attr('data-slide-num') == 25) {
		$('#header_next').css({opacity: .3, cursor: 'default'});
	}
	eval("mySlides" + (parseInt($('#slides').attr('data-slide-num')) + 1 ) + ".enter()");
	clearTimeout(x);
	x = setTimeout(function () { running = 'none';}, 1500);
	}
}

function lastSlide() {
	if (running == 'fwd') { return; } else {
	running = 'back';
	if ($('#slides').attr('data-slide-num') == 2) {
		$('#header_last').css({opacity: .3, cursor: 'default'});
	} else if ($('#slides').attr('data-slide-num') == 26) {
		$('#header_next').css({opacity: 1, cursor: 'pointer'});
	}
	eval("mySlides" + (parseInt($('#slides').attr('data-slide-num')) - 1 ) + ".enter()");
	clearTimeout(x);
	x = setTimeout(function () { running = 'none';}, 1500);
	}
}

function doMove(theObj, theData, theSpeed, theOpacity){
	$(theObj).css('-webkit-transition-duration', theSpeed);
	$(theObj).css('-webkit-transform', theData);
	
	$(theObj).css('-moz-transition-duration', theSpeed);
	$(theObj).css('-moz-transform', theData);
	
	$(theObj).css('opacity', theOpacity);
}

function slide(args) {
	this.enter = function () {
		$(args.id).show(0, function () {
			$.each(args.entering, function(index, value) {
				doMove(args.entering[index].id, args.entering[index].move, '0ms', 0 );
			});
			setTimeout(function(){  // Hack for the FF stuff.
				$.each(args.entering, function(index, value) {
					doMove(args.entering[index].id, 'none', '900ms', 1 );
				});
			},(30));
			eval("mySlides" + $('#slides').attr('data-slide-num') + ".exit()");
			$('#slides').attr('data-slide-num', args.number);
		});
	}

	this.exit = function () {
		$.each(args.leaving, function(index, value) {
			doMove(args.leaving[index].id, args.leaving[index].move, '900ms', 0 );
		});
		
		setTimeout(function(){
			$(args.id).hide(0, function () {
				$.each(args.leaving, function(index, value) {
					doMove(args.leaving[index].id, 'none', '0ms', 1 );
				});
			});
		},(1050)); 
	}
}

// Pre FF fix:
//function slide(args) {
//	this.enter = function () {
//		$.each(args.entering, function(index, value) {
//			doMove(args.entering[index].id, args.entering[index].move, '0ms', 0 );
//		});
//
//		$(args.id).show(0, function () {
//			$.each(args.entering, function(index, value) {
//				doMove(args.entering[index].id, 'none', '900ms', 1 );
//			});
//			eval("mySlides" + $('#slides').attr('data-slide-num') + ".exit()");
//			$('#slides').attr('data-slide-num', args.number);
//		});
//	}
//
//	this.exit = function () {
//		$.each(args.leaving, function(index, value) {
//			doMove(args.leaving[index].id, args.leaving[index].move, '900ms', 0 );
//		});
//		
//		setTimeout(function(){
//			$(args.id).hide(0, function () {
//				$.each(args.leaving, function(index, value) {
//					doMove(args.leaving[index].id, 'none', '0ms', 1 );
//				});
//			});
//		},(1050)); 
//	}
//}

