$(document).ready(function(){
	// Clear form fields on focus
	var clearMePrevious = ''
	$('.valueControl').focus(function() {
		if($(this).val()==$(this).attr('title')) {
			clearMePrevious = $(this).val();
			$(this).val('');
		}
	});
	// if field is empty afterward, add text again
	$('.valueControl').blur(function() {
		if($(this).val()=='') {
			var prevTitle = $(this).attr('title');
			$(this).val(prevTitle);
		}
	});
	$('#newsSignupEmail').focus(function() {
		surfride.newsletterSignup();
	});
	$('#newsSignupForm').submit(function(){
		var newsSignupAction=surfride.checkForm('newslettersignup','newsSignupForm','');
		return newsSignupAction;
	});
	$('.inputInfoLink').mouseenter(function(){
		$(this).siblings('.inputInfoWrap').addClass('infoActive');
	});
	$('.inputInfoLink').mouseleave(function(){
		$(this).siblings('.inputInfoWrap').removeClass('infoActive');
	});
	$('.inputInfoLink').click(function(){
		return false;
	});
	$('input').focus(function(){
		$(this).css('color','');
	});
	
	surfride={
		newsMessageContent:$('.newsMessage').html(),
		newsMessage:'newsMessage',
		
		newsletterSignup:function() {
			$('#newslettersignup').animate({
				height:180
			}, 'fast', function(){
				$('#newsExtraFields').fadeIn('fast');
				$('#newsMessageWrap').fadeIn('fast');	
				$('#newsSample').fadeIn('fast');	
			});
		},
		checkForm:function(formWrapId,formId,googAnalyticsPageName) {
			// Be sure to define these variables
			var gaPageName = googAnalyticsPageName; // define the page name to report to Google
			var gaTrackingNumber=''; // define the google analytics tracking code
			var email = 'inputEmail'; // define the class of the email input
			var arrNumericInput = new Array(''); // define the id's of the fields that require numeric validation
			var errorWrap = 'errorMessage' ; // define the class of the error message div
			var successWrap = 'successMessage'; // define the class of the success message div
			var requiredClass = 'validate'; // define the class to be added to the required inputs
			var surnameCatch = $('.surname').val();
		
			// Don't touch these
			var arrErrorInputs = $('#'+formId+' input');
			var arrErrorSelect = $('#'+formId+' select');
			var arrErrorTextarea = $('#'+formId+' textarea');
			if ($('#'+formId+' .'+email)) {
				var emailFieldClass = $('#'+formId+' .'+email).val();
			}
			var inputReset,validateThisField,inputTitle;
			var pass = true;
		
			// Reset error message and fields
			$('#'+formWrapId+' .'+surfride.newsMessage).html(surfride.newsMessageContent);
			$('#'+formWrapId+' .'+surfride.newsMessage).css('color','');

			// Mark error text fields
			for (var i=0;i<arrErrorInputs.length;i++) {
				validateThisField = arrErrorInputs[i];
				inputTitle=$(validateThisField).attr('title');
				inputValue=$(validateThisField).val();
				if ($(arrErrorInputs[i]).hasClass(requiredClass)) {
					if (inputTitle!=undefined) {
					    if (inputTitle==inputValue || inputValue=='') {
					    	$(validateThisField).css('color','#cc0000');
					    	pass = false;
					    }
					}
				}
			}
		
			// Mark error select fields
			for (var i=0;i<arrErrorSelect.length;i++) {
				if ($(arrErrorSelect[i]).val()=='' && $(arrErrorSelect[i]).hasClass(requiredClass)) {
				    $(arrErrorSelect[i]).css('color','#cc0000');
				    pass = false;
				}
			}
		
			// Mark error textarea
			for (var i=0;i<arrErrorTextarea.length;i++) {
				if ($(arrErrorTextarea[i]).val()=='' && $(arrErrorTextarea).hasClass(requiredClass)) {
				    $(arrErrorTextarea[i]).css('color','#cc0000');
				    pass = false;
				}
			}
			
			if ($('#'+formId+' .'+email)) {
				// Check to make sure email is valid
				if ((emailFieldClass.indexOf('@')==-1 || emailFieldClass.indexOf('.')==-1) && $('#'+formId+' .'+email).hasClass(requiredClass)) {
					$('#'+formId+' .'+email).css('color','#cc0000');
					pass = false;
				}
			}
			
			if (!surnameCatch=='') {
				pass=false;
			}
							
			// Decide whether to send the form or not
			if (pass==false) {
				$('#'+formWrapId+' .'+surfride.newsMessage).css('color','#cc0000');
				$('#'+formWrapId+' .'+surfride.newsMessage).html('<strong>Oops! Looks like you forgot your email</strong>');
				return false;
			}
			else {

				//Hide/show signup elements once form is submitted
				$('#newsExtraFields').fadeOut('fast');
				$('#newsMessageWrap').fadeOut('fast');	
				$('#newsSample').fadeOut('fast');	
				$('#newslettersignup').animate({
					height:41
				}, 'fast', function(){
					$('#newsSignupTop').css('display','none');
					$('#newsSignupTopB').fadeIn('fast');
					$('#newsSignupTopB').wait(4000).fadeOut('fast');
					$('#newsSignupTop').wait(4500).fadeIn('fast');
					var originalValue=$('#'+formWrapId+' input');
					for (var i=0;i<originalValue.length;i++){
						var inputTitle=$(originalValue[i]).attr('title');
						if($(originalValue[i]).hasClass('valueControl')) {
							$(originalValue[i]).val(inputTitle);
						}
						else {
							$(originalValue[i]).val('');
						}
					}
				});
				
				// if zip code is filled out designate country as USA
				if ($('#inputZipCode').val()!='Zip Code') {
					$('#inputAddress').val('-');
					$('#inputCity').val('-');
					$('#inputState').val('-');
					$('#inputCountry').val('USA');
				}

				// Clear any non-required default values before sending
				for (var i=0;i<arrErrorInputs.length;i++) {
					validateThisField = arrErrorInputs[i];
					inputTitle=$(validateThisField).attr('title');
					inputValue=$(validateThisField).val();
					if (!($(arrErrorInputs[i]).hasClass('validate'))) {
						if (inputTitle==inputValue) {
							$(validateThisField).val('');
						}
					}
				}
				
				// Report to google analytics
				if (!gaTrackingNumber=='') {
					var _gaq = _gaq || [];
					_gaq.push(['_setAccount', gaTrackingNumber]);
					_gaq.push(['_trackPageview']);
					(function() {
						var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
						ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
						var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
					})();
					try {
						var pageTracker = _gat._getTracker(gaTrackingNumber);
						pageTracker._trackPageview(gaPageName);
					} catch(err) {}
				}
		
				return true;
			}
		}
	}
	
	$.fn.wait = function(time, type) {
	    time = time || 900;
	    type = type || "fx";
	    return this.queue(type, function() {
	        var self = this;
	        setTimeout(function() {
	            $(self).dequeue();
	        }, time);
	    });
	};

});


