Index: branches/RC/themes/default2009/platform/inc/script.js =================================================================== --- branches/RC/themes/default2009/platform/inc/script.js (revision 11871) +++ branches/RC/themes/default2009/platform/inc/script.js (revision 11872) @@ -1,134 +1,223 @@ String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); }; function update_checkbox(cb, cb_hidden) { cb_hidden.value = cb.checked ? 1 : 0; } function redirect($url) { window.location.href = $url; } function open_window($url, $window_name, $width, $height) { window.open($url, $window_name, 'width='+$width+',height='+$height+',resizable=yes'); return false; } function addLoadEvent(func, wnd) { if (!wnd) wnd = window var oldonload = wnd.onload; if (typeof wnd.onload != 'function') { wnd.onload = func; } else { wnd.onload = function() { if (oldonload) { oldonload(); } func(); } } } function addEvent(el, evname, func, traditional) { if (traditional) { eval('el.on'+evname+'='+func); return; } if (document.all) { el.attachEvent("on" + evname, func); } else { el.addEventListener(evname, func, true); } }; // ItemCategories class function ItemCategories($table_id, $field_id, $primary_category, $phrases) { this.CategoryTable = document.getElementById($table_id); this.CategorySelector = document.getElementById($field_id + '_select'); this.MoreCategoriesField = document.getElementById($field_id); this.PrimaryCategory = $primary_category; this.Phrases = $phrases; // get additional categories from item if (this.MoreCategoriesField.value.length) { this.MoreCategories = this.MoreCategoriesField.value; this.MoreCategories = this.MoreCategories.substring(1, this.MoreCategories.length - 1).split('|'); } else { this.MoreCategories = new Array (); } } ItemCategories.prototype.AddCategory = function($separator, $delete_button, $max_categories) { var $category_id = this.CategorySelector.options[this.CategorySelector.selectedIndex].value; var $category_name = this.CategorySelector.options[this.CategorySelector.selectedIndex].innerHTML.trim(); if ((this.SearchCategory($category_id) !== false) || ($category_id == this.PrimaryCategory) || ($category_id == 0)) { // don't add same category twice & don't allow to add item's primary category alert(this.Phrases[1]); return ; } if ((this.MoreCategories.length + 2) > $max_categories) { // don't add more category - $max_categories limit alert(this.Phrases[0]); return ; } // strip trailing HTML spaces & separator var $separator_pos = $category_name.indexOf($separator); if ($separator_pos != -1) { $category_name = $category_name.substring($separator_pos + $separator.length); } var $row = this.CategoryTable.insertRow(-1); $row.id = 'category_' + $category_id; var $cell = $row.insertCell(-1); $cell.innerHTML = $category_name; $cell = $row.insertCell(-1); $cell.innerHTML = $delete_button.replace(/#CATEGORY_ID#/g, $category_id); this.MoreCategories.push($category_id); this.updateMoreCategoriesField(); } ItemCategories.prototype.SearchCategory = function($category_id) { var $i = 0; while ($i < this.CategoryTable.rows.length) { if (this.CategoryTable.rows[$i].id == 'category_' + $category_id) { return $i; } $i++; } return false; } ItemCategories.prototype.DeleteCategory = function($category_id) { var $row_index = this.SearchCategory($category_id); if ($row_index !== false) { this.CategoryTable.deleteRow($row_index); var $i = 0; while ($i < this.MoreCategories.length) { if (this.MoreCategories[$i] == $category_id) { this.MoreCategories.splice($i, 1); break; } $i++; } this.updateMoreCategoriesField(); } } ItemCategories.prototype.updateMoreCategoriesField = function() { this.MoreCategoriesField.value = this.MoreCategories.length ? '|' + this.MoreCategories.join('|') + '|' : ''; } -function jq(myid) { - return '#'+myid.replace(/:/g,"\\:").replace(/\./g,"\\."); +function jq($selector) { + return $selector.replace(/(\[|\]|\.|:)/g, '\\$1'); } + +function MultiLanguageSelector($language_info, $current_language) { + this._languageInfo = $language_info; + this._currentLanguage = $current_language; + this._controls = new Array (); + + var $me = this; + + $(document).ready( + function() { + $me.init(); + } + ); +} + +MultiLanguageSelector.prototype.init = function () { + var $i = 0; + var $me = this; + + while ($i < this._controls.length) { + // set current language + $( jq('#' + this._controls[$i]) ).data('PrevLanguage', this._currentLanguage); + + for (var $language_id in this._languageInfo) { + var $id = this.inputForLanguage(this._controls[$i], $language_id); + + $( jq('#' + $id + '_flag') ).each( + function() { + $(this) + .data('MainControl', $me._controls[$i]) + .data('ThisLanguage', $language_id) + .click( + function ($event) { + var $this_flag = $(this); + var $this_language = $this_flag.data('ThisLanguage'); + + var $main_control = $('#' + jq($this_flag.data('MainControl')) ); + + var $prev_language = $main_control.data('PrevLanguage'); + var $prev_flag = $( jq('#' + $me.inputForLanguage($main_control.attr('id'), $prev_language) + '_flag') ); + + var $language_info; + + if ($this_language != $prev_language) { + // hide prev language input + enable it's flag + var $prev_image = $prev_flag.children('img:first'); + if ($prev_image.length) { + // found image for given language + $language_info = $me._languageInfo[$prev_language]; + $prev_image.attr('src', $prev_image.attr('src').replace($language_info.off, $language_info.on)); + } + $( jq('#' + $prev_flag.attr('id').replace(/_flag$/, '_input') ) ).hide(); + + // show this language input + disable it's flag + var $this_image = $this_flag.children('img:first'); + if ($this_image.length) { + // found image for given language + $language_info = $me._languageInfo[$this_language]; + $this_image.attr('src', $this_image.attr('src').replace($language_info.on, $language_info.off)); + } + var $this_container = $( jq('#' + $this_flag.attr('id').replace(/_flag$/, '_input') ) ); + $this_container.show(); + + // focus on shown control + $('input:first, textarea:first', $this_container).focus(); + + // remember last used language + $main_control.data('PrevLanguage', $this_language); + } + + $event.preventDefault(); + } + ); + } + ); + } + + $i++; + } +} + +MultiLanguageSelector.prototype.inputForLanguage = function ($control_id, $language_id) { + return $control_id.replace('l' + this._currentLanguage + '_', 'l' + $language_id + '_'); +} + +MultiLanguageSelector.prototype.registerControl = function ($id) { + this._controls.push($id); +} + Index: branches/RC/themes/default2009/platform/elements/html_head.elm.tpl =================================================================== --- branches/RC/themes/default2009/platform/elements/html_head.elm.tpl (revision 11871) +++ branches/RC/themes/default2009/platform/elements/html_head.elm.tpl (revision 11872) @@ -1,24 +1,31 @@ <!--## Meta Info (Keywords and Description) ##--> <meta http-equiv="Content-Type" content="text/html; charset=<inp2:lang.current_Field name="Charset"/>" /> <meta name="Description" content="<inp2:st_PageInfo type="meta_description"/>" /> <meta name="Keywords" content="<inp2:st_PageInfo type="meta_keywords"/>" /> <!--## /Meta Keywords and Description ##--> <inp2:theme.current_StylesheetFile/> <link rel="stylesheet" href="<inp2:m_TemplatesBase module='In-Portal'/>inc/jquery/thickbox/thickbox.css" type="text/css" media="screen" /> <link rel="stylesheet" rev="stylesheet" href="<inp2:m_TemplatesBase module='In-Portal'/>inc/styles.css" type="text/css" /> <script type="text/javascript" src="<inp2:m_TemplatesBase module='In-Portal'/>inc/script.js"></script> <script type="text/javascript" src="<inp2:m_TemplatesBase module='In-Portal'/>inc/ajax.js"></script> <script type="text/javascript" src="<inp2:m_TemplatesBase module='In-Portal'/>inc/calendar.js"></script> <script type="text/javascript">var inportalBase = '<inp2:m_TemplatesBase module="In-Portal"/>';</script> <script type="text/javascript" src="<inp2:m_TemplatesBase module='In-Portal'/>inc/jquery/jquery.pack.js"></script> <script type="text/javascript" src="<inp2:m_TemplatesBase module='In-Portal'/>inc/jquery/thickbox/thickbox.js"></script> <script type="text/javascript"> var aRatingManager = new RatingManager('<inp2:m_Link template="index" events[#PREFIX#]="OnMakeVote" rating="#VOTE#" id="#ID#" no_amp="1" size="#SIZE#"/>'); -</script> \ No newline at end of file + + <inp2:m_DefineElement name="ml_selector_language_element"> + <inp2:Field name="LanguageId"/>: {'on': '<inp2:Field name="IconURL" js_ecape="1"/>', 'off': '<inp2:Field name="IconDisabledURL" js_ecape="1"/>'} + <inp2:m_ifnot check="m_Param" name="is_last">,</inp2:m_ifnot> + </inp2:m_DefineElement> + + var aMultiLanguageSelector = new MultiLanguageSelector({<inp2:lang.enabled_PrintList render_as="ml_selector_language_element" per_page="-1" strip_nl="2"/>}, <inp2:m_Get name="m_lang"/>); +</script> Index: branches/RC/themes/default2009/platform/elements/forms.elm.tpl =================================================================== --- branches/RC/themes/default2009/platform/elements/forms.elm.tpl (revision 11871) +++ branches/RC/themes/default2009/platform/elements/forms.elm.tpl (revision 11872) @@ -1,440 +1,514 @@ <inp2:m_DefineElement name="error_message"> <table class="warning-message fullwidth"> <tr> <td width="30"> <img src="<inp2:m_TemplatesBase module="In-Portal"/>img/warning_icon.gif" width="21" height="18" alt=""/> </td> <td> <inp2:m_phrase name="lu_Warning"/> </td> </tr> </table> <br /> <inp2:m_phrase name="lu_AProblemInForm"/><br /> </inp2:m_DefineElement> <inp2:m_DefineElement name="subsection" break="1"> <div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div> <div class="sub-section-header"><inp2:m_Phrase label="$title"/></div> <div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div> <inp2:m_if check="m_Param" name="break"> <br/> </inp2:m_if> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_buttons" width="default"> <tr> <td colspan="2"> <img src="<inp2:m_TemplatesBase module="In-Portal"/>img/grey_pix.gif" width="100%" height="1" align="absmiddle" alt="" /> </td> </tr> <tr> <td style="width: <inp2:m_if check="m_ParamEquals" name="width" value="default">140<inp2:m_else/><inp2:m_Param name="width"/></inp2:m_if>px"> </td> <td> <br /> <inp2:m_Param name="content"/> <br /><br /> </td> </tr> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_field_separator" no_editing="1" is_last="0"> <inp2:m_if check="m_ParamEquals" name="is_last" value="0"> <tr> <td colspan="2"> <div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div> </td> </tr> </inp2:m_if> </inp2:m_DefineElement> -<inp2:m_DefineElement name="inp_edit_field_caption" no_editing="1" title=""> +<inp2:m_DefineElement name="inp_edit_field_caption" no_editing="1" additional_render_as="" title=""> <inp2:m_inc param="tab_index" by="1"/> <td class="field-name" nowrap> <inp2:m_if check="m_Param" name="title"> - <label for="<inp2:{$prefix}_InputName field="$field"/>"> + <label for="<inp2:{$prefix}_InputName field='$field'/>"> <span <inp2:m_if check="{$prefix}_HasError" field="$field">class="field-required"</inp2:m_if>> <inp2:m_phrase label="$title"/></span><inp2:m_if check="{$prefix}_IsRequired" field="$field"><span class="field-required"> *</span></inp2:m_if>: </label> + <inp2:m_if check="m_Param" name="additional_render_as"> + <inp2:m_RenderElement name="$additional_render_as" pass_params="1"/> + </inp2:m_if> <inp2:m_else/> </inp2:m_if> </td> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_label" as_label="" currency="" no_editing="1" is_last="0"> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td valign="top" class="field-value"> <inp2:{$prefix}_Field field="$field" as_label="$as_label" currency="$currency"/> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_label" as_label="" currency="" no_editing="1" is_last="0"> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td valign="top" class="field-value"> <inp2:{$prefix}_Field field="$field" as_label="$as_label" currency="$currency"/> <input type="hidden" name="<inp2:{$prefix}_InputName field="$field"/>" value="<inp2:{$prefix}_Field field="$field" db="db"/>" /> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_box" style="" maxlength="" no_editing="1" is_last="0" title=""> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td class="field-value"> <inp2:m_if check="{$prefix}_HasError" field="$field"> <span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br /> </inp2:m_if> <input type="text" class="input-text" name="<inp2:{$prefix}_InputName field="$field"/>" value="<inp2:{$prefix}_Field field="$field"/>" tabindex="<inp2:m_get param="tab_index"/>" maxlength="<inp2:m_param name="maxlength"/>" style="<inp2:m_param name="style"/>"> <inp2:m_if check="{$prefix}_HasParam" name="hint_label"><span class="small"><inp2:m_phrase label="$hint_label"/></span></inp2:m_if> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> -<inp2:m_DefineElement name="inp_edit_box_ml"> +<inp2:m_DefineElement name="ml_input_element"> <inp2:Field name="LanguageId" result_to_var="language_id"/> - <inp2:m_if check="SelectedLanguage"> - <inp2:m_RenderElement name="inp_edit_box" field="l{$language_id}_{$field}" title="{$title}" prefix="{$prefix}" style="{$style}" /> - <inp2:m_else/> - <inp2:Field name="PackName" result_to_var="language_name"/> - <inp2:m_RenderElement name="inp_edit_box" field="l{$language_id}_{$field}" title="{$title}_{$language_name}" prefix="{$prefix}" style="{$style}" /> - <inp2:m_if check="IsPrimaryLanguageInList"> - <inp2:m_if check="{$prefix}_IsRequired" field="$field"> - <input type="hidden" name="<inp2:{$prefix}_FieldModifier name="l{$language_id}_{$field}" type="required"/>" value="1"/> + + <div id="<inp2:{$prefix}_InputName field="l{$language_id}_{$field}"/>_input"<inp2:m_ifnot check="{$prefix}_LanguageVisible" field="l{$language_id}_{$field}"> style="display: none;"</inp2:m_ifnot>> + <inp2:m_if check="{$prefix}_HasError" field="l{$language_id}_{$field}"> + <span class="field-error"><inp2:{$prefix}_Error field="l{$language_id}_{$field}"/></span><br/> + </inp2:m_if> + + <div style="float: left; height: 15px; vertical-align: top; width: auto;"> + <input type="text" class="input-text" name="<inp2:{$prefix}_InputName field='l{$language_id}_{$field}'/>" id="<inp2:{$prefix}_InputName field='l{$language_id}_{$field}'/>" value="<inp2:{$prefix}_Field field='l{$language_id}_{$field}' format='no_default'/>" tabindex="<inp2:m_get param='tab_index'/>" maxlength="<inp2:m_param name='maxlength'/>" style="<inp2:m_param name='style'/>"> + </div> + + <div style="float: left; margin-left: 3px; height: 15px; vertical-align: top; width: auto;"> + <inp2:m_if check="Field" name="IconURL"> + <img src="<inp2:m_TemplatesBase module='In-Portal'/>img/language_icons/<inp2:Field name='IconURL'/>" alt="<inp2:Field name='LocalName' html_escape='1'/>" border="0"/> + <inp2:m_else/> + <inp2:Field name="LocalName"/> + </inp2:m_if> + </div> + </div> + <div style="clear: both;"></div> +</inp2:m_DefineElement> + +<inp2:m_DefineElement name="field_language_element"> + <inp2:Field name="LanguageId" result_to_var="language_id"/> + <a href="#" id="<inp2:{$prefix}_InputName field="l{$language_id}_{$field}"/>_flag"> + <inp2:m_if check="Field" name="IconURL"> + <inp2:m_if check='SelectedLanguage'> + <img src="<inp2:m_TemplatesBase module='In-Portal'/>img/language_icons/<inp2:Field name='IconDisabledURL'/>" alt="<inp2:Field name='LocalName' html_escape='1'/>" border="0"/> + <inp2:m_else/> + <img src="<inp2:m_TemplatesBase module='In-Portal'/>img/language_icons/<inp2:Field name='IconURL'/>" alt="<inp2:Field name='LocalName' html_escape='1'/>" border="0"/> </inp2:m_if> + <inp2:m_else/> + <inp2:Field name="LocalName"/> </inp2:m_if> - </inp2:m_if> + </a> + <inp2:m_ifnot check="m_Param" name="is_last"> </inp2:m_ifnot> +</inp2:m_DefineElement> + +<inp2:m_DefineElement name="field_languages_element"> + <inp2:m_ifnot check="{$prefix}_HasLanguageError" field="$field"> + <br/> + <inp2:lang.enabled_PrintList render_as="field_language_element" pass_params="1" strip_nl="2"/> + </inp2:m_ifnot> +</inp2:m_DefineElement> + +<inp2:m_DefineElement name="inp_edit_box_ml" style="" maxlength="" no_editing="1" is_last="0" title=""> + <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> + <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" additional_render_as="field_languages_element" field="$field" title="$title"/> + <td class="field-value"> + <inp2:lang.enabled_PrintList render_as="ml_input_element" pass_params="1"/> + + <inp2:m_if check="{$prefix}_HasParam" name="hint_label"><span class="small"><inp2:m_phrase label="$hint_label"/></span></inp2:m_if> + </td> + </tr> + <script type="text/javascript"> + <inp2:m_Get name="m_lang" result_to_var="current_language"/> + aMultiLanguageSelector.registerControl('<inp2:{$prefix}_InputName field="l{$current_language}_{$field}"/>'); + </script> + <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_password" style="" no_editing="1" is_last="0"> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td class="field-value"> <inp2:m_if check="{$prefix}_HasError" field="$field"> <span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br /> </inp2:m_if> <input type="password" class="input-text" name="<inp2:{$prefix}_InputName field="$field"/>" id="<inp2:{$prefix}_InputName field="$field"/>" value="" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_param name="style"/>" /> <inp2:m_if check="{$prefix}_HasParam" name="hint_label"><span class="small"><inp2:m_phrase label="$hint_label"/></span></inp2:m_if> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_upload" style="" no_editing="1" is_last="0"> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td class="field-value"> <inp2:m_if check="{$prefix}_HasError" field="$field"> <span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br /> </inp2:m_if> <input type="file" name="<inp2:{$prefix}_InputName field="$field"/>" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_param name="style"/>"> <inp2:m_if check="{$prefix}_FieldEquals" name="$field" value="" inverse="inverse"> (<inp2:{$prefix}_Field field="$field"/>) </inp2:m_if> <input type="hidden" name="<inp2:{$prefix}_InputName field="$field"/>[upload]" value="<inp2:{$prefix}_Field field="$field"/>" /> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_image_upload" style="" no_editing="1" is_last="0"> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td class="field-value"> <inp2:m_if check="{$prefix}_HasError" field="$field"> <span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br /> </inp2:m_if> <inp2:m_if check="{$prefix}_Field" name="$field"> <a href="<inp2:{$prefix}_ImageSrc field="$field" MaxWidth="fullsize"/>" target="_blank"> <inp2:{$prefix}_Image field="$field" render_as="image_element" DefaultImage="platform/img/no_picture.gif" MaxWidth="thumbnail" align="absmiddle"/> </a> <br /> <table cellpadding="0" cellspacing="0" style="margin-top: 3px; margin-bottom: 3px;"> <tr> <td> <input type="hidden" id="<inp2:{$prefix}_InputName field="Delete{$field}"/>" name="<inp2:{$prefix}_InputName field="Delete{$field}"/>" value="0" /> <input type="checkbox" id="_cb_<inp2:{$prefix}_InputName field="Delete{$field}"/>" onchange="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field="Delete{$field}"/>'));"> </td> <td style="padding-left: 3px;"> <label for="_cb_<inp2:{$prefix}_InputName field="Delete{$field}"/>"><inp2:m_phrase name="lu_btn_DeleteImage"/></label> </td> </tr> </table> </inp2:m_if> <input type="file" name="<inp2:{$prefix}_InputName field="$field"/>" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_param name="style"/>"> <input type="hidden" name="<inp2:{$prefix}_InputName field="$field"/>[upload]" value="<inp2:{$prefix}_Field field="$field"/>" /><br /> <input type="text" name="<inp2:{$prefix}_InputName field="{$field}Alt"/>" value="<inp2:{$prefix}_Field field='{$field}Alt'/>" style="<inp2:m_param name="style"/>"> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_file_upload" style="" no_editing="1" is_last="0"> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td class="field-value"> <inp2:m_if check="{$prefix}_HasError" field="$field"> <span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br /> </inp2:m_if> <inp2:m_if check="{$prefix}_Field" name="$field"> <a href="<inp2:{$prefix}_DownloadFileLink field="$field"/>"> <inp2:{$prefix}_Field name="$field"/> </a> <br /> <table cellpadding="0" cellspacing="0"> <tr> <td> <input type="hidden" id="<inp2:{$prefix}_InputName field="Delete{$field}"/>" name="<inp2:{$prefix}_InputName field="Delete{$field}"/>" value="0" /> <input type="checkbox" id="_cb_<inp2:{$prefix}_InputName field="Delete{$field}"/>" onchange="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field="Delete{$field}"/>'));"> </td> <td> <label for="_cb_<inp2:{$prefix}_InputName field="Delete{$field}"/>"><inp2:m_phrase name="lu_btn_DeleteFile"/></label> </td> </tr> </table> </inp2:m_if> <input type="file" name="<inp2:{$prefix}_InputName field="$field"/>" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_param name="style"/>"> <input type="hidden" name="<inp2:{$prefix}_InputName field="$field"/>[upload]" value="<inp2:{$prefix}_Field field="$field"/>" /> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_hidden" db=""> <input type="hidden" name="<inp2:{$prefix}_InputName field="$field"/>" id="<inp2:{$prefix}_InputName field="$field"/>" value="<inp2:{$prefix}_Field field="$field" db="$db"/>" /> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_date" style="" no_editing="1" is_last="0"> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td class="field-value"> <inp2:m_if check="{$prefix}_HasError" field="$field"> <span class="field-error"><inp2:{$prefix}_Error field="{$field}_date"/></span><br /> </inp2:m_if> <input type="text" class="input-text" name="<inp2:{$prefix}_InputName field="{$field}_date"/>" id="<inp2:{$prefix}_InputName field="{$field}_date"/>" value="<inp2:{$prefix}_Field field="{$field}_date" format="_regional_InputDateFormat"/>" tabindex="<inp2:m_get param="tab_index"/>" size="<inp2:{$prefix}_Format field="{$field}_date" input_format="1" edit_size="edit_size"/>" style="<inp2:m_param name="style"/>" datepickerIcon="<inp2:m_TemplatesBase module="In-Portal"/>img/calendar_icon.gif"> <span class="small">(<inp2:{$prefix}_Format field="{$field}_date" input_format="1" human="true"/>)</span> <script type="text/javascript"> initCalendar("<inp2:{$prefix}_InputName field="{$field}_date"/>", "<inp2:{$prefix}_Format field="{$field}_date" input_format="1"/>"); </script> <input type="hidden" name="<inp2:{$prefix}_InputName field="{$field}_time"/>" id="<inp2:{$prefix}_InputName field="{$field}_time" input_format="1"/>" value="" /> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_time" style="" no_editing="1" is_last="0"> <tr class="<inp2:m_odd_even odd="table-color1" even="table-color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td class="field-value"> <inp2:m_if check="{$prefix}_HasError" field="$field"> <span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br /> </inp2:m_if> <input type="text" name="<inp2:{$prefix}_InputName field="{$field}_time"/>" id="<inp2:{$prefix}_InputName field="{$field}_time"/>" value="<inp2:{$prefix}_Field field="{$field}_time" format="_regional_InputTimeFormat"/>" tabindex="<inp2:m_get param="tab_index"/>" size="<inp2:{$prefix}_Format field="{$field}_time" input_format="1" edit_size="edit_size"/>" style="<inp2:m_param name="style"/>"> <span class="small">(<inp2:{$prefix}_Format field="{$field}_time" input_format="1" human="true"/>)</span> <input type="hidden" name="<inp2:{$prefix}_InputName field="{$field}_date"/>" id="<inp2:{$prefix}_InputName field="{$field}_date" input_format="1"/>" value="" /> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_date_time" style="" no_editing="1" is_last="0"> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td class="field-value"> <inp2:m_if check="{$prefix}_HasError" field="$field"> <span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br /> </inp2:m_if> <input type="text" name="<inp2:{$prefix}_InputName field="{$field}_date"/>" id="<inp2:{$prefix}_InputName field="{$field}_date"/>" value="<inp2:{$prefix}_Field field="{$field}_date" format="_regional_InputDateFormat"/>" tabindex="<inp2:m_get param="tab_index"/>" size="<inp2:{$prefix}_Format field="{$field}_date" input_format="1" edit_size="edit_size"/>" style="<inp2:m_param name="style"/>" datepickerIcon="<inp2:m_ProjectBase/>core/admin_templates/img/calendar_icon.gif"> <span class="small">(<inp2:{$prefix}_Format field="{$field}_date" input_format="1" human="true"/>)</span> <script type="text/javascript"> initCalendar("<inp2:{$prefix}_InputName field="{$field}_date"/>", "<inp2:{$prefix}_Format field="{$field}_date" input_format="1"/>"); </script> <input type="text" name="<inp2:{$prefix}_InputName field="{$field}_time"/>" id="<inp2:{$prefix}_InputName field="{$field}_time"/>" value="<inp2:{$prefix}_Field field="{$field}_time" format="_regional_InputTimeFormat"/>" tabindex="<inp2:m_get param="tab_index"/>" size="<inp2:{$prefix}_Format field="{$field}_time" input_format="1" edit_size="edit_size"/>" style="<inp2:m_param name="style"/>"><span class="small"> (<inp2:{$prefix}_Format field="{$field}_time" input_format="1" human="true"/>)</span> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_textarea" style="" no_editing="1" is_last="0"> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td class="field-value"> <inp2:m_if check="{$prefix}_HasError" field="$field"> <span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br /> </inp2:m_if> <textarea class="input-textarea" tabindex="<inp2:m_get param="tab_index"/>" name="<inp2:{$prefix}_InputName field="$field"/>" cols="<inp2:m_param name="cols"/>" rows="<inp2:m_param name="rows"/>" style="<inp2:m_param name="style"/>"><inp2:{$prefix}_Field field="$field"/></textarea> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> -<inp2:m_DefineElement name="inp_edit_textarea_ml"> +<inp2:m_DefineElement name="ml_textarea_element"> <inp2:Field name="LanguageId" result_to_var="language_id"/> - <inp2:m_if check="SelectedLanguage"> - <inp2:m_RenderElement name="inp_edit_textarea" field="l{$language_id}_{$field}" title="{$title}" prefix="{$prefix}" is_last="{$is_last}" style="{$style}" cols="{$cols}" rows="{$rows}"/> - <inp2:m_else/> - <inp2:Field name="PackName" result_to_var="language_name"/> - <inp2:m_RenderElement name="inp_edit_textarea" field="l{$language_id}_{$field}" title="{$title}_{$language_name}" prefix="{$prefix}" is_last="{$is_last}" style="{$style}" cols="{$cols}" rows="{$rows}"/> - <inp2:m_if check="IsPrimaryLanguageInList"> - <inp2:m_if check="{$prefix}_IsRequired" field="$field"> - <input type="hidden" name="<inp2:{$prefix}_FieldModifier name="l{$language_id}_{$field}" type="required"/>" value="1"/> - </inp2:m_if> + + <div id="<inp2:{$prefix}_InputName field="l{$language_id}_{$field}"/>_input"<inp2:m_ifnot check="{$prefix}_LanguageVisible" field="l{$language_id}_{$field}"> style="display: none;"</inp2:m_ifnot>> + <inp2:m_if check="{$prefix}_HasError" field="l{$language_id}_{$field}"> + <span class="field-error"><inp2:{$prefix}_Error field="l{$language_id}_{$field}"/></span><br/> </inp2:m_if> - </inp2:m_if> + + <div style="float: left; vertical-align: top; width: auto;"> + <textarea class="input-textarea" tabindex="<inp2:m_get param='tab_index'/>" name="<inp2:{$prefix}_InputName field='l{$language_id}_{$field}'/>" id="<inp2:{$prefix}_InputName field='l{$language_id}_{$field}'/>" cols="<inp2:m_param name='cols'/>" rows="<inp2:m_param name='rows'/>" style="<inp2:m_param name='style'/>"><inp2:{$prefix}_Field field="l{$language_id}_{$field}" format="no_default"/></textarea> + </div> + + <div style="float: left; margin-left: 3px; vertical-align: top; width: auto;"> + <inp2:m_if check="Field" name="IconURL"> + <img src="<inp2:m_TemplatesBase module='In-Portal'/>img/language_icons/<inp2:Field name='IconURL'/>" alt="<inp2:Field name='LocalName' html_escape='1'/>" border="0"/> + <inp2:m_else/> + <inp2:Field name="LocalName"/> + </inp2:m_if> + </div> + </div> + <div style="clear: both;"></div> +</inp2:m_DefineElement> + +<inp2:m_DefineElement name="inp_edit_textarea_ml" style="" maxlength="" no_editing="1" is_last="0" title=""> + <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> + <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" additional_render_as="field_languages_element" field="$field" title="$title"/> + <td class="field-value"> + <inp2:lang.enabled_PrintList render_as="ml_textarea_element" pass_params="1"/> + + <inp2:m_if check="{$prefix}_HasParam" name="hint_label"><span class="small"><inp2:m_phrase label="$hint_label"/></span></inp2:m_if> + </td> + </tr> + <script type="text/javascript"> + <inp2:m_Get name="m_lang" result_to_var="current_language"/> + aMultiLanguageSelector.registerControl('<inp2:{$prefix}_InputName field="l{$current_language}_{$field}"/>'); + </script> + <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_option_item"> <option value="<inp2:m_param name="key"/>"<inp2:m_param name="selected"/>><inp2:m_param name="option"/></option> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_option_phrase"> <option value="<inp2:m_param name="key"/>"<inp2:m_param name="selected"/>><inp2:m_phrase label="$option"/></option> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_options" style="" has_empty="0" empty_value="" no_editing="1" is_last="0"> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td class="field-value"> <inp2:m_if check="{$prefix}_HasError" field="$field"> <span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br /> </inp2:m_if> <select class="input-select" tabindex="<inp2:m_get param="tab_index"/>" name="<inp2:{$prefix}_InputName field="$field"/>" style="<inp2:m_param name="style"/>"> <inp2:m_if check="m_ParamEquals" name="use_phrases" value="1" > <inp2:{$prefix}_PredefinedOptions field="$field" block="inp_option_phrase" selected="selected" has_empty="$has_empty" empty_value="$empty_value"/> <inp2:m_else/> <inp2:{$prefix}_PredefinedOptions field="$field" block="inp_option_item" selected="selected" has_empty="$has_empty" empty_value="$empty_value"/> </inp2:m_if> </select> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_radio_item" onclick=""> <input type="radio" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_param name="style"/>" <inp2:m_param name="checked"/> name="<inp2:{$prefix}_InputName field="$field"/>" id="<inp2:{$prefix}_InputName field="$field"/>_<inp2:m_param name="key"/>" value="<inp2:m_param name="key"/>"><label for="<inp2:{$prefix}_InputName field="$field"/>_<inp2:m_param name="key"/>"><inp2:m_param name="option"/></label> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_radio_phrase" onclick=""> <input type="radio" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_param name="style"/>" <inp2:m_param name="checked"/> name="<inp2:{$prefix}_InputName field="$field"/>" id="<inp2:{$prefix}_InputName field="$field"/>_<inp2:m_param name="key"/>" value="<inp2:m_param name="key"/>"><label for="<inp2:{$prefix}_InputName field="$field"/>_<inp2:m_param name="key"/>"><inp2:m_phrase label="$option"/></label> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_radio" style="" pass_tabindex="" onclick="" onchange="" use_phrases="1" no_editing="1" is_last="0"> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td class="field-value"> <inp2:m_if check="{$prefix}_HasError" field="$field"> <span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br /> </inp2:m_if> <inp2:m_if check="m_ParamEquals" name="use_phrases" value="1"> <inp2:{$prefix}_PredefinedOptions field="$field" block="inp_radio_phrase" selected="checked"/> <inp2:m_else /> <inp2:{$prefix}_PredefinedOptions field="$field" block="inp_radio_item" selected="checked"/> </inp2:m_if> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_captcha" style="" title="lu_fld_Captcha" no_editing="1" is_last="0"> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="Captcha" title="$title"/> <td class="field-value"> <inp2:m_if check="{$prefix}_HasError" field="Captcha"> <span class="field-error"><inp2:{$prefix}_Error field="Captcha"/></span><br /> </inp2:m_if> <img src="<inp2:m_Link template="platform/inc/captcha_image.elm" var="{$prefix}_captcha_code" w="150" h="30"/>" alt="<inp2:m_Phrase name="$title"/>"/><br /> <img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="1" height="5" alt=""/><br /> <input type="text" class="input-text" name="<inp2:{$prefix}_InputName field="Captcha"/>" value="<inp2:{$prefix}_Field field="Captcha"/>" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_Param name="style"/>"> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_checkbox" style="" no_editing="1" is_last="0"> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td> <inp2:m_if check="{$prefix}_HasError" field="$field"> <span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br /> </inp2:m_if> <input type="hidden" id="<inp2:{$prefix}_InputName field="$field"/>" name="<inp2:{$prefix}_InputName field="$field"/>" value="<inp2:{$prefix}_Field field="$field" db="db"/>" /> <input tabindex="<inp2:m_get param="tab_index"/>" type="checkbox" id="_cb_<inp2:{$prefix}_InputName field="$field"/>" name="_cb_<inp2:{$prefix}_InputName field="$field"/>" <inp2:{$prefix}_Field field="$field" checked="checked" db="db"/> style="<inp2:m_param name="style"/>" onchange="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field="$field"/>'));"> <inp2:m_if check="{$prefix}_HasParam" name="hint_label"><inp2:m_phrase label="$hint_label"/></inp2:m_if> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_edit_categories" style="" no_editing="1" is_last="0"> <inp2:m_include template="platform/elements/categories.elm"/> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td class="field-value"> <inp2:m_if check="{$prefix}_HasError" field="$field"> <span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br /> </inp2:m_if> <select class="input-select" tabindex="<inp2:m_get param="tab_index"/>" id="<inp2:{$prefix}_InputName field="$field"/>_select" style="<inp2:m_param name="style"/>"> <option value="0"><inp2:m_Phrase name="lu_opt_SelectCategory"/></option> <inp2:{$prefix}_CategorySelector render_as="selector_category_element" separator="» "/> </select> <input type="button" class="button" value="<inp2:m_Phrase name="lu_Add"/>" onclick="$ItemCategories.AddCategory('»&nbsp;', $delete_button, <inp2:m_GetConfig name="{$prefix}_MaxCategories"/>);"/><br /> <br /> <table class="item-categories" id="item_categories"> <tbody> <tr> <td colspan="2"> <strong><inp2:m_Phrase name="lu_subsection_Categories"/>:</strong> </td> </tr> <inp2:{$prefix}_PrintMoreCategories render_as="more_category_element" field="$field"/> </tbody> </table> <br/> <inp2:m_RenderElement name="inp_edit_hidden" prefix="$prefix" field="$field"/> <script type="text/javascript"> var $delete_button = ' <input type="button" class="delete-button" value="<inp2:m_Phrase name="lu_btn_Delete"/>" onclick="$ItemCategories.DeleteCategory(#CATEGORY_ID#);"/>'; var $phrases = ['<inp2:m_Phrase name="lu_error_CategoryLimitReached" escape="1"/>', '<inp2:m_Phrase name="lu_error_AlreadyAdded"/>']; var $ItemCategories = new ItemCategories('item_categories', '<inp2:{$prefix}_InputName field="$field"/>', <inp2:m_Get name="m_cat_id"/>, $phrases); </script> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="primary_category"> <inp2:m_param name="separator"/> <inp2:m_param name="title"/> </inp2:m_DefineElement> <inp2:m_DefineElement name="primary_root_category"> <inp2:m_RootCategoryName/> </inp2:m_DefineElement> <inp2:m_DefineElement name="inp_pr_category_label" no_editing="1" is_last="0" editing="0"> <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>"> <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/> <td valign="top" class="field-value"> <inp2:m_if check="m_Param" name="editing"> <inp2:{$prefix}_CategoryName /> <inp2:m_else /> <inp2:c_CategoryPath separator=">" render_as="primary_category" root_cat_render_as="primary_root_category" titles="$titles" /> </inp2:m_if> </td> </tr> <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/> </inp2:m_DefineElement> \ No newline at end of file