$().ready(function(){
	// setup niceSelect
	$("select.nice").niceSelect();
	$("ul.virtual_select").hide();
	
	// 
	var feedbackOptions = [$("div#feedback-type-complaint"), $("div#feedback-type-inquiry"), $("div#feedback-type-feedback")];
	var feedbackTypes = ["complaint", "inquiry", "feedback"];
	$("div#feedback-type-nav a").click(function(e) {
		$("div#feedback-type-side-nav").show();
		$(this).parent().parent().hide();
		var index = $("div#feedback-type-nav a").index(this);
		$("#feedback-type").val(feedbackTypes[index]);
		(feedbackOptions[index]).show();
		for(var i = 0; i < feedbackOptions.length; i++) {
			$("div#feedback-type-side-nav p").addClass("disabled");
		}
		$("div#feedback-type-side-nav p").eq(index).removeClass("disabled");
		(feedbackOptions[index]).show();
		return false;
	});
	
	$("div#feedback-type-side-nav a").click(function(e) {
		var index = $("div#feedback-type-side-nav a").index(this);
		// hide all
		for(var i = 0; i < feedbackOptions.length; i++) {
			feedbackOptions[i].hide();
			$("div#feedback-type-side-nav p").addClass("disabled");
		}
		(feedbackOptions[index]).show();
		$(this).parent().removeClass("disabled");
		return false;
	});
	
	var contactTypeLocation = {
		complaintURL: 'http://blocks.casellawines.com.au/forms/f44bc97abf6c256e91e5e28976863645',
		inquiryURL: 'http://blocks.casellawines.com.au/forms/aafd61a41b3c6c3cd08b61e270612ca8',
		feedbackURL: 'http://blocks.casellawines.com.au/forms/b8ba0c7b0d6d236af83d8e38f20189b4'
	};
	
	var validatorFields = {
		complaintFields: 'input#address, input#country, input#primary_email, input#name, input#lot-number, input#variety, textarea#complaint-details',
		inquiryFields: 'input#address, input#country, input#primary_email, input#name, textarea#inquiry-details',
		feedbackFields: 'input#address, input#country, input#primary_email, input#name, textarea#feedback-details'
	};
	
	$("form#main-contact-form").submit(function() {
		var validatorKey = ['complaintFields', 'inquiryFields', 'feedbackFields'];
		var validatorIndex = $("div#feedback-type-side-nav p").index($("div#feedback-type-side-nav p:not(.disabled)"));
		
		// check all required fields are not empty
		var submitForm = true;
		
		$(validatorFields[validatorKey[validatorIndex]], this).each(function() {
			if($(this).val() == "") {
				$("p.warning").show(100);
				submitForm = false;
			}
		});

		
		
		// switch form action based off selected feedback type
		var key = ['complaintURL', 'inquiryURL', 'feedbackURL'];
		var index = $("div#feedback-type-side-nav p").index($("div#feedback-type-side-nav p:not(.disabled)"));
		if(index < 0) return false;
		$(this).attr("action", contactTypeLocation[key[index]]);
		
		if(submitForm) return true;
		else return false;
	});
});