/**
 * matches US phone number format 
 * 
 * where the area code may not start with 1 and the prefix may not start with 1 
 * allows '-' or ' ' as a separator and allows parens around area code 
 * some people may want to put a '1' in front of their number 
 * 
 * 1(212)-999-2345
 * or
 * 212 999 2344
 * or
 * 212-999-0983
 * 
 * but not
 * 111-123-5434
 * and not
 * 212 123 4567
 */
jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
    phone_number = phone_number.replace(/\s+/g, ""); 
	return this.optional(element) || phone_number.length > 9 &&
		phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "Please specify a valid phone number");


/*   
=============================================================================== 
Base jQuery file
...............................................................................
                                                                        2010/02
------------------------------------------------------------------------------- 
COPY / USE AT YOUR OWN SITE'S RISK
=============================================================================== 
*/
function toggleSubs() {
	var openThis = jQuery(this);
	var currentlyOpen = jQuery(this).siblings('.open');
	var defaultOpen = jQuery('#nav_secondary > li.dropdown.default');
	var rate = 800;
	
	if (openThis.hasClass('open')) {
		if (!openThis.hasClass('default')) {
			openThis.children('ul').hide(rate).end().toggleClass('open').removeClass('current');
			defaultOpen.children('ul').toggle(rate).end().toggleClass('open');
		}
	} else {
		if (currentlyOpen[0]) {
			currentlyOpen.children('ul').hide(rate).parent().toggleClass('open');
		};
		openThis.children('ul').toggle(rate).end().toggleClass('open');
	}
}
jQuery(document).ready( function() {
	//portfolio tool tips
	$('.carousel a').tooltip({
		track:true,
		showURL: false 						 
		});
								 
								 
								 
	var dropNavs = jQuery('#nav_secondary > li.dropdown');
	var dropNavDefault = jQuery('#nav_secondary > li.dropdown.current');
	if ( dropNavs[0] ) {
		dropNavDefault.addClass('default open');
		dropNavs.hover(
			function() {
				jQuery(this).addClass('hovered')
			}, function() {
				jQuery(this).removeClass('hovered')
			}
		);
		dropNavs.click(toggleSubs);
	};
	var carousel = jQuery(".carousel");
    if ( carousel[0] ) {
		/*carousel.jCarouselLite({
	        btnNext: ".next",
	        btnPrev: ".prev",
	        visible: 9,
	        scroll: 4,
	        speed: 1000,
	        easing: 'easeOutExpo',
	        circular: false
	    });*/
	    carousel.jcarousel({
	    	scroll: 3,
	    	visible: 9,
	    	buttonNextHTML: '<button class="next">&laquo;</button>',
	    	buttonPrevHTML: '<button class="prev">&laquo;</button>'
	    });
    };

	// form validation
	var formApply = jQuery("form#form_resume");
    if ( formApply[0] ) {
	    formApply.validate({
			rules: {
				resume_firstname: "required",
				resume_lastname: "required",
				resume_phone: {
					required: true,
					phoneUS: true
				},
				resume_email: {
					required: true,
					email: true
				}
			},
			messages: {
				resume_firstname: "Please enter your first name",
				resume_lastname: "Please enter your last name",
				resume_phone: {
					required: "Please enter your phone number",
					phoneUS: "Please enter a valid phone number"
				},
				resume_email:  {
					required: "Please enter your email address",
					email: "Please enter a valid email address"
				}
			}
		})
	};
});
