var site = {

	validateForm: function(){

		// Create a custom form submission logic
		$.tools.validator.addEffect('wall', 
			function(errors, event){
				var wall = $(this.getConf().container).fadeIn()
				$('#success').remove();
				wall.find('ol').remove();
				wall.append('<ol></ol>');
				$.each(errors, function(i, error){
					var field = error.input;
					var label = field.parent().find('label').text().replace('*', '');
					var message = error.messages[0];
					// field.addClass('error');
					wall.find('ol').append('<li><strong>' +label+ '</strong> ' +message+ '</li>');
				});
			},
			function(inputs){}
		);

		// Custom US phone number validator
		$.tools.validator.fn('[type=phone]', 'Please enter a valid US phone number.', function(el, v) {
			var phone = /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;
			return !v || phone.test(v);
		});

		// Initialize and add a custom form submission logic
		$('#contact-form').validator({
			effect: 'wall',
			container: '#errors',
			errorInputEvent: null
		})
	},

	init: function(){
		// Install Shadowbox
		if ($('a[rel=shadowbox]').length > 0) Shadowbox.init();
		// Install jQuery Tools Scrollable
		if ($('.viewport').length > 0){
			$('.viewport').scrollable({
				keyboard: true,
				size: 4
			});
			// Fix odd behavior
			var api = $('.viewport').data('scrollable');
			api.onSeek(function(e){
				if (this.getIndex() >= this.getSize() - this.getConf().size) {
					$('a.next').addClass('disabled');
				}
			});
		}

		// Install Project Viewer
		if ($('#project-gallery').length > 0){
			flashembed('project-gallery', {
				'src': 'assets/flash/simpleviewer.swf',
				'wmode': 'transparent'
			},{'baseURL': 'assets/img/team/'});
		}
		
		// Install Google Map
		if ($('#map').length > 0){
			var latlng = new google.maps.LatLng(47.818367,-122.322571);
			var myOptions = {
				zoom: 15,
				center: latlng,
				mapTypeId: google.maps.MapTypeId.ROADMAP
			};
			var map = new google.maps.Map($('#map')[0], myOptions);
			var marker = new google.maps.Marker({
				position: latlng, 
				map: map, 
				title: 'Active Engineering'
			}); 
		}

		// Install jQuery Tools Validator
		if ($('form').length > 0) site.validateForm();

	}
};

$(function(){
	site.init();
});