		// page scrolling
		$('.pagenav a').add('.sidenav a').add('.worknav a').click(function() { 
			var dest = $('#' + $(this).attr('href').substr(1)).offset();
			var to = (!dest) ? 0 : dest.top - 10;
			$('html, body').animate({scrollTop: to}, 'slow');
			return false;
		});
		
		// img links
		$('.imglink').hover(function() { $(this).find('img').fadeTo(300, 0.6) }, function() { $(this).find('img').fadeTo(500, 1) });
		
		// contact form
		$('input').add('textarea').focus(function() { $(this).prev().addClass('focus') });
		$('input').add('textarea').blur(function() { $(this).prev().removeClass('focus') });
		
		$('#contact-form input[type=button]').click(checkForm);
		
		var errors = new Array('Please enter your name.', 'Please enter an email', 'Please enter a message.');
		var inputs = new Array('#contact-name', '#contact-email', '#contact-message');
		var msg = $('#msg');
		
		msg.hide();
		
		// contact form ajax
		var http = createRequestObject();
		
		function createRequestObject() {
			var ro;
			var browser = navigator.appName;
			if(browser == "Microsoft Internet Explorer"){
				ro = new ActiveXObject("Microsoft.XMLHTTP");
			} else {
				ro = new XMLHttpRequest();
			}
			return ro;
		}
		
		function handleResponse() {
			if(http.readyState == 4) {
				var response = http.responseText;
				msg.text(response);
				if(response.indexOf('Invalid') != -1) $('#contact-form > input[type=button]').fadeIn(500);
			}
		}
		
		// error handling
		function error(arg) {
			msg.hide(300);
			if(arg != 's') {
				msg.text('Error. ' + errors[arg]);
				msg.show(300);
				$('#contact-form').children('label').eq(arg).addClass('focus');
				$('#contact-form').children('input').eq(arg).focus();
			} else {
				msg.text('Submitting form...');
				msg.show(300);
				$('#contact-form > input[type=button]').fadeOut(200);
				http.open('get', 'a/php/contact.php?name=' + $('#contact-name').val() + '&email=' + $('#contact-email').val() + '&message=' + $('#contact-message').val() + '&action=send');
				http.onreadystatechange = handleResponse;
				http.send(null);
			}
		}
		
		function checkForm() {
			for(var i = 0; i < inputs.length; i ++) if(!$(inputs[i]).val()) return error(i);
			error('s');
		}
		
		// slider
		$(function(){
			 $('#recent').loopedSlider({
				slidespeed: 1000,
				autoStart: 10000,
				fadeSpeed: 0,
				hoverPause: true,
				restart: 100
			 })
		 });
		
		// fancybox
		$("#print .imglink").add("a[rel=grouper]").fancybox();
		$('#motion .imglink').fancybox({
									   width: '426',
									   height: '280',
									   type: 'swf',
									   });
		
		// cast link
		setTimeout(function() { $('.cast').css({'display': 'block', 'font-size': '12px', 'line-height': '0', 'text-indent': '-9999px'}) }, 200);
