touchUp = (function () {

	return {
		fieldRequirements : {
			'commercial'	: ['commercialCompanyName', 'commercialPhoneNumber', 'commercialEmailAddress', 'commercialJobAddressCity', 'commercialJobAddressZip'],
			'residential'	: ['residentialPhoneNumber', 'residentialCustomerName', 'residentialEmail', 'residentialJobCity', 'residentialJobZip']
		},
		
		formValidity : {
			'commercial' : false,
			'residential': false
		},

		formType : '', 
		
		submitForm : function (event) {
			var filledOutFields = 0,
				totalFields = touchUp.fieldRequirements[touchUp.formType].length;
		
			for (var i = 0; i < totalFields; i++) {				
				var field = $('#' + touchUp.fieldRequirements[touchUp.formType][i])[0];
			
				if (field) {
					if (field.name.match('city')) {
						if (field.value !== 'City' && field.value.length > 0) {
							filledOutFields++;
						}
					}
					else if (field.name.match('zip')) {
						if (field.value !== 'Zip Code' && field.value.length > 0) {
							filledOutFields++;
						}
					}
					else if (field.value.length > 0) {
						filledOutFields++;
					}
				}
			}
		
			if (filledOutFields !== totalFields) {
				$('#' + touchUp.formType + 'ErrorMessage').removeClass('hide');
				$.scrollTo('#' + touchUp.formType + 'ErrorMessage');
				return false;
			}
			else {
				return true;
			}
		},
		
		toggleServiceRequest : function () {
			$('#service-request').removeClass('hide');
			$('#pattern-request').addClass('hide');
			$('#quote-request').addClass('hide');
			
			$('#service-request :input').attr('disabled', '');
			$('#quote-request :input').attr('disabled', 'true');
			$('#pattern-request :input').attr('disabled', 'true');
			
			$('#submit-bar').removeClass('hide');
		},

		toggleQuoteRequest : function () {
			$('#service-request').addClass('hide');
			$('#pattern-request').addClass('hide');
			$('#quote-request').removeClass('hide');
			
			$('#service-request :input').attr('disabled', 'true');
			$('#quote-request  :input').attr('disabled', '');
			$('#pattern-request :input').attr('disabled', 'true');
			
			$('#submit-bar').removeClass('hide');
		},

		togglePatternRequest : function () {
			$('#service-request').addClass('hide');
			$('#pattern-request').removeClass('hide');
			$('#quote-request').addClass('hide');
			
			$('#service-request :input').attr('disabled', 'true');
			$('#quote-request :input').attr('disabled', 'true');
			$('#pattern-request :input').attr('disabled', '');
			
			$('#submit-bar').removeClass('hide');
		},
		
		toggleResidential : function () {

			$('#commercial-form').addClass('hide');
			$('#residential-form').removeClass('hide');
			
			$('#commercial-form :input').attr('disabled', 'true');
			$('#residential-form :input').attr('disabled', '');
			
			$('#' + touchUp.formType + 'ErrorMessage').addClass('hide');
			touchUp.formType = 'residential';
		},
		
		toggleCommercial : function () {
			$('#commercial-form').removeClass('hide');
			$('#residential-form').addClass('hide');
			
			$('#commercial-form :input').attr('disabled', '');
			$('#residential-form :input').attr('disabled', 'true');
			
			$('#' + touchUp.formType + 'ErrorMessage').addClass('hide');
			touchUp.formType = 'commercial';
		}
	}
})();
