function init_validation() { $("#form_migrate").validate({ rules: { username: { required: true, rangelength: [3, 12], lettersonly: true, remote: "/inside/migration/username_available.php", }, password: { required: true, minlength: 8, noquotes: true, noescapes: true, }, password_check: { required: true, minlength: 8, noquotes: true, noescapes: true, equalTo: "#id_password", }, }, messages: { username: { remote: 'Username is taken.', } }, submitHandler: function(form) { var form_username = $("#id_username").val(); var form_password = $("#id_password").val(); var form_password_check = $("#id_password_check").val(); var form_uid = $("#id_uid").val(); $.ajax({ url: "/inside/migration/submit_user.php", type: 'POST', data: { username: form_username, password: form_password, password_check: form_password_check, }, dataType: 'json', success: function(result) { if(result.result == 'success') { $("#infomodal").html("Brukeren din er klar for fremtiden, tusen takk!"); $("#infomodal").dialog('option',{ buttons: { "Ok": function() { $(this).dialog('close'); }, }, }); } else { /* Output the errors (will never happend). */ var output = '
'; for(var error in result.errors) { output += '

'+ error +': ' + result.errors[error] + '

'; } output += '
'; $("#infomodal").prepend(output); } }, }); return false; }, }); } $( document ).ready( function() { $( "#infomodal" ).dialog({ /* 1. Info about the migration. */ autoOpen: false, height: 450, width: 600, modal: true, buttons: { "Ok": function() { /* 2. Load in the user and pass form. */ $(this).load('/inside/migration/form.php', function() { init_validation(); $(this).dialog('option',{ buttons: { "Lagre brukerdata": function() { $("#form_migrate").submit(); } } }); }); }, "Ikke nå": function() { /* The user chooses to not migrate. */ $(this).dialog("close"); } } }); });