
//wait for the DOM to be loaded
jQuery( document ).ready( function() {
	
	//Reset submit button
	$( "button#submitBtn,button#submit_btn" ).attr('disabled', '');
	
	//HOME FORM
	magPromoForm.init();
	
	$("#date").datepicker({ dateFormat: 'DD, d MM, yy', showOn: 'both', buttonImage: '/images/calendar.gif', buttonImageOnly: true });
	
	
	//START_YOUR_PLAN_TODAY FORM
	$( "#appointmentForm" ).validate( {
		rules: {
			date: "required",
			time: "required",
			name: "required",
			email: { required: true, email: true },
			confirmEmail: {	required: true, email: true, equalTo: "#email" },
			phone: "required",
			suburb: "required",
			postcode: "required"
		}
		,
		messages: {
			date: "Please include the date of your appointment.",
			time: "Please include the time of your appointment.",
			name: "Please include your name.",
			email: "Please include a valid email address.",
			confirmEmail: "Please confirm your email address.",
			phone: "Please include your phone contact.",
			suburb: "Please include your suburb.",
			postcode: "Please include your postcode."
		}
	} );
	
	
	//KITCHENS AND BATHROOMS MAG PROMO FORM
	$( "#magazinePromoForm" ).validate( {
		rules: {
			name: "required",
			email: { required: true, email: true },
			confirmEmail: {	required: true, email: true, equalTo: "#email" },
			address: "required",
			suburb: "required",
			//state: { depends: function( pmElement ){ alert( $( '#state' ).val() == "QLD" ); return false } },
			state: { required: true },
			postcode: { required: true }
		}
		,
		messages: {
			name: "Please include your name.",
			email: "Please include a valid email address.",
			confirmEmail: "Please confirm your email address.",
			address: "Please include your address.",
			suburb: "Please include your suburb.",
			state: "Please include your state.",
			postcode: "Please include your postcode."
		}
		,
		submitHandler : function( pmForm )
		{
			//Check if submission is from NSW
			if( $( '#state' ).fieldValue() == "NSW/ ACT" )
			{
				pmForm.submit();
			}
			else
			{
				alert( "Unfortunately this offer is available to NSW residents only." );
			};//end if
		}
	} );
	
	//SUBMIT FORM
	
	SubscribeForm.init();
	/*
	$( "#subscribeForm" ).validate( {
		rules: {
			firstname: "required",
			lastname: "required",
			email: { required: true, email: true },
			confirmEmail: {	required: true, email: true, equalTo: "#email" },
			password: { required: true, minlength: 6 },
			confirmPassword: {	required: true, minlength: 6, equalTo: "#password" },
			suburb: "required",
			postcode: "required",
			state: "required",
			terms : { required: true }
		}
		,
		messages: {
			firstname: "Please include your first name.",
			lastname: "Please include your last name.",
			email: { required: "Please include your email adress", email: "Please include a valid email address." },
			confirmEmail: { required: "Please confrim your email address.", email: "Please exactly confirm your email address.", equalTo: "Please exactly confirm your email address." },
			password: { required: "Please include your nominated password", minlength: "Your nominated password must be a minimum of 6 characters long." },
			confirmPassword: { required: "Please confirm your nominated password", minlength: "Please exactly confirm your nominated password.", equalTo: "Please exactly confirm your nominated password." },
			suburb: "Please include your suburb.",
			postcode: "Please include your postcode.",
			state: "Please include your state.",
			terms : { required: "Please agree to our terms and conditions if you want to subscribe." }
		}
		,
		submitHandler: function( pmForm ) {
			$( 'button#submitBtn' ).attr( 'disabled', 'disabled' );
			pmForm.submit();
		}
	} );
	*/
	
	$( "#registration_form" ).validate( {
		rules: {
			first_name: "required",
			last_name: "required",
			username: { required: true, email: true },
			email_confirm: { required: true, email: true, equalTo: "#username" },
			password: { required: true, minlength: 6 },
			password_confirm: {	required: true, minlength: 6, equalTo: "#password" },
			postcode: "required",
			accept_terms : { required: true }
		}
		,
		messages: {
			first_name: "Please include your first name.",
			last_name: "Please include your last name.",
			username: { required: "Please include your email adress", email: "Please include a valid email address." },
			email_confirm: { required: "Please confrim your email address.", email: "Please exactly confirm your email address.", equalTo: "Please exactly confirm your email address." },
			password: { required: "Please include your nominated password", minlength: "Your nominated password must be a minimum of 6 characters long." },
			password_confirm: { required: "Please confirm your nominated password", minlength: "Please exactly confirm your nominated password.", equalTo: "Please exactly confirm your nominated password." },
			postcode: "Please include your postcode.",
			accept_terms : { required: "Please agree to our terms and conditions if you want to subscribe." }
		}
		,
		submitHandler: function( pmForm ) {
			$( 'button#submit_btn' ).attr( 'disabled', 'disabled' );
			pmForm.submit();
		}
	} );
	
	//CONTACT FORM
	// validate the contact form when it is submitted
	/*
	$( "#contactForm" ).validate( {
		rules: {
			firstName: "required",
			lastName: "required",
			email: { required: true, email: true },
			confirmEmail: {	required: true, email: true, equalTo: "#email" },
			message: "required"
		}
		,
		messages: {
			firstName: "Please include your first name.",
			lastName: "Please include your last name.",
			email: "Please include a valid email address.",
			confirmEmail: "Please confirm your email address.",
			message: "Please include your message."
		}
	} );
	*/
	
} );

