var scroll;
var emailVal = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

var init = function () {

	$$('.footnote').each(function (e) {
	
		e.addEvent('click', function (el) {
			el = new Event(el);
			el.preventDefault();
		});
		e.addEvent('mouseover', function (el) {
			var num = e.href.substring(e.href.length-1, e.href.length);
			$('footnote'+num).setStyle('visibility','visible');
		});
		e.addEvent('mouseout', function (el) {
			var num = e.href.substring(e.href.length-1, e.href.length);
			$('footnote'+num).setStyle('visibility','hidden');
		});
		
	});

	scroll = new Fx.Scroll(window, {
		wait: true,
		duration: 2500,
		transition: Fx.Transitions.Quad.easeInOut
	});
	
	
	$('petitionForm').addEvent('submit', function(e) {
		new Event(e).stop();
		var frm = document.petitionForm;
		var err = $('petitionError');
		var results = $('petitionResults');
		var em=frm.email.value;
		var un=frm.uname.value;
		if(frm.uname.value=='' || frm.email.value=='') {
			err.addClass('err');
			err.innerHTML = "Please fill out both fields. Don't be shy.";
		} else if (!emailVal.test(frm.email.value)){
			err.innerHTML = "Please make sure your email address is formatted correctly. \"Almost right\" is still wrong.";
		} else {
			$('petitionForm').empty();
			results.setStyle('display','block');
			results.innerHTML = "Sending...";
			this.send({
				data: 'email='+em+'&uname='+un+'&submit=submit',
				update: results,
				onComplete: function() {
				}
			});
		}
	});
	
	
	$('sendToFriendForm').addEvent('submit', function(e) {
		new Event(e).stop();
		var frm = document.sendToFriendForm;
		var err = $('stfError');
		var results = $('stfResults');
		if(frm.sender_name.value=='' || frm.user_email.value=='' || frm.email.value=='') {
			err.addClass('err');
			err.innerHTML = "Please fill out all the fields. If you don't know your friend's address, you're not really friends, are you?";
		} else if (!emailVal.test(frm.user_email.value)){
			err.innerHTML = "Please make sure your email address is formatted correctly. That's what makes the Internet work.";
		} else if (!emailVal.test(frm.email.value)){
			err.innerHTML = "Please make sure your friend's email address is formatted correctly. That's what makes the Internet work.";
		} else {
			err.empty().removeClass('err');
			$('sendToFriendForm').setStyle('display','none');
			results.innerHTML = "Sending...";
			this.send({
				data: 'email='+frm.email.value+'&sender_name='+frm.sender_name.value+'&user_email='+frm.user_email.value+'&submit=submit',
				update: results,
				onComplete: function() {
				}
			});
		}
	});
	
	$('eulogyForm').addEvent('submit', function(e) {
		new Event(e).stop();
		var frm = document.eulogyForm;
		var err = $('eulogyError');
		var results = $('eulogyResults');
		if(frm.eulogy.value=='' || frm.uname.value=='') {
			err.addClass('err');
			err.innerHTML = "Please fill out both fields. What are you trying to hide?";
		} else if (frm.eulogy.value.length>1000) {
			err.addClass('err');
			err.innerHTML = "Dude. I said 1000 characters max. Colbert's not worth more than that.";
		} else {
			err.empty().removeClass('err');
			$('eulogyForm').setStyle('display','none');
			results.setStyle('display','block');
			results.innerHTML = "Sending...";
			this.send({
				data: 'eulogy='+frm.eulogy.value+'&uname='+frm.uname.value+'&submit=submit',
				update: results,
				onComplete: function() {
				}
			});
		}
	});
	
	$('areYouColbertForm').addEvent('submit', function(e) {
		new Event(e).stop();
		var frm = document.areYouColbertForm;
		var err = $('aycError');
		var results = $('aycResults');
		if(frm.username.value=='' || frm.contact.value=='' || frm.message.value=='') {
			err.addClass('err');
			err.innerHTML = "Please fill out all of the fields, Colbert.";
		} else {
			err.empty().removeClass('err');
			$('areYouColbertForm').setStyle('display','none');
			results.setStyle('display','block');
			results.innerHTML = "Sending...";
			this.send({
				data: 'username='+frm.username.value+'&contact='+frm.contact.value+'&message='+frm.message.value+'&submit=submit',
				update: results,
				onComplete: function() {
				}
			});
		}
	});
	
	countupClock();
};

function windowScroll(el) {
	scroll.toElement(el);
}

function openDiv(id){
	$(id).setStyle('top',window.getScrollTop()+200);
	$(id).setStyle('display','block');
}

function closeDiv(id) {
	$(id).setStyle('display','none');	
}

function clearForm(id) {
	if(id == 'eulogyForm') {
		document.eulogyForm.eulogy.value="";
		document.eulogyForm.uname.value="";
		$('eulogyError').innerHTML="&nbsp;";
	}
}

var origDate = new Date();
origDate.setMonth(5);
origDate.setDate(10);
origDate.setFullYear(2008);
origDate.setHours(19,0,0);


function countupClock() {
	var today=new Date();
    var diff = today.getTime() - origDate.getTime();
	
	var d=Math.floor(diff/1000/60/60/24);
	var h=Math.floor((diff - (d*1000*60*60*24))/1000/60/60);
	var m=Math.floor((diff - (d*1000*60*60*24)-(h*1000*60*60))/1000/60);
	var s=Math.floor((diff - (d*1000*60*60*24)-(h*1000*60*60)-(m*1000*60))/1000);
	// add a zero in front of numbers<10
	h=checkTime(h);
	m=checkTime(m);
	s=checkTime(s);
	$('days').innerHTML=d;
	$('hours').innerHTML=h;
	$('minutes').innerHTML=m;
	$('seconds').innerHTML=s;
	
	//var t=setTimeout('countupClock()',1000);
}
function checkTime(i) {
	if (i<10) {
		i="0" + i;
	}
	return i;
}

window.addEvent('load', init);
