$(document).ready(function(){
	sub_nav();
	if($('form#analysis').length > 0){
		$('#email').val(getParam('analysis_email'));
	}
	validate_forms();
	rotate_homepage();
});


//Create an active state for the current page based on url parsing
function sub_nav(){
	var url = location.pathname.substr(0, location.pathname.length - 1);
	var myActive = $('#sub_nav a[href$="' + url + '"]');
	myActive.addClass('active').closest('li').addClass('active')
	if(!(myActive.closest('ul').is('.'+'sectionlinks'))){
		myActive.parent('li').parent('ul').parent('li').addClass('active');
	}
	
}

//Dependant on the jquery.cycle.js plugin
//rotates homepage image
function rotate_homepage(){
	if($('#rotating_image').length > 0){
		$('#rotating_image').after('<div id="rotate_nav">').cycle({
			speed: 1500,
			timeout: 6000,
			pager: '#rotate_nav'
		});
	}
}

//Dependant on the jquery.validate.js plugin
//Sets up validation rules for the newsletter sign up, contact, and analysis forms
function validate_forms(){
	
	$('#newsletter_form').validate({
		rules:{
			ea:{
				required: true,
				email: true
			}
		},
		focusInvalid: false,
		focusCleanup: true,
		showErrors: function(){
			for ( var i = 0; this.errorList[i]; i++ ) {
				$('#' + this.errorList[i].element.id).addClass('error');
			}
		}
	});
	
	$('#contact').validate({
		rules:{
			fname: "required",
			lname: "required",
			phone: "required",
			email: {
				required: true,
				email: true
			},
			reason: "required",
			hear: "required",
			request: "required"
		}
	});
	
	$('#analysis').validate({
		rules:{
			fname: "required",
			lname: "required",
			title: "required",
			company: "required",
			phone: "required",
			email: {
				required: true,
				email: true
			},
			hear: "required",
			request: "required"
		}
	});
	
	$('#expert #date').datepicker();
	
	$('#expert').validate({
		rules:{
			fname: "required",
			lname: "required",
			company: "required",
			email: {
				required: true,
				email: true
			},
			date: "required",
			hear: "required",
			request: "required"
		}
	});
	
}

// get parameters from URL
function getParam(name) {
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null ) {
		return undefined;
	} else {
		return results[1];
	};
}; 
