$().ready(function() {

	//Encrypt any passwords
	$("form").submit(function() {
		if($(this).valid()) {
			$("#"+$(this).attr('id')+" input:password").each(function() {
				if($(this).val() != '')
					$(this).val(hex_md5(jQuery.trim($(this).val()).toLowerCase()));
			});
		}
	});
	
	observeAdminForms();
});


function observeAdminForms() {

	//jquery validations
  $("#setProps").validate({
    submitHandler: function(form) {
      ajax.setProps(form);
    }
  }),
	$("#addUser").validate({
		rules: {
			username: {
				required: true,
				minlength: 5
			},
			password1: {
				required: true,
				minlength: 5
			},
			password2: {
				required: true,
				equalTo: "#password1"
			}
		},		
		messages: {
			username: {
				required: "Please give a username",
				minlength: "The username must consist of at least 5 characters"
			},
			password1: {
				required: "Please give a password",
				minlength: "The password must consist of at least 5 characters"
			},
			password2: {
				required: "Please repeat the password",
				equalTo: "The passwords must match"
			}
		},
		submitHandler: function(form) {
			ajax.add(form, 'user');
		}
	}),
	$("#updateUser").validate({
		rules: {
			password: {
				required: true,
				minlength: 5
			}
		},		
		messages: {
			password: {
				required: "Please give a password",
				minlength: "The password must consist of at least 5 characters"
			}
		}
	}),
	$("#addLink").validate({
		rules: {
			title: {
				required: true,
				minlength: 3
			},
			url: {
				required: true,
				url: true
			}
		},		
		messages: {
			title: {
				required: "Please give a title",
				minlength: "The title must consist of at least 3 characters"
			},
			url: {
				required: "Please give a URL",
				url: "The URL is not valid"
			}
		},
		submitHandler: function(form) {
			ajax.add(form, 'link');
		}
	}),
	$("#addFeed").validate({
		rules: {
			title: {
				required: true,
				minlength: 3
			},
			url: {
				required: true,
				url: true
			}
		},		
		messages: {
			title: {
				required: "Please give a title",
				minlength: "The title must consist of at least 3 characters"
			},
			url: {
				required: "Please give a URL",
				url: "The URL is not valid"
			}
		},
		submitHandler: function(form) {
			ajax.add(form, 'feed');
		}
	}),
	$("#addImage").validate({
		rules: {
			name: {
				required: true,
				minlength: 3
			},
			category: 'required',
			imageFile: 'required'
		},		
		messages: {
			name: {
				required: "Please give a name",
				minlength: "The name must consist of at least 3 characters"
			},
			category: "Please select a category",
			imageFile: "Please select an image file"
		}
	}),
	$("#login").validate({
		rules: {
			username: 'required',
			password: 'required'
		},		
		messages: {
			username: "Please give your username",
			password: "Please give your password"
		}
	});
}