Index: /branches/release-34/lib/MT/CMS/Template.pm
===================================================================
--- /branches/release-34/lib/MT/CMS/Template.pm (revision 1847)
+++ /branches/release-34/lib/MT/CMS/Template.pm (revision 1852)
@@ -1410,4 +1410,15 @@
 }
 
+sub dialog_publishing_profile {
+    my $app = shift;
+    $app->validate_magic or return;
+
+    my $param = {};
+    $param->{screen_id} = "publishing-profile-dialog";
+
+    $app->build_page('dialog/publishing_profile.tmpl',
+        $param);
+}
+
 sub dialog_refresh_templates {
     my $app = shift;
Index: /branches/release-34/lib/MT/App/CMS.pm
===================================================================
--- /branches/release-34/lib/MT/App/CMS.pm (revision 1828)
+++ /branches/release-34/lib/MT/App/CMS.pm (revision 1852)
@@ -188,4 +188,5 @@
         'system_check'             => "${pkg}Tools::system_check",
         'dialog_refresh_templates' => "${pkg}Template::dialog_refresh_templates",
+        'dialog_publishing_profile' => "${pkg}Template::dialog_publishing_profile",
         'refresh_all_templates'    => "${pkg}Template::refresh_all_templates",
         'preview_template'         => "${pkg}Template::preview",
@@ -331,4 +332,12 @@
                 order => 1000,
                 continue_prompt => MT->translate('This action will restore your global templates to factory settings without creating a backup. Click OK to continue or Cancel to abort.'),
+            },
+            publishing_profile => {
+                label => "Use Publishing Profile",
+                dialog => 'dialog_publishing_profile',
+                condition => sub {
+                    MT->app->blog,
+                },
+                order => 1100,
             },
         },
Index: /branches/release-34/mt-static/css/structure.css
===================================================================
--- /branches/release-34/mt-static/css/structure.css (revision 1730)
+++ /branches/release-34/mt-static/css/structure.css (revision 1852)
@@ -4173,4 +4173,19 @@
 }
 
+/* Publishing Profiles Dialog ---------------------------------------------------------------------------------- */
+
+#publishing-profile-dialog #profile-panel ul {
+    list-style: none;
+    margin-left: 0;
+}
+
+#publishing-profile-dialog #profile-panel label {
+    font-weight: bold;
+}
+
+#publishing-profile-dialog #profile-panel .hint {
+    font-weight: normal;
+}
+
 /* Edit Comment & Trackback ---------------------------------------------------------------------------------- */
 
Index: /branches/release-34/tmpl/cms/dialog/publishing_profile.tmpl
===================================================================
--- /branches/release-34/tmpl/cms/dialog/publishing_profile.tmpl (revision 1850)
+++ /branches/release-34/tmpl/cms/dialog/publishing_profile.tmpl (revision 1852)
@@ -1,41 +1,118 @@
 <mt:var name="page_title" value="<__trans phrase="Publishing Profile">">
 
+<mt:setvarblock name="html_head" append="1">
+<script type="text/javascript" src="<mt:var name="static_uri">js/dialog.js"></script>
+<script type="text/javascript">
+/* <![CDATA[ */
+var dialog;
+var panels;
+function dialog_closed(ok) {
+    if (ok) {
+        // fill out form and submit to create the association
+        var frm = getByID("publishing_profiles_form");
+        frm.submit();
+    } else {
+        closeDialog();
+    }
+}
+function init() {
+    dialog = new Dialog.MultiPanel("profile");
+    panels = [];
+    var panel;
+    panel = new ListingPanel("profile");
+    panels[panels.length] = panel;
+    panel = new ListingPanel("confirm");
+    panels[panels.length] = panel;
+    dialog.setPanels(panels);
+    dialog.open({}, dialog_closed);
+}
+TC.attachLoadEvent(init);
+/* ]]> */
+</script>
+</mt:setvarblock>
+
 <mt:include name="dialog/header.tmpl">
+<form name="publishing_profiles_form" id="publishing_profiles_form" method="post" action="<mt:var name="script_url">" target="_top" onsubmit="return false">
 