//$.validator.setDefaults({
	//submitHandler: function() { alert("submitted!"); }
//});

//handles setting up subscribe form
SubscribeForm =
{
	init : function()
	{
		if( jQuery( 'form#registration_form' ).size() < 1 ){ return; };
		SubscribeForm.setSection();
		jQuery( "input[name='renovation_intention']" ).click( function(){
			SubscribeForm.setSection();
		});
	}//end function init
	,
	setSection : function()
	{
		//console.log(jQuery( 'input[name="renovation_intention"]' ).fieldValue(),' : ',jQuery( 'input[name="renovation_intention"]' ).fieldValue() == 'yes');
		if( jQuery( 'input[name="renovation_intention"]' ).fieldValue() == 'yes' )
		{
			jQuery( '#buildOrRenovateQuestions' ).slideDown();
			//jQuery( '#buildOrRenovateQuestions' ).css( 'display', 'block' );
			//jQuery( '#buildOrRenovateQuestions' ).addClass( 'show' );
			//jQuery( '#buildOrRenovateQuestions' ).removeClass( 'hide' );
		}
		else
		{
			jQuery( '#buildOrRenovateQuestions' ).hide();
			//jQuery( '#buildOrRenovateQuestions' ).css( 'display', 'none' );
			//jQuery( '#buildOrRenovateQuestions' ).removeClass( 'show' );
			//jQuery( '#buildOrRenovateQuestions' ).addClass( 'hide' );
		};//end if
	}//end function setSection
};//end object literal SubscribeForm

//handles setting up magazine promo form
magPromoForm =
{
	init : function()
	{
		if( jQuery( 'form#magazinePromoForm' ).size() < 1 ){ return; };
		magPromoForm.setSection();
		jQuery( "input[name='buildOrRenovate']" ).click( function(){
			magPromoForm.setSection();
		});
	}//end function init
	,
	setSection : function()
	{
		if( jQuery( 'input[name="buildOrRenovate"]' ).fieldValue() == 'yes' )
		{
			//jQuery( '#buildOrRenovateQuestions' ).show();
			//jQuery( '#buildOrRenovateQuestions' ).css( 'display', 'block' );
			jQuery( '#buildOrRenovateQuestions' ).addClass( 'show' );
			jQuery( '#buildOrRenovateQuestions' ).removeClass( 'hide' );
		}
		else
		{
			//jQuery( '#buildOrRenovateQuestions' ).hide();
			//jQuery( '#buildOrRenovateQuestions' ).css( 'display', 'none' );
			jQuery( '#buildOrRenovateQuestions' ).removeClass( 'show' );
			jQuery( '#buildOrRenovateQuestions' ).addClass( 'hide' );
		};//end if
	}//end function setSection
};//end object literal magPromoForm