// function validateNewsletterForm(theForm,theFid) {
//     if (emailCheck(theForm.email_address.value)==false) {
//     	alert('Please enter a valid Email.');
//     	return false;
//     }
//     else {
//     	var leftPos = 0;
//     	var topPos = 0;
// 
//     	if (screen) {
//     		leftPos = (screen.width / 2) - 175;
//     		topPos = (screen.height / 2) - 50;
//     	}
// 
//     	var signupWindow=window.open('http://oi.vresp.com?fid=' + theFid, 'vr_optin_popup', ',width=600,height=450,left='+leftPos+',top='+topPos);
//     	signupWindow.focus();
//     	return true;
//     }
// }
// 
// function emailCheck(theEmail) {
//     var at="@";
//     var dot=".";
//     var lat=theEmail.indexOf(at);
//     var lstr=theEmail.length;
//     var ldot=theEmail.indexOf(dot);
// 
//     if (theEmail.indexOf(at)==-1) {
//        return false;
//     }
// 
//     if (theEmail.indexOf(at)==-1 || theEmail.indexOf(at)==0 || theEmail.indexOf(at)==lstr) {
//        return false;
//     }
// 
//     if (theEmail.indexOf(dot)==-1 || theEmail.indexOf(dot)==0 || theEmail.indexOf(dot)==lstr) {
//         return false;
//     }
// 
//      if (theEmail.indexOf(at,(lat+1))!=-1) {
//         return false;
//      }
// 
//      if (theEmail.substring(lat-1,lat)==dot || theEmail.substring(lat+1,lat+2)==dot) {
//         return false;
//      }
// 
//      if (theEmail.indexOf(dot,(lat+2))==-1) {
//         return false;
//      }
// 
//      if (theEmail.indexOf(" ")!=-1) {
//         return false;
//      }
// 
//      return true;					
// }
// 
// var thisleftPos = 0;
// var thistopPos = 0;
