
dojo.require("dojo.fx"); 
dojo.require("dojo.fx.easing");
dojo.require("dojo.NodeList-fx"); 


//var contentInitTop = 0;
var contentInitLeft = 0;

var pageFunctions = Array();

pageFunctions[0] = function() {
	
	var conn = null;
	
	function shake() {
		dojo.disconnect(conn);
		//console.log("in");
		
		dojo.query("#devcloud .develem").forEach(function(e){
			var offset = 1 -2*(Math.floor(Math.random() * 2));
			offset *= 25;
			
			dojo.animateProperty({
				node: e,
				duration: 700,
				properties: {
					left: {start: offset, end: 0, unit: "px"}
				},
				easing: dojo.fx.easing.elasticOut
			}).play(); 
		});
		
		conn = dojo.connect(dojo.byId("hitbox"), "onmouseout", function(){
			dojo.disconnect(conn);
			//console.log("out");
			conn = dojo.connect(dojo.byId("hitbox"), "onmouseover", shake);
		});
	}
	
	conn = dojo.connect(dojo.byId("hitbox"), "onmouseover", shake);
}

pageFunctions[1] = function() {

	dojo.query(".work").connect("onmouseover",function(e){
		dojo.query(this).style("border","1px solid #ffffff"); 
	});
	
	dojo.query(".work").connect("onmouseout",function(e){
		dojo.query(this).style("border","0"); 
	});
}

var slideSwitcher = {
		
	currentSlide: 0,
	isPlaying: false,
	
	showSlide: function(s) {
		if( (s != this.currentSlide) && (s < dojo.query(".content").length) && !this.isPlaying ) {
			this.switchSlides(this.currentSlide,s);
		}
	},
	
	switchSlides: function(a,b) {	
		this.isPlaying = true;
		
		dojo.style(dojo.query(".content")[b],{
			opacity: 0,
			display: "block"
		});
		
		if( a < b ) {
			offsetA = -400;
			offsetB  = 400;
		}
		else {
			offsetA = 400;
			offsetB = -400;
		}
		
		var anim1 = dojo.animateProperty({
			node: dojo.query(".content")[a],
			duration: 700,
			properties: {
				left: { start: contentInitLeft, end: contentInitLeft+offsetA, unit: "px"},
				opacity: {start: 1.0, end: 0.0}
			}
		});
		
		var anim2 = dojo.animateProperty({
			node: dojo.query(".content")[b],
			duration: 700,
			properties: {
				left: { start: contentInitLeft+offsetB, end: contentInitLeft, unit: "px"},
				opacity: {start: 0.0, end: 1.0}
			}
		});
		
		var anim = dojo.fx.combine([anim1,anim2]);
		dojo.connect(anim, "onEnd", function(){
			dojo.style(dojo.query(".content")[a],{
				opacity: 0,
				display: "none"
			});
			slideSwitcher.isPlaying = false;
			if( pageFunctions[b] ) {
				pageFunctions[b]();
			}
		});
		anim.play();
		
		this.currentSlide = b;
	}
}



dojo.addOnLoad(function(){
	//console.log(dojo.query(".content").length);
	
	contentInitLeft = dojo.style(dojo.query(".content")[0],"left");
	
	slideSwitcher.currentSlide = 0;
	
	dojo.connect(dojo.byId("link1"),"onclick", function(e){ e.preventDefault(); slideSwitcher.showSlide(0) });
	dojo.connect(dojo.byId("link2"),"onclick", function(e){ e.preventDefault(); slideSwitcher.showSlide(1) });
	dojo.connect(dojo.byId("link3"),"onclick", function(e){ e.preventDefault(); slideSwitcher.showSlide(2) });
	dojo.connect(dojo.byId("link4"),"onclick", function(e){ e.preventDefault(); slideSwitcher.showSlide(3) });
	
	dojo.connect(dojo.byId("contact_form"),"onsubmit", formSubmit);
	
	if( pageFunctions[0] ) {
		pageFunctions[0]();
	}
});
