/***
 *
 *   RRRRR   EEEEEE WW       WW DDDDD   YY    YY     CCCC    OOO    MM     MM
 *   RR  RR  EE      WW  W  WW  DD   DD  YY  YY    CC      OO   OO  MMMM MMMM
 *   RRRRR   EEEE    WW WWW WW  DD   DD   YYYY     CC      OO   OO  MM MMM MM
 *   RR RR   EE       WWWWWWW   DD   DD    YY      CC      OO   OO  MM  M  MM
 *   RR  RR  EEEEEE    WW WW    DDDDD      YY   ::   CCCC    OOO    MM     MM
 *   ________________________________________________________________________
 *
 *   THEME JAVASCRIPT: "Raphael" (Named in honor of the JS canvas framework)
 *   
 *   READ, LEARN, ENJOY. DON'T STEAL. :)
 *
*/

function initLogoCanvas() {
	/* settings */
	var front_color = "#333";
	var back_color = "#0CC0A3";
	var click_color = "#0cf";
	
	var circlexy = 86;
	
	/* built it */
	var canvassize = circlexy + 8;
	var center = canvassize/2;
	
	var paper = Raphael("logo", canvassize, canvassize);
	
	var behindcircle = paper.circle(center, center, (circlexy/2)-1);
	behindcircle.attr({fill: back_color, stroke: ""});
	
	var circle = paper.circle(center, center, circlexy/2);
	circle.attr({fill: front_color, stroke: ""});
	
	var r = paper.image('/workspace/img/graphics/the_r.png', 44, 38, 21, 26);
	
	circle.hover(function(event) {
		behindcircle.animate({r:(circlexy/2)+3}, 500);
	}, function(event) {
		behindcircle.animate({r:(circlexy/2)-1}, 1000);
	});
	
	circle.mousedown(function(event){
		behindcircle.attr({fill: click_color});
	});
	
	circle.mouseup(function(event){
		behindcircle.attr({fill: back_color});
	});
}

function initHeaderFade() {
	var totalNeg = 50;
	var totalDown = 400;
	$(document).scroll(function(){
		var tos = $(this).scrollTop(); // tos = top offset
		if (tos<=totalDown) {
			var opacity = 1-(tos/totalDown);
			var linkOpacity = tos/totalDown;
			if (opacity<0.2) {opacity = 0.2;}
			$('header#site').css('opacity', opacity);
			var topSlip = (totalNeg - (opacity * totalNeg)) * -1;
			$('header#site').css('top', topSlip+"px");
			$('a#top_link').css('opacity',linkOpacity);
		} else if (tos>totalDown) {
			$('header#site').css('opacity', 0.2);
		}
	});
	var ram = 1;
	$('header#site').hover(function(){
		if ($(this).css('opacity') < 1) {
			ram = $(this).css('opacity');
			$(this).stop().fadeTo('normal',1);
		}
	}, function(){
		$(this).stop().fadeTo('normal', ram);
		ram = 1;
	});
	$('a#top_link').click(function(){
		$('html, body').animate({scrollTop:0}, 500);
		//$('header').fadeTo(500, 1);
		ram = 1;
		return false;
	});
}
function formSubmissionResultFocus(){
	if ($('div.form_submission_result').length>0) {
		var eltop = $('div.form_submission_result').offset().top;
		eltop = eltop - 100; // to account for header
		$('html, body').animate({scrollTop:eltop}, 1000);
	}
}

$(function(){
	initLogoCanvas();
	initHeaderFade();
	formSubmissionResultFocus();
});