-<form action="#">
+    <div id="profile-panel" class="hidden panel">
+        
+        <p><__trans phrase="Choose the profile that best matches the requirements for this blog."></p>
+        
+        <mtapp:setting
+            id="dynamicity"
+            label="<__trans phrase="Publishing Profile">"
+            show_label="0"
+            label_class="top-label"
+            help_page="blog_settings_publishing"
+            help_section="dynamic_publishing">
+            <ul>
+                <li>
+                    <input type="radio" id="dynamicity-sync" name="dynamicity" value="none" <mt:if name="dynamicity" eq="none"> checked="checked"</mt:if>/>
+                    <label for="dynamicity-sync"><__trans phrase="Static Publishing"> <span class="hint"><__trans phrase="Publish all files statically."></span></label>
+                </li>
+                <li>
+                    <input type="radio" id="dynamicity-async" name="dynamicity" value="async_all" <mt:if name="dynamicity" eq="async_all"> checked="checked"</mt:if>/>
+                    <label for="dynamicity-async"><__trans phrase="Asynchronous Publishing"> <span class="hint"><__trans phrase="Publish all files via the asynchronous job queue."></span></label>
+                </li>
+                <li>
+                    <input type="radio" id="dynamicity-partialasync" name="dynamicity" value="async_partial" <mt:if name="dynamicity" eq="async_partial"> checked="checked"</mt:if>/>
+                    <label for="dynamicity-partialasync"><__trans phrase="High Priority Static Publishing"> <span class="hint"><__trans phrase="Publish main index template and all individual archive templates statically, and publish all other files asynchronously."></span></label>
+                </li>
+                <li>
+                    <input type="radio" id="dynamicity-dynamic" name="dynamicity" value="all" <mt:if name="dynamicity" eq="all"> checked="checked"</mt:if>/>
+                    <label for="dynamicity-dynamic"><__trans phrase="Dynamic Publishing"> <span class="hint"><__trans phrase="Publish all files dynamically."></span></label>
+                </li>
+                <li>
+                    <input type="radio" id="dynamicity-archives" name="dynamicity" value="archives" <mt:if name="dynamicity" eq="archives"> checked="checked"</mt:if>/>
+                    <label for="dynamicity-archives"><__trans phrase="Dynamic Archives Only"> <span class="hint"><__trans phrase="Publish all archives dynamically. Publish all other files statically."></span></label>
+                </li>
+            </ul>
+        </mtapp:setting>
+        <div class="actions-bar">
+            <div class="actions-bar-inner pkg actions">
+                <button
+                    type="submit"
+                    accesskey="s"
+                    class="primary-button next"
+                    ><__trans phrase="Continue"></button>
+                <button
+                    onclick="closeDialog(); return false"
+                    type="submit"
+                    class="cancel"
+                    accesskey="x"
+                    title="<__trans phrase="Cancel (x)">"
+                    ><__trans phrase="Cancel"></button>
+            </div>
+        </div>
+    </div>
+    <div id="confirm-panel" class="hidden panel">
+        <p><__trans phrase="This new publishing profile will update all of you templates."></p>
 
-<mtapp:setting
-    id="dynamicity"
-    label="<__trans phrase="Publishing Profile">"
-    show_label="0"
-    help_page="blog_settings_publishing"
-    help_section="dynamic_publishing">
-    <ul>
-        <li>
-            <input type="radio" id="dynamicity-sync" name="dynamicity" value="none" <mt:if name="dynamicity" eq="none"> checked="checked"</mt:if>/>
-            <label for="dynamicity-sync"><__trans phrase="Static Publishing"> <span class="hint"><__trans phrase="Publish all files statically."></span></label>
-        </li>
-        <li>
-            <input type="radio" id="dynamicity-async" name="dynamicity" value="async_all" <mt:if name="dynamicity" eq="async_all"> checked="checked"</mt:if>/>
-            <label for="dynamicity-async"><__trans phrase="Asynchronous Publishing"> <span class="hint"><__trans phrase="Publish all files via the asynchronous job queue."></span></label>
-        </li>
-        <li>
-            <input type="radio" id="dynamicity-partialasync" name="dynamicity" value="async_partial" <mt:if name="dynamicity" eq="async_partial"> checked="checked"</mt:if>/>
-            <label for="dynamicity-partialasync"><__trans phrase="High Priority Static Publishing"> <span class="hint"><__trans phrase="Publish main index template and all individual archive templates statically, and publish all other files asynchronously."></span></label>
-        </li>
-        <li>
-            <input type="radio" id="dynamicity-dynamic" name="dynamicity" value="all" <mt:if name="dynamicity" eq="all"> checked="checked"</mt:if>/>
-            <label for="dynamicity-dynamic"><__trans phrase="Dynamic Publishing"> <span class="hint"><__trans phrase="Publish all files dynamically."></span></label>
-        </li>
-        <li>
-            <input type="radio" id="dynamicity-archives" name="dynamicity" value="archives" <mt:if name="dynamicity" eq="archives"> checked="checked"</mt:if>/>
-            <label for="dynamicity-archives"><__trans phrase="Dynamic Archives Only"> <span class="hint"><__trans phrase="Publish all archives dynamically. Publish all other files statically."></span></label>
-        </li>
-        <li>
-            <input type="radio" id="dynamicity-custom" name="dynamicity" value="custom" <mt:if name="dynamicity" eq="custom"> checked="checked"</mt:if>/>
-            <label for="dynamicity-custom"><__trans phrase="Custom"> <span class="hint"><__trans phrase="Publishing options are configured on a template-by-template basis."></span></label>
-        </li>
-    </ul>
-</mtapp:setting>
+        <p><strong><__trans phrase="Are you sure you wish to continue?"></strong></p>
+
+        <div class="actions-bar">
+            <div class="actions-bar-inner pkg actions">
+                <button
+                    type="button"
+                    accesskey="s"
+                    class="primary-button close"
+                    ><__trans phrase="Confirm"></button>
+                <button
+                    onclick="closeDialog(); return false"
+                    type="submit"
+                    class="cancel"
+                    accesskey="x"
+                    title="<__trans phrase="Cancel (x)">"
+                    ><__trans phrase="Cancel"></button>
+                <!-- <button
+                    onclick="toggleHidden('confirm-panel'); toggleHidden('refresh-panel'); return false"
+                    type="submit"
+                    accesskey="b"
+                    title="<__trans phrase="Back (b)">"
+                    ><__trans phrase="Back"></button> -->
+            </div>
+        </div>
+
+    </div>
 
 </form>
