var loading = new Image(); loading.src = '/image/loading.gif'; function timezoneSelect(){ new Ajax.Updater('timezone', '/ajax/timezone/', { method:'post', parameters: 'country=' + $('country').value }); } function checkUsername (){ $('username').focus(); $('username').blur(); } function checkHide (){ $('usernameNotSelected').hide(); $('usernameValue').update($('username').value); $('usernameSelected').show(); } function checkShow (){ $('usernameNotSelected').show(); $('usernameSelected').hide(); } function setUsername( suggestionStr ){ $('username').value = suggestionStr; $('username-box').hide(); checkHide(); } function doCheck( result, elm ){ // Remove not-focused class elm.removeClassName('not-focused'); // Username if ( elm.id == 'username' ){ var usernameBox = $('username-box'); var loadImg = document.createElement('img'); loadImg.src = loading.src; loadImg.setAttribute('alt',''); usernameBox.update(); usernameBox.appendChild(loadImg); usernameBox.insert({ bottom: 'Checking the username. Please wait...'}); if (result){ new Ajax.Request('/ajax/signup/username/'+elm.value, { method:'get', onSuccess: function(transport, json){ if ( transport.responseText == 'false' ){ usernameBox.hide(); checkHide(); }else{ usernameBox.update(transport.responseText); new Effect.Appear(usernameBox, {duration : 1 }); } } }); }else{ usernameBox.update('Use 4 to 32 characters. You may use letters, numbers, underscores (_), dash (-), and dot (.).'); new Effect.Appear(usernameBox, {duration : 1 }); } } // Password if ( elm.id == 'password' ){ if ( result == false ){ new Effect.Appear($('password-box'), {duration : 1 }); }else{ $('password-box').hide(); } } // First name if ( elm.id == 'firstname'){ if (elm.value == 'First Name' ){ elm.value = ''; }else{ if (elm.value == ''){ elm.value = 'First Name' elm.addClassName('not-focused'); } } if ( result == false ){ $('advice-firstname').show(); $('advice-lastname').hide(); } } // Last name if ( elm.id == 'lastname'){ if (elm.value == 'Last Name' ){ elm.value = ''; }else{ if (elm.value == ''){ elm.value = 'Last Name' elm.addClassName('not-focused'); } } if ( result == false ){ $('advice-lastname').show(); $('advice-firstname').hide(); } } // Website if ( elm.id == 'website'){ if (elm.value == ''){ elm.value = 'http://' elm.addClassName('not-focused'); } } } function beforeFormValidate ( result, form ){ if ($('firstname').value == 'First Name' ){ $('firstname').value = ''; } if ($('lastname').value == 'Last Name' ){ $('lastname').value = ''; } if ($('website').value == 'http://' ){ $('website').value = ''; } } var valid = new Validation('signupform', {immediate : true, onElementValidate : doCheck, beforeFormValidate : beforeFormValidate}); Validation.addAllThese([ ['validate-username', 'Please verify your username again.', { pattern : new RegExp("[a-zA-Z0-9.-_]{4,32}","i"), include : ['required'] }], ['validate-password', 'Use 6 to 32 characters', { minLength : 6, maxLenght : 32 }], ['validate-password-equal', 'Cannot include your username or the word "password"', { minLength : 6, maxLenght : 32, notOneOf : ['password','PASSWORD'], notEqualToField : 'username' }], ['validate-password-confirm', 'Please verify your password again.', { equalToField : 'password', include : ['validate-password'] }] ]);