jQuery(function($){
	
	/* Defaults
	--------------------------------------------------- */
	
	$.validator.setDefaults({
			errorClass: 'invalid'
	});
	
	/* sso_download-reg-nocookie-form-1
	 * sso_login
	--------------------------------------------------- */
	
	$('#camsLoginForm').validate({
		rules: {
			cams_cb_username: {
				required: true,
				email: true
			},
			cams_cb_password: {
				required: true
			}
		},
		messages: {
			cams_cb_username: $.validator.messages.email,
			cams_cb_password: $.validator.messages.password
		},
		submitHandler: function(form){
			var sso_email = $('#cams_cb_username');
			sso_email.val(sso_email.val().toLowerCase());
			$.cookies.set('sso_email',sso_email.val(),{hoursToLive: 24*30});
			//alert($.cookies.get('sso_email')); //testing
			$(form).find('input[type=image]').attr('disabled', 'disabled');
			form.submit();
		}
	});
	
	/* sso_change-credentials-password
	--------------------------------------------------- */
	
	$('#camsLoginForm2').validate({
		rules: {
			password: {
				required: true
			},
			newpassword: {
				required: true,
				minlength: 6
			},
			verifypassword: {
				required: true,
				minlength: 6,
				equalTo: '#newpassword'
			}
		},
		messages: {
			password: {
				required: $.validator.messages.password
			},
			newpassword: {
				required: $.validator.messages.password,
				minlength: $.validator.messages.passwordmin6
			},
			verifypassword: {
				required: $.validator.messages.password,
				minlength: $.validator.messages.passwordmin6,
				equalTo: $.validator.messages.passwordsame
			}
		}
	});
	
	/* sso_download-reg-nocookie-form-1
	--------------------------------------------------- */
	
	$('#regform').validate({
		rules: {
			emailaddress: {
				required: true,
				email: true
			},
			password: {
				required: true,
				minlength: 6
			},
			confirmpassword: {
				required: true,
				minlength: 6,
				equalTo: '#password'
			}
		},
		messages: {
			emailaddress: $.validator.messages.email,
			password: {
				required: $.validator.messages.password,
				minlength: $.validator.messages.passwordmin6
			},
			confirmpassword: {
				required: $.validator.messages.password,
				minlength: $.validator.messages.passwordmin6,
				equalTo: $.validator.messages.passwordsame
			}
		},
		submitHandler: function(form){
			$.cookies.set('sso_email',$('#emailaddress').val(),{hoursToLive: 24*30});
			//alert($.cookies.get('sso_email')); //testing
			form.submit();
		}
	});
	
	/* sso_download-reg-nocookie-form-2
	--------------------------------------------------- */
	
	$('#regform2').validate({
		rules: {
			firstname: 'required',
			lastname: 'required',
			company: 'required',
			country: 'required',
			iagreetotheterms: 'required'
		},
		messages: {
			firstname: $.validator.messages.firstname,
			lastname: $.validator.messages.lastname,
			company: $.validator.messages.company,
			country: $.validator.messages.country,
			iagreetotheterms: $.validator.messages.agreetoterms
		},
		errorPlacement: function(error, element) {
			error.appendTo(element.parent());
		}
	});
	
	/* sso_change-credentials-email
	--------------------------------------------------- */
	
	$('#regform3').validate({
		rules: {
			newuserid: {
				required: true,
				email: true
			}
		},
		messages: {
			newuserid: $.validator.messages.email
		}
	});
	
	/* sso_change-password
	--------------------------------------------------- */
	
	$('#regform4').validate({
		rules: {
			password: {
				required: true
			},
			newpassword: {
				required: true,
				minlength: 6
			},
			verifypassword: {
				required: true,
				minlength: 6,
				equalTo: '#newpassword'
			}
		},
		messages: {
			password: {
				required: $.validator.messages.password
			},
			newpassword: {
				required: $.validator.messages.password,
				minlength: $.validator.messages.passwordmin6
			},
			confirmpassword: {
				required: $.validator.messages.password,
				minlength: $.validator.messages.passwordmin6,
				equalTo: $.validator.messages.passwordsame
			}
		}
	});
	
	/* sso_set-password
	--------------------------------------------------- */
	
	$('#regform5').validate({
		rules: {
			newpassword: {
				required: true,
				minlength: 6
			},
			verifypassword: {
				required: true,
				minlength: 6,
				equalTo: '#newpassword'
			}
		},
		messages: {
			newpassword: {
				required: $.validator.messages.password,
				minlength: $.validator.messages.passwordmin6
			},
			verifypassword: {
				required: $.validator.messages.password,
				minlength: $.validator.messages.passwordmin6,
				equalTo: $.validator.messages.passwordsame
			}
		}
	});
	
	/* sso_resend-email-verification
	--------------------------------------------------- */
	
	$('#regform6').validate({
		rules: {
			emailaddress: {
				required: true,
				email: true
			}
		},
		messages: {
			emailaddress: $.validator.messages.email
		}
	});
	
	/* sso_update-profile-form
	--------------------------------------------------- */
	
	$('#regform7').validate({
		rules: {
			FirstName: 'required',
			LastName: 'required',
			Company: 'required',
			Country: 'required'
		},
		messages: {
			FirstName: $.validator.messages.firstname,
			LastName: $.validator.messages.lastname,
			Company: $.validator.messages.company,
			Country: $.validator.messages.country
		}
	});
	
	/* sso_recover-password-form
	--------------------------------------------------- */
	
	$('#regform8').validate({
		rules: {
			emailaddress: {
				required: true,
				email: true
			}
		},
		messages: {
			emailaddress: $.validator.messages.email
		}
	});
	
});