$().ready(function() {
	jQuery.validator.setDefaults({ 
			onkeyup: false,
			rules: {
				"programCategoryId": "required",
				"programSubcategoryId": "required",
				"eduLevel": "required",
				"gradDate": "required",
				"onlineOrCampus": "required",
				"salutation": "required",
				"firstName": {
					required: true,
					minlength: 2,
					properNoun: true
				},
				"lastName": {
					required: true,
					minlength: 2,
					properNoun: true
				},
				"address.address1": {
					required: true,
					minlength: 6,
					vmcStreet: true
				},
				"address.city": {
					required: true,
					minlength: 2,
					properNoun: true
				},
				"address.state": "required",
				"address.country": {
					required: true,
					range: [2,3]
				},
				"address.postalCode": {
					required: true,
					usZipCode: false,
					usOrCaZipCode: true
				},
				"phoneInfo.home": {
					required: true,
					phoneUS: true
				},
				"phoneInfo.work": {
					required: true,
					phoneUS: true
				},
				"email": {
					required: true,
					email: true,
					vmcEmail: true
				},
				"degreeLevel": {
					required: true
				}
			},
			messages: {
				"programCategoryId": "Please select a category.",
				"programSubcategoryId": "Please select a program.",
				"eduLevel": "Please select highest level of education.",
				"gradDate": "Please select high school graduation year.",
				"onlineOrCampus": "Please select a classroom preference.",
				"salutation": "Please select a salutation.",
				"firstName": {
					required: "Please enter your first name.",
					minlength: "Your first name must contain 2 or more characters.",
					properNoun: "Your first name can contain only characters."
				},
				"lastName": {
					required: "Please enter your last name.",
					minlength: "Your last name must contain 2 or more characters.",
					properNoun: "Your last name can contain only characters."
				},
				"address.address1": {
					required: "Please enter your street address.",
					minlength: "Your address must contain at least 6 characters.",
					vmcStreet: " Your address must contain characters and numbers."
				},
				"address.city": {
					required: "Please enter your city.",
					minlength: "Your city must contain at least 2 characters.",
					properNoun: "Your city can only contain letters."
				},
				"address.state": "Please enter your state.",
				"address.country": {
					required: "Please indicate your country of residence.",
					range: "Sorry, you must be from USA or Canada"
				},
				"address.postalCode": {
					required: "Please enter your zip code.",
					usZipCode: "Please enter a valid Zip code.",		
					usOrCaZipCode: "Please enter a valid Postal Code or Zip Code."
				},
				"phoneInfo.home": {
					required: "Please enter your evening phone number.",
					phoneUS: "Your evening phone number is invalid."
				},
				"phoneInfo.work": {
					required: "Please enter your daytime phone number.",
					phoneUS: "Your daytime phone number is invalid."
				},
				"email": {
					required: "Please enter your email address.",
					email: "Please enter a valid email address.",
					vmcEmail: "Please enter a valid email address."
				},
				"degreeLevel": "Please select a degree."				
			},
			errorPlacement: function(error, element) {
				if ((element.attr("name") == "programCategoryId" && element.attr("id") != "programCategoryId") || (element.attr("name") == "eduLevel" && element.attr("id") != "eduLevel") || (element.attr("name") == "degreeLevel" && element.attr("id") != "degreeLevel") || (element.attr("name") == "gradDateClick" && element.attr("id") != "gradDateClick")|| (element.attr("name") == "programSubcategoryId" && element.attr("id") != "programSubcategoryId") || (element.attr("name") == "onlineOrCampus" && element.attr("id") != "onlineOrCampus")) {
					error.insertBefore(element.parent().parent());
				} else {
					error.insertAfter(element);
				}
			}
	});
}); 
