1 <%include include/head.html>
3 <script language="javascript">
5 getTranslation("WebInterface.DefaultText.FirstName", function(firstNameDefaultText) {
6 registerInputTextareaSwap("#sone #edit-profile input[name=first-name]", firstNameDefaultText, "first-name", true, true);
8 getTranslation("WebInterface.DefaultText.MiddleName", function(middleNameDefaultText) {
9 registerInputTextareaSwap("#sone #edit-profile input[name=middle-name]", middleNameDefaultText, "middle-name", true, true);
11 getTranslation("WebInterface.DefaultText.LastName", function(lastNameDefaultText) {
12 registerInputTextareaSwap("#sone #edit-profile input[name=last-name]", lastNameDefaultText, "last-name", true, true);
14 getTranslation("WebInterface.DefaultText.BirthDay", function(birthDayDefaultText) {
15 registerInputTextareaSwap("#sone #edit-profile input[name=birth-day]", birthDayDefaultText, "birth-day", true, true);
17 getTranslation("WebInterface.DefaultText.BirthMonth", function(birthMonthDefaultText) {
18 registerInputTextareaSwap("#sone #edit-profile input[name=birth-month]", birthMonthDefaultText, "birth-month", true, true);
20 getTranslation("WebInterface.DefaultText.BirthYear", function(birthYearDefaultText) {
21 registerInputTextareaSwap("#sone #edit-profile input[name=birth-year]", birthYearDefaultText, "birth-year", true, true);
23 getTranslation("WebInterface.DefaultText.FieldName", function(fieldNameDefaultText) {
24 registerInputTextareaSwap("#sone #add-profile-field input[name=field-name]", fieldNameDefaultText, "field-name", true, true);
27 <%foreach fields field>
28 registerInputTextareaSwap("#sone #edit-profile input[name=field-<% loop.count>]", <% field.key|js>, "field-<% loop.count>", true, true);
31 /* hide all the labels. */
32 $("#sone #edit-profile label, #sone #add-profile-field label").hide();
34 /* ajaxify the delete buttons. */
35 getTranslation("Page.EditProfile.Fields.Button.ReallyDelete", function(reallyDeleteText) {
36 $("#sone #edit-profile .delete-field-name button").each(function() {
37 confirmButton = $(this).clone().addClass("hidden").addClass("confirm").text(reallyDeleteText).insertAfter(this);
38 (function(deleteButton, confirmButton) {
39 deleteButton.click(function() {
40 deleteButton.fadeOut("slow", function() {
41 confirmButton.fadeIn("slow");
42 $(document).one("click", function() {
43 if (this != confirmButton.get(0)) {
44 confirmButton.fadeOut("slow", function() {
45 deleteButton.fadeIn("slow");
53 confirmButton.click(function() {
54 confirmButton.fadeOut("slow");
55 buttonName = confirmButton.attr("name");
56 fieldId = buttonName.substring("delete-field-".length);
57 deleteProfileField(fieldId);
60 })($(this), confirmButton);
66 <h1><%= Page.EditProfile.Page.Title|l10n|html></h1>
68 <p><%= Page.EditProfile.Page.Description|l10n|html></p>
69 <p><%= Page.EditProfile.Page.Hint.Optionality|l10n|html></p>
71 <form id="edit-profile" method="post">
72 <input type="hidden" name="formPassword" value="<% formPassword|html>" />
75 <label for="first-name"><%= Page.EditProfile.Label.FirstName|l10n|html></label>
76 <input type="text" name="first-name" value="<% firstName|html>" />
80 <label for="middle-name"><%= Page.EditProfile.Label.MiddleName|l10n|html></label>
81 <input type="text" name="middle-name" value="<% middleName|html>" />
85 <label for="last-name"><%= Page.EditProfile.Label.LastName|l10n|html></label>
86 <input type="text" name="last-name" value="<% lastName|html>" />
89 <h1><%= Page.EditProfile.Birthday.Title|l10n|html></h1>
92 <label for="birth-day"><%= Page.EditProfile.Birthday.Label.Day|l10n|html></label>
93 <input type="text" name="birth-day" value="<% birthDay|html>" />
96 <div id="birth-month">
97 <label for="birth-month"><%= Page.EditProfile.Birthday.Label.Month|l10n|html></label>
98 <input type="text" name="birth-month" value="<% birthMonth|html>" />
101 <div id="birth-year">
102 <label for="birth-year"><%= Page.EditProfile.Birthday.Label.Year|l10n|html></label>
103 <input type="text" name="birth-year" value="<% birthYear|html>" />
107 <button type="submit" name="save-profile" value="true"><%= Page.EditProfile.Button.Save|l10n|html></button>
110 <h1><%= Page.EditProfile.Fields.Title|l10n|html></h1>
112 <p><%= Page.EditProfile.Fields.Description|l10n|html></p>
114 <%foreach fields field fieldLoop>
115 <div class="profile-field" id="<% field.id|html>">
116 <div class="name"><% field.name|html></div>
117 <div class="edit-field-name"><button type="submit" name="edit-field-<% field.id|html>" value="true"><%= Page.EditProfile.Fields.Button.Edit|l10n|html></button></div>
118 <div class="delete-field-name"><button type="submit" name="delete-field-<% field.id|html>" value="true"><%= Page.EditProfile.Fields.Button.Delete|l10n|html></button></div>
119 <div class="<%if fieldLoop.last>hidden <%/if>move-down-field"><button type="submit" name="move-down-field-<% field.id|html>" value="true"><%= Page.EditProfile.Fields.Button.MoveDown|l10n|html></button></div>
120 <div class="<%if fieldLoop.first>hidden <%/if>move-up-field"><button type="submit" name="move-up-field-<% field.id|html>" value="true"><%= Page.EditProfile.Fields.Button.MoveUp|l10n|html></button></div>
121 <div class="value"><input type="text" name="field-<% field.id|html>" value="<% field.value|html>" /></div>
126 <button type="submit" name="save-profile" value="true"><%= Page.EditProfile.Button.Save|l10n|html></button>
133 <form id="add-profile-field" method="post">
134 <input type="hidden" name="formPassword" value="<% formPassword|html>" />
136 <a name="profile-fields"></a>
137 <h2><%= Page.EditProfile.Fields.AddField.Title|l10n|html></h2>
139 <%if duplicateFieldName>
140 <p><%= Page.EditProfile.Error.DuplicateFieldName|l10n|replace needle="{fieldName}" replacementKey="fieldName"|html></p>
144 <label for="new-field"><%= Page.EditProfile.Fields.AddField.Label.Name|l10n|html></label>
145 <input type="text" name="field-name" value="" />
146 <button type="submit" name="add-field" value="true"><%= Page.EditProfile.Fields.AddField.Button.AddField|l10n|html></button>
151 <%include include/tail.html>