<div id="jsharmony_cms_page_toolbar" class="jsharmony_cms">
  <div class="actions"><!--
    --><a class="jsharmony_cms_button template_tips jsharmony_cms_button_hidden" onclick="return false;" title="Quick Reference" data-slideout="template_tips">Quick Reference</a><!--
    --><a class="jsharmony_cms_button settings" onclick="return false;" title="Page Settings" data-slideout="page_settings">Page Settings</a><!--
    --><a class="jsharmony_cms_button save" onclick="return false;" title="Save">Save</a><!--
    --><a class="jsharmony_cms_button static readonly" style="display:none;" onclick="return false;" title="Read Only">(Read Only)</a><!--
    --><a class="jsharmony_cms_button icon autoHideEditorBar" style="display:none;" onclick="return false;" title="Auto-hide"><i class="material-icons hide">vertical_align_top</i><i class="material-icons dock">vertical_align_bottom</i></a><!--
  --></div>
  <div class="title" ></div>
  <div class="jsharmony_cms_tabcontrol_container template_tips" style="display:none;">
    <div class="xtabcontrol">
      <div class="xtabs">
        <a href="#" class="xtab" for="jsharmony_cms_template_tips_overview">Overview</a>
        <a href="#" class="xtab" for="jsharmony_cms_template_tips_page_templates">Page Templates</a>
        <a href="#" class="xtab" for="jsharmony_cms_template_tips_component_templates">Component Templates</a>
        <a href="#" class="xtab" for="jsharmony_cms_template_tips_websnippet_templates">Web Snippet Templates</a>
        <a href="#" class="xtab" for="jsharmony_cms_template_tips_site_config">Site Config</a>
      </div>
      <div class="xpanel">
        <div class="xtabbody jsharmony_cms_template_tips_overview">
          <div class="jsharmony_cms_template_tips_body">
            <h2>Template Quick Reference</h2>
            The Quick Reference provides commonly-used tags and examples of Page Templates, Component Templates, Web Snippet Templates, and the Site Config.<br/>
            <br/>
            Visit the <a href="https://www.jsharmonycms.com/resources/" target="_blank">jsHarmony CMS Resources</a> site for extended documentation, video tutorials, and additional examples.<br/>
            &nbsp;
          </div>
        </div>
        <div class="xtabbody jsharmony_cms_template_tips_page_templates">
          <div class="jsharmony_cms_template_tips_body">
            <h2>Page Templates</h2>
            Full documentation and examples available in the <a href="https://www.jsharmonycms.com/resources/documentation/page-templates/" target="_blank">jsHarmony CMS Page Template Reference</a>
            <pre>
-- cms-title
&lt;h1 cms-title&gt;Page Title&lt;/h1&gt;

-- cms-content-editor
&lt;div cms-content-editor="page.content.body"&gt;&lt;/div&gt;
&lt;div cms-content-editor="body"&gt;&lt;/div&gt;

-- cms-onRender
&lt;body cms-onRender="addClass(page.properties.bodyClass);  addStyle(page.properties.bodyStyle);"&gt;
&lt;h1 cms-title cms-onRender="showIf(page.properties.showTitle!='N');"&gt;Page Title&lt;/h1&gt;

-- cms-component
&lt;div cms-component="sidebar"&gt;&lt;/div&gt;
&lt;div cms-component="menus/main.top" cms-menu-tag="main"&gt;&lt;/div&gt;
&lt;div cms-component="tiles" cms-component-properties='{"cssClass":"testClass"}' cms-component-data='[{"image":"test"}]'&gt;&lt;/div&gt;
&lt;div cms-component="analytics" cms-component-remove-container&gt;&lt;/div&gt;

-- cms-component in Standalone Template or client-side JS with JSON export:
&lt;div cms-component="breadcrumbs" cms-component-content="page.content.breadcrumbs"&gt;&lt;/div&gt;
  * In the Page Template Config, set:
    {
      "templates": { "publish": "format:json" },
      "content": { "breadcrumbs": "&lt;div cms-component='breadcrumbs'&gt;&lt;/div&gt;" }
    }

-- cms-template
&lt;div cms-content-editor="body" cms-template="one-column"&gt;&lt;/div&gt;

-- removeOnPublish
&lt;script type="text/javascript" src="editor_extensions.js" class="removeOnPublish"&gt;&lt;/script&gt;

-- Page Config
&lt;cms-page-config&gt;...&lt;/cms-page-config&gt;
&lt;script type="text/cms-page-config"&gt;
  {
    "title": "Generic",
    "content_elements": {
      "subhead": { "type": "text", "title": "Subhead" },
      "body": { "type": "htmleditor", "title": "Body" }
    },
    "options": {
      "page_toolbar": { "dock": "top" }
    },
    "properties": {
      "fields": [
        { "name": "showTitle", "caption": "Show Title", "type": "varchar", "length": "32", "default": "Y",
          "control": "checkbox", "controlparams": { "value_true": "Y", "value_false": "N" } },

        { "name": "showSubhead", "caption": "Show Subhead", "type": "varchar", "length": "32", "default": "Y",
          "control": "checkbox", "controlparams": { "value_true": "Y", "value_false": "N" } },
  
        { "name": "bodyClass", "caption": "Body CSS Class", "type": "varchar", "length": 1024,
          "control": "textbox", "controlstyle": "width:400px", "validate": ["MaxLength:1024"]},
  
        { "name": "bodyStyle", "caption": "Body CSS Style", "type": "varchar", "length": 1024,
          "control": "textbox", "controlstyle": "width:400px", "validate": ["MaxLength:1024"]}
      ]
    }
  }
&lt;/script&gt;

=======================================
Inline Component / Websnippet Templates
=======================================
-- Inline Component Template
&lt;script type="text/cms-component-template"&gt;
  &lt;cms-component-config&gt;
  {
    "id": "banner",
    "title": "Banner",
    "target": "content",
    "icon": "material:view_module",
    "component_properties": [
      { "name": "cssStyle", "caption": "CSS Style" },
      { "name": "cssClass", "caption": "CSS Class" },
    ],
    "item_properties": [
      { "name": "image", "caption": "Image", "control": "media_browser", "validate": ["Required"]},
      { "name": "link", "caption": "Link", "control": "link_browser"},
      { "name": "title", "control": "htmleditor" },
      { "name": "body", "control": "htmleditor" },
    ]
  }
  &lt;/cms-component-config&gt;
  &lt;div ...&gt;
    ... Component HTML ...
  &lt;/div&gt;
&lt;/script&gt;

-- Component Instance
(See above : cms-component )

-- Inline Websnippet Template
&lt;script type="text/cms-websnippet-template"&gt;
  &lt;cms-websnippet-config&gt;
    {
      "title": "Web Snippet Title",
      "description": "Web Snippet Description"
    }
  &lt;/cms-websnippet-config&gt;
  &lt;div ...&gt;
    ... Websnippet HTML ...
  &lt;/div&gt;
&lt;/script&gt;

=================================
JavaScript CMS onRender Functions
=================================
addClass(classNames) / setClass(classNames)
  * Adds the class to the element.  Class name can reference a page property.
  ex: addClass(page.properties.bodyClass)

addStyle(styles) / setStyle(styles)
  * Adds the styles to the element.  Styles can reference a page property.
  ex: addStyle(page.properties.bodyStyle)

showIf(condition) / toggle(condition)
  * Hide the element if it the condition is not met
  ex: showIf(page.properties.showTitle!='N')

setText(val) / setHTML(val)
  * Set text or HTML of the element to the target value
  ex: setText(page.properties.title)

===========================
JavaScript CMS Editor Hooks
===========================
cms.onInit: function(jsh){ }
  * Fired after the core jsHarmony script is loaded, but before jsHarmony CMS scripts are loaded
  if(window.jsHarmonyCMSInstance) jsHarmonyCMSInstance.onInit = function(jsh){ /* Code Here */ }

cms.onLoad: function(jsh){ }
  * Fired after the core jsHarmony CMS is loaded, but before the Page Editor is loaded
  if(window.jsHarmonyCMSInstance) jsHarmonyCMSInstance.onLoad = function(jsh){ /* Code Here */ }

cms.onLoaded: function(jsh){ }
  * Fired when the jsHarmony CMS Page Editor is fully loaded
  if(window.jsHarmonyCMSInstance) jsHarmonyCMSInstance.onLoaded = function(jsh){ /* Code Here */ }

cms.onRender: function(page){ }
  * Fired each time the Page Editor renders the page content (on load and after each save)
  if(window.jsHarmonyCMSInstance) jsHarmonyCMSInstance.onRender = function(page){ /* Code Here */ }

cms.onGetControllerUrl: function() =&gt; url
  * Fired on initialization.  Can be used to return the URL of a custom CMS Page Controller.
  * See jsharmony-cms/clientjs/jsHarmonyCMS.Controller.js for a template
  if(window.jsHarmonyCMSInstance) jsHarmonyCMSInstance.onGetControllerUrl = function(){ return 'https://domain/path/to/controller.js'; }

cms.onGetFilePickerParameters: function(filePickerType, url){ }
  * Override the standard file picker querystring parameters
  if(window.jsHarmonyCMSInstance) jsHarmonyCMSInstance.onFilePickerCallback = function(filePickerType, url){
    if(overrideFilePicker){
      return { init_page_path: 'path/to/page'; }
    }
  }
  
cms.onFilePickerCallback: function(jdata){ }
  * Override the standard file picker completion callback
  if(window.jsHarmonyCMSInstance) jsHarmonyCMSInstance.onFilePickerCallback = function(jdata){
    if(overrideFilePicker){
      //Handle response
      var cms = jsHarmonyCMSInstance;
      cms.filePickerCallback('path/to/path#@JSHCMS', jdata);
      return true;
    }
  }

=================
Publish Functions
=================
* The following functions are only supported in publish templates, not editor templates

Page Includes
  On publish, pages can include other pages via:
    &lt;%-include('/path/to/page')%&gt;
  Path should be absolute relative to the publish root folder

            </pre>
          </div>
        </div>
        <div class="xtabbody jsharmony_cms_template_tips_component_templates">
          <div class="jsharmony_cms_template_tips_body">
            <h2>Component Templates</h2>
            Full documentation and examples available in the <a href="https://www.jsharmonycms.com/resources/documentation/component-templates/" target="_blank">jsHarmony CMS Component Template Reference</a>
            <pre>
================
Component Config
================
&lt;cms-component-config&gt;...&lt;/cms-component-config&gt;
&lt;script type="text/cms-component-config"&gt;
{
  "title": "Tiles",
  "icon": "material:view_module",
  "multiple_items": true,
  "remote_templates": {
    "publish": "localpublishtiles.publish.html"
  },
  "component_properties": [
    { "name": "cssStyle", "caption": "CSS Style" },
    { "name": "cssClass", "caption": "CSS Class" },
  ],
  "item_properties": [
    { "name": "image", "caption": "Image", "control": "media_browser", "validate": ["Required"]},
    { "name": "link", "caption": "Link", "control": "link_browser"},
    { "name": "cssClass", "caption": "CSS Class"},
    { "name": "title", "control": "htmleditor" },
    { "name": "body", "control": "htmleditor" },
  ]
}
&lt;/script&gt;
&lt;script type="text/cms-component-config"&gt;
{
  "title": "Routers",
  "target": "page",
  "export": [
    {
      "export_path": "menus/main.html",
      "menu_tag": "top",
    }
  ]
}
&lt;/script&gt;

====
Tags
====
jsh-for-item
jsh-for-item="item"
jsh-for-item-variable="menuitem"

jsh-foreach-item
jsh-foreach-item="item collection"
jsh-foreach-item-separator=" "
jsh-foreach-item-start="2"
jsh-foreach-item-end="4"
jsh-foreach-item-skip="2"
jsh-foreach-item-variable="menuitem"
jsh-foreach-item-index="i"

jsh-group-items
jsh-group-items="item collection"
jsh-group-items-into="3"
jsh-group-items-by="item.type"
jsh-group-items-subgroup="items"
jsh-group-items-index="cnt"
jsh-group-items-separator=" "

jsh-template="templateName"
jsh-template-items="items"

cms-content-editor
cms-content-editor-type
cms-component-editor-remove-class
cms-component-editor-add-class
cms-image-dimensions

===================
EJS Container Slurp
===================
&lt;%~...%&gt;

=========
Functions
=========
_ (Lodash)
escapeHTML
escapeRegEx
stripTags(str, ignore, options)
iif(condition, valueTrue, valueFalse)
isNullUndefinedEmpty(val)
isNullUndefined(val)
renderTemplate(templateName, items)
getEJSOutput(f)
  var str = getEJSOutput(function(){ -%&gt;HTML&lt;% })
getSitemapURL(sitemap_item)
getMenuURL(menu_item)
getMenuImageURL(menu_item)
renderPlaceholder({ errors: '' })
getMediaThumbnails(url)
getPageVar(key)
setPageVar(key, val)
hash(val)

* Only available for Export Components
addFile(filePath, fileContent)
hasFile(filePath)
deletefile(filePath)

================
Render Variables
================
renderType
templateName
baseUrl
isInEditor
isInPageEditor
isInComponentEditor
componentRenderClass
sitemap
menu  (from cms-menu-tag)
data  { item: &lt;object&gt;, items: Array&lt;object&gt; }
properties

--- Aliases ---
items =&gt; data.items
item =&gt; data.item
component =&gt; properties

--- Content / Page Component Variables ---
page
template

---- Export Variables ---
sitemaps
menus
site_redirects
page_paths
branchData
publish_params

===============
Menu Properties
===============
menu
  tag
  tree
  allItems
  currentItem
  --- Aliases ---
  topItems =&gt; tree
  items =&gt; tree
  topItems =&gt; tree
  topItems =&gt; tree
  --- System ---
  menu_tag =&gt; tag
  menu_key
  menu_item_tree =&gt; tree
  menu_items =&gt; allItems

menu_item
  id
  children
  getSiblings()
  parents
  parent
  depth
  html
  text
  tag
  class
  style
  href
  onclick
  target
  selected
  --- System ---
  menu_item_id
  menu_item_parent_id
  menu_item_path
  menu_item_text
  menu_item_type: 'TEXT','HTML'
  menu_item_tag =&gt; tag
  menu_item_style =&gt; style
  menu_item_class =&gt; class
  menu_item_link_type: 'PAGE','MEDIA','URL','JS'
  menu_item_link_dest
  menu_item_link_target 'NEWWIN',''
  menu_item_image
  menu_item_image_path
  menu_item_children =&gt; children

==================
Sitemap Properties
==================
sitemap
  tree
  allItems
  --- Content / Page Component Variables ---
  currentItem
  root
  parents
  children
  breadcrumbs
  --- Aliases ---
  topItems =&gt; tree
  self =&gt; currentItem
  item =&gt; currentItem
  --- Export Variables ---
  sitemap_items

sitemap_item
  id
  children
  getSiblings()
  siblings
  parents
  parent
  depth
  html
  text
  tag
  class
  style
  href
  onclick
  target
  selected
  --- System ---
  sitemap_item_id
  sitemap_item_parent_id
  sitemap_item_path
  sitemap_item_text
  sitemap_item_type: 'TEXT','HTML'
  sitemap_item_tag =&gt; tag
  sitemap_item_style =&gt; style
  sitemap_item_class =&gt; class
  sitemap_item_exclude_from_breadcrumbs
  sitemap_item_exclude_from_parent_menu
  sitemap_item_hide_menu_parents
  sitemap_item_hide_menu_siblings
  sitemap_item_hide_menu_children
  sitemap_item_link_type: 'PAGE','MEDIA','URL','JS'
  sitemap_item_link_dest
  sitemap_item_link_target: 'NEWWIN',''

=================
Publish Functions
=================
* The following functions are only supported in publish templates, not editor templates

Page Includes
  On publish, components can include other pages via:
    &lt;%-include('/path/to/page')%&gt;
  Path should be absolute relative to the publish root folder


========
Examples
========

Content Component
-----------------
&lt;section class="tiles &lt;%=component.cssClass%&gt;" style="&lt;%=component.cssStyle%&gt;"&gt;
  &lt;div jsh-group-items-into="3" class="inner flex flex-3" cms-component-editor-remove-class="flex-3"&gt;
    &lt;div jsh-foreach-item class="flex-item box &lt;%=item.cssClass%&gt;"&gt;
      &lt;div class="image fit"&gt;
        &lt;img src="&lt;%=item.image%&gt;" alt="&lt;%=item.title%&gt;" /&gt;
      &lt;/div&gt;
      &lt;div class="content"&gt;
        &lt;a href="&lt;%~item.link%&gt;"&gt;
          &lt;h3 cms-content-editor="item.title" cms-content-editor-type="simple"&gt;Default Title&lt;/h3&gt;
          &lt;div cms-content-editor="item.body"&gt;Default Body &lt;b&gt;Text&lt;/b&gt;&lt;/div&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/section&gt;


Simple Menu
-----------
&lt;div jsh-foreach-item="menu.topItems" jsh-foreach-item-separator=" " class="nav_button_container &lt;%-item.class%&gt;" style="&lt;%~item.style%&gt;"&gt;
  &lt;a href="&lt;%~item.href%&gt;" onclick="&lt;%~item.onclick%&gt;" target="&lt;%~item.target%&gt;"&gt;&lt;%-item.html%&gt;&lt;/a&gt;
&lt;/div&gt;

Nested Menu
-----------
&lt;ul jsh-template="menu"&gt;
  &lt;li jsh-foreach-item class="&lt;%~item.class%&gt;" style="&lt;%~item.style%&gt;"&gt;
    &lt;a href="&lt;%~item.href%&gt;" onclick="&lt;%~item.onclick%&gt;" target="&lt;%~item.target%&gt;"&gt;&lt;%-item.html%&gt;&lt;/a&gt;
    &lt;%-renderTemplate('menu', item.children)%&gt;
  &lt;/li&gt;
&lt;/ul&gt;
&lt;%-renderTemplate('menu', menu.tree)%&gt;


Sidebar
-------
&lt;div class="xsidenav"&gt;
  &lt;div jsh-for-item="sitemap.root" class="xsidenav_head" style="&lt;%~item.style%&gt;"&gt;
    &lt;div class="xsidenav_item"&gt;
      &lt;a href="&lt;%~item.href%&gt;" onclick="&lt;%~item.onclick%&gt;" target="&lt;%~item.target%&gt;"&gt;&lt;%-item.html%&gt;&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="xsidenav_tree"&gt;
    &lt;ul jsh-template="sitemap-items"&gt;
      &lt;li jsh-foreach-item class="&lt;%~item.class%&gt;" style="&lt;%~item.style%&gt;"&gt;
        &lt;div class="xsidenav_item &lt;%=iif(item.selected,"selected")%&gt;"&gt;
          &lt;a href="&lt;%~item.href%&gt;" onclick="&lt;%~item.onclick%&gt;" target="&lt;%~item.target%&gt;"&gt;&lt;%-item.html%&gt;&lt;/a&gt;
        &lt;/div&gt;
        &lt;%-renderTemplate("sitemap-items", item.children)%&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
    &lt;%-renderTemplate("sitemap-items", ((!sitemap.parents && (sitemap.tree.length &gt; 1)) ? sitemap.tree : sitemap.root.children))%&gt;
  &lt;/div&gt;
&lt;/div&gt;

Breadcrumbs
-----------
&lt;div jsh-for-item="sitemap.currentItem"&gt;
  &lt;% var breadcrumbs = _.filter(sitemap.parents.concat(sitemap.currentItem), function(item){ return !item.sitemap_item_exclude_from_breadcrumbs }); %&gt;
  &lt;a jsh-foreach-item="breadcrumbs" jsh-foreach-item-separator="&nbsp;/&nbsp;" href="&lt;%~(!item.selected && item.href)%&gt;" onclick="&lt;%~item.onclick%&gt;" target="&lt;%~item.target%&gt;"&gt;&lt;span class="&lt;%~iif(item.selected,'current_page')%&gt;"&gt;&lt;%-item.html%&gt;&lt;/span&gt;&lt;/a&gt;
&lt;/div&gt;

            </pre>
          </div>
        </div>
        <div class="xtabbody jsharmony_cms_template_tips_websnippet_templates">
          <div class="jsharmony_cms_template_tips_body">
            <h2>Web Snippet Templates</h2>
            Full documentation and examples available in the <a href="https://www.jsharmonycms.com/resources/documentation/web-snippets/" target="_blank">jsHarmony CMS Web Snippet Reference</a>
            <pre>
-- Web Snippet Config
&lt;cms-websnippet-config&gt;...&lt;/cms-websnippet-config&gt;
&lt;script type="text/cms-websnippet-config"&gt;
{
  "title": "Button: Call to Action",
  "description": "Link button used as a Call to Action",
}
&lt;/script&gt;
            </pre>
          </div>
        </div>
        <div class="xtabbody jsharmony_cms_template_tips_site_config">
          <div class="jsharmony_cms_template_tips_body">
            <h2>Site Config</h2>
            Full documentation available in the <a href="https://www.jsharmonycms.com/resources/documentation/site-config/" target="_blank">jsHarmony CMS Site Config Reference</a>
            <pre>
-- Site config
{
  &quot;menus&quot;: [ &#x2F;&#x2F; Array of required menus
    { &quot;name&quot;: &quot;Main Menu&quot;, &quot;tag&quot;: &quot;main&quot;, &quot;max_depth&quot;: 2 }
  ],
  &quot;defaultEditorConfig&quot;: {   &#x2F;&#x2F; Default GUI page editor config
    &quot;webSnippetsPath&quot;: &quot;&#x2F;templates&#x2F;websnippets&#x2F;listing.html&quot;,  &#x2F;&#x2F; Web snippets listing path
    &quot;materialIcons&quot;: false   &#x2F;&#x2F; Whether to enable Material Icons in the Editor
                             &#x2F;&#x2F;   If enabled, Material Icons Font CSS Link must be added to the Page Template HTML
  }
}
            </pre>
          </div>
        </div>
      </div>
    </div>
  </div>
  <div class="jsharmony_cms_tabcontrol_container page_settings" style="display:none;">
    <div class="xtabcontrol">
      <div class="xtabs">
        <a href="#" class="xtab" for="jsharmony_cms_page_settings_overview">Overview</a>
        <a href="#" class="xtab jsharmony_cms_page_settings_properties_button" for="jsharmony_cms_page_settings_properties" style="display:none;">Page Properties</a>
        <a href="#" class="xtab" for="jsharmony_cms_page_settings_seo">SEO</a>
        <a href="#" class="xtab" for="jsharmony_cms_page_settings_css">Custom CSS</a>
        <a href="#" class="xtab" for="jsharmony_cms_page_settings_header">Header Code</a>
        <a href="#" class="xtab" for="jsharmony_cms_page_settings_footer">Footer Code</a>
      </div>
      <div class="xpanel">
        <div class="xtabbody jsharmony_cms_page_settings_overview">
          <div class="jsharmony_cms_page_settings_table">
            <div class="jsharmony_cms_page_settings_row">
              <div class="jsharmony_cms_page_settings_cell"><label>Page Title:</label></div>
              <div class="jsharmony_cms_page_settings_cell" style="width:100%;"><input type="text" class="page_settings_ctrl page_settings_title" /></div>
            </div>
            <div class="jsharmony_cms_page_settings_row">
              <div class="jsharmony_cms_page_settings_cell" style="vertical-align:top;padding-top:8px;"><label>Tags:</label></div>
              <div class="jsharmony_cms_page_settings_cell"><div class="page_settings_tags_editor xtagbox"></div><input type="text" class="page_settings_ctrl page_settings_tags xtagbox_base" /></div>
            </div>
            <div class="jsharmony_cms_page_settings_row">
              <div class="jsharmony_cms_page_settings_cell"><label>Author:</label></div>
              <div class="jsharmony_cms_page_settings_cell"><select class="page_settings_author"></select></div>
            </div>
          </div>
        </div>
        <div class="xtabbody jsharmony_cms_page_settings_properties">
        </div>
        <div class="xtabbody jsharmony_cms_page_settings_seo">
          <div class="jsharmony_cms_page_settings_table">
            <div class="jsharmony_cms_page_settings_row">
              <div class="jsharmony_cms_page_settings_cell"><label>Title Tag:</label></div>
              <div class="jsharmony_cms_page_settings_cell" style="width:100%;"><input type="text" class="page_settings_ctrl page_settings_seo_title" /></div>
            </div>
            <div class="jsharmony_cms_page_settings_row">
              <div class="jsharmony_cms_page_settings_cell"><label>Meta Keywords:</label></div>
              <div class="jsharmony_cms_page_settings_cell"><input type="text" class="page_settings_ctrl page_settings_seo_keywords" /></div>
            </div>
            <div class="jsharmony_cms_page_settings_row">
              <div class="jsharmony_cms_page_settings_cell" style="vertical-align:top;padding-top:3px;"><label>Meta Description:</label>
              </div>
              <div class="jsharmony_cms_page_settings_cell"><textarea class="page_settings_seo_metadesc small"></textarea></div></div>
            <div class="jsharmony_cms_page_settings_row">
              <div class="jsharmony_cms_page_settings_cell"><label>Canonical URL:</label></div>
              <div class="jsharmony_cms_page_settings_cell"><input type="text" class="page_settings_ctrl page_settings_seo_canonical_url" /></div>
            </div>
          </div>
        </div>
        <div class="xtabbody jsharmony_cms_page_settings_css">
          <textarea class="page_settings_css code"></textarea>
        </div>
        <div class="xtabbody jsharmony_cms_page_settings_header">
          <textarea class="page_settings_header code"></textarea>
        </div>
        <div class="xtabbody jsharmony_cms_page_settings_footer">
          <textarea class="page_settings_footer code"></textarea>
        </div>
      </div>
    </div>
  </div>
</div>
<div id="jsharmony_cms_editor_errors" class="jsharmony_cms"></div>
<script class="jsharmony_cms_fileselector_template" type="text/x-ejs-template">
  <div class="jsharmony_cms_fileselector_container" data-fileselectortype="<%=fileSelectorType%>">
    <input type="text" class="jsharmony_cms_fileselector xform_ctrl_subfocus uneditable" readonly="readonly" value="<%=val%>">
    <input type="button" class="jsharmony_cms_fileselector_browse" value="Browse" onclick="<%-js('_this._sys_fileSelector_browse(this);return false;')%>" />
    <input type="button" class="jsharmony_cms_fileselector_reset" value="Reset" onclick="<%-js('_this._sys_fileSelector_reset(this);return false;')%>" />
  </div>
</script>