// JQUERY EASING FROM: http://gsgd.co.uk/sandbox/jquery/easing/

// t: current time, b: begInnIng value, c: change In value, d: duration
jQuery.easing['jswing'] = jQuery.easing['swing'];

jQuery.extend( jQuery.easing,
{
	def: 'easeOutQuad',
	swing: function (x, t, b, c, d) {
		//alert(jQuery.easing.default);
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeInQuad: function (x, t, b, c, d) {
		return c*(t/=d)*t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	},
	easeInOutQuad: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t + b;
		return -c/2 * ((--t)*(t-2) - 1) + b;
	},
	easeInCubic: function (x, t, b, c, d) {
		return c*(t/=d)*t*t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t + b;
		return c/2*((t-=2)*t*t + 2) + b;
	},
	easeInQuart: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t + b;
	},
	easeOutQuart: function (x, t, b, c, d) {
		return -c * ((t=t/d-1)*t*t*t - 1) + b;
	},
	easeInOutQuart: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
		return -c/2 * ((t-=2)*t*t*t - 2) + b;
	},
	easeInQuint: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t*t + b;
	},
	easeOutQuint: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t*t*t + 1) + b;
	},
	easeInOutQuint: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
		return c/2*((t-=2)*t*t*t*t + 2) + b;
	},
	easeInSine: function (x, t, b, c, d) {
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
	},
	easeOutSine: function (x, t, b, c, d) {
		return c * Math.sin(t/d * (Math.PI/2)) + b;
	},
	easeInOutSine: function (x, t, b, c, d) {
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInCirc: function (x, t, b, c, d) {
		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
	},
	easeOutCirc: function (x, t, b, c, d) {
		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
	},
	easeInElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	},
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
	},
	easeInBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*(t/=d)*t*((s+1)*t - s) + b;
	},
	easeOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	},
	easeInOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158; 
		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
	},
	easeInBounce: function (x, t, b, c, d) {
		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
	},
	easeOutBounce: function (x, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	},
	easeInOutBounce: function (x, t, b, c, d) {
		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
	}
});

jQuery.fn.delay = function(time,func){
	this.each(function(){
		setTimeout(func,time);
	});
	
	return this;
};

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}


jQuery(function( $ ){
	
	//jQuery.easing.def = "swing";

/*	$("#col1").hide();
	$("h2").hide();
	$("h2").fadeIn(1000);
	$("#col1").fadeIn(1000);*/

	$("h2").css({opacity: "0.1", paddingLeft: "50px"}).animate( { opacity: "1.0" }, { queue:false, duration:1000 } ).animate( { paddingLeft: "0px" }, { queue:false, duration:750, "easing": "easeOutCirc" } );
	
	$("h3").css({opacity: "0.1"}).animate( { opacity: "1.0" }, { queue:false, duration:1000 } );
	$("h6").css({opacity: "0.1"}).animate( { opacity: "1.0" }, { queue:false, duration:2000 } );
	$(".colcontainer").css({paddingLeft: "100px"}).animate( { paddingLeft: "0px" }, { queue:false, duration:1000, "easing": "easeOutCirc" } );

	var subnav_top = $("#subnav").css("margin-top");

	var from_top = readCookie("stoltz_top");
	if (from_top == null) {
		from_top = subnav_top;
	}

	createCookie("stoltz_top", subnav_top, 1);

//	window.alert(subnav_top);
	$("#subnav").css({marginTop: from_top}).animate( { marginTop: subnav_top }, { queue:false, duration:1000, "easing": "easeOutCirc" } );

/*	$("h2 shape").css({opacity: "0.1"}).animate( { opacity: "1.0" }, { queue:false, duration:1000 } );
	
	$("h2 span.cufon").css({opacity: "0.1"}).animate( { opacity: "1.0" }, { queue:false, duration:1000 } );
*/
//	$("#content").css({marginLeft: "50px"}).animate( { marginLeft: "0px" }, { queue:false, duration:1000, "easing": "easeOutCirc" } );


/*	$(".col1 p").css({color: "#ffffff", marginLeft: "50px"})*/

/*	$(".col1").css({marginLeft: "50px"})
		.animate( { marginLeft: "50px" }, { duration:200 } )
		.animate( { marginLeft: "10px" }, { duration:1000, "easing": "easeOutCirc" } );*/
		
		
/*	.animate( { opacity:1.0 }, 500)*/

	$("body.grey .col1, body.grey .col2, body.grey .widecol").css({color: "#ffffff"});
	$("body.grey .widecol")
		.animate( { color: "#ffffff" }, { queue:false, duration:200 } )
		.animate( { color: "#989a9d" }, { queue:false, duration:3000 } );
	$("body.grey .col1")
		.animate( { color: "#ffffff" }, { queue:false, duration:200 } )
		.animate( { color: "#989a9d" }, { queue:false, duration:3000 } );
	$("body.grey .col2")
		.animate( { color: "#ffffff" }, { duration:400 } )
		.animate( { color: "#989a9d" }, { duration:3000 } );

	$("body.gold .col1, body.gold .col2").css({color: "#ae9962"});
	$("body.gold .col1")
		.animate( { color: "#ae9962" }, { queue:false, duration:200 } )
		.animate( { color: "#ffffff" }, { queue:false, duration:3000 } );
	$("body.gold .col2")
		.animate( { color: "#ae9962" }, { duration:400 } )
		.animate( { color: "#ffffff" }, { duration:3000 } );

	
/*
	$(".col1").css({color: "#ffffff", marginLeft: "40px"}).animate( { color: "#989a9d" }, { queue:false, duration:2500 } ).animate( { marginLeft: "0px" }, { queue:false, duration:1000, "easing": "easeOutCirc" } );
	$(".col2 p").css({color: "#ffffff", marginLeft: "50px"}).animate( { color: "#989a9d" }, { queue:false, duration:3000 } ).animate( { marginLeft: "0px" }, { queue:false, duration:1000, "easing": "easeOutCirc" } );
*/
/*	$("h2").css({opacity: "0.1"});
	$("h2").fadeIn(5000);*/

/*	$("h2").css("color": "#ffffff");*/
/*	$("h2").css({color:"#ffffff"}).animate( { color:"#000000" }, { queue:false, duration:3000 } );*/
/*	$("h2").css({paddingLeft:"100px"}).animate( { paddingLeft:"0px" }, { queue:false, duration:3000 } );*/

/*	$("#col1").css({paddingLeft:"100px"}).animate( { paddingLeft:"0px" }, { queue:false, duration:3000 } );
	$("#col2").css({paddingLeft:"100px"}).animate( { paddingLeft:"0px" }, { queue:false, duration:3000 } );*/

/*	$("#h2").hide();
	$("#col1").hide();
	$("#col2").hide(); */
	
/*	$("#h2").css({left:"100px"}).animate( { left:"0px" }, { queue:false, duration:3000, "easing": "easeOutCirc" } ).fadeIn(2000);
	$("#col1").css({left:"100px"}).animate( { opacity:1.0 }, 500).animate( { left:"0px" }, { queue:false, duration:3000 } ).fadeIn(2000);
	$("#col2").css({left:"100px"}).animate( { opacity:1.0 }, 1000).animate( { left:"0px" }, { queue:false, duration:3000 } ).fadeIn(2000);
*/
/*	$("#h2").css({left:"100px"}).animate( { left:"0px" }, { queue:false, duration:3000, "easing": "easeOutCirc" } ).fadeIn(2000);
	$(this).delay(500, function(){
		$("#col1").css({left:"100px"}).animate( { left:"0px" }, { queue:false, duration:3000 } ).fadeIn(2000);
	});
	$(this).delay(1000, function(){
		$("#col2").css({left:"100px"}).animate( { left:"0px" }, { queue:false, duration:3000 } ).fadeIn(2000);	
	});*/

});
