$(function(){
	/**
	 * Empty Signup Email field on focus
	 */
	var signUpEmail = $('#signUp input[name="email_signup"]');
	signUpEmail.focus(function(){
		this.oldValue = this.value;
		if(this.value.match(/^\(.+\)$/)) this.value = '';
	}).blur(function(){
		if($.trim(this.value) == '') this.value = this.oldValue || '';
	});
	/**
	 * Validate email on SignUp Form
	 */
	$('#signUp').submit(function(){
		if(/^[\w.-]+@[\w-]+\.[\w-.]+$/.test( signUpEmail.val() )) return true;
		alert('Please enter a valid Email Address');
		return false;
	});
	/**
	 * Validate required fields on Contact Form
	 */
	$('#contactForm form').live('submit',function(){
		if(! /^.+$/.test( $.trim( $('#contactForm input[name="name"]').val()) )){
			alert('Please Enter your Full Name');
			return false;
		}
		if(! /^\+?[\d. -]{6,}$/.test( $.trim( $('#contactForm input[name="phone"]').val()) )){
			alert('Please Enter a valid Phone Number');
			return false
		}
		if(! /^[\w.-]+@[\w-]+\.[\w-.]+$/.test( $.trim( $('#contactForm input[name="email"]').val()) )){
			alert('Please Enter a valid Email Address');
			return false
		}
		if($('#contactForm input[name="client_name"]')[0]){
			if(! /^.+$/.test( $.trim( $('#contactForm input[name="client_name"]').val()) )){
				alert('Please Enter your friend\'s Full Name');
				return false;
			}
			if(! /^\+?[\d. -]{6,}$/.test( $.trim( $('#contactForm input[name="client_phone"]').val()) )){
			alert('Please Enter your friend\'s Phone Number');
			return false
		}
		}
		return true;
	});
	/**
	 * Get Contact Us Form but not on blog pages
	 */
	if(!window.location.toString().match(/\/blog/)){
		var contactform = $('#contactFormWrap');
		var contactformVisible = true;
		var contactformHeight = 0;
		if(contactform[0]) contactformHeight = contactform.height();
		if(!contactform[0]){
			bindShowContactLink();
			$.ajax({scriptCharset: 'windows-1252'});
			$.get('inc/contactform.php', function(a){
				if($('h1.pagetitle').get(0)){
					$('h1.pagetitle').after(a);
				}else{
					$('div.pagecontent').prepend(a);
				}
				if($('#contactFormWrap').next().hasClass('hr')){
					$('#contactFormWrap .hr').remove();
				}
				contactformHeight = $('#contactFormWrap').height();
				$('#contactFormWrap').height(0);
				contactformVisible = false;
			}, 'html');
		}
	}
	/**
	 * Animate Show Contact Us Form
	 */
	function bindShowContactLink(){
		$('#getQuoteLink a').click(function(){
			// longer method due to IE8 slide Toggle bug
			if(contactformVisible){
				$('#contactFormWrap').animate({height:0},500);
				contactformVisible = false;
			}else{
				$('#contactFormWrap').animate({height:contactformHeight},500);
				contactformVisible = true;
			}
			return false;
		});
	}
	
	/**
	 * Show submenus
	 */
	$('#navigation li ul').each(function(){
		var submenu = $(this);
		var isopen = false;
		submenu.parent('li').mouseenter(function(){
			if(!isopen){
				submenu.slideDown(200);
				isopen = true;
			}
		}).mouseleave(function(){
			if(isopen) submenu.slideUp(200, function(){isopen = false});
		});
	});
	
});