Index: branches/5.0.x/core/units/categories/categories_config.php
===================================================================
--- branches/5.0.x/core/units/categories/categories_config.php	(revision 12541)
+++ branches/5.0.x/core/units/categories/categories_config.php	(revision 12542)
@@ -1,474 +1,474 @@
 <?php
 /**
 * @version	$Id$
 * @package	In-Portal
 * @copyright	Copyright (C) 1997 - 2009 Intechnic. All rights reserved.
 * @license      GNU/GPL
 * In-Portal is Open Source software.
 * This means that this software may have been modified pursuant
 * the GNU General Public License, and as distributed it includes
 * or is derivative of works licensed under the GNU General Public License
 * or other free or open source software licenses.
 * See http://www.in-portal.net/license/ for copyright notices and details.
 */
 
 	defined('FULL_PATH') or die('restricted access!');
 
 	$config = Array (
 		'Prefix' => 'c',
 		'ItemClass' => Array ('class' => 'CategoriesItem', 'file' => 'categories_item.php', 'build_event' => 'OnItemBuild'),
 		'ListClass' => Array ('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'),
 		'EventHandlerClass' => Array ('class' => 'CategoriesEventHandler', 'file' => 'categories_event_handler.php', 'build_event' => 'OnBuild'),
 		'TagProcessorClass' => Array ('class' => 'CategoriesTagProcessor', 'file' => 'categories_tag_processor.php', 'build_event' => 'OnBuild'),
 
 		'RegisterClasses' => Array (
 			Array ('pseudo' => 'kPermCacheUpdater', 'class' => 'kPermCacheUpdater', 'file' => 'cache_updater.php', 'build_event' => ''),
 		),
 
 		'ConfigPriority' => 0,
 		'Hooks' => Array (
 		   Array (
 				'Mode' => hAFTER,
 				'Conditional' => false,
 				'HookToPrefix' => 'adm', //self
 				'HookToSpecial' => '*',
 				'HookToEvent' => Array('OnRebuildThemes'),
 				'DoPrefix' => '',
 				'DoSpecial' => '',
 				'DoEvent' => 'OnAfterRebuildThemes',
 			),
 
 			Array (
 				'Mode' => hBEFORE,
 				'Conditional' => false,
 				'HookToPrefix' => '',
 				'HookToSpecial' => '*',
 				'HookToEvent' => Array('OnAfterConfigRead'),
 				'DoPrefix' => 'cdata',
 				'DoSpecial' => '*',
 				'DoEvent' => 'OnDefineCustomFields',
 			),
 		),
 
 		'AutoLoad' => true,
 		'CatalogItem' => true,
 		'AdminTemplatePath' => 'categories',
 		'AdminTemplatePrefix' => 'categories_',
 
 		'QueryString' => Array (
 			1 => 'id',
 			2 => 'Page',
 			3 => 'event',
 			4 => 'mode',
 		),
 
 		'AggregateTags' => Array (
 			Array (
 				'AggregateTo' => 'm',
 				'AggregatedTagName' => 'CategoryLink',
 				'LocalTagName' => 'CategoryLink',
 			),
 		),
 
 		'IDField' => 'CategoryId',
 		'StatusField' => Array ('Status'), // 'Status'
 		'TitleField' => 'Name',
 
 		'TitlePhrase' => 'la_Text_Category',
 		'ItemType' => 1, // used for custom fields only
 
 		'StatisticsInfo' => Array (
 			'pending' => Array (
 				'icon'		=>	'icon16_cat_pending.gif',
 				'label'		=>	'la_tab_Categories',
 				'js_url' 	=>	'#url#',
 				'url'		=>	Array('t' => 'catalog/advanced_view', 'SetTab' => 'c', 'pass' => 'm,c.showall', 'c.showall_event' => 'OnSetFilterPattern', 'c.showall_filters' => 'show_active=0,show_pending=1,show_disabled=0,show_new=1,show_pick=1'),
 				'status'	=>	STATUS_PENDING,
 			),
 		),
 
 		'TableName' => TABLE_PREFIX.'Category',
 
 		'ViewMenuPhrase' => 'la_text_Categories',
-		'CatalogTabIcon' => 'icon16_section.png',
+		'CatalogTabIcon' => 'icon16_sections.png',
 
 		'TitlePresets' => Array (
 			'default' => Array (
 				'new_status_labels' => Array ('c' => '!la_title_Adding_Category!'),
 				'edit_status_labels' => Array ('c' => '!la_title_Editing_Category!'),
 				'new_titlefield' => Array ('c' => '!la_title_New_Category!'),
 			),
 
 			'category_list' => Array ('prefixes' => Array ('c_List'), 'format' => "!la_title_Categories! (#c_recordcount#)"),
 			'catalog' => Array (
 				'prefixes' => Array (), 'format' => "<span id='category_path'>!la_title_Categories!</span>",
 				'toolbar_buttons' => Array ('select', 'cancel', 'upcat', 'homecat', 'new_cat', 'new_link', 'new_article', 'new_topic', 'new_product', 'edit', 'delete', 'new_listing', 'approve', 'decline', 'cut', 'copy', 'paste', 'move_up', 'move_down', 'tools', 'view', 'dbl-click')
 			),
 
 			'advanced_view' => Array (
 				'prefixes' => Array (), 'format' => "!la_title_AdvancedView!",
 				'toolbar_buttons' => Array ('select', 'cancel', 'new_cat', 'new_link', 'new_article', 'new_topic', 'new_product', 'edit', 'delete', 'new_listing', 'approve', 'decline', 'view', 'dbl-click'),
 			),
 			'reviews' => Array (
 				'prefixes' => Array (), 'format' => "!la_title_Reviews!",
 				'toolbar_buttons' => Array ('edit', 'delete', 'approve', 'decline', 'view', 'dbl-click',)
 				),
 
 			'review_edit' => Array ('prefixes' => Array (), 'format' => "!la_title_Editing_Review!"),
 
 			'categories_edit' => Array (
 				'prefixes' => Array ('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_General!",
 
 				),
 
 			'categories_properties' => Array (
 				'prefixes' => Array ('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_Properties!",
 				'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next'),
 				),
 
 			'categories_relations' => Array (
 				'prefixes' => Array ('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_Relations!",
 				'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next', 'new_item', 'edit', 'delete', 'approve', 'decline', 'view', 'dbl-click'),
 				),
 
 			'categories_related_searches' => Array (
 				'prefixes' => Array ('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_RelatedSearches!",
 				'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next', 'new_related_search', 'edit', 'delete', 'move_up', 'move_down', 'approve', 'decline', 'view', 'dbl-click'),
 			),
 
 			'categories_images' => Array (
 				'prefixes' => Array ('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_Images!",
 				'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next', 'new_item', 'edit', 'delete', 'move_up', 'move_down', 'setprimary', 'view', 'dbl-click'),
 				),
 
 			'categories_permissions' => Array (
 				'prefixes' => Array ('c', 'g_List'), 'format' => "#c_status# '#c_titlefield#' - !la_title_Permissions!",
 				'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next'),
 				),
 
 			'categories_custom' => Array ('prefixes' => Array ('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_Custom!"),
 			'categories_update' => Array ('prefixes' => Array (), 'format' => "!la_title_UpdatingCategories!"),
 
 			'images_edit' => Array (
 				'prefixes' => Array ('c', 'c-img'),
 				'new_status_labels' => Array ('c-img' => '!la_title_Adding_Image!'),
 				'edit_status_labels' => Array ('c-img' => '!la_title_Editing_Image!'),
 				'new_titlefield' => Array ('c-img' => ''),
 				'format' => "#c_status# '#c_titlefield#' - #c-img_status# '#c-img_titlefield#'",
 				'toolbar_buttons' => Array ('select', 'cancel'),
 			),
 
 			'relations_edit' => Array (
 				'prefixes' => Array ('c', 'c-rel'),
 				'new_status_labels' => Array ('c-rel' => "!la_title_Adding_Relationship! '!la_title_New_Relationship!'"),
 				'edit_status_labels' => Array ('c-rel' => '!la_title_Editing_Relationship!'),
 				'format' => "#c_status# '#c_titlefield#' - #c-rel_status#",
 				'toolbar_buttons' => Array ('select', 'cancel'),
 			),
 
 			'related_searches_edit' => Array (
 				'prefixes' => Array ('c', 'c-search'),
 				'new_status_labels' => Array ('c-search' => "!la_title_Adding_RelatedSearch_Keyword!"),
 				'edit_status_labels' => Array ('c-search' => '!la_title_Editing_RelatedSearch_Keyword!'),
 				'format' => "#c_status# '#c_titlefield#' - #c-search_status#",
 				'toolbar_buttons' => Array ('select', 'cancel'),
 			),
 
 			'edit_content' => Array ('format' => '!la_EditingContent!'),
 			'tree_site' => Array ('format' => '!la_selecting_categories!'),
 		),
 
 		'EditTabPresets' => Array (
 			'Default' => Array (
 				'general' => Array ('title' => 'la_tab_General', 't' => 'categories/categories_edit', 'priority' => 1),
 				'properties' => Array ('title' => 'la_tab_Properties', 't' => 'categories/categories_edit_properties', 'priority' => 2),
 				'relations' => Array ('title' => 'la_tab_Relations', 't' => 'categories/categories_edit_relations', 'priority' => 3),
 				'related_searches' => Array ('title' => 'la_tab_Related_Searches', 't' => 'categories/categories_edit_related_searches', 'priority' => 4),
 				'images' => Array ('title' => 'la_tab_Images', 't' => 'categories/categories_edit_images', 'priority' => 5),
 				'permissions' => Array ('title' => 'la_tab_Permissions', 't' => 'categories/categories_edit_permissions', 'priority' => 6),
 				'custom' => Array ('title' => 'la_tab_Custom', 't' => 'categories/categories_edit_custom', 'priority' => 7),
 			),
 		),
 
 		'PermItemPrefix' => 'CATEGORY',
 
 		'PermSection' => Array ('main' => 'CATEGORY:in-portal:categories', /*'search' => 'in-portal:configuration_search',*/ 'email' => 'in-portal:configuration_email', 'custom' => 'in-portal:configuration_custom'),
 
 		'Sections' => Array (
 			'in-portal:configure_categories' => Array (
 				'parent'		=>	'in-portal:website_setting_folder',
 				'icon'			=>	'conf_output',
 				'label'			=>	'la_tab_ConfigOutput',
 				'url'			=>	Array ('t' => 'config/config_universal', 'pass_section' => true, 'pass' => 'm'),
 				'permissions'	=>	Array ('view', 'edit'),
 				'priority'		=>	11.1,
 				'type'			=>	stTREE,
 			),
 
 			'in-portal:configuration_search' => Array (
 				'parent'		=>	'in-portal:website_setting_folder',
 				'icon'			=>	'conf_search',
 				'label'			=>	'la_tab_ConfigSearch',
 				'url'			=>	Array ('t' => 'config/config_search', 'module_key' => 'category', 'pass_section' => true, 'pass' => 'm'),
 				'permissions'	=>	Array ('view', 'edit'),
 				'priority'		=>	11.2,
 				'type'			=>	stTREE,
 			),
 
 			'in-portal:configuration_email' => Array (
 				'parent'		=>	'in-portal:website_setting_folder',
 				'icon'			=>	'conf_email',
 				'label'			=>	'la_tab_ConfigE-mail',
 				'url'			=>	Array ('t' => 'config/config_email', 'module' => 'Core:Category', 'pass_section' => true, 'pass' => 'm'),
 				'permissions'	=>	Array ('view', 'edit'),
 				'priority'		=>	11.3,
 				'type'			=>	stTREE,
 			),
 
 			'in-portal:configuration_custom' => Array (
 				'parent'		=>	'in-portal:website_setting_folder',
 				'icon'			=>	'conf_customfields',
 				'label'			=>	'la_tab_ConfigCustom',
 				'url'			=>	Array ('t' => 'custom_fields/custom_fields_list', 'cf_type' => 1, 'pass_section' => true, 'pass' => 'm,cf'),
 				'permissions'	=>	Array ('view', 'add', 'edit', 'delete'),
 				'priority'		=>	11.4,
 				'type'			=>	stTREE,
 			),
 		),
 
 		'FilterMenu' => Array (
 			'Groups' => Array (
 				Array ('mode' => 'AND', 'filters' => Array ('show_active', 'show_pending', 'show_disabled'), 'type' => WHERE_FILTER),
 				Array ('mode' => 'AND', 'filters' => Array ('show_new'), 'type' => HAVING_FILTER),
 				Array ('mode' => 'AND', 'filters' => Array ('show_pick'), 'type' => WHERE_FILTER),
 			),
 			'Filters' => Array (
 				'show_active'	=>	Array ('label' =>'la_Active', 'on_sql' => '', 'off_sql' => 'Status != 1'),
 				'show_pending'	=>	Array ('label' => 'la_Pending', 'on_sql' => '', 'off_sql' => 'Status != 2'),
 				'show_disabled'	=>	Array ('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => 'Status != 0'),
 				's1'			=>	Array (),
 				'show_new'		=>	Array ('label' => 'la_Text_New', 'on_sql' => '', 'off_sql' => '`IsNew` != 1'),
 				'show_pick'		=>	Array ('label' => 'la_prompt_EditorsPick', 'on_sql' => '', 'off_sql' => '`EditorsPick` != 1'),
 			)
 		),
 
 		'ListSQLs' => Array (
 			'' => '	SELECT %1$s.* %2$s
 					FROM %1$s
 					LEFT JOIN '.TABLE_PREFIX.'Images img ON img.ResourceId = %1$s.ResourceId AND img.DefaultImg = 1
 				 	LEFT JOIN '.TABLE_PREFIX.'PermCache ON '.TABLE_PREFIX.'PermCache.CategoryId = %1$s.CategoryId
 				 	LEFT JOIN '.TABLE_PREFIX.'%3$sCategoryCustomData cust ON %1$s.ResourceId = cust.ResourceId'
 		),
 
 		'SubItems' => Array ('c-rel', 'c-search','c-img', 'c-cdata', 'c-perm', 'content'),
 
 		'ListSortings' => Array (
 			'' => Array (
 				'Sorting' => Array ('Priority' => 'desc', 'Name' => 'asc'),
 			)
 		),
 
 		'CalculatedFields' => Array (
 			'' => Array (
 				'CurrentSort'	=>	"REPLACE(ParentPath, CONCAT('|', ".'%1$s'.".CategoryId, '|'), '')",
 
 				'SameImages'	=>	'img.SameImages',
 				'LocalThumb'	=>	'img.LocalThumb',
 				'ThumbPath'		=>	'img.ThumbPath',
 				'ThumbUrl'		=>	'img.ThumbUrl',
 				'LocalImage'	=>	'img.LocalImage',
 				'LocalPath'		=>	'img.LocalPath',
 				'FullUrl'		=>	'img.Url',
 			)
 		),
 
 		'CacheModRewrite' => true,
 
 		'Fields' => Array (
 		    'CategoryId'				=>	Array ('type' => 'int', 'not_null' => 1,'default' => 0),
 		    'Type'						=>	Array ('type' => 'int', 'not_null' => 1,'default' => 0),
 		    'SymLinkCategoryId'			=>	Array ('type' => 'int', 'default' => NULL),
 		    'ParentId'					=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (), 'not_null' => 1,'default' => 0, 'required' => 1),
 		    'Name'						=>	Array ('type' => 'string', 'formatter' => 'kMultiLanguage', 'not_null' => 1, 'required' => 1, 'default' => ''),
 		    'Filename'					=>	Array ('type' => 'string', 'not_null' => 1, 'default' => ''),
 			'AutomaticFilename'			=>	Array ('type' => 'int', 'not_null' => 1, 'default' => 1),
 		    'Description'				=>	Array ('type' => 'string', 'formatter' => 'kMultiLanguage', 'using_fck' => 1, 'default' => null),
 		    'CreatedOn'					=>	Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'default'=>'#NOW#', 'required' => 1, 'not_null' => 1),
 		    'EditorsPick'				=>	Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
 		    'Status'					=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Active', 2 => 'la_Pending', 0 => 'la_Disabled' ), 'use_phrases' => 1, 'not_null' => 1,'default' => 1),
 		    'Priority'					=>	Array ('type' => 'int', 'not_null' => 1, 'formatter' => 'kOptionsFormatter', 'options' => Array (), 'default' => 0),
 		    'MetaKeywords'				=>	Array ('type' => 'string', 'formatter' => 'kFormatter', 'using_fck' => 1, 'default' => null),
 		    'CachedDescendantCatsQty'	=>	Array ('type' => 'int', 'default' => 0),
 		    'CachedNavbar'				=>	Array ('type' => 'string', 'formatter' => 'kMultiLanguage', 'default' => null),
 		    'CreatedById'				=>	Array ('type' => 'int', 'formatter' => 'kLEFTFormatter', 'error_msgs' => Array ('invalid_option' => '!la_error_UserNotFound!'), 'options' => Array (-1 => 'root', -2 => 'Guest'),'left_sql'=>'SELECT %s FROM '.TABLE_PREFIX.'PortalUser WHERE `%s` = \'%s\'', 'left_key_field' => 'PortalUserId', 'left_title_field' => 'Login', 'not_null' => 1,'default' => 0),
 		    'ResourceId'				=>	Array ('type' => 'int', 'default' => null),
 		    'ParentPath'				=>	Array ('type' => 'string', 'default' => null),
 		    'TreeLeft'					=>	Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
 			'TreeRight'					=>	Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
 		    'NamedParentPath'			=>	Array ('type' => 'string', 'default' => null),
 		    'MetaDescription'			=>	Array ('type' => 'string', 'formatter' => 'kFormatter', 'using_fck' => 1, 'default' => null),
 		    'HotItem'					=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (2 => 'la_Auto', 1 => 'la_Always', 0 => 'la_Never'), 'use_phrases' => 1,  'not_null' => 1, 'default' => 2),
 		    'NewItem'					=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (2 => 'la_Auto', 1 => 'la_Always', 0 => 'la_Never'), 'use_phrases' => 1,  'not_null' => 1, 'default' => 2),
 		    'PopItem'					=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (2 => 'la_Auto', 1 => 'la_Always', 0 => 'la_Never'), 'use_phrases' => 1,  'not_null' => 1, 'default' => 2),
 		    'Modified'					=>	Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'not_null' => 1,'default' => '#NOW#'),
 		    'ModifiedById'				=>	Array ('type' => 'int', 'formatter' => 'kLEFTFormatter', 'error_msgs' => Array ('invalid_option' => '!la_error_UserNotFound!'), 'options' => Array (-1 => 'root', -2 => 'Guest'),'left_sql'=>'SELECT %s FROM '.TABLE_PREFIX.'PortalUser WHERE `%s` = \'%s\'', 'left_key_field' => 'PortalUserId', 'left_title_field' => 'Login', 'not_null' => 1,'default' => 0),
 		    'CachedTemplate'			=>	Array ('type' => 'string', 'not_null' => 1, 'default' => ''),
 
 
 		    // fields from Pages
 		    'Template'			=>	Array (
 		    	'type' => 'string',
 		    	'formatter' => 'kOptionsFormatter',
 		    	'options_sql' => '	SELECT	CONCAT(tf.Description, " :: ", FilePath, "/", TRIM(TRAILING ".tpl" FROM FileName) ) AS Title,
 											CONCAT(FilePath, "/", TRIM(TRAILING ".tpl" FROM FileName)) AS Value
 									FROM ' . TABLE_PREFIX . 'ThemeFiles AS tf
 									LEFT JOIN ' . TABLE_PREFIX . 'Theme AS t ON t.ThemeId = tf.ThemeId
 									WHERE (t.Enabled = 1) AND (tf.FileName NOT LIKE "%%.elm.tpl") AND (tf.FileName NOT LIKE "%%.des.tpl") AND (tf.FilePath = "/designs")
 									ORDER BY tf.Description ASC, tf.FileName ASC',
 				'option_key_field' => 'Value', 'option_title_field' => 'Title',
 				'error_msgs' => Array (
 					'no_inherit' => '!la_error_NoInheritancePossible!',
 				),
 				'required' => 1, 'not_null' => 1, 'default' => CATEGORY_TEMPLATE_INHERIT
 			),
 
 			'UseExternalUrl'	=>	Array (
 				'type' => 'int',
 				'formatter' => 'kOptionsFormatter', 'options' => Array (0 => 'la_No', 1 => 'la_Yes'), 'use_phrases' => 1,
 				'not_null' => 1, 'default' => 0
 			),
 			'ExternalUrl'		=>	Array ('type' => 'string', 'max_len' => 255, 'not_null' => 1, 'default' => ''),
 			'UseMenuIconUrl'	=>	Array (
 				'type' => 'int',
 				'formatter' => 'kOptionsFormatter', 'options' => Array (0 => 'la_No', 1 => 'la_Yes'), 'use_phrases' => 1,
 				'not_null' => 1, 'default' => 0
 			),
 			'MenuIconUrl'		=>	Array ('type' => 'string', 'max_len' => 255, 'not_null' => 1, 'default' => ''),
 			'Title'				=>	Array ('type' => 'string', 'formatter' => 'kMultiLanguage', 'default' => '', 'not_null'=>1),
 			'MenuTitle'			=>	Array ('type' => 'string', 'formatter' => 'kMultiLanguage', 'not_null' => 1, 'default' => ''),
 			'MetaTitle'			=>	Array ('type' => 'string', 'default' => null),
 			'IndexTools'		=>	Array ('type' => 'string', 'formatter' => 'kFormatter', 'using_fck' => 1, 'default' => null),
 			'IsIndex'			=>
 				Array (
 					'type' => 'int', 'not_null' => 1, 'default' => 0,
 					'formatter' => 'kOptionsFormatter', 'options' => Array (0 => 'la_Regular', 1 => 'la_CategoryIndex', 2 => 'la_Container'), 'use_phrases' => 1,
 				),
 			'IsMenu'			=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Show', 0 => 'la_Hide'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 1),
 			'IsSystem'			=>	Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_System', 0 => 'la_text_User'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0),
 			'FormId'			=>	Array (
 				'type' => 'int',
 				'formatter' => 'kOptionsFormatter', 'options' => Array ('' => ''),
 				'options_sql' => 'SELECT Title, FormId FROM '.TABLE_PREFIX.'Forms ORDER BY Title',
 				'option_key_field' => 'FormId', 'option_title_field' => 'Title',
 				'default' => 0
 			),
 			'FormSubmittedTemplate'	=>	Array ('type' => 'string', 'default' => null),
 			'Translated'		=>	Array ('type' => 'int', 'formatter' => 'kMultiLanguage', 'not_null' => 1, 'default' => 0, 'db_type' => 'tinyint', 'index_type' => 'int'),
 			'FriendlyURL'		=>	Array ('type' => 'string', 'not_null' => 1, 'default' => ''),
 			'ThemeId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
 		),
 
 		'VirtualFields' => Array (
 			'CurrentSort'	=>	Array('type' => 'string', 'default' => ''),
 			'IsNew'			=>	Array('type' => 'int', 'default' => 0),
 			'OldPriority'	=>	Array('type' => 'int', 'default' => 0),
 
 			// for primary image
 			'SameImages'	=>	Array('type' => 'string', 'default' => ''),
 			'LocalThumb'	=>	Array('type' => 'string', 'default' => ''),
 			'ThumbPath'		=>	Array('type' => 'string', 'default' => ''),
 			'ThumbUrl'		=>	Array('type' => 'string', 'default' => ''),
 			'LocalImage'	=>	Array('type' => 'string', 'default' => ''),
 			'LocalPath'		=>	Array('type' => 'string', 'default' => ''),
 			'FullUrl'		=>	Array('type' => 'string', 'default' => ''),
 		),
 
 		'Grids'	=> Array(
 			'Default' => Array (
 				'Icons' => Array( // 'StatusField' => Array ('IsSystem', 'Status', 'IsMenu'), // 'Status'
 					'default' => 'icon_section.png',
 					'1_0_0' => 'icon16_section_system.png', // system
 					'1_0_1' => 'icon16_section_system.png', // system
 					'1_1_1' => 'icon16_section_system.png', // system
 					'0_0_0' => 'icon16_section_disabled.png', // disabled
 					'0_0_1' => 'icon16_section_disabled.png', // disabled
 					'0_1_0' => 'icon16_section_menuhidden.png', // hidden from menu
 					'0_2_0' => 'icon16_section_pending.png', // pending
 					'0_2_1' => 'icon16_section_pending.png', // pending
 					'NEW' => 'icon16_section_new.png', // section is new
 				),
 				'Fields' => Array(
 					'CategoryId' => Array( 'title'=>'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 60),
 					'Name' => Array( 'title'=>'la_col_PageTitle', 'data_block' => 'page_browse_td', 'filter_block' => 'grid_like_filter', 'width' => 250),
 					'Priority' => Array( 'title'=>'la_col_Priority', 'filter_block' => 'grid_options_filter', 'width' => 60),
 					'IsMenu' => Array( 'title'=>'la_col_InMenu', 'filter_block' => 'grid_options_filter', 'width' => 75),
 					'Modified' => Array( 'title'=>'la_col_Modified', 'filter_block' => 'grid_date_range_filter', 'width' => 150),
 					'Template' => Array( 'title'=>'la_col_TemplateType', 'filter_block' => 'grid_options_filter', 'width' => 220),
 
 					'IsSystem' => Array( 'title'=>'la_col_System', 'filter_block' => 'grid_options_filter', 'width' => 80),
 
 				),
 			),
 
 			'Radio' => Array (
 				'Selector' => 'radio',
 				'Icons' => Array( // 'StatusField' => Array ('IsSystem', 'Status', 'IsMenu'), // 'Status'
 					'default' => 'icon_section.png',
 					'1_0_0' => 'icon16_section_system.png', // system
 					'1_0_1' => 'icon16_section_system.png', // system
 					'1_1_1' => 'icon16_section_system.png', // system
 					'0_0_0' => 'icon16_section_disabled.png', // disabled
 					'0_0_1' => 'icon16_section_disabled.png', // disabled
 					'0_1_0' => 'icon16_section_menuhidden.png', // hidden from menu
 					'0_2_0' => 'icon16_section_pending.png', // pending
 					'0_2_1' => 'icon16_section_pending.png', // pending
 					'NEW' => 'icon16_section_new.png', // section is new
 				),
 				'Fields' => Array(
 					'CategoryId' => Array( 'title'=>'la_col_Id', 'data_block' => 'grid_radio_td', 'filter_block' => 'grid_range_filter', 'width' => 60),
 					'Name' => Array( 'title'=>'la_col_PageTitle', 'data_block' => 'page_browse_td', 'filter_block' => 'grid_like_filter', 'width' => 250),
 					'Priority' => Array( 'title'=>'la_col_Priority', 'filter_block' => 'grid_options_filter', 'width' => 60),
 					'IsMenu' => Array( 'title'=>'la_col_InMenu', 'filter_block' => 'grid_options_filter', 'width' => 75),
 					'Modified' => Array( 'title'=>'la_col_Modified', 'filter_block' => 'grid_date_range_filter', 'width' => 150),
 					'Template' => Array( 'title'=>'la_col_TemplateType', 'filter_block' => 'grid_options_filter', 'width' => 220),
 
 					'IsSystem' => Array( 'title'=>'la_col_System', 'filter_block' => 'grid_options_filter', 'width' => 80),
 				),
 			),
 
 			'Structure' => Array (
 				'Icons' => Array( // 'StatusField' => Array ('IsSystem', 'Status', 'IsMenu'), // 'Status'
 					'default' => 'icon_section.png',
 					'1_0_0' => 'icon16_section_system.png', // system
 					'1_0_1' => 'icon16_section_system.png', // system
 					'1_1_1' => 'icon16_section_system.png', // system
 					'0_0_0' => 'icon16_section_disabled.png', // disabled
 					'0_0_1' => 'icon16_section_disabled.png', // disabled
 					'0_1_0' => 'icon16_section_menuhidden.png', // hidden from menu
 					'0_2_0' => 'icon16_section_pending.png', // pending
 					'0_2_1' => 'icon16_section_pending.png', // pending
 					'NEW' => 'icon16_section_new.png', // section is new
 				),
 				'Fields' => Array(
 					'CategoryId' => Array( 'title'=>'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 60),
 					'Name' => Array( 'title'=>'la_col_PageTitle', 'data_block' => 'page_browse_td', 'filter_block' => 'grid_like_filter', 'width' => 250),
 					'Priority' => Array( 'title'=>'la_col_Priority', 'filter_block' => 'grid_options_filter', 'width' => 60),
 					'IsMenu' => Array( 'title'=>'la_col_InMenu', 'filter_block' => 'grid_options_filter', 'width' => 75),
 					'Path' => Array( 'title'=>'la_col_Path', 'data_block' => 'page_entercat_td', 'filter_block' => 'grid_like_filter', 'width' => 150),
 					'Modified' => Array( 'title'=>'la_col_Modified', 'filter_block' => 'grid_date_range_filter', 'width' => 150),
 					'Template' => Array( 'title'=>'la_col_TemplateType', 'filter_block' => 'grid_options_filter', 'width' => 220),
 
 					'IsSystem' => Array( 'title'=>'la_col_System', 'filter_block' => 'grid_options_filter', 'width' => 80),
 				),
 			),
 		),
 
 		'ConfigMapping' => Array (
 			'PerPage'				=>	'Perpage_Category',
 			'ShortListPerPage'		=>	'Perpage_Category_Short',
 			'DefaultSorting1Field'	=>	'Category_Sortfield',
 			'DefaultSorting2Field'	=>	'Category_Sortfield2',
 			'DefaultSorting1Dir'	=>	'Category_Sortorder',
 			'DefaultSorting2Dir'	=>	'Category_Sortorder2',
 		),
 	);
\ No newline at end of file
Index: branches/5.0.x/core/units/statistics/statistics_config.php
===================================================================
--- branches/5.0.x/core/units/statistics/statistics_config.php	(revision 12541)
+++ branches/5.0.x/core/units/statistics/statistics_config.php	(revision 12542)
@@ -1,77 +1,77 @@
 <?php
 /**
 * @version	$Id$
 * @package	In-Portal
 * @copyright	Copyright (C) 1997 - 2009 Intechnic. All rights reserved.
 * @license      GNU/GPL
 * In-Portal is Open Source software.
 * This means that this software may have been modified pursuant
 * the GNU General Public License, and as distributed it includes
 * or is derivative of works licensed under the GNU General Public License
 * or other free or open source software licenses.
 * See http://www.in-portal.net/license/ for copyright notices and details.
 */
 
 defined('FULL_PATH') or die('restricted access!');
 
 	$config =	Array(
 					'Prefix'			=>	'stat',
 					'ItemClass'			=>	Array('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'),
 					'ListClass'			=>	Array('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'),
 					'EventHandlerClass'	=>	Array('class' => 'StatisticsEventHandler', 'file' => 'statistics_event_handler.php', 'build_event' => 'OnBuild'),
 					'TagProcessorClass' =>	Array('class' => 'StatisticsTagProcessor', 'file' => 'statistics_tag_processor.php', 'build_event' => 'OnBuild'),
 
 					'AutoLoad'			=>	true,
 
 					'QueryString'		=>	Array(
 												1	=>	'id',
 												2	=>	'page',
 												3	=>	'event',
 												4	=>	'mode',
 											),
 
 					'IDField' 			=>	'StatItemId',
 
 					'TitleField'		=>	'ListLabel',
 
 					'TitlePresets'		=>	Array(
 												'statistics_list'		=>	Array('prefixes' => Array('stat_List'), 'format' => "!la_title_Statistics!"),
 											),
 
 					'TableName'			=>	TABLE_PREFIX.'StatItem',
 
 					'ListSQLs'			=>	Array(''	=>	'SELECT %1$s.* %2$s FROM %1$s'),
 					'ItemSQLs'			=>	Array(''	=>	'SELECT %1$s.* %2$s FROM %1$s'),
 
 					'ListSortings'	=> 	Array(
 																'' => Array(
 																	'Sorting' => Array('Priority' => 'asc'),
 																)
 															),
 
 					'Fields' => Array(
 								        'StatItemId' => Array('type' => 'int', 'not_null' => 1, 'default' => 0),
 							            'Module' => Array('type' => 'string','not_null' => '1','default' => ''),
 							            'ValueSQL' => Array('type' => 'string','default' => null),
 							            'ResetSQL' => Array('type' => 'string','default' => null),
 							            'ListLabel' => Array('type' => 'string','not_null' => 1, 'default' => ''),
 							            'Priority' => Array('type' => 'int','not_null' => 1, 'default' => 0),
 							            'AdminSummary' => Array('type' => 'int','not_null' => 1, 'default' => 0),
 							    ),
 
 
 
 					'Grids'	=> Array(
 										'Default'	=>	Array(
-																'Icons' => Array('default' => 'icon16_custom.gif'),
+																'Icons' => Array('default' => 'icon16_item.png'),
 																'Fields' => Array(
 																					'Login'			=> Array('title' => 'la_col_Username', 'data_block' => 'grid_checkbox_td'),
 																					'LastName'		=> Array( 'title'=>'la_col_LastName'),
 																					'FirstName'		=> Array( 'title'=>'la_col_FirstName'),
 																			),
 														),
 
 
 								),
 
 	);
\ No newline at end of file
Index: branches/5.0.x/core/units/related_searches/related_searches_config.php
===================================================================
--- branches/5.0.x/core/units/related_searches/related_searches_config.php	(revision 12541)
+++ branches/5.0.x/core/units/related_searches/related_searches_config.php	(revision 12542)
@@ -1,98 +1,102 @@
 <?php
 /**
 * @version	$Id$
 * @package	In-Portal
 * @copyright	Copyright (C) 1997 - 2009 Intechnic. All rights reserved.
 * @license      GNU/GPL
 * In-Portal is Open Source software.
 * This means that this software may have been modified pursuant
 * the GNU General Public License, and as distributed it includes
 * or is derivative of works licensed under the GNU General Public License
 * or other free or open source software licenses.
 * See http://www.in-portal.net/license/ for copyright notices and details.
 */
 
 defined('FULL_PATH') or die('restricted access!');
 
 	$config =	Array(
 					'Prefix'			=>	'search',
 
 					'Clones'			=>	Array(
 												'c-search'	=>	Array('ParentPrefix'	=>	'c'),
 												/*'l-rel'	=>	Array('ParentPrefix'	=>	'l'),
 												'n-rel'	=>	Array('ParentPrefix'	=>	'n'),
 												'bb-rel'=>	Array('ParentPrefix'	=>	'bb'),
 												'p-rel'	=>	Array('ParentPrefix'	=>	'p'),
 												'cms-rel'=>	Array('ParentPrefix'	=>	'cms'),*/
 											),
 
 					'ItemClass'			=>	Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'),
 					'ListClass'			=>	Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'),
 					'EventHandlerClass'	=>	Array('class'=>'RelatedSearchEventHandler','file'=>'related_searches_event_handler.php','build_event'=>'OnBuild'),
 					'TagProcessorClass' =>	Array('class'=>'RelatedSearchTagProcessor','file'=>'related_searches_tag_processor.php','build_event'=>'OnBuild'),
 					'AutoLoad'			=>	true,
 
 					'QueryString'		=>	Array(
 												1	=>	'id',
 												2	=>	'page',
 												3	=>	'event',
 											),
 					'IDField'			=>	'RelatedSearchId',
 					'StatusField'		=>	Array('Enabled'),
 					'TableName'			=>	TABLE_PREFIX.'RelatedSearches',
 					'ParentTableKey'	=>	'ResourceId',
 					'ForeignKey'		=>	'ResourceId',
 					'ParentPrefix'		=> 	'c',
 					'AutoDelete'		=>	true,
 					'AutoClone'			=> 	true,
 
 					'FilterMenu'		=>	Array(
 												'Groups' => Array(
 													Array('mode' => 'AND', 'filters' => Array('show_active','show_disabled'), 'type' => WHERE_FILTER),
 												),
 												'Filters' => Array(
 													'show_active'	=>	Array('label' =>'la_Active', 'on_sql' => '', 'off_sql' => 'Enabled != 1' ),
 													'show_disabled'	=>	Array('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => 'Enabled != 0'  ),
 												)
 											),
 
 					'CalculatedFields'	=>	Array(
 												''	=>	Array(
 
 														),
 											),
 
 					'ListSQLs'			=>	Array(	''=>	'SELECT %1$s.* %2$s FROM %1$s',
 											), // key - special, value - list select sql
 
 					'ListSortings'	=> 	Array(
 																'' => Array(
 																	'ForcedSorting' => Array('Priority' => 'desc'),
 																	'Sorting' => Array('Keyword' => 'asc'),
 																)
 															),
 					'ItemSQLs'			=>	Array(	'' => 'SELECT %1$s.* %2$s FROM %1$s',),
 
 					'Fields'			=>	Array(
 											    'RelatedSearchId'	=>	Array('type' => 'int', 'not_null' => 1, 'default' => 0),
 												'ResourceId'		=>	Array('type'=>'int', 'not_null' => 1, 'required' => 1, 'default' => 0),
 												'Keyword'			=>	Array('type'=>'string', 'required' => 1, 'not_null' => 1, 'default' => ''),
 												'ItemType'			=>	Array('type'=>'int', 'not_null' => 1, 'required' => 1, 'default' => 0),
 												'Enabled'			=>	Array('type'=>'int','formatter'=>'kOptionsFormatter','options'=>Array(0=>'la_Disabled',1=>'la_Enabled'),'not_null'=>1,'default'=>1,'use_phrases'=>1),
 												'Priority'			=>	Array('type'=>'int','not_null'=>1,'default'=>0),
 											),
 					'VirtualFields'	=> 	Array(
 
 										),
 
 					'Grids'	=> Array(
 								'Default'		=>	Array(
-									'Icons' => Array('default'=>'icon16_custom.gif','1_0'=>'icon16_relation_one-way.gif','0_0'=>'icon16_relation_one-way_disabled.gif','1_1'=>'icon16_relation_reciprocal.gif','0_1'=>'icon16_relation_reciprocal_disabled.gif'),	// icons for each StatusField values, if no matches or no statusfield selected, then "default" icon is used
+									'Icons' => Array(
+										'default' => 'icon16_item.png',
+										0 => 'icon16_disabled.png',
+										1 => 'icon16_item.png'
+									),
 									'Fields' => Array(
 										'RelatedSearchId' => Array( 'title'=>'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter'),
 										'Keyword' => Array( 'title'=>'la_col_Keyword', 'data_block' => 'grid_keyword_td', 'filter_block' => 'grid_like_filter'),
 										'Enabled' => Array( 'title'=>'la_col_Status', 'filter_block' => 'grid_options_filter'),
 									),
 								),
 					),
 	);
\ No newline at end of file
Index: branches/5.0.x/core/units/admin/admin_events_handler.php
===================================================================
--- branches/5.0.x/core/units/admin/admin_events_handler.php	(revision 12541)
+++ branches/5.0.x/core/units/admin/admin_events_handler.php	(revision 12542)
@@ -1,1201 +1,1201 @@
 <?php
 /**
 * @version	$Id$
 * @package	In-Portal
 * @copyright	Copyright (C) 1997 - 2009 Intechnic. All rights reserved.
 * @license      GNU/GPL
 * In-Portal is Open Source software.
 * This means that this software may have been modified pursuant
 * the GNU General Public License, and as distributed it includes
 * or is derivative of works licensed under the GNU General Public License
 * or other free or open source software licenses.
 * See http://www.in-portal.net/license/ for copyright notices and details.
 */
 
 defined('FULL_PATH') or die('restricted access!');
 
 class AdminEventsHandler extends kDBEventHandler {
 
 	function mapPermissions()
 	{
 		parent::mapPermissions();
 		$permissions = Array(
 			'OnSaveColumns'		=>	array('self' => true),
 			'OnClosePopup'		=>	array('self' => true),
 			'OnSaveSetting'		=>	array('self' => true),
 			// export/import permissions is checked within events
 			'OnExportCSV'		=>	Array('self' => true),
 			'OnGetCSV'			=>	Array('self' => true),
 			'OnCSVImportBegin'	=>	Array('self' => true),
 			'OnCSVImportStep'	=>	Array('self' => true),
 			'OnDropTempTablesByWID' => Array('self' => true),
 		);
 		$this->permMapping = array_merge($this->permMapping, $permissions);
 	}
 
 	/**
 	 * Checks permissions of user
 	 *
 	 * @param kEvent $event
 	 */
 	function CheckPermission(&$event)
 	{
 		$system_events = Array (
 			'OnResetModRwCache', 'OnResetCMSMenuCache', 'OnResetSections',
 			'OnResetConfigsCache', 'OnCompileTemplates', 'OnGenerateTableStructure',
 			'OnRebuildThemes', 'OnCheckPrefixConfig',
 		);
 
 		if ($this->Application->isDebugMode(false) && in_array($event->Name, $system_events)) {
 			return true;
 		}
 
 		$tools_events = Array (
 			'OnBackup' => 'in-portal:backup.view',
 			'OnBackupProgress' => 'in-portal:backup.view',
 			'OnDeleteBackup' => 'in-portal:backup.view',
 			'OnBackupCancel' => 'in-portal:backup.view',
 
 			'OnRestore' => 'in-portal:restore.view',
 			'OnRestoreProgress' => 'in-portal:restore.view',
 			'OnRestoreCancel' => 'in-portal:backup.view',
 
 			'OnSqlQuery' => 'in-portal:sql_query.view',
 		);
 
 		if (array_key_exists($event->Name, $tools_events)) {
 			return $this->Application->CheckPermission($tools_events[$event->Name]);
 		}
 
 		if ($event->Name == 'OnSaveMenuFrameWidth') {
 			if (!$this->Application->IsAdmin() || !$this->Application->LoggedIn()) {
 				return false;
 			}
 
 			return true;
 		}
 
 		return parent::CheckPermission($event);
 	}
 
 	/**
 	 * Enter description here...
 	 *
 	 * @param kEvent $event
 	 */
 	function OnResetModRwCache(&$event)
 	{
 		if ($this->Application->GetVar('ajax') == 'yes') {
 			$event->status = erSTOP;
 		}
 
 		$this->Conn->Query('DELETE FROM '.TABLE_PREFIX.'Cache WHERE VarName LIKE "mod_rw%"');
 	}
 
 	function OnResetCMSMenuCache(&$event)
 	{
 		if ($this->Application->GetVar('ajax') == 'yes') {
 			$event->status = erSTOP;
 		}
 
 		$this->Conn->Query('DELETE FROM '.TABLE_PREFIX.'Cache WHERE VarName IN ("cms_menu", "StructureTree")');
 	}
 
 	function OnResetSections(&$event)
 	{
 		if ($this->Application->GetVar('ajax') == 'yes') {
 			$event->status = erSTOP;
 		}
 
 		$sql = 'DELETE FROM ' . TABLE_PREFIX . 'Cache
 				WHERE VarName = "sections_parsed"';
 		$this->Conn->Query($sql);
 
 		if (isset($this->Application->Memcached)) {
 			$this->Application->Memcached->delete('master:sections_parsed');
 		}
 
 		$event->SetRedirectParam('refresh_tree', 1);
 	}
 
 	function OnResetConfigsCache(&$event)
 	{
 		if ($this->Application->GetVar('ajax') == 'yes') {
 			$event->status = erSTOP;
 		}
 
 		$sql = 'DELETE FROM ' . TABLE_PREFIX . 'Cache
 				WHERE VarName IN("config_files", "configs_parsed", "sections_parsed")';
 		$this->Conn->Query($sql);
 
 		if (isset($this->Application->Memcached)) {
 			$this->Application->Memcached->delete('master:config_files');
 			$this->Application->Memcached->delete('master:configs_parsed');
 			$this->Application->Memcached->delete('master:sections_parsed');
 		}
 
 		$event->SetRedirectParam('refresh_tree', 1);
 	}
 
 	function OnCompileTemplates(&$event)
 	{
 		$compiler =& $this->Application->recallObject('NParserCompiler');
 		/* @var $compiler NParserCompiler */
 
 		$compiler->CompileTemplatesStep();
 		$event->status = erSTOP;
 	}
 
 	/**
 	 * Generates sturcture for specified table
 	 *
 	 * @param kEvent $event
 	 * @author Alex
 	 */
 	function OnGenerateTableStructure(&$event)
 	{
 		$types_hash = Array(
 			'string'	=>	'varchar|text|mediumtext|longtext|date|datetime|time|timestamp|char|year|enum|set',
 			'int'		=>	'smallint|mediumint|int|bigint|tinyint',
 			'float'		=>	'float|double|decimal',
 		);
 
 		$table_name = $this->Application->GetVar('table_name');
 		if (!$table_name) {
 			echo 'error: no table name specified';
 			return ;
 		}
 
 		if (TABLE_PREFIX && !preg_match('/^'.preg_quote(TABLE_PREFIX, '/').'(.*)/', $table_name) && (strtolower($table_name) != $table_name)) {
 			// table name without prefix, then add it (don't affect K3 tables named in lowercase)
 			$table_name = TABLE_PREFIX.$table_name;
 		}
 
 		if (!$this->Conn->TableFound($table_name)) {
 			// table with prefix doesn't exist, assume that just config prefix passed -> resolve table name from it
 			$prefix = preg_replace('/^' . preg_quote(TABLE_PREFIX, '/') . '/', '', $table_name);
 			if ($this->Application->prefixRegistred($prefix)) {
 				// when prefix is found -> use it's table (don't affect K3 tables named in lowecase)
 				$table_name = $this->Application->getUnitOption($prefix, 'TableName');
 			}
 		}
 
 		$table_info = $this->Conn->Query('DESCRIBE '.$table_name);
 
 		// 1. prepare config keys
 		$grids = Array (
 			'Default' => Array (
-				'Icons' => Array ('default' => 'icon16_custom.gif'),
+				'Icons' => Array ('default' => 'icon16_item.png'),
 				'Fields' => Array (),
 			)
 		);
 
 		$grid_fields = Array();
 
 		$id_field = '';
 		$fields = Array();
 		$float_types = Array ('float', 'double', 'numeric');
 		foreach ($table_info as $field_info) {
 			if (preg_match('/l[\d]+_.*/', $field_info['Field'])) {
 				// don't put multilingual fields in config
 				continue;
 			}
 
 			$field_options = Array ();
 			$grid_col_options = Array(
 				'title' => 'la_col_' . $field_info['Field'],
 				'filter_block' => 'grid_like_filter',
 			);
 
 			// 1. get php field type by mysql field type
 			foreach ($types_hash as $php_type => $db_types) {
 				if (preg_match('/'.$db_types.'/', $field_info['Type'])) {
 					$field_options['type'] = $php_type;
 					break;
 				}
 			}
 
 			$default_value = $field_info['Default'];
 			if (in_array($php_type, $float_types)) {
 				// this is float number
 				if (preg_match('/'.$db_types.'\([\d]+,([\d]+)\)/i', $field_info['Type'], $regs)) {
 					// size is described in structure -> add formatter
 					$field_options['formatter'] = 'kFormatter';
 					$field_options['format'] = '%01.'.$regs[1].'f';
 					if ($field_info['Null'] != 'YES') {
 						// null fields, will most likely have NULL as default value
 						$default_value = 0;
 					}
 				}
 				else {
 					// no size information, just convert to float
 					if ($field_info['Null'] != 'YES') {
 						// null fields, will most likely have NULL as default value
 						$default_value = (float)$default_value;
 					}
 				}
 			}
 
 			if (preg_match('/varchar\(([\d]+)\)/i', $field_info['Type'], $regs)) {
 				$field_options['max_len'] = (int)$regs[1];
 			}
 
 			if ($field_info['Null'] != 'YES') {
 				$field_options['not_null'] = 1;
 			}
 
 			if ($field_info['Key'] == 'PRI') {
 				$default_value = 0;
 				$id_field = $field_info['Field'];
 			}
 
 			if ($php_type == 'int' && ($field_info['Null'] != 'YES' || is_numeric($default_value))) {
 				// is integer field AND not null
 				$field_options['default'] = (int)$default_value;
 			}
 			else {
 				$field_options['default'] = $default_value;
 			}
 
 			$fields[ $field_info['Field'] ] = $this->transformDump($field_options);
 			$grids_fields[ $field_info['Field'] ] = $this->transformDump($grid_col_options);
 		}
 
 		$grids['Default']['Fields'] = $grids_fields;
 
 		$ret = "'IDField' => '".$id_field."',\n'Fields' => A".substr(stripslashes(var_export($fields, true)), 1).',';
 		$ret .= "\n"."'Grids' => ".stripslashes(var_export($grids, true));
 
 		$ret = str_replace('array (', 'Array (', $ret);
 		$ret = preg_replace("/'(.*?)' => 'Array \((.*?), \)',/", "'\\1' => Array (\\2),", $ret);
 		$ret = preg_replace("/\n  '/", "\n\t'", $ret);
 
 		$this->Application->InitParser();
 		ob_start();
 		echo $this->Application->ParseBlock(Array('name' => 'incs/header', 'body_properties' => 'style="background-color: #E7E7E7; margin: 8px;"'));
 	?>
 		<script type="text/javascript">
 			set_window_title('Table "<?php echo $table_name; ?>" Structure');
 		</script>
 
 		<a href="javascript:window_close();">Close Window</a><br /><br />
 		<?php echo $GLOBALS['debugger']->highlightString($ret); ?>
 		<br /><br /><a href="javascript:window_close();">Close Window</a><br />
 	<?php
 		echo $this->Application->ParseBlock(Array('name' => 'incs/footer'));
 		echo ob_get_clean();
 		$event->status = erSTOP;
 	}
 
 	function transformDump($dump)
 	{
 		if (is_array($dump)) {
 			$dump = var_export($dump, true);
 		}
 
 		$dump = preg_replace("/,\n[ ]*/", ', ', $dump);
 		$dump = preg_replace("/array \(\n[ ]*/", 'Array (', $dump); // replace array start
 		$dump = preg_replace("/,\n[ ]*\),/", "),", $dump); // replace array end
 
 		return $dump;
 	}
 
 	/**
 	 * Refreshes ThemeFiles & Theme tables by actual content on HDD
 	 *
 	 * @param kEvent $event
 	 */
 	function OnRebuildThemes(&$event)
 	{
 		if ($this->Application->GetVar('ajax') == 'yes') {
 			$event->status = erSTOP;
 		}
 
 		$themes_helper =& $this->Application->recallObject('ThemesHelper');
 		/* @var $themes_helper kThemesHelper */
 
 		$themes_helper->refreshThemes();
 	}
 
 	function OnSaveColumns(&$event)
 	{
 		$picker_helper =& $this->Application->recallObject('ColumnPickerHelper');
 		/* @var $picker_helper kColumnPickerHelper */
 
 		$picker_helper->SetGridName($this->Application->GetLinkedVar('grid_name'));
 
 		$picked = trim($this->Application->GetVar('picked_str'), '|');
 		$hidden = trim($this->Application->GetVar('hidden_str'), '|');
 
 		$main_prefix = $this->Application->GetVar('main_prefix');
 
 		$picker_helper->SaveColumns($main_prefix, $picked, $hidden);
 		$this->finalizePopup($event);
 	}
 
 	/**
 	 * Saves various admin settings via ajax
 	 *
 	 * @param kEvent $event
 	 */
 	function OnSaveSetting(&$event)
 	{
 		if ($this->Application->GetVar('ajax') != 'yes') {
 			return ;
 		}
 
 		$var_name = $this->Application->GetVar('var_name');
 		$var_value = $this->Application->GetVar('var_value');
 
 		$this->Application->StorePersistentVar($var_name, $var_value);
 
 		$event->status = erSTOP;
 	}
 
 	/**
 	 * Just closes popup & deletes last_template & opener_stack if popup, that is closing
 	 *
 	 * @param kEvent $event
 	 */
 	function OnClosePopup(&$event)
 	{
 		$event->SetRedirectParam('opener', 'u');
 	}
 
 	/**
 	 * Occurs right after initialization of the kernel, used mainly as hook-to event
 	 *
 	 * @param kEvent $event
 	 */
 	function OnStartup(&$event)
 	{
 
 	}
 
 	/**
 	 * Occurs right before echoing the output, in Done method of application, used mainly as hook-to event
 	 *
 	 * @param kEvent $event
 	 */
 	function OnBeforeShutdown(&$event)
 	{
 	}
 
 	/**
 	 * Is called after tree was build (when not from cache)
 	 *
 	 * @param kEvent $event
 	 */
 	function OnAfterBuildTree(&$event)
 	{
 
 	}
 
 	/**
 	 * Called by AJAX to perform CSV export
 	 *
 	 * @param kEvent $event
 	 */
 	function OnExportCSV(&$event)
 	{
 		$export_helper =& $this->Application->recallObject('CSVHelper');
 		/* @var $export_helper kCSVHelper */
 
 		$prefix_special = $this->Application->GetVar('PrefixSpecial');
 		if(!$prefix_special) {
 			$prefix_special = $export_helper->ExportData('prefix');
 		}
 		$prefix_elems = split('\.|_', $prefix_special, 2);
 		$perm_sections = $this->Application->getUnitOption($prefix_elems[0], 'PermSection');
 		if(!$this->Application->CheckPermission($perm_sections['main'].'.view')) {
 			$this->Application->Redirect('no_permission');
 		}
 
 		$export_helper->PrefixSpecial = $prefix_special;
 		$export_helper->grid = $this->Application->GetVar('grid');
 		$export_helper->ExportStep();
 		$event->status = erSTOP;
 	}
 
 	/**
 	 * Returning created by AJAX CSV file
 	 *
 	 * @param kEvent $event
 	 */
 	function OnGetCSV(&$event)
 	{
 		$export_helper =& $this->Application->recallObject('CSVHelper');
 		/* @var $export_helper kCSVHelper */
 
 		$prefix_special = $export_helper->ExportData('prefix');
 		$prefix_elems = split('\.|_', $prefix_special, 2);
 		$perm_sections = $this->Application->getUnitOption($prefix_elems[0], 'PermSection');
 
 		if(!$this->Application->CheckPermission($perm_sections['main'].'.view')) {
 			$this->Application->Redirect('no_permission');
 		}
 
 		$export_helper->GetCSV();
 	}
 
 	/**
 	 * Enter description here...
 	 *
 	 * @param kEvent $event
 	 */
 	function OnCSVImportBegin(&$event)
 	{
 		$prefix_special = $this->Application->GetVar('PrefixSpecial');
 		$prefix_elems = split('\.|_', $prefix_special, 2);
 		$perm_sections = $this->Application->getUnitOption($prefix_elems[0], 'PermSection');
 
 		if(!$this->Application->CheckPermission($perm_sections['main'].'.add') && !$this->Application->CheckPermission($perm_sections['main'].'.edit')) {
 			$this->Application->Redirect('no_permission');
 		}
 
 		$object =& $event->getObject( Array('skip_autoload' => true) );
 		/* @var $object kDBItem */
 		$items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) );
 		$field_values = array_shift($items_info);
 		$object->SetFieldsFromHash($field_values);
 
 		$event->redirect = false;
 		$result = 'required';
 		if($object->GetDBField('ImportFile')) {
 			$import_helper =& $this->Application->recallObject('CSVHelper');
 			/* @var $import_helper kCSVHelper */
 			$import_helper->PrefixSpecial = $this->Application->GetVar('PrefixSpecial');
 			$import_helper->grid = $this->Application->GetVar('grid');
 			$result = $import_helper->ImportStart( $object->GetField('ImportFile', 'file_paths') );
 			if($result === true) {
 				$event->redirect = $this->Application->GetVar('next_template');
 				$event->SetRedirectParam('PrefixSpecial', $this->Application->GetVar('PrefixSpecial'));
 				$event->SetRedirectParam('grid', $this->Application->GetVar('grid'));
 			}
 		}
 
 		if($event->redirect === false) {
 			$object->SetError('ImportFile', $result);
 			$event->status = erFAIL;
 		}
 	}
 
 	/**
 	 * Enter description here...
 	 *
 	 * @param kEvent $event
 	 */
 	function OnCSVImportStep(&$event)
 	{
 		$import_helper =& $this->Application->recallObject('CSVHelper');
 		/* @var $export_helper kCSVHelper */
 
 		$prefix_special = $import_helper->ImportData('prefix');
 		$prefix_elems = split('\.|_', $prefix_special, 2);
 		$perm_sections = $this->Application->getUnitOption($prefix_elems[0], 'PermSection');
 		if(!$this->Application->CheckPermission($perm_sections['main'].'.add') && !$this->Application->CheckPermission($perm_sections['main'].'.edit')) {
 			$this->Application->Redirect('no_permission');
 		}
 
 		$import_helper->ImportStep();
 		$event->status = erSTOP;
 	}
 
 	/**
 	 * Shows unit config filename, where requested prefix is defined
 	 *
 	 * @param kEvent $event
 	 */
 	function OnCheckPrefixConfig(&$event)
 	{
 		$prefix = $this->Application->GetVar('config_prefix');
 		$config_file = $this->Application->UnitConfigReader->prefixFiles[$prefix];
 
 		$this->Application->InitParser();
 
 		ob_start();
 		echo $this->Application->ParseBlock(Array('name' => 'incs/header', 'body_properties' => 'style="background-color: #E7E7E7; margin: 8px;"'));
 		?>
 		<script type="text/javascript">
 			set_window_title('Unit Config of "<?php echo $prefix; ?>" prefix');
 		</script>
 
 		<a href="javascript:window_close();">Close Window</a><br /><br />
 		<strong>Prefix:</strong> <?php echo $prefix; ?><br />
 		<strong>Unit Config:</strong> <?php echo $GLOBALS['debugger']->highlightString($config_file); ?><br />
 		<br /><a href="javascript:window_close();">Close Window</a><br />
 
 		<?php
 		echo $this->Application->ParseBlock(Array('name' => 'incs/footer'));
 		echo ob_get_clean();
 
 		$event->status = erSTOP;
 	}
 
 	function OnUploadFile(&$event)
 	{
 		// Flash uploader does NOT send correct cookies, so we need to make our own check
 		$cookie_name = 'adm_'.$this->Application->ConfigValue('SessionCookieName');
 		$this->Application->HttpQuery->Cookie['cookies_on'] = 1;
 		$this->Application->HttpQuery->Cookie[$cookie_name] = $this->Application->GetVar('flashsid');
 
 		$admin_ses =& $this->Application->recallObject('Session.admin');
 		/* @var $admin_ses Session */
 		$user = $admin_ses->RecallVar('user_id');
 		$perm_helper =& $this->Application->recallObject('PermissionsHelper');
 		/* @var $perm_helper kPermissionsHelper */
 
 		/*if() {
 			$prefix_special = $this->Application->GetVar('PrefixSpecial');
 			$prefix_elems = split('\.|_', $prefix_special, 2);
 			$perm_sections = $this->Application->getUnitOption($prefix_elems[0], 'PermSection');
 			$section = $perm_sections['main'];
 		}
 		else {*/
 			$section = $event->getSection();
 		/*}*/
 
 		if ($this->Application->GetVar('t') != 'import/import_start' && !$perm_helper->CheckUserPermission($user, $section.'.add') && !$perm_helper->CheckUserPermission($user, $section.'.edit')) {
 			$event->status = erPERM_FAIL;
 			header('HTTP/1.0 403 You don\'t have permissions to upload');
 			exit;
 			return;
 		}
 
 		if (!$cookie_name) $cookie_name = 'sid';
 
 		$value = $this->Application->GetVar('Filedata');
 		if (!$value) return ;
 		$tmp_path = WRITEABLE . '/tmp/';
 		$fname = $value['name'];
 		$id = $this->Application->GetVar('id');
 		if ($id) $fname = $id.'_'.$fname;
 
 		if (!is_writable($tmp_path)) {
 			header('HTTP/1.0 500 Write permissions not set on the server');
 			exit;
 		}
 
 		move_uploaded_file($value['tmp_name'], $tmp_path.$fname);
 		exit;
 	}
 
 	function OnDropTempTablesByWID(&$event)
 	{
 		$sid = $this->Application->GetSID();
 		$wid = $this->Application->GetVar('m_wid');
 		$tables = $this->Conn->GetCol('SHOW TABLES');
 		$mask_edit_table = '/'.TABLE_PREFIX.'ses_'.$sid.'_'.$wid.'_edit_(.*)$/';
 		foreach($tables as $table)
 		{
 			if( preg_match($mask_edit_table,$table,$rets) )
 			{
 				$this->Conn->Query('DROP TABLE IF EXISTS '.$table);
 			}
 		}
 		echo 'OK';
 		$event->status = erSTOP;
 		return ;
 	}
 
 
 	/**
 	 * Backup all data
 	 *
 	 * @param kEvent $event
 	 */
 	function OnBackup(&$event)
 	{
 
 		$a_tables = $this->Conn->GetCol('SHOW TABLES'); //  array_keys($tables);
 		$TableNames = Array();
 		for($x=0;$x<count($a_tables);$x++)
 		{
 			if(substr($a_tables[$x],0,strlen(TABLE_PREFIX))==TABLE_PREFIX)
 		  	{
 		  	  	if (!strstr($a_tables[$x], 'ses_')) {
 		  			$TableNames[] = $a_tables[$x];
 		  	  	}
 		  	}
 		}
 //			echo "<pre>"; print_r($TableNames); echo "</pre>";
 //			exit;
 
 		$backupProgress = Array (
 			'table_num' => 0,
 			'table_names' => $TableNames,
 			'table_count' => count($TableNames),
 			'record_count' => 0,
 			'file_name' => $this->Application->ConfigValue('Backup_Path')."/dump".adodb_mktime().".txt",
 		);
 		$this->Application->RemoveVar('adm.backupcomplete_filename');
 		$this->Application->RemoveVar('adm.backupcomplete_filesize');
 
 		$out = array();
 
 		for($x=0;$x<count($TableNames);$x++) {
 			if (!strstr($TableNames[$x], 'ses_')) {
 				$out[] = $this->GetTableCreate($TableNames[$x]);
 			}
 		}
 
 		$fp = fopen($backupProgress['file_name'], 'a');
 
 		$sql = "SELECT Name, Version FROM ".TABLE_PREFIX."Modules";
 		$r = $this->Conn->Query($sql);
 		foreach ($r AS $a_module) {
 			$version = $a_module['Version'];
 			fwrite($fp, "# ".$a_module['Name']." Version: $version;\n");
 		}
 		fwrite($fp, "#------------------------------------------\n\n");
 
 		fwrite($fp,implode("\n",$out));
 		fwrite($fp,"\n");
 
 		fclose($fp);
 
 		$this->Application->StoreVar('adm.backup_status', serialize($backupProgress));
 		$event->redirect = 'tools/backup2';
 	}
 
 	/**
 	 * Perform next backup step
 	 *
 	 * @param kEvent $event
 	 */
 	function OnBackupProgress(&$event)
 	{
 		$done_percent = $this->performBackup();
 
 		if ($done_percent == 100) {
 			$event->redirect = 'tools/backup3';
 			return ;
 		}
 
 		echo $done_percent;
 		$event->status = erSTOP;
 	}
 
 	/**
 	 * Stops Backup & redirect to Backup template
 	 *
 	 * @param kEvent $event
 	 */
 	function OnBackupCancel(&$event)
 	{
 		$event->redirect = 'tools/backup1';
 	}
 
 	/**
 	 * Stops Restore & redirect to Restore template
 	 *
 	 * @param kEvent $event
 	 */
 	function OnRestoreCancel(&$event)
 	{
 		$event->redirect = 'tools/restore1';
 	}
 
 	function performBackup()
 	{
 		$backupProgress = unserialize($this->Application->RecallVar('adm.backup_status'));
 //			echo "<pre>"; print_r($backupProgress); echo "</pre>";
 //			exit;
 		$CurrentTable = $backupProgress['table_names'][$backupProgress['table_num']];
 
 		// get records
 		$a_records = $this->insert_data($CurrentTable,$backupProgress['record_count'],50,"");
 //			echo "<pre>"; print_r($a_records); echo "</pre>";
 //			exit;
 
 		if ($a_records['num'] < 50) {
 			$backupProgress['table_num']++;
 //			if ($backupProgress['table_names'][$backupProgress['table_num']] == TABLE_PREFIX.'Cache') {
 //				$backupProgress['table_num']++;
 //			}
 			$backupProgress['record_count'] = 0;
 		} else {
 			$backupProgress['record_count']+=50;
 		}
 
 		if ($a_records['sql']) {
 			$fp = fopen($backupProgress['file_name'], 'a');
 			fwrite($fp, $a_records['sql']);
 			fclose($fp);
 		}
 		$percent = ($backupProgress['table_num'] / $backupProgress['table_count']) * 100;
 		if  ($percent >= 100) {
 			$percent = 100;
 			$this->Application->StoreVar('adm.backupcomplete_filename', $backupProgress['file_name']);
 			$this->Application->StoreVar('adm.backupcomplete_filesize', round(filesize($backupProgress['file_name'])/1024/1024, 2)); // Mbytes
 		} else {
 			$this->Application->StoreVar('adm.backup_status', serialize($backupProgress));
 		}
 
 		return round($percent);
 
 	}
 
 	//extracts the rows of data from tables using limits
 	function insert_data($table, $start, $limit, $mywhere)
 	{
 //			global $out;
 
 	    if ($mywhere !="")
 	    {
 	        $whereclause= " WHERE ".$mywhere." ";
 	    }
 	    else
 	    {
 	        $whereclause = "";
 	    }
 
 	    $a_data = $this->Conn->Query("SELECT * from $table $whereclause LIMIT $start, $limit");
 //			echo "SELECT * from $table $whereclause LIMIT $start, $limit";
 //			echo "<pre>"; print_r($a_records); echo "</pre>";
 //			exit;
 	    if (!$a_data) {
 	    	return Array(
 	    		'num' => 0,
 	    		'sql' => '',
 	    	);
 	    }
 //			$prefix = GetTablePrefix();
 	    $rowcount = 0;
 	    $a_fields = array_keys($a_data[0]);
 	    $fields_sql = '';
 	    foreach ($a_fields AS $field_name) {
 			$fields_sql .= '`'.$field_name.'`,';
 	    }
 		$fields_sql = preg_replace('/(.*),$/', '\\1', $fields_sql);
 		$temp = '';
 	    foreach ($a_data AS $a_row)
 	    {
 			$values_sql = '';
 			foreach ($a_row as $field_name => $field_value) {
 				$values_sql .= $this->Conn->qstr($field_value).',';
 			}
 			$values_sql = preg_replace('/(.*),$/', '\\1', $values_sql);
 			$sql = 'INSERT INTO '.$table.' ('.$fields_sql.') VALUES ('.$values_sql.');';
 			$sql = str_replace("\n", "\\n", $sql);
 			$sql = str_replace("\r", "\\r", $sql);
 			$temp .= $sql."\n";
 	    }
 
 		if(strlen(TABLE_PREFIX))
 		{
 			$temp = str_replace("INSERT INTO ".TABLE_PREFIX, "INSERT INTO ", $temp);
 		}
 
     	return Array(
     		'num' => count($a_data),
     		'sql' => $temp,
     	);
 	}
 
 
 
 	function GetTableCreate($table, $crlf="\n")
 	{
 	    $schema_create = 'DROP TABLE IF EXISTS ' . $table . ';' . $crlf;
 		$schema_create .="# --------------------------------------------------------".$crlf;
 	    $this->Conn->Query("SET SQL_QUOTE_SHOW_CREATE = 0");
 	    $tmpres = $this->Conn->Query("SHOW CREATE TABLE $table");
 //			echo "<pre>"; print_r($tmpres); echo "</pre>";
 //			exit;
 	    if(is_array($tmpres) && isset($tmpres[0]))
 	    {
 		    $tmpres = $tmpres[0];
 	        $pos           = strpos($tmpres["Create Table"], ' (');
 	        $pos2          = strpos($tmpres["Create Table"], '(');
 	        if ($pos2 != $pos + 1)
 	        {
 	            $pos = $pos2;
 	            $tmpres["Create Table"] = str_replace(",", ",\n     ", $tmpres["Create Table"]);
 	        }
 
 	        $tmpres["Create Table"]     = substr($tmpres["Create Table"], 0, 13)
 	                       . (($use_backquotes) ? $tmpres["Table"] : $tmpres["Table"])
 	                       . substr($tmpres["Create Table"], $pos);
 	        $tmpres["Create Table"]     = str_replace("\n", $crlf, $tmpres["Create Table"]);
 	        if (preg_match_all('((,\r?\n[\s]*(CONSTRAINT|FOREIGN[\s]*KEY)[^\r\n,]+)+)', $tmpres["Create Table"], $regs)) {
 	            if (!isset($sql_constraints)) {
 	                if (isset($GLOBALS['no_constraints_comments'])) {
 	                    $sql_constraints = '';
 	                } else {
 	                    $sql_constraints = $crlf . '#' . $crlf
 	                                        . '# ' . $GLOBALS['strConstraintsForDumped'] . $crlf
 	                                        . '#' . $crlf;
 	                }
 	            }
 	            if (!isset($GLOBALS['no_constraints_comments'])) {
 	                $sql_constraints .= $crlf .'#' . $crlf .'# ' . $GLOBALS['strConstraintsForTable'] . ' ' . $table . $crlf . '#' . $crlf;
 	            }
 	            $sql_constraints .= 'ALTER TABLE $table $crlf '
 	                             . preg_replace('/(,\r?\n|^)([\s]*)(CONSTRAINT|FOREIGN[\s]*KEY)/', '\1\2ADD \3', substr($regs[0][0], 2))
 	                            . ";\n";
 	            $tmpres["Create Table"]     = preg_replace('((,\r?\n[\s]*(CONSTRAINT|FOREIGN[\s]*KEY)[^\r\n,]+)+)', '', $tmpres["Create Table"]);
 	        }
 	        $schema_create .= $tmpres["Create Table"];
 	    }
 		if(strlen($schema_create))
 		{
 			$schema_create = str_replace("DROP TABLE IF EXISTS ".TABLE_PREFIX,"DROP TABLE ",$schema_create);
 			$schema_create = str_replace("CREATE TABLE ".TABLE_PREFIX,"CREATE TABLE ",$schema_create);
 			while(strlen($schema_create && substr($schema_create,-1)!=")"))
 			{
 				$schema_create = substr($schema_create,0,-1);
 			}
 		}
 		$schema_create .= "\n# --------------------------------------------------------\n";
 	    return $schema_create;
 	}
 
 	/**
 	 * Deletes one backup file
 	 *
 	 * @param kEvent $event
 	 */
 	function OnDeleteBackup(&$event)
 	{
 		@unlink($this->get_backup_file());
 	}
 
 	function get_backup_file()
 	{
 		return $this->Application->ConfigValue('Backup_Path').'/dump'.$this->Application->GetVar('backupdate').'.txt';
 	}
 
 	/**
 	 * Starts restore process
 	 *
 	 * @param kEvent $event
 	 */
 	function OnRestore(&$event)
 	{
 		$file = $this->get_backup_file();
 
 		$restoreProgress = Array (
 			'file_pos' => 0,
 			'file_name' => $file,
 			'file_size' => filesize($file),
 		);
 		$this->Application->RemoveVar('adm.restore_success');
 		$this->Application->StoreVar('adm.restore_status', serialize($restoreProgress));
 		$event->redirect = 'tools/restore3';
 	}
 
 	function OnRestoreProgress(&$event)
 	{
 		$done_percent = $this->performRestore();
 
 		if ($done_percent == -3) {
 			$event->redirect = 'tools/restore4';
 			return ;
 		}
 
 		if ($done_percent < 0) {
 			$this->Application->StoreVar('adm.restore_error', 'File read error');			$event->redirect = 'tools/restore4';
 			return ;
 		}
 
 		if ($done_percent == 100) {
 			$this->replaceRestoredFiles();
 			$this->Application->StoreVar('adm.restore_success', 1);
 			$event->redirect = 'tools/restore4';
 			return ;
 		}
 
 		echo $done_percent;
 		$event->status = erSTOP;
 
 	}
 
 	function replaceRestoredFiles()
 	{
 		// gather restored table names
 		$tables = $this->Conn->GetCol('SHOW TABLES');
 		$mask_restore_table = '/^restore'.TABLE_PREFIX.'(.*)$/';
 		foreach($tables as $table)
 		{
 			if( preg_match($mask_restore_table,$table,$rets) )
 			{
 				$old_table = substr($table, 7);
 				$this->Conn->Query('DROP TABLE IF EXISTS '.$old_table);
 				$this->Conn->Query('CREATE TABLE '.$old_table.' LIKE '.$table);
 				$this->Conn->Query('INSERT INTO '.$old_table.' SELECT * FROM '.$table);
 				$this->Conn->Query('DROP TABLE '.$table);
 			}
 		}
 
 	}
 
 	function performRestore()
 	{
 		$restoreProgress = unserialize($this->Application->RecallVar('adm.restore_status'));
 		$filename = $restoreProgress['file_name'];
 		$FileOffset = $restoreProgress['file_pos'];
 		$MaxLines = 200;
 		$size = filesize($filename);
 
 		if($FileOffset > $size) {
 			return -2;
 		}
 
 		$fp = fopen($filename,"r");
 		if(!$fp) {
 			return -1;
 		}
 
 
 		if($FileOffset>0)
 		{
 			fseek($fp,$FileOffset);
 		}
 		else
 		{
 			$EndOfSQL = FALSE;
 			$sql = "";
 			while(!feof($fp) && !$EndOfSQL)
 			{
 				$l = fgets($fp);
 				if(substr($l,0,11)=="INSERT INTO")
 				{
 				  $EndOfSQL = TRUE;
 				}
 				else
 				{
 				  $sql .= $l;
 				  $FileOffset = ftell($fp) - strlen($l);
 				}
 			}
 			if(strlen($sql))
 			{
 				$error = $this->runSchemaText($sql);
 				if ($error != '') {
 
 					$this->Application->StoreVar('adm.restore_error', $error);
 					return -3;
 				}
 			}
 			fseek($fp,$FileOffset);
 		}
 
 		$LinesRead = 0;
 		$sql = "";
 		$AllSql = array();
 		while($LinesRead < $MaxLines && !feof($fp))
 		{
 			$sql = fgets($fp);
 			if(strlen($sql))
 			{
 				$AllSql[] = $sql;
 				$LinesRead++;
 			}
 		}
 		if(!feof($fp))
 		{
 			$FileOffset = ftell($fp);
 		}
 		else
 		{
 			$FileOffset = $size;
 		}
 		fclose($fp);
 
 		if(count($AllSql)>0) {
 			$error = $this->runSQLText($AllSql);
 			if ($error != '') {
 
 				$this->Application->StoreVar('adm.restore_error', $error);
 				return -3;
 			}
 
 		}
 		$restoreProgress['file_pos'] = $FileOffset;
 		$this->Application->StoreVar('adm.restore_status', serialize($restoreProgress));
 
 		return round($FileOffset/$size * 100);
 //		$this->Application->StoreVar('adm.restore_error', 'lalalal');
 //		$event->redirect = 'tools/restore4';
 	}
 
 
 	function runSchemaText($sql)
 	{
 		$table_prefix = 'restore'.TABLE_PREFIX;
 //		$table_prefix = TABLE_PREFIX;
 
 		if (strlen($table_prefix) > 0) {
 			$replacements = Array ('INSERT INTO ', 'UPDATE ', 'ALTER TABLE ', 'DELETE FROM ', 'REPLACE INTO ');
 			foreach ($replacements as $replacement) {
 				$sql = str_replace($replacement, $replacement . $table_prefix, $sql);
 			}
 		}
 
 		$sql = str_replace('CREATE TABLE ', 'CREATE TABLE IF NOT EXISTS ' . $table_prefix, $sql);
 		$sql = str_replace('DROP TABLE ', 'DROP TABLE IF EXISTS ' . $table_prefix, $sql);
 
 	    $commands = explode("# --------------------------------------------------------",$sql);
 	    if(count($commands)>0)
 	    {
 //	    	$query_func = getConnectionInterface('query',$dbo_type);
 //	    	$errorno_func = getConnectionInterface('errorno',$dbo_type);
 //	    	$errormsg_func = getConnectionInterface('errormsg',$dbo_type);
 
 	    	for($i = 0; $i < count($commands); $i++)
 	    	{
 	    		$cmd = $commands[$i];
 	    		$cmd = trim($cmd);
 	    		if(strlen($cmd)>0)
 	    		{
 	    			$this->Conn->Query($cmd);
 	    			if($this->Conn->errorCode != 0)
 	    			{
 	    				return $this->Conn->errorMessage." COMMAND:<PRE>$cmd</PRE>";
 	    			}
 	    		}
 	    	}
 	    }
 	}
 
 	function runSQLText($allsql)
 	{
 		$line = 0;
 //		$query_func = getConnectionInterface('query',$dbo_type);
 //		$errorno_func = getConnectionInterface('errorno',$dbo_type);
 //		$errormsg_func = getConnectionInterface('errormsg',$dbo_type);
 
 		while($line<count($allsql))
 		{
 			$sql = $allsql[$line];
 			if(strlen(trim($sql))>0 && substr($sql,0,1)!="#")
 			{
 				$table_prefix = 'restore'.TABLE_PREFIX;
 
 				if (strlen($table_prefix) > 0) {
 					$replacements = Array ('INSERT INTO ', 'UPDATE ', 'ALTER TABLE ', 'DELETE FROM ', 'REPLACE INTO ');
 					foreach ($replacements as $replacement) {
 						$sql = str_replace($replacement, $replacement . $table_prefix, $sql);
 					}
 				}
 
 				$sql = str_replace('CREATE TABLE ', 'CREATE TABLE IF NOT EXISTS ' . $table_prefix, $sql);
 				$sql = str_replace('DROP TABLE ', 'DROP TABLE IF EXISTS ' . $table_prefix, $sql);
 
 				$sql = trim($sql);
 				if(strlen($sql)>0)
 				{
 					$this->Conn->Query($sql);
 
 	    			if($this->Conn->errorCode != 0)
 	    			{
 	    				return $this->Conn->errorMessage." COMMAND:<PRE>$sql</PRE>";
 	    			}
 				}
 			}
 			$line++;
 		}
 	}
 
 
 	/**
 	 * Starts restore process
 	 *
 	 * @param kEvent $event
 	 */
 	function OnSqlQuery(&$event)
 	{
 		$sql = $this->Application->GetVar('sql');
 		if ($sql) {
 			$start = $this->getMoment();
 			$result = $this->Conn->Query($sql);
 			$this->Application->SetVar('sql_time', round($this->getMoment() - $start, 7));
 
 
 			if ($result)
 			{
 				if (is_array($result))
 				{
 					$this->Application->SetVar('sql_has_rows', 1);
 					$this->Application->SetVar('sql_rows', serialize($result));
 				}
 			}
 
 			$check_sql = trim(strtolower($sql));
 			if (
 				(substr($check_sql, 0, 6) == 'insert')
 				|| (substr($check_sql, 0, 6) == 'update')
 				|| (substr($check_sql, 0, 7) == 'replace')
 				|| (substr($check_sql, 0, 6) == 'delete')
 			) {
 				$this->Application->SetVar('sql_has_affected', 1);
 				$this->Application->SetVar('sql_affected', $this->Conn->getAffectedRows());
 			}
 
 		}
 		$this->Application->SetVar('query_status', 1);
 		$event->status = erFAIL;
 	}
 
 	function getMoment()
 	{
 		list($usec, $sec) = explode(' ', microtime());
 		return ((float)$usec + (float)$sec);
 	}
 
 	/**
 	 * Occurs after unit config cache was successfully rebuilt
 	 *
 	 * @param kEvent $event
 	 */
 	function OnAfterCacheRebuild(&$event)
 	{
 
 	}
 
 	/**
 	 * Removes "Community -> Groups" section when it is not allowed
 	 *
 	 * @param kEvent $event
 	 */
 	function OnAfterConfigRead(&$event)
 	{
 		parent::OnAfterConfigRead($event);
 
 		if (!$this->Application->ConfigValue('AdvancedUserManagement')) {
 			$section_ajustments = $this->Application->getUnitOption($event->Prefix, 'SectionAdjustments');
 			if (!$section_ajustments) {
 				$section_ajustments = Array ();
 			}
 
 			$section_ajustments['in-portal:user_groups'] = 'remove';
 
 			$this->Application->setUnitOption($event->Prefix, 'SectionAdjustments', $section_ajustments);
 		}
 	}
 
 	/**
 	 * Saves menu (tree) frame width
 	 *
 	 * @param kEvent $event
 	 */
 	function OnSaveMenuFrameWidth(&$event)
 	{
 		$event->status = erSTOP;
 
 		if (!$this->Application->ConfigValue('ResizableFrames')) {
 			return ;
 		}
 
 		$sql = 'UPDATE ' . $this->Application->getUnitOption('conf', 'TableName') . '
 				SET VariableValue = ' . (int)$this->Application->GetVar('width')  . '
 				WHERE VariableName = "MenuFrameWidth"';
 		$this->Conn->Query($sql);
 
 		if ($this->Conn->getAffectedRows()) {
 			$this->Application->UnitConfigReader->ResetParsedData(false);
 		}
 	}
 
 }
\ No newline at end of file
Index: branches/5.0.x/core/units/config_search/config_search_config.php
===================================================================
--- branches/5.0.x/core/units/config_search/config_search_config.php	(revision 12541)
+++ branches/5.0.x/core/units/config_search/config_search_config.php	(revision 12542)
@@ -1,127 +1,127 @@
 <?php
 /**
 * @version	$Id$
 * @package	In-Portal
 * @copyright	Copyright (C) 1997 - 2009 Intechnic. All rights reserved.
 * @license      GNU/GPL
 * In-Portal is Open Source software.
 * This means that this software may have been modified pursuant
 * the GNU General Public License, and as distributed it includes
 * or is derivative of works licensed under the GNU General Public License
 * or other free or open source software licenses.
 * See http://www.in-portal.net/license/ for copyright notices and details.
 */
 
 defined('FULL_PATH') or die('restricted access!');
 
 	$config =	Array(
 					'Prefix'			=>	'confs',
 
 					'Clones'			=>	Array(
 												'confs-cf'	=>	Array(
 																		'Prefix'			=>	'confs-cf',
 																		'ParentPrefix'		=>	'cf',
 																		'ParentTableKey'	=>	'CustomFieldId',	// linked field in master table
 																		'ForeignKey'		=>	'CustomFieldId',	// linked field in subtable
 																		'AutoClone'			=>	false,				// because OnCreateCustomField hook does the stuff
 																		'AutoDelete'		=>	true,
 
 																		'Hooks'				=>	Array(
 																										Array(
 																											'Mode' => hAFTER,
 																											'Conditional' => false,
 																											'HookToPrefix' => '#PARENT#',
 																											'HookToSpecial' => '*',
 																											'HookToEvent' => Array('OnAfterItemCreate', 'OnAfterItemUpdate'),
 																											'DoPrefix' => '',
 																											'DoSpecial' => '*',
 																											'DoEvent' => 'OnCreateCustomField',
 																										),
 																									),
 																),
 											),
 
 					'ItemClass'			=>	Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'),
 					'ListClass'			=>	Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'),
 					'EventHandlerClass'	=>	Array('class'=>'ConfigSearchEventHandler','file'=>'config_search_event_handler.php','build_event'=>'OnBuild'),
 					'TagProcessorClass' =>	Array('class'=>'ConfigSearchTagProcessor','file'=>'config_search_tag_processor.php','build_event'=>'OnBuild'),
 					'AutoLoad'			=>	true,
 					'hooks'				=>	Array(),
 					'QueryString'		=>	Array(
 												1	=>	'id',
 												2	=>	'page',
 												3	=>	'event',
 											),
 
 					'IDField'			=>	'SearchConfigId',
 
 					'TitleField'		=>	'FieldName',
 
 					'TitlePresets'		=>	Array(
 												'default'	=>	Array(	'new_status_labels'		=> Array('confs'=>'!la_title_Adding_ConfigSearch!'),
 																		'edit_status_labels'	=> Array('confs'=>'!la_title_Editing_ConfigSearch!'),
 																		'new_titlefield'		=> Array('confs'=>'!la_title_New_ConfigSearch!'),
 																),
 
 												'configsearch_edit' => Array('prefixes' => Array('confs'), 'format' => "#confs_status# '#confs_titlefield#' - !la_title_General!"),
 												'config_list_search' => Array('prefixes' => Array('confs_List'), 'tag_params' => Array('confs' => Array('per_page' => -1) ), 'format' => "!la_updating_config!"),
 											),
 
 					'TableName'			=>	TABLE_PREFIX.'SearchConfig',
 
 					'CalculatedFields'	=>	Array(
 													''	=>	Array(
 																	'IsCustom'	=>	'IF(CustomFieldId IS NULL, 0, 1)',
 															),
 											),
 
 					'ListSQLs'			=>	Array('' => 'SELECT %1$s.* %2$s FROM %1$s'),
 
 					'ItemSQLs'			=>	Array('' => 'SELECT %1$s.* %2$s FROM %1$s'),
 
 
 
 				  'Fields' 		=>	Array(
 								            'TableName'			=>	Array('type' => 'string','not_null' => '1', 'required' => 1, 'default' => ''),
 								            'FieldName'			=>	Array('type' => 'string','not_null' => '1', 'required' => 1, 'default' => ''),
 								            'SimpleSearch'		=>	Array('type' => 'int', 'not_null' => 1, 'default' => 1),
 								            'AdvancedSearch'	=>	Array('type' => 'int', 'not_null' => 1, 'default' => 1),
 								            'Description'		=>	Array('type' => 'string','default' => null),
 								            'DisplayName'		=>	Array('type' => 'string', 'required' => 1, 'default' => null),
 								            'ModuleName'		=>	Array('type' => 'string', 'formatter'=>'kOptionsFormatter', 'options'=>Array(''=>''), 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Modules WHERE Loaded = 1 ORDER BY LoadOrder', 'option_key_field'=>'Name', 'option_title_field'=>'Name', 'not_null' => '1','default' => 'In-Portal'),
 								            'ConfigHeader'		=>	Array('type' => 'string', 'required' => 1, 'default' => null),
 								            'DisplayOrder'		=>	Array('type' => 'int', 'not_null' => 1, 'default' => 0),
 								            'SearchConfigId'	=>	Array('type' => 'int', 'not_null' => 1, 'default' => 0),
 								            'Priority'			=>	Array('type' => 'int', 'not_null' => 1, 'default' => 0),
 								            'FieldType'			=>	Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array('text' => 'text', 'range' => 'range', 'boolean' => 'boolean', 'date' => 'date'), 'not_null' => '1', 'required' => 1, 'default' => 'text'),
 								            'ForeignField'		=>	Array('type' => 'string','default' => null),
 								            'JoinClause'		=>	Array('type' => 'string','default' => null),
 								            'IsWhere'			=>	Array('type' => 'string','default' => null),
 								            'IsNotWhere'		=>	Array('type' => 'string','default' => null),
 								            'ContainsWhere'		=>	Array('type' => 'string','default' => null),
 								            'NotContainsWhere'	=>	Array('type' => 'string','default' => null),
 								            'CustomFieldId'		=>	Array('type' => 'int', 'default' => null),
 											),
 
 					'VirtualFields'	=> 	Array(
 											'IsCustom'	=>	Array('type' => 'int', 'default' => 0),
 										),
 
 					'ListSortings'	=> 	Array(
 																'' => Array(
 																	'ForcedSorting' => Array('IsCustom' => 'asc'),
 																	'Sorting' => Array('DisplayOrder' => 'asc'),
 																)
 															),
 
 					'Grids'	=> Array(
 								'Default'		=>	Array(
-															'Icons' => Array('default'=>'icon16_custom.gif'),	// icons for each StatusField values, if no matches or no statusfield selected, then "default" icon is used
+															'Icons' => Array('default' => 'icon16_item.png'),	// icons for each StatusField values, if no matches or no statusfield selected, then "default" icon is used
 															'Fields' => Array(
 																	'TableName' => Array( 'title'=>'la_col_TableName', 'data_block' => 'grid_data_td'),
 																	'FieldName' => Array( 'title'=>'la_col_FieldName', 'data_block' => 'grid_data_td' ),
 																	'SimpleSearch' => Array( 'title'=>'la_col_SimpleSearch', 'data_block' => 'grid_data_td'),
 																),
 														),
 										),
 	);
\ No newline at end of file
Index: branches/5.0.x/core/units/relationship/relationship_config.php
===================================================================
--- branches/5.0.x/core/units/relationship/relationship_config.php	(revision 12541)
+++ branches/5.0.x/core/units/relationship/relationship_config.php	(revision 12542)
@@ -1,120 +1,126 @@
 <?php
 /**
 * @version	$Id$
 * @package	In-Portal
 * @copyright	Copyright (C) 1997 - 2009 Intechnic. All rights reserved.
 * @license      GNU/GPL
 * In-Portal is Open Source software.
 * This means that this software may have been modified pursuant
 * the GNU General Public License, and as distributed it includes
 * or is derivative of works licensed under the GNU General Public License
 * or other free or open source software licenses.
 * See http://www.in-portal.net/license/ for copyright notices and details.
 */
 
 defined('FULL_PATH') or die('restricted access!');
 
 	$config =	Array(
 					'Prefix'			=>	'rel',
 
 					'Clones'			=>	Array(
 												'c-rel'	=>	Array('ParentPrefix'	=>	'c'),
 												'l-rel'	=>	Array('ParentPrefix'	=>	'l'),
 												'n-rel'	=>	Array('ParentPrefix'	=>	'n'),
 												'bb-rel'=>	Array('ParentPrefix'	=>	'bb'),
 												/*'p-rel'	=>	Array('ParentPrefix'	=>	'p'),*/
 												/*'cms-rel'=>	Array('ParentPrefix'	=>	'cms'),*/
 											),
 
 					'ItemClass'			=>	Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'),
 					'ListClass'			=>	Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'),
 					'EventHandlerClass'	=>	Array('class'=>'RelationshipEventHandler','file'=>'relationship_event_handler.php','build_event'=>'OnBuild'),
 					'TagProcessorClass' =>	Array('class'=>'RelationshipTagProcessor','file'=>'relationship_tp.php','build_event'=>'OnBuild'),
 					'AutoLoad'			=>	true,
 					'Hooks'	=>	Array(
 												Array(
 													'Mode' => hAFTER,
 													'Conditional' => false,
 													'HookToPrefix' => '#PARENT#',
 													'HookToSpecial' => '*',
 													'HookToEvent' => Array('OnAfterItemDelete'),
 													'DoPrefix' => '',
 													'DoSpecial' => '',
 													'DoEvent' => 'OnDeleteForeignRelations',
 												),
 											),
 					'QueryString'		=>	Array(
 												1	=>	'id',
 												2	=>	'page',
 												3	=>	'event',
 											),
 					'IDField'			=>	'RelationshipId',
 					'StatusField'		=>	Array('Enabled','Type'),
 					'TableName'			=>	TABLE_PREFIX.'Relationship',
 					'ParentTableKey'=>	'ResourceId',
 					'ForeignKey'	=>	'SourceId',
 					'ParentPrefix'	=> 'p',
 					'AutoDelete'	=>	true,
 					'AutoClone'	=> true,
 
 					'FilterMenu'		=>	Array(
 												'Groups' => Array(
 													Array('mode' => 'AND', 'filters' => Array('show_active','show_disabled'), 'type' => WHERE_FILTER),
 													Array('mode' => 'AND', 'filters' => Array('show_recip','show_oneway'), 'type' => WHERE_FILTER),
 												),
 												'Filters' => Array(
 													'show_active'	=>	Array('label' =>'la_Active', 'on_sql' => '', 'off_sql' => 'Enabled != 1' ),
 													'show_disabled'	=>	Array('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => 'Enabled != 0'  ),
 													's1'	=>	Array(),
 													'show_recip'	=>	Array('label' => 'la_Reciprocal', 'on_sql' => '', 'off_sql' => '%1$s.Type != 1'  ),
 													'show_oneway'	=>	Array('label' => 'la_OneWay', 'on_sql' => '', 'off_sql' => '%1$s.Type != 2'  ),
 												)
 											),
 
 					'CalculatedFields'	=>	Array(
 												''	=>	Array(
 															'ItemName'	=>	'TRIM(CONCAT(#ITEM_NAMES#))',
 															'ItemType'	=>	'#ITEM_TYPES#',
 														),
 											),
 
 					'ListSQLs'			=>	Array(	''=>	'SELECT %1$s.RelationshipId, %1$s.Priority, %1$s.Type, %1$s.Enabled %2$s
 															 FROM %1$s #ITEM_JOIN#',
 											), // key - special, value - list select sql
 
 					'ListSortings'	=> 	Array(
 																'' => Array(
 																	'ForcedSorting' => Array('Priority' => 'desc'),
 																	'Sorting' => Array('ItemName' => 'asc', 'ItemType' => 'asc'),
 																)
 															),
 					'ItemSQLs'			=>	Array(	'' => 'SELECT %1$s.* %2$s FROM %1$s #ITEM_JOIN#',),
 
 					'Fields'			=>	Array(
 											    'RelationshipId'	=>	Array('type' => 'int', 'not_null' => 1, 'default' => 0),
 												'SourceId'			=>	Array('type'=>'int', 'required' => 1, 'default' => NULL),
 												'TargetId'			=>	Array('type'=>'int', 'required' => 1, 'default' => NULL),
 												'SourceType'		=>	Array('type'=>'int','not_null'=>1,'default'=>0),
 												'TargetType'		=>	Array('type'=>'int','not_null'=>1,'default'=>0),
 												'Type'				=>	Array('type'=>'int','formatter'=>'kOptionsFormatter', 'required' => 1, 'options'=>Array(1=>'la_Reciprocal',0=>'la_OneWay'), 'not_null'=>1,'default'=>0,'use_phrases'=>1),
 												'Enabled'			=>	Array('type'=>'int','formatter'=>'kOptionsFormatter','options'=>Array(0=>'la_Disabled',1=>'la_Enabled'), 'not_null' => 1, 'default'=>1, 'use_phrases'=>1),
 												'Priority'			=>	Array('type'=>'int','not_null'=>1,'default'=>0),
 											),
 					'VirtualFields'	=> 	Array(
 												'ItemName' => Array(),
 												'ItemType' => Array(),
 										),
 
 					'Grids'	=> Array(
 								'Default'		=>	Array(
-										'Icons' => Array('default'=>'icon16_custom.gif','1_0'=>'icon16_relation_one-way.gif','0_0'=>'icon16_relation_one-way_disabled.gif','1_1'=>'icon16_relation_reciprocal.gif','0_1'=>'icon16_relation_reciprocal_disabled.gif'),	// icons for each StatusField values, if no matches or no statusfield selected, then "default" icon is used
+										'Icons' => Array(
+											'default' => 'icon16_item.png',
+											'1_0' => 'icon16_relation_one-way.gif',
+											'0_0' => 'icon16_relation_one-way_disabled.gif',
+											'1_1' => 'icon16_relation_reciprocal.gif',
+											'0_1' => 'icon16_relation_reciprocal_disabled.gif'
+										),	// icons for each StatusField values, if no matches or no statusfield selected, then "default" icon is used
 										'Fields' => Array(
 											'RelationshipId' => Array ('title' => 'la_col_Id', 'filter_block' => 'grid_range_filter'),
 											'ItemName' => Array( 'title'=>'la_col_TargetId', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_like_filter'),
 											'ItemType' => Array( 'title'=>'la_col_TargetType', 'filter_block' => 'grid_like_filter'),
 											'Type' => Array( 'title'=>'la_col_RelationshipType', 'filter_block' => 'grid_options_filter'),
 											'Enabled' => Array( 'title'=>'la_col_Status', 'filter_block' => 'grid_options_filter'),
 										),
 								),
 						),
 	);
\ No newline at end of file
Index: branches/5.0.x/core/units/languages/languages_config.php
===================================================================
--- branches/5.0.x/core/units/languages/languages_config.php	(revision 12541)
+++ branches/5.0.x/core/units/languages/languages_config.php	(revision 12542)
@@ -1,270 +1,276 @@
 <?php
 /**
 * @version	$Id$
 * @package	In-Portal
 * @copyright	Copyright (C) 1997 - 2009 Intechnic. All rights reserved.
 * @license      GNU/GPL
 * In-Portal is Open Source software.
 * This means that this software may have been modified pursuant
 * the GNU General Public License, and as distributed it includes
 * or is derivative of works licensed under the GNU General Public License
 * or other free or open source software licenses.
 * See http://www.in-portal.net/license/ for copyright notices and details.
 */
 
 defined('FULL_PATH') or die('restricted access!');
 
 	$config =	Array(
 					'Prefix'			=>	'lang',
 					'ItemClass'			=>	Array('class'=>'LanguagesItem','file'=>'languages_item.php','build_event'=>'OnItemBuild'),
 					'ListClass'			=>	Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'),
 					'EventHandlerClass'	=>	Array('class'=>'LanguagesEventHandler','file'=>'languages_event_handler.php','build_event'=>'OnBuild'),
 					'TagProcessorClass' =>	Array('class'=>'LanguagesTagProcessor','file'=>'languages_tag_processor.php','build_event'=>'OnBuild'),
 
 					'AutoLoad'			=>	true,
 					'Hooks'	=>	Array(
 												Array(
 													'Mode' => hAFTER,
 													'Conditional' => false,
 													'HookToPrefix' => 'lang',
 													'HookToSpecial' => '',
 													'HookToEvent' => Array('OnSave'),
 													'DoPrefix' => '',
 													'DoSpecial' => '',
 													'DoEvent' => 'OnReflectMultiLingualFields',
 												),
 
 												Array(
 													'Mode' => hAFTER,
 													'Conditional' => false,
 													'HookToPrefix' => 'lang',
 													'HookToSpecial' => '',
 													'HookToEvent' => Array('OnPreSave'),
 													'DoPrefix' => '',
 													'DoSpecial' => '',
 													'DoEvent' => 'OnCopyLabels',
 												),
 
 												Array(
 													'Mode' => hAFTER,
 													'Conditional' => false,
 													'HookToPrefix' => 'lang',
 													'HookToSpecial' => '*',
 													'HookToEvent' => Array('OnSave'),
 													'DoPrefix' => '',
 													'DoSpecial' => '',
 													'DoEvent' => 'OnUpdatePrimary',
 												),
 
 												Array(
 													'Mode' => hAFTER,
 													'Conditional' => false,
 													'HookToPrefix' => 'lang',
 													'HookToSpecial' => '*',
 													'HookToEvent' => Array('OnSave','OnMassDelete'),
 													'DoPrefix' => '',
 													'DoSpecial' => '',
 													'DoEvent' => 'OnScheduleTopFrameReload',
 												),
 
 											),
 					'QueryString'		=>	Array(
 												1	=>	'id',
 												2	=>	'page',
 												3	=>	'event',
 												4	=>	'mode',
 											),
 					'IDField'			=>	'LanguageId',
 
 					'StatusField'		=>	Array('Enabled','PrimaryLang'),	// field, that is affected by Approve/Decline events
 
 					'TitleField'		=>	'PackName',		// field, used in bluebar when editing existing item
 
 					'TitlePresets'		=>	Array(
 												'default'	=>	Array(	'new_status_labels'		=> Array('lang'=>'!la_title_Adding_Language!'),
 																		'edit_status_labels'	=> Array('lang'=>'!la_title_Editing_Language!'),
 																		'new_titlefield'		=> Array('lang'=>''),
 																),
 
 												'languages_list'			=>	Array(
 													'prefixes'	=>	Array('lang_List'), 'format' => "!la_title_Configuration! - !la_title_LanguagePacks!",
 													'toolbar_buttons' => Array ('new_item', 'edit', 'delete', 'export', 'import', 'setprimary', 'refresh', 'view', 'dbl-click'),
 												),
 
 												'languages_edit_general'	=>	Array(	'prefixes'	=> Array('lang'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_General!"),
 
 												'phrases_list'				=>	Array(	'prefixes'	=> Array('lang','phrases_List'), 'format' => "#lang_status# '#lang_titlefield#' - !la_title_Labels!"),
 
 												'phrase_edit'				=>	Array (
 													'prefixes' 				=>	Array('phrases'),
 													'new_status_labels'		=> Array('phrases'=>'!la_title_Adding_Phrase!'),
 													'edit_status_labels'	=>	Array('phrases'	=>	'!la_title_Editing_Phrase!'),
 													'format' 				=> 	"#phrases_status# '#phrases_titlefield#'"
 												),
 
 												'import_language'			=>	Array(	'prefixes'	=> Array('phrases.import'), 'format' => "!la_title_InstallLanguagePackStep1!"),
 
 												'import_language_step2'		=>	Array(	'prefixes'	=> Array('phrases.import'), 'format' => "!la_title_InstallLanguagePackStep2!"),
 
 												'export_language'			=>	Array(	'prefixes'	=> Array('phrases.export'), 'format' => "!la_title_ExportLanguagePackStep1!"),
 
 												'export_language_results'	=>	Array(	'prefixes'	=> Array(), 'format' => "!la_title_ExportLanguagePackResults!"),
 
 												'events_list'				=>	Array(	'prefixes'	=>	Array('lang','emailevents_List'), 'format'	=>	"#lang_status# '#lang_titlefield#' - !la_title_EmailEvents!"),
 
 												'event_edit' 				=>	Array(	'prefixes' 				=>	Array('emailevents'),
 																						'edit_status_labels'	=>	Array('emailevents'	=>	'!la_title_Editing_EmailEvent!'),
 																						'format' 				=> 	'#emailevents_status# - #emailevents_titlefield#'),
 
 												'email_messages_edit'		=>	Array(	'prefixes'	=>	Array('lang','emailmessages'),
 																						'new_titlefield'	=>	Array('emailmessages' => ''),
 																						'format'	=>	"#lang_status# '#lang_titlefield#' - !la_title_EditingEmailEvent! '#emailmessages_titlefield#'"),
 
 												// for separate language list
 												'languages_list_st' => Array ('prefixes' => Array ('lang_List'), 'format' => "!la_title_LanguagesManagement!"),
 											),
 					'EditTabPresets' => Array (
 						'Default' => Array (
 							'general' => Array ('title' => 'la_tab_General', 't' => 'regional/languages_edit', 'priority' => 1),
 							'labels' => Array ('title' => 'la_tab_Labels', 't' => 'regional/languages_edit_phrases', 'priority' => 2),
 							'email_events' => Array ('title' => 'la_tab_EmailEvents', 't' => 'regional/languages_edit_email_events', 'priority' => 3),
 						),
 					),
 
 					'PermSection'		=>	Array('main' => 'in-portal:configure_lang'),
 
 					'Sections' => Array (
 						'in-portal:configure_lang' => Array (
 							'parent'		=>	'in-portal:website_setting_folder',
 							'icon'			=>	'conf_regional',
 							'label'			=>	'la_tab_Regional',
 							'url'			=>	Array('t' => 'regional/languages_list', 'pass' => 'm'),
 							'permissions'	=>	Array('view', 'add', 'edit', 'delete', 'advanced:set_primary', 'advanced:import', 'advanced:export'),
 							'priority'		=>	4,
 							'type'			=>	stTREE,
 						),
 
 						// "Lang. Management"
 						/*'in-portal:lang_management' => Array (
 							'parent'		=>	'in-portal:system',
 							'icon'			=>	'core:settings_general',
 							'label'			=>	'la_title_LangManagement',
 							'url'			=>	Array ('t' => 'languages/language_list', 'pass' => 'm'),
 							'permissions'	=>	Array ('view', 'add', 'edit', 'delete'),
 							'perm_prefix'	=>	'lang',
 							'priority'		=>	10.03,
 							'show_mode'		=>	smSUPER_ADMIN,
 							'type'			=>	stTREE,
 						),*/
 					),
 
 					'TableName'			=>	TABLE_PREFIX.'Language',
 					'SubItems' => Array('phrases','emailmessages'),
 
 					'FilterMenu'		=>	Array(
 												'Groups' => Array(
 													Array('mode' => 'AND', 'filters' => Array(0,1), 'type' => WHERE_FILTER),
 												),
 
 												'Filters' => Array(
 													0	=>	Array('label' =>'la_Enabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 1' ),
 													1	=>	Array('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 0'  ),
 												)
 											),
 
 					'AutoDelete'		=>	true,
 
 					'AutoClone'			=>	true,
 
 					'ListSQLs'			=>	Array(	''=>'SELECT * FROM %s',
 																		), // key - special, value - list select sql
 					'ItemSQLs'			=>	Array(	''=>'SELECT * FROM %s',
 																		),
 					'ListSortings' => Array (
 						'' => Array (
 							'Sorting' => Array ('Priority' => 'desc', 'PackName' => 'asc'),
 						),
 					),
 
 					'Fields' => Array(
 										'LanguageId' => Array('type' => 'int', 'not_null' => 1, 'default' => 0),
 
 										'PackName' => Array (
 											'type' => 'string',
 											'formatter'				=>	'kOptionsFormatter',
 											'options_sql'			=>	'SELECT %s FROM '.TABLE_PREFIX.'Language ORDER BY PackName',
 											'option_title_field'	=>	'PackName',
 											'option_key_field'		=>	'PackName',
 											'not_null' => 1, 'required' => 1, 'default' => ''
 										),
 
 
 										'LocalName' => Array (
 											'type' => 'string',
 											'formatter'				=>	'kOptionsFormatter',
 											'options_sql'			=>	'SELECT %s FROM '.TABLE_PREFIX.'Language ORDER BY PackName',
 											'option_title_field'	=>	'LocalName',
 											'option_key_field'		=>	'LocalName',
 											'not_null' => 1, 'required' => 1, 'default' => ''
 										),
 
 										'Enabled' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(0 => 'la_Disabled', 1 => 'la_Active'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 1),
 										'PrimaryLang' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0),
 										'AdminInterfaceLang' => Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0),
     									'Priority' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
 										'IconURL' => Array ('type' => 'string', 'max_len' => 255, 'default' => NULL),
 										'IconDisabledURL' => Array ('type' => 'string', 'max_len' => 255, 'default' => NULL),
 										'DateFormat' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1),
 										'TimeFormat' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1),
 										'InputDateFormat' => Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array('m/d/Y' => 'mm/dd/yyyy', 'd/m/Y' => 'dd/mm/yyyy', 'm.d.Y' => 'mm.dd.yyyy', 'd.m.Y' => 'dd.mm.yyyy'),  'not_null' => '1','default' => 'm/d/Y', 'required' => 1),
       									'InputTimeFormat' => Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array('g:i:s A' => 'g:i:s A', 'g:i A' => 'g:i A', 'H:i:s' => 'H:i:s', 'H:i' => 'H:i' ), 'not_null' => '1','default' => 'g:i:s A', 'required' => 1),
 										'DecimalPoint' => Array('type' => 'string','not_null' => 1, 'required' => 1, 'default' => ''),
 										'ThousandSep' => Array('type' => 'string','not_null' => 1, 'default' => ''),
 										'Charset' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1),
 										'UnitSystem' => Array('type' => 'int','not_null' => 1, 'default' => 1, 'formatter' => 'kOptionsFormatter','options' => Array(1 => 'la_Metric', 2 => 'la_US_UK'),'use_phrases' => 1),
 										'FilenameReplacements' => Array ('type' => 'string', 'default' => NULL),
 										'Locale' => Array('type' => 'string','not_null' => 1, 'default' => 'en-US', 'formatter' => 'kOptionsFormatter',
 														  'options' => Array('' => ''),
 														  'options_sql' => "SELECT CONCAT(LocaleName, ' ' ,'\/',Locale,'\/') AS name, Locale FROM ".TABLE_PREFIX."LocalesList ORDER BY LocaleId", 'option_title_field' => "name", 'option_key_field' => 'Locale',
 										),
 										'UserDocsUrl' => Array ('type' => 'string', 'max_len' => 255, 'not_null' => 1, 'default' => ''),
 								),
 
 					'VirtualFields'	=> 	Array(
 												'CopyLabels'		=>	Array('type' => 'int', 'default' => 0),
 												'CopyFromLanguage'	=>	Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Language ORDER BY PackName', 'option_title_field' => 'PackName', 'option_key_field' => 'LanguageId'),
 										),
 
 					'Grids'	=> Array(
 						'Default' => Array (
 							'Icons' => Array (
 								'default' => 'icon16_item.png',
 								'0_0' => 'icon16_disabled.png',
 								'0_1' => 'icon16_disabled.png',
 								'1_0' => 'icon16_item.png',
 								'1_1' => 'icon16_primary.png',
 							),
 							'Fields' => Array(
 								'LanguageId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 50, ),
 								'PackName' => Array ('title' => 'la_col_PackName', 'filter_block' => 'grid_options_filter', 'width' => 150, ),//
 								'PrimaryLang' => Array ('title' => 'la_col_IsPrimaryLanguage', 'filter_block' => 'grid_options_filter', 'width' => 150, ),
 								'AdminInterfaceLang' => Array ('title' => 'la_col_AdminInterfaceLang', 'filter_block' => 'grid_options_filter', 'width' => 150, ),
 								'Charset' => Array ('title' => 'la_col_Charset', 'filter_block' => 'grid_options_filter', 'width' => 100, ),
 								'Priority' => Array ('title' => 'la_col_Priority', 'filter_block' => 'grid_options_filter', 'width' => 60, ),
 								'Enabled' => Array ('title' => 'la_col_Status', 'filter_block' => 'grid_options_filter', 'width' => 60, ),
 
 
 							),
 						),
 
 						/*'LangManagement' => Array (
-							'Icons' => Array ('default' => 'icon16_custom.gif', '0_0' => 'icon16_language_disabled.gif', '1_0' => 'icon16_language.gif', '0_1' => 'icon16_language_disabled.gif', '1_1' => 'icon16_language_primary.gif'),
+							'Icons' => Array (
+								'default' => 'icon16_item.png',
+								'0_0' => 'icon16_disabled.png',
+								'0_1' => 'icon16_disabled.png',
+								'1_0' => 'icon16_item.png',
+								'1_1' => 'icon16_primary.png',
+							),
 							'Fields' => Array (
 								'LanguageId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 60),
 								'PackName' => Array ('title' => 'la_col_Language', 'filter_block' => 'grid_options_filter', 'width' => 120),
 								'LocalName' => Array ('title' => 'la_col_Prefix', 'filter_block' => 'grid_options_filter', 'width' => 120),
 								'IconURL' => Array ('title' => 'la_col_Image', 'filter_block' => 'grid_empty_filter', 'width' => 80),
 							),
 						),*/
 					),
 	);
\ No newline at end of file
Index: branches/5.0.x/core/units/stylesheets/stylesheets_config.php
===================================================================
--- branches/5.0.x/core/units/stylesheets/stylesheets_config.php	(revision 12541)
+++ branches/5.0.x/core/units/stylesheets/stylesheets_config.php	(revision 12542)
@@ -1,173 +1,177 @@
 <?php
 /**
 * @version	$Id$
 * @package	In-Portal
 * @copyright	Copyright (C) 1997 - 2009 Intechnic. All rights reserved.
 * @license      GNU/GPL
 * In-Portal is Open Source software.
 * This means that this software may have been modified pursuant
 * the GNU General Public License, and as distributed it includes
 * or is derivative of works licensed under the GNU General Public License
 * or other free or open source software licenses.
 * See http://www.in-portal.net/license/ for copyright notices and details.
 */
 
 defined('FULL_PATH') or die('restricted access!');
 
 	$config =	Array(
 					'Prefix'			=>	'css',
 					'ItemClass'			=>	Array('class'=>'StylesheetsItem','file'=>'stylesheets_item.php','build_event'=>'OnItemBuild'),
 					'ListClass'			=>	Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'),
 					'EventHandlerClass'	=>	Array('class'=>'StylesheetsEventHandler','file'=>'stylesheets_event_handler.php','build_event'=>'OnBuild'),
 					'TagProcessorClass' =>	Array('class'=>'kDBTagProcessor','file'=>'','build_event'=>'OnBuild'),
 					'AutoLoad'			=>	true,
 					'Hooks'	=>	Array(
 												Array(
 													'Mode' => hAFTER,
 													'Conditional' => false,
 													'HookToPrefix' => 'css',
 													'HookToSpecial' => '',
 													'HookToEvent' => Array('OnSave'),
 													'DoPrefix' => '',
 													'DoSpecial' => '',
 													'DoEvent' => 'OnCompileStylesheet',
 												),
 											),
 					'QueryString'		=>	Array(
 												1	=>	'id',
 												2	=>	'page',
 												3	=>	'event',
 												4	=>	'mode',
 											),
 					'IDField'			=>	'StylesheetId',
 
 					'StatusField'		=>	Array('Enabled'),
 
 					'TitleField'		=>	'Name',
 
 					'TitlePresets'		=>	Array(
 								'default'	=>	Array(
 									'new_status_labels' => Array('css'=>'!la_title_Adding_Stylesheet!'),
 									'edit_status_labels' => Array('css'=>'!la_title_Editing_Stylesheet!'),
 									'new_titlefield' => Array('css'=>'!la_title_New_Stylesheet!'),
 									),
 
 								'styles_list' => Array(
 									'prefixes' => Array('css_List'), 'format' => "!la_title_Stylesheets!",
 									'toolbar_buttons' => Array('new_style', 'edit', 'delete', 'approve', 'decline', 'clone', 'view', 'dbl-click'),
 									),
 
 								'stylesheets_edit' => Array(
 									'prefixes' => Array('css'), 'format' => "#css_status# '#css_titlefield#' - !la_title_General!",
 									'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next'),
 									),
 
 								'base_styles' => Array(
 									'prefixes' => Array('css', 'selectors.base_List'), 'format' => "#css_status# '#css_titlefield#' - !la_title_BaseStyles!",
 									'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next', 'new_selector', 'edit', 'delete', 'clone', 'view', 'dbl-click'),
 									),
 
 								'block_styles' => Array(
 									'prefixes' => Array('css', 'selectors.block_List'), 'format' => "#css_status# '#css_titlefield#' - !la_title_BlockStyles!",
 									'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next', 'new_selector', 'edit', 'delete', 'clone', 'reset_to_base', 'view', 'dbl-click'),
 									),
 
 								'base_style_edit' => Array(
 									'prefixes' => Array('css', 'selectors',),
 									'new_status_labels' => Array('selectors' => '!la_title_Adding_BaseStyle!'),
 									'edit_status_labels' => Array('selectors' => '!la_title_Editing_BaseStyle!'),
 									'new_titlefield' => Array('selectors'=>'!la_title_New_BaseStyle!'),
 									'format' => "#css_status# '#css_titlefield#' - #selectors_status# '#selectors_titlefield#'",
 									'toolbar_buttons' => Array('select', 'cancel'),
 									),
 
 								'block_style_edit' => Array(
 									'prefixes' => Array('css', 'selectors'),
 									'new_status_labels'	=> Array('selectors'=>'!la_title_Adding_BlockStyle!'),
 									'edit_status_labels' => Array('selectors'=>'!la_title_Editing_BlockStyle!'),
 									'new_titlefield' => Array('selectors'=>'!la_title_New_BlockStyle!'),
 									'format' => "#css_status# '#css_titlefield#' - #selectors_status# '#selectors_titlefield#'",
 									'toolbar_buttons' => Array('select', 'cancel', 'reset_to_base'),
 									),
 
 								'style_edit' =>	Array(
 									'prefixes' => Array('selectors'), 'format' => "!la_title_EditingStyle! '#selectors_titlefield#'",
 									'toolbar_buttons' => Array('select', 'cancel', 'reset_to_base'),
 									),
 							),
 
 					'EditTabPresets' => Array (
    						'Default' => Array (
 							'general' => Array ('title' => 'la_tab_General', 't' => 'stylesheets/stylesheets_edit', 'priority' => 1),
 							'block_styles' => Array ('title' => 'la_tab_BlockStyles', 't' => 'stylesheets/stylesheets_edit_block', 'priority' => 2),
 							'base_styles' => Array ('title' => 'la_tab_BaseStyles', 't' => 'stylesheets/stylesheets_edit_base', 'priority' => 3),
    						),
    					),
 
 					'PermSection'		=>	Array('main' => 'in-portal:configure_styles'),
 				/* removed until figure out what to do with this section
 					'Sections' => Array (
 						'in-portal:configure_styles' => Array (
 							'parent'		=>	'in-portal:website_setting_folder',
 							'icon'			=>	'style',
 							'label'			=>	'la_tab_Stylesheets',
 							'url'			=>	Array('t' => 'stylesheets/stylesheets_list', 'pass' => 'm'),
 							'permissions'	=>	Array('view', 'add', 'edit', 'delete'),
 							'priority'		=>	10,
 							'type'			=>	stTREE,
 						),
 					),
 				*/
 					'TableName'			=>	TABLE_PREFIX.'Stylesheets',
 					'SubItems' => Array('selectorsbase', 'selectorsblock'),
 
 					'FilterMenu' =>	Array(
 						'Groups' => Array(
 							Array('mode' => 'AND', 'filters' => Array(0,1), 'type' => WHERE_FILTER),
 							),
 
 						'Filters' => Array(
 							0	=>	Array('label' => 'la_Enabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 1'),
 							1	=>	Array('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => '%1$s.Enabled != 0'),
 							),
 						),
 
 					'AutoDelete' =>	true,
 
 					'AutoClone' => true,
 
 					'ListSQLs' => Array(
 						'' => 'SELECT * FROM %s', ), // key - special, value - list select sql
 
 					'ItemSQLs' => Array(
 						'' => 'SELECT * FROM %s', ),
 
 					'ListSortings'	=> 	Array(
 						'' => Array(
 							'Sorting' => Array('Name' => 'asc'),
 							),
 						),
 
 					'Fields' => Array(
 										'StylesheetId' => Array('type' => 'int', 'not_null' => 1, 'default' => 0),
 										'Name' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1),
 										'Description' => Array('type' => 'string', 'formatter' => 'kFormatter', 'not_null' => 1, 'using_fck' => 1, 'default' => ''),
 										'AdvancedCSS' => Array('type' => 'string', 'formatter' => 'kFormatter', 'not_null' => 1, 'using_fck' => 1, 'default' => ''),
 										'LastCompiled' => Array('type' => 'int', 'formatter' => 'kDateFormatter', 'not_null' => 1, 'default' => 0),
 										'Enabled' => Array('type' => 'int', 'formatter'=>'kOptionsFormatter', 'options'=>Array(0 => 'la_Disabled', 1 => 'la_Enabled'), 'use_phrases' => 1, 'not_null' => '1','default' => 0),
 								),
 
 					'VirtualFields'	=> 	Array(),
 
 					'Grids'	=> Array(
 						'Default' => Array(
-							'Icons' 	=> Array('default' => 'icon16_custom.gif', 0 =>'icon16_style_disabled.gif', 1 =>'icon16_style.gif'),
+							'Icons' => Array(
+								'default' => 'icon16_item.png',
+								0 => 'icon16_disabled.png',
+								1 => 'icon16_item.png'
+							),
 							'Fields'	=> Array(
 								'Name' 			=> Array('title'=>'la_col_Name', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_like_filter'),
 								'Description'	=> Array('title'=>'la_col_Description', 'first_chars' => 100, 'filter_block' => 'grid_like_filter'),
 								'Enabled' 		=> Array('title'=>'la_col_Status', 'filter_block' => 'grid_options_filter'),
 								'LastCompiled'	=> Array('title' => 'la_col_LastCompiled', 'filter_block' => 'grid_date_range_filter'),
 								),
 							),
 						),
 		);
\ No newline at end of file
Index: branches/5.0.x/core/units/email_messages/email_messages_config.php
===================================================================
--- branches/5.0.x/core/units/email_messages/email_messages_config.php	(revision 12541)
+++ branches/5.0.x/core/units/email_messages/email_messages_config.php	(revision 12542)
@@ -1,155 +1,155 @@
 <?php
 /**
 * @version	$Id$
 * @package	In-Portal
 * @copyright	Copyright (C) 1997 - 2009 Intechnic. All rights reserved.
 * @license      GNU/GPL
 * In-Portal is Open Source software.
 * This means that this software may have been modified pursuant
 * the GNU General Public License, and as distributed it includes
 * or is derivative of works licensed under the GNU General Public License
 * or other free or open source software licenses.
 * See http://www.in-portal.net/license/ for copyright notices and details.
 */
 defined('FULL_PATH') or die('restricted access!');
 
 	$config = Array (
 		'Prefix' => 'emailmessages',
 		'ItemClass' => Array('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'),
 		'ListClass' => Array('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'),
 		'EventHandlerClass' => Array('class' => 'EmailMessagesEventHandler', 'file' => 'email_messages_event_handler.php', 'build_event' => 'OnBuild'),
 		'TagProcessorClass' => Array('class' => 'EmailMessageTagProcessor', 'file' => 'email_message_tp.php', 'build_event' => 'OnBuild'),
 
 		'AutoLoad' => true,
 
 		'QueryString' => Array (
 			1 => 'id',
 			2 => 'page',
 			3 => 'event',
 			4 => 'mode',
 		),
 
 		'IDField' => 'EmailMessageId',
 		'TitleField' => 'Subject',
 		'StatusField' => Array ('Enabled'),
 
 		'TitlePresets' => Array (
 			'email_messages_direct_list' => Array (
 				'prefixes' => Array ('emailmessages.st_List'), 'format' => "!la_title_EmailMessages!",
 				'toolbar_buttons' => Array ('edit', 'approve', 'decline', 'view', 'dbl-click'),
 				),
 			'email_messages_edit_direct' => Array (
 				'prefixes' => Array ('emailmessages'),
 				'new_status_labels' => Array ('emailmessages' => '!la_title_Adding_E-mail!'),
 				'edit_status_labels' => Array ('emailmessages' => '!la_title_Editing_E-mail!'),
 				'format' => '#emailmessages_status# - #emailmessages_titlefield#',
 				'toolbar_buttons' => Array ('select', 'cancel', 'reset_edit'),
 			),
 		),
 
 		'Sections' => Array (
 			'in-portal:configemail'	=>	Array(
 				'parent'		=>	'in-portal:site',
 				'icon'			=>	'email_templates',
 				'label'			=>	'la_tab_E-mails',
 				'url'			=>	Array('t' => 'languages/email_message_list', 'pass' => 'm'),
 				'permissions'	=>	Array('view', 'edit'),
 				'priority'		=>	5,
 				'type'			=>	stTREE,
 			),
 		),
 
 		'TableName' => TABLE_PREFIX.'EmailMessage',
 
 		'ListSQLs' => Array (
 			'' => '	SELECT %1$s.* %2$s
 					FROM %1$s
 			 		LEFT JOIN '.TABLE_PREFIX.'Events ON '.TABLE_PREFIX.'Events.EventId = %1$s.EventId'
 		),
 
 		'ListSortings' => Array (
 			'' => Array (
 				'ForcedSorting' => Array ('Enabled' => 'desc'),
 				'Sorting' => Array ('Description' => 'asc')
 			),
 		),
 
 		'ForeignKey' => 'LanguageId',
 		'ParentTableKey' => 'LanguageId',
 		'ParentPrefix' => 'lang',
 		'AutoDelete' => true,
 		'AutoClone' => true,
 
 		'CalculatedFields' => Array (
 			'' => Array (
 				'Description' => TABLE_PREFIX.'Events.Description',
 				'Module' => TABLE_PREFIX.'Events.Module',
 				'Type' => TABLE_PREFIX.'Events.Type',
 				'ReplacementTags' => TABLE_PREFIX.'Events.ReplacementTags',
 				'Enabled' => TABLE_PREFIX.'Events.Enabled',
 			),
 		),
 
 		'Fields' => Array (
 			'EmailMessageId'	=>	Array('type' => 'int', 'not_null' => 1, 'default' => 0),
 			'Template'			=>	Array('type' => 'string', 'default' => null),
 			'MessageType'		=>	Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array('text'=>'la_Text','html'=>'la_Html'), 'use_phrases' => 1, 'not_null' => '1','default' => 'text'),
 			'LanguageId'		=>	Array(
 				'type' => 'int',
 				'formatter' => 'kOptionsFormatter', 'options_sql' => 'SELECT %s FROM ' . TABLE_PREFIX . 'Language ORDER BY PackName', 'option_key_field' => 'LanguageId', 'option_title_field' => 'PackName',
 				'not_null' => 1, 'default' => 0
 			),
 			'EventId'			=>	Array('type' => 'int', 'not_null' => 1, 'default' => 0),
 			'Subject'			=>	Array('type' => 'string', 'default' => null),
 		),
 
 		'VirtualFields' => Array (
 			'Headers'			=>	Array('type' => 'string', 'default' => ''),
 			'Body'				=>	Array('type' => 'string', 'formatter' => 'kFormatter', 'using_fck' => 1, 'default' => ''),
 			'ReplacementTags'	=>	Array ('type' => 'string', 'default' => null),
 			'Description'		=>	Array('type'=>'string', 'sql_filter_type'=>'having'),
 			'Module' 			=>	Array('type' => 'string','not_null' => '1','default' => ''),
 			'Type' 				=>	Array('formatter'=>'kOptionsFormatter', 'options' => Array (1 => 'la_Text_Admin', 0 => 'la_Text_User'), 'use_phrases' => 1, 'default' => 0, 'not_null' => 1),
 
 			'Enabled' => Array (
             	'type' => 'int',
             	'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1,
             	'not_null' => 1, 'default' => 1
             ),
 
 			// for mass mail sending
 			'MassSubject'		=>	Array ('type' => 'string', 'default' => ''),
 			'MassAttachment'	=>	Array ('type' => 'string', 'formatter' => 'kUploadFormatter', 'upload_dir' => ITEM_FILES_PATH, 'max_size' => 50000000, 'default' => ''),
 			'MassHtmlMessage'	=>	Array ('type' => 'string', 'formatter' => 'kFormatter', 'using_fck' => 1, 'default' => 'Type your Message Here'),
 			'MassTextMessage'	=>	Array ('type' => 'string', 'formatter' => 'kFormatter', 'using_fck' => 1, 'default' => 'Type your Message Here'),
 		),
 
 		'Grids'	=> Array(
 			'Default'		=>	Array(
-//				'Icons' => Array('default'=>'icon16_custom.gif'),
+//				'Icons' => Array('default'=>'icon16_item.png'),
 				'Fields' => Array(
 					'Subject'		=>	Array( 'title'=>'la_col_Subject', 'filter_block' => 'grid_like_filter', 'width' => 60, ),
 					'Description'	=>	Array( 'title'=>'la_col_Description', 'data_block' => 'label_grid_checkbox_td', 'filter_block' => 'grid_like_filter', 'width' => 60, ),
 					'Type'			=>	Array( 'title'=>'la_col_Type', 'filter_block' => 'grid_options_filter', 'width' => 60, ),
 				),
 
 			),
 
 			'Emails' => Array(
 				'Icons' => Array (
 					'default' => 'icon16_item.png',
 					0 => 'icon16_disabled.png',
 					1 => 'icon16_item.png',
 				),
 				'Fields' => Array(
 					'EventId' => Array( 'title'=>'la_col_Id', 'filter_block' => 'grid_range_filter', 'width' => 60, ),
 					'Subject' => Array( 'title'=>'la_col_Subject', 'filter_block' => 'grid_like_filter', 'width' => 300, ),
 					'Description' => Array( 'title'=>'la_col_Description', 'data_block' => 'label_grid_checkbox_td', 'filter_block' => 'grid_like_filter', 'width' => 250, ),
 					'Type' => Array( 'title'=>'la_col_Type', 'filter_block' => 'grid_options_filter', 'width' => 60, ),
 					'LanguageId' => Array( 'title'=>'la_col_Language', 'filter_block' => 'grid_options_filter', 'width' => 100, ),
 					'Enabled' => Array( 'title'=>'la_col_Enabled', 'filter_block' => 'grid_options_filter', 'width' => 70, ),
 				),
 
 			),
 		),
 	);
\ No newline at end of file
Index: branches/5.0.x/core/admin_templates/login.tpl
===================================================================
--- branches/5.0.x/core/admin_templates/login.tpl	(revision 12541)
+++ branches/5.0.x/core/admin_templates/login.tpl	(revision 12542)
@@ -1,243 +1,243 @@
 <inp2:m_Set skip_last_template="1"/>
 <inp2:adm_HTTPAuth result_to_var="http_auth"/>
 <inp2:m_include t="incs/header" nobody="yes"/>
 
 <body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" bgcolor="#FFFFFF">
 	<style type="text/css">
 	<!--
 		html, body {
 			margin: 0;
 			padding: 0;
 			width: 100%;
 			height: 100%;
 			overflow: hidden;
 		}
 
 		#header-div {
 			position: absolute;
 			top: 0px;
 			height: 160px;
 			left: 0px;
 			right: 0px;
 			background: url('img/login/login-top.png') no-repeat right top #007bf4;
 			z-index: 2;
 		}
 
 		#body-div {
 			position: absolute;
 			top: 160px;
 			bottom: 160px;
 			width: 100%;
 			text-align: center;
 			z-index: 5;
 		}
 
 		#footer-div {
 			position: absolute;
 			bottom: 0px;
 			height: 160px;
 			left: 0px;
 			right: 0px;
 			background: url('img/login/login-bottom.png') no-repeat left bottom #007bf4;
 			z-index: 2;
 		}
 
 		#outer {
 			position: absolute;
 			top: 50%;
 			left: 0px;
 			width: 100%;
 			height: 1px;
 			overflow: visible;
 			z-index: 10;
 		}
 
 		#inner {
 			text-align: left;
 			width: 100%;
 			height: 300px;
 			margin-left: -50%;  /***  width / 2   ***/
 			position: absolute;
 			top: -150px;          /***  height / 2   ***/
 			left: 50%;
 			z-index: 5;
 			/* border: 1px solid #000000; */
 		}
 
 		#form table {
 			-moz-border-radius-bottomleft:20px;
 			-moz-border-radius-bottomright:20px;
 			-moz-border-radius-topleft:20px;
 			-moz-border-radius-topright:20px;
 			border: 1px solid #CCCCCC;
 			font-weight: normal;
 			background-color: #ECECEC;
 			z-index: 5;
 		}
 
 		#form table td {
 			padding: 2px 15px 2px 15px;
 		}
 
 		.login-table {
 			background: #ECECEC;
 		}
 
 		.roundbutton {
 			-moz-border-radius: 11px;
 			cursor: pointer;
 			padding: 2px 5px;
 			text-decoration: none;
 		}
 	-->
 	</style>
 
 	<div id="header-div"></div>
 
 	<div id="body-div">
 
 		<div id="outer">
 
 		  	<div id="inner" align="center">
 
 			  	<div id="logo" align="center" style="margin-bottom: 20px;">
 			  		<table class="head-table" style="background: none;">
 			  		<tr>
 			  			<inp2:m_if check="adm_AdminSkin" type="LogoLogin">
 			  				<td align="center"><img src="<inp2:adm_AdminSkin type='LogoLogin'/>" alt="<inp2:m_GetConfig var='Site_Name'/>"></td>
 			  			<inp2:m_else/>
 			  				<inp2:m_if check="adm_AdminSkin" type="Logo">
 				  				<td>
 				  					<img src="<inp2:adm_AdminSkin type='Logo'/>" alt="<inp2:m_GetConfig var='Site_Name'/>"><br/>
 				  					<inp2:m_if check="adm_AdminSkin" type="LogoBottom">
 				  						<img src="<inp2:adm_AdminSkin type='LogoBottom'/>" alt="<inp2:m_GetConfig var='Site_Name'/>">
 				  					</inp2:m_if>
 				  				</td>
 			  				</inp2:m_if>
 
 			  				<td align="left" valign="middle">
 				  				<span style="font-size: 48px; color: black;"><inp2:m_GetConfig var="Site_Name"/></span>
 				  			</td>
 			  			</inp2:m_if>
 			  		</tr>
 			  		</table>
 			  	</div>
 
 			  	<div id="form" align="center">
 			  		<inp2:m_if check="m_Param" name="http_auth">
 				    	<table class="login-table">
 			      			<tr>
 			      				<td colspan="2" style="text-align: center">
 			      				<inp2:m_if check="u.current_HasError" field="any">
 									<span class="error-cell"><inp2:u.current_Error field="ValidateLogin"/></span>
 								</inp2:m_if><br/>
 			      				</td>
 			      			</tr>
 			      			<tr>
 		          				<td class="text"><inp2:m_phrase name="la_Text_Login"/>:</td>
 		          				<td><input type="text" name="login" class="text" value="<inp2:u_CookieUsername submit_field="login"/>" style="width: 150px;"></td>
 		          			</tr>
 		          			<tr>
 		          				<td class="text"><inp2:m_phrase name="la_prompt_Password"/>:</td>
 		          				<td><input type="password" name="password" class="text" style="width: 150px;"></td>
 		          			</tr>
 		          			<tr>
 			          			<td colspan="2">
 			          				<input type="checkbox" id="save_username" name="cb_save_username"<inp2:m_if check="m_GetEquals" name="save_username" value="" inverse="inverse"> checked="checked"</inp2:m_if>/>&nbsp;
 			          				<label for="save_username"><inp2:m_Phrase label="la_SaveLogin"/></label>
 			          			</td>
 		          			</tr>
 		          			<tr>
 		          				<td colspan="2" align="center" style="padding: 5px 15px 10px 15px;">
 		              				<input type="submit" name="login_button" value="<inp2:m_phrase name="la_Login"/>" class="kx-login-button roundbutton"></td>
 		          			</tr>
 						</table>
 					<inp2:m_else/>
-						401 Authentication Required
+						<h1 style="color: red;">401 Authentication Required</h1>
 					</inp2:m_if>
 			    </div>
 
 			</div>
 
 		</div>
 
 	</div>
 
 	<div id="footer-div"></div>
 
 	<inp2:m_if check="m_Param" name="http_auth">
 		<input type="hidden" name="events[u]" value="OnLogin"/>
 		<input type="hidden" name="next_template" value="<inp2:m_if check="m_GetEquals" name="next_template" value="">index<inp2:m_else/><inp2:m_get var="next_template"/></inp2:m_if>"/>
 		<input type="hidden" name="skip_last_template" value="1"/>
 
 		<script type="text/javascript">
 
 			$(document).ready(
 				function() {
 					$("input[name='login']").focus();
 				}
 			);
 
 			var a_parent = window.parent;
 			var to_close = new Array();
 
 			function redirect() {
 	//			alert('running redirect in "' + window.name + '"');
 	//			window.name = 'redirect';
 				var $main_frame = getFrame('main');
 				a_parent = window;
 
 				try {
 					var i = 0;
 					while (i < 10) {
 						i++;
 						var $opener = $main_frame.getWindowOpener(a_parent);
 	//					console.log('window: ', a_parent.name, '; opener: ', $opener ? $opener.name : null);
 
 						if ($opener) {
 							to_close.push(a_parent);
 							a_parent = $opener;
 							continue;
 						}
 
 						if (a_parent.name == 'main_frame') {
 							break;
 						}
 
 						if (a_parent.parent && a_parent.parent.name != a_parent.name) {
 							a_parent = a_parent.parent;
 							continue;
 						}
 					}
 				}
 				catch (err) {
 					// another website is opened in parent window
 					alert('Error while trying to access window opener: [' + err.message + ']');
 					i = 10;
 				}
 
 				if (i < 10) {
 	//				console.log('to close: ', to_close);
 					setTimeout(close_windows, 100);
 				}
 			}
 
 			function close_windows() {
 				page = '<inp2:m_t t="index" expired="1" escape="1" no_amp="1" m_wid=""/>'; // a_parent.location.href + '?expired=1';
 	//			alert('redirecting ' + a_parent.name + ' to ' + page);
 				a_parent.location.href = page;
 
 	//			alert('closing ' + to_close.length + ' windows');
 				for (var c = (to_close.length - 1); c >= 0; c--) {
 	//				alert('closing ' + to_close[c].name);
 					window_close(to_close[c]);
 				}
 			}
 
 			if (window.top.frames.length > 0) {
 				redirect();
 			}
 		</script>
 	</inp2:m_if>
 
 <inp2:m_include t="incs/footer"/>
\ No newline at end of file
Index: branches/5.0.x/core/admin_templates/img/itemicons/icon16_sections.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: branches/5.0.x/core/admin_templates/img/itemicons/icon16_sections.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/5.0.x/core/admin_templates/img/toolbar/tool_select_user_f3.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: branches/5.0.x/core/admin_templates/img/icons/icon24_translate.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: branches/5.0.x/core/admin_templates/img/icons/icon24_translate.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/5.0.x/core/admin_templates/popups/translator.tpl
===================================================================
--- branches/5.0.x/core/admin_templates/popups/translator.tpl	(revision 12541)
+++ branches/5.0.x/core/admin_templates/popups/translator.tpl	(revision 12542)
@@ -1,50 +1,50 @@
 <inp2:m_include t="incs/header"/>
 <inp2:m_RenderElement name="combined_header" prefix="trans" perm_event="trans:OnLoad" section="in-portal:root" title_preset="trans_edit"/>
 
 <!-- ToolBar -->
 <table class="toolbar" height="30" cellspacing="0" cellpadding="0" width="100%" border="0">
 <tbody>
 	<tr>
 	  	<td>
 	  		<script type="text/javascript">
 					a_toolbar = new ToolBar();
 
 	  				a_toolbar.AddButton( new ToolBarButton('select', '<inp2:m_phrase label="la_ToolTip_Save" escape="1"/>', function() {
 								submit_event('trans','OnSaveAndClose');
 							}
 						) );
 					a_toolbar.AddButton( new ToolBarButton('cancel', '<inp2:m_phrase label="la_ToolTip_Cancel" escape="1"/>', function() {
 								window_close();
 							}
 					 	) );
 
 					a_toolbar.Render();
 			</script>
 
 		</td>
 	</tr>
 </tbody>
 </table>
 
 <input type="hidden" name="trans_prefix" value="<inp2:m_get var="trans_prefix"/>">
 <input type="hidden" name="trans_field" value="<inp2:m_get var="trans_field"/>">
 
 <div id="scroll_container">
 	<table class="edit-form">
 		<inp2:m_RenderElement name="inp_edit_hidden" prefix="trans" field="Language"/>
 
 		<inp2:m_RenderElement name="subsection" prefix="trans" fields="Original,SwitchLanguage,Translation" title="!la_section_Translation!"/>
-			<inp2:m_RenderElement name="inp_label" prefix="trans" title="!la_fld_Original!" field="Original"/>
+			<inp2:m_RenderElement name="inp_label" prefix="trans" title="!la_fld_PrimaryTranslation!" field="Original"/>
 			<inp2:m_RenderElement name="inp_edit_options" prefix="trans" field="SwitchLanguage" title="!la_fld_Language!" size="50" onchange="submit_event('trans', 'OnChangeLanguage')"/>
 
 			<inp2:m_if check="m_get" var="trans_multi_line" value="1">
 				<inp2:m_RenderElement name="inp_edit_textarea" prefix="trans" field="Translation" title="!la_fld_Translation!" cols="70" rows="13"/>
 			<inp2:m_else/>
 				<inp2:m_RenderElement name="inp_edit_box" prefix="trans" field="Translation" title="!la_fld_Translation!" size="50"/>
 			</inp2:m_if>
 		<inp2:m_RenderElement name="inp_edit_filler"/>
 
 	</table>
 </div>
 
 <inp2:m_include t="incs/footer"/>
\ No newline at end of file
Index: branches/5.0.x/core/admin_templates/incs/grid_blocks.tpl
===================================================================
--- branches/5.0.x/core/admin_templates/incs/grid_blocks.tpl	(revision 12541)
+++ branches/5.0.x/core/admin_templates/incs/grid_blocks.tpl	(revision 12542)
@@ -1,890 +1,890 @@
 <inp2:m_DefineElement name="current_page">
  <span class="current_page"><inp2:m_param name="page"/></span>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="page">
 	<a href="javascript:go_to_page('<inp2:m_param name="PrefixSpecial"/>', <inp2:m_param name="page"/>, <inp2:m_param name="ajax"/>)" class="nav_url"><inp2:m_param name="page"/></a>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="next_page">
 	<a href="javascript:go_to_page('<inp2:m_param name="PrefixSpecial"/>', <inp2:m_param name="page"/>, <inp2:m_param name="ajax"/>)" class="nav_url">&gt;</a>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="prev_page">
 	<a href="javascript:go_to_page('<inp2:m_param name="PrefixSpecial"/>', <inp2:m_param name="page"/>, <inp2:m_param name="ajax"/>)" class="nav_url">&lt;</a>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="next_page_split">
 	<a href="javascript:go_to_page('<inp2:m_param name="PrefixSpecial"/>', <inp2:m_param name="page"/>, <inp2:m_param name="ajax"/>)" class="nav_url">&gt;&gt;</a>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="prev_page_split">
 	<a href="javascript:go_to_page('<inp2:m_param name="PrefixSpecial"/>', <inp2:m_param name="page"/>, <inp2:m_param name="ajax"/>)" class="nav_url">&lt;&lt;</a>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_pagination_elem" main_special="" ajax="0">
 	<inp2:m_if check="GridInfo" type="needs_pagination" pass_params="1">
 		&nbsp;<inp2:m_phrase name="la_Page"/>:
 		<inp2:PrintPages active_block="current_page" split="10" inactive_block="page" prev_page_block="prev_page" next_page_block="next_page" prev_page_split_block="prev_page_split" next_page_split_block="next_page_split" main_special="$main_special" ajax="$ajax" grid="$grid"/>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_pagination" SearchPrefixSpecial="" ajax="0">
 <!--## Maybe not in use ##-->
 <table cellspacing="0" cellpadding="2" width="100%" border="0" class="pagination_bar">
 	<tbody>
 		<tr>
 	  	<td width="100%">
 		  	 <inp2:m_RenderElement name="grid_pagination_elem" pass_params="1"/>
 			</td>
 			<td>
 				<inp2:m_if check="m_ParamEquals" param="search" value="on">
 					<inp2:m_if check="m_ParamEquals" name="SearchPrefixSpecial" value="">
 						<inp2:m_RenderElement name="grid_search" grid="$grid" PrefixSpecial="$PrefixSpecial" ajax="$ajax"/>
 					<inp2:m_else />
 						<inp2:m_RenderElement name="grid_search" grid="$grid" PrefixSpecial="$SearchPrefixSpecial" ajax="$ajax"/>
 					</inp2:m_if>
 				</inp2:m_if>
 			</td>
 		</tr>
 	</tbody>
 </table>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="search_main_toolbar">
 	<td style="white-space: nowrap; text-align: right; width: 260px;" align="right">
 		<div style="float: right">
 			<table cellpadding="0" cellspacing="0">
 				<tr>
 					<td>
 						<input 	type="text"
 							id="<inp2:m_param name='prefix'/>_search_keyword"
 							class="filter <inp2:m_ifnot check='m_Recall' var='{$prefix}_search_keyword' equals_to=''>filter-active</inp2:m_ifnot>"
 							name="<inp2:m_param name='prefix'/>_search_keyword"
 							value="<inp2:m_recall var='{$prefix}_search_keyword' no_null='no_null' special='1'/>"
 							PrefixSpecial="<inp2:m_param name='prefix'/>"
 							Grid="<inp2:m_param name='grid'/>"
 							ajax="0" style="width:160px"/>
 					</td>
 					<td style="white-space: nowrap;">
 						<script type="text/javascript">
 							b_toolbar = new ToolBar();
 
 							b_toolbar.AddButton( new ToolBarButton('search', '<inp2:m_phrase label="la_ToolTip_Search" escape="1"/>',
 									function() {
 										search('<inp2:m_Param name="prefix"/>', '<inp2:m_Param name="grid"/>', 0);
 									} ) );
 
 							b_toolbar.AddButton( new ToolBarButton('search_reset_alt', '<inp2:m_phrase label="la_ToolTip_SearchReset" escape="1"/>',
 									function() {
 										search_reset('<inp2:m_Param name="prefix"/>', '<inp2:m_Param name="grid"/>', 0);
 									} ) );
 
 							b_toolbar.Render();
 						</script>
 					</td>
 				</tr>
 			</table>
 		</div>
 	</td>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_search" ajax="0">
 				<td align="right" class="search-cell">
 					<img src="img/spacer.gif" width="250" height="1" alt=""/><br />
 					<table cellspacing="0" cellpadding="0">
 						<tr>
 							<td><inp2:m_phrase name="la_Search"/>:&nbsp;</td>
 							<td>
 								<input 	type="text"
 										id="<inp2:m_param name='PrefixSpecial'/>_search_keyword"
 										class="filter <inp2:m_ifnot check='m_Recall' var='{$PrefixSpecial}_search_keyword' equals_to=''>filter-active</inp2:m_ifnot>"
 										name="<inp2:m_param name='PrefixSpecial'/>_search_keyword"
 										value="<inp2:m_recall var='{$PrefixSpecial}_search_keyword' no_null='no_null' special='1'/>"
 										PrefixSpecial="<inp2:m_param name='PrefixSpecial'/>"
 										Grid="<inp2:m_param name='grid'/>"
 										ajax="<inp2:m_param name='ajax'/>"/>
 								<input type="text" style="display: none;"/>
 							</td>
 							<td style="white-space: nowrap;" id="search_buttons[<inp2:m_param name="PrefixSpecial"/>]">
 							</td>
 						</tr>
 					</table>
 
 					<inp2:m_if check="m_Param" name="ajax" equals_to="0">
 						<script type="text/javascript">
 							addLoadEvent(
 								function () {
 									<inp2:m_RenderElement name="grid_search_buttons" pass_params="true"/>
 								}
 							)
 						</script>
 					</inp2:m_if>
 				</td>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_search_buttons" PrefixSpecial="" grid="" ajax="1">
 	var $search_box = document.getElementById('<inp2:m_param name="PrefixSpecial"/>_search_keyword');
 	if ($search_box) {
 		//$search_box.onkeydown = search_keydown;
 		$( jq('#<inp2:m_param name="PrefixSpecial"/>_search_keyword') ).keydown(search_keydown);
 	}
 
 	var $search_buttons = document.getElementById('search_buttons[<inp2:m_param name="PrefixSpecial"/>]');
 	if ($search_buttons) {
 		Toolbars['<inp2:m_param name="PrefixSpecial"/>_search'] = new ToolBar('icon16_');
 		Toolbars['<inp2:m_param name="PrefixSpecial"/>_search'].IconSize = {w:22,h:22};
 		Toolbars['<inp2:m_param name="PrefixSpecial"/>_search'].UseLabels = false;
 		Toolbars['<inp2:m_param name="PrefixSpecial"/>_search'].AddButton(
 			new ToolBarButton(
 				'search',
 				'<inp2:m_phrase name="la_ToolTip_Search" escape="1"/>',
 				function() {
 					search('<inp2:m_param name="PrefixSpecial"/>','<inp2:m_param name="grid"/>', <inp2:m_param name="ajax"/>)
 				},
 				null,
 				'<inp2:m_param name="PrefixSpecial"/>'
 			)
 		);
 
 		Toolbars['<inp2:m_param name="PrefixSpecial"/>_search'].AddButton(
 			new ToolBarButton(
 				'search_reset',
 				'<inp2:m_phrase name="la_ToolTip_SearchReset" escape="1"/>',
 				function() {
 					search_reset('<inp2:m_param name="PrefixSpecial"/>','<inp2:m_param name="grid"/>', <inp2:m_param name="ajax"/>)
 				},
 				null,
 				'<inp2:m_param name="PrefixSpecial"/>'
 			)
 		);
 
 		Toolbars['<inp2:m_param name="PrefixSpecial"/>_search'].Render($search_buttons);
 	}
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_checkbox_td" format="">
 	<inp2:m_RenderElement name="grid_data_td" pass_params="1"/>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_checkbox_td_no_icon" format="">
 	<inp2:m_RenderElement name="grid_data_td" pass_params="1"/>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="label_grid_checkbox_td" format="">
 	<inp2:m_RenderElement name="grid_data_label_td" pass_params="1"/>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_icon_td" format="">
 	<inp2:m_RenderElement name="grid_data_td" pass_params="1"/>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_radio_td" format="">
 	<inp2:m_RenderElement name="grid_data_td" pass_params="1"/>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_data_td" format="" no_special="1" nl2br="" first_chars="" td_style="">
 	<inp2:Field field="$field" first_chars="$first_chars" nl2br="$nl2br" grid="$grid" no_special="$no_special" format="$format"/>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_total_td">
 	<inp2:m_if check="FieldOption" field="$field" option="totals">
 		<inp2:FieldOption field="$field" option="totals" result_to_var="totals"/>
 		'<inp2:FieldTotal field="$field" function="$totals"/>'
 	<inp2:m_else/>
 		'&nbsp;'
 	</inp2:m_if>
 	<inp2:m_ifnot check="m_Param" name="is_last">, </inp2:m_ifnot>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_priority_td" format="" no_special="" nl2br="" first_chars="" td_style="" currency="">
 	<inp2:Field field="$field" first_chars="$first_chars" currency="$currency" nl2br="$nl2br" grid="$grid" no_special="$no_special" format="$format"/>
 	<inp2:m_ifnot check="Field" field="Priority" equals_to="0" db="db"><span class="priority"><sup><inp2:Field field="Priority"/></sup></span></inp2:m_ifnot>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_edit_td" format="" >
 	<input type="text" id="<inp2:{$PrefixSpecial}_InputName field="$field"/>" name="<inp2:{$PrefixSpecial}_InputName field="$field"/>" value="<inp2:{$PrefixSpecial}_field field="$field" grid="$grid" format="$format"/>">
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_picker_td" nl2br="0" no_special="1" separator="&nbsp;">
 	<inp2:Field name="$field" format="$separator" nl2br="$nl2br" no_special="$no_special"/>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_options_td" format="">
 		<select name="<inp2:InputName field="$field"/>" id="<inp2:InputName field="$field"/>">
 			<inp2:m_if check="FieldOption" field="$field" option="use_phrases">
 				<inp2:PredefinedOptions field="$field" block="inp_option_phrase" selected="selected" has_empty="1" empty_value="0"/>
 			<inp2:m_else/>
 				<inp2:PredefinedOptions field="$field" block="inp_option_item" selected="selected" has_empty="1" empty_value="0"/>
 			</inp2:m_if>
 		</select>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_date_td" format="">
 		<input type="text" name="<inp2:InputName field="{$field}_date"/>" id="<inp2:InputName field="{$field}_date"/>" value="<inp2:Field field="{$field}_date" format="_regional_InputDateFormat"/>" size="<inp2:Format field="{$field}_date" input_format="1" edit_size="edit_size"/>" datepickerIcon="<inp2:m_ProjectBase/>core/admin_templates/img/calendar_icon.gif">&nbsp;
 		<img src="img/calendar_icon.gif" id="cal_img_<inp2:InputName field="{$field}"/>" width="13" height="12"
 				     style="cursor: pointer; margin-right: 5px"
 				     title="Date selector"
 				/>
 		<span class="small">(<inp2:Format field="{$field}_date" input_format="1" human="true"/>)</span>
 		<script type="text/javascript">
 			Calendar.setup({
 		        inputField		:	"<inp2:InputName field="{$field}_date"/>",
 		        ifFormat		:	Calendar.phpDateFormat("<inp2:Format field="{$field}_date" input_format="1"/>"),
 		        button			:	"cal_img_<inp2:InputName field="{$field}"/>",
 		        align			:	"br",
 		        singleClick		:	true,
 		        showsTime		:	true,
 		        weekNumbers		:	false,
 		        firstDay		:	<inp2:m_GetConfig var="FirstDayOfWeek"/>,
 		        onUpdate	:	function(cal) {
 		        	runOnChange('<inp2:InputName field="{$field}_date"/>');
 		       	}
 			});
 		</script>
 		<input type="hidden" name="<inp2:InputName field="{$field}_time"/>" id="<inp2:InputName field="{$field}_time" input_format="1"/>" value="">
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_data_label_td" >
 	<inp2:Field field="$field" grid="$grid" plus_or_as_label="1" no_special="no_special" format="$format"/>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_data_label_ml_td" format="" >
 	<span class="<inp2:m_if check="{$SourcePrefix}_HasError" field="$virtual_field">error-cell</inp2:m_if>">
 		<inp2:{$PrefixSpecial}_Field field="$field" grid="$grid" as_label="1" no_special="no_special" format="$format"/>
 	</span><inp2:m_if check="{$SourcePrefix}_IsRequired" field="$virtual_field"><span class="field-required"> *</span></inp2:m_if>:<br />
 
 	<inp2:m_if check="FieldEquals" field="$ElementTypeField" value="textarea">
 		<inp2:m_if check="Field" name="MultiLingual" equals_to="1" db="db">
-			<a href="javascript:PreSaveAndOpenTranslatorCV('<inp2:m_param name="SourcePrefix"/>,<inp2:m_param name="SourcePrefix"/>-cdata', '<inp2:m_param name="SourcePrefix"/>-cdata:cust_<inp2:Field name="CustomFieldId"/>', 'popups/translator', <inp2:$SourcePrefix_Field field="ResourceId"/>, 1);" title="<inp2:m_Phrase label="la_Translate" escape="1"/>"><img src="img/icons/icon24_translate.gif" style="cursor:hand;" width="24" height="24" border="0"></a>
+			<a href="javascript:PreSaveAndOpenTranslatorCV('<inp2:m_param name="SourcePrefix"/>,<inp2:m_param name="SourcePrefix"/>-cdata', '<inp2:m_param name="SourcePrefix"/>-cdata:cust_<inp2:Field name="CustomFieldId"/>', 'popups/translator', <inp2:$SourcePrefix_Field field="ResourceId"/>, 1);" title="<inp2:m_Phrase label="la_Translate" escape="1"/>"><img src="img/icons/icon24_translate.png" style="cursor:hand;" width="24" height="24" border="0"></a>
 		<inp2:m_else/>
 			<inp2:Field name="FieldName" result_to_var="custom_field"/>
 			<a href="javascript:OpenEditor('&section=in-link:editlink_general', 'kernel_form', '<inp2:{$SourcePrefix}_InputName field="cust_{$custom_field}"/>');"><img src="img/icons/icon24_link_editor.gif" style="cursor: hand;" width="24" height="24" border="0"></a>
 		</inp2:m_if>
 	<inp2:m_else/>
 		<inp2:m_if check="Field" name="MultiLingual" equals_to="1" db="db">
-			<a href="javascript:PreSaveAndOpenTranslatorCV('<inp2:m_param name="SourcePrefix"/>,<inp2:m_param name="SourcePrefix"/>-cdata', '<inp2:m_param name="SourcePrefix"/>-cdata:cust_<inp2:Field name="CustomFieldId"/>', 'popups/translator', <inp2:$SourcePrefix_Field field="ResourceId"/>);" title="<inp2:m_Phrase label="la_Translate" escape="1"/>"><img src="img/icons/icon24_translate.gif" style="cursor:hand;" width="24" height="24" border="0"></a>
+			<a href="javascript:PreSaveAndOpenTranslatorCV('<inp2:m_param name="SourcePrefix"/>,<inp2:m_param name="SourcePrefix"/>-cdata', '<inp2:m_param name="SourcePrefix"/>-cdata:cust_<inp2:Field name="CustomFieldId"/>', 'popups/translator', <inp2:$SourcePrefix_Field field="ResourceId"/>);" title="<inp2:m_Phrase label="la_Translate" escape="1"/>"><img src="img/icons/icon24_translate.png" style="cursor:hand;" width="24" height="24" border="0"></a>
 		</inp2:m_if>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_empty_filter">
 
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_column_filter">
 	<!--## this cheat makes sure, that columns without a filter are using like filter ##-->
 	<inp2:m_RenderElement name="grid_like_filter" pass_params="1"/>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_options_filter" use_phrases="0" filter_width="90%">
 		<select
 			class="filter <inp2:m_ifnot check='SearchField' field='$filter_field' filter_type='options' grid='$grid' equals_to=''>filter-active</inp2:m_ifnot>"
 			name="<inp2:SearchInputName field="$filter_field" filter_type="options" grid="$grid"/>"
 			style="width: <inp2:m_Param name="filter_width"/>">
 
 			<inp2:m_if check="m_ParamEquals" name="use_phrases" value="1">
 				<inp2:PredefinedSearchOptions field="$filter_field" block="inp_option_phrase" selected="selected" has_empty="1" empty_value="" filter_type="options" grid="$grid"/>
 			<inp2:m_else/>
 				<inp2:PredefinedSearchOptions field="$filter_field" block="inp_option_item" selected="selected" has_empty="1" empty_value="" filter_type="options" grid="$grid"/>
 			</inp2:m_if>
 		</select>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_like_filter" filter_width="95%">
 		<input type="text"
 			class="filter <inp2:m_ifnot check='SearchField' field='$filter_field' filter_type='like' grid='$grid' equals_to=''>filter-active</inp2:m_ifnot>"
 		  style="width: <inp2:m_Param name="filter_width"/>"
 			name="<inp2:SearchInputName field="$filter_field" filter_type="like" grid="$grid"/>"
 			value="<inp2:SearchField field="$filter_field" filter_type="like" grid="$grid"/>"
 			onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_user_like_filter" selector_template="user_selector" filter_width="95%">
 	<table class="range-filter">
 		<tr>
 			<td style="width: 100%">
 				<input type="text"
 					class="filter <inp2:m_ifnot check='SearchField' field='$filter_field' filter_type='like' grid='$grid' equals_to=''>filter-active</inp2:m_ifnot>"
 	 				 style="width: <inp2:m_Param name="filter_width"/>"
 		name="<inp2:SearchInputName field="$filter_field" filter_type="like" grid="$grid"/>"
 		id="<inp2:SearchInputName field="$filter_field" filter_type="like" grid="$grid"/>"
 		value="<inp2:SearchField field="$filter_field" filter_type="like" grid="$grid"/>"
 		onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/>
 			</td>
 			<td valign="middle">
 				<a href="javascript:openSelector('<inp2:m_param name="PrefixSpecial"/>', '<inp2:m_t t="$selector_template" pass="all,$PrefixSpecial" escape="1"/>', '<inp2:m_param name="filter_field"/>');">
 					<img src="img/icons/icon24_link_user.gif" style="cursor:hand;" width="24" height="24" border="0">
 				</a>
 			</td>
 		</tr>
 	</table>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_picker_filter" use_phrases="0" filter_width="90%">
 		<select
 			class="filter <inp2:m_ifnot check='SearchField' field='$filter_field' filter_type='options' grid='$grid' equals_to=''>filter-active</inp2:m_ifnot>"
 			name="<inp2:SearchInputName field="$filter_field" filter_type="picker" grid="$grid"/>"
 			style="width: <inp2:m_Param name="filter_width"/>">
 
 			<inp2:m_if check="m_ParamEquals" name="use_phrases" value="1">
 				<inp2:PredefinedSearchOptions field="$filter_field" block="inp_option_phrase" selected="selected" has_empty="1" empty_value="" filter_type="picker" grid="$grid"/>
 			<inp2:m_else/>
 				<inp2:PredefinedSearchOptions field="$filter_field" block="inp_option_item" selected="selected" has_empty="1" empty_value="" filter_type="picker" grid="$grid"/>
 			</inp2:m_if>
 		</select>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_like_combo_filter" filter_width="95%">
 		<input type="text"
 			autocomplete="off"
 			class="filter <inp2:m_ifnot check='SearchField' field='$filter_field' filter_type='like' grid='$grid' equals_to=''>filter-active</inp2:m_ifnot>"
 		  style="width: <inp2:m_Param name="filter_width"/>"
 			name="<inp2:SearchInputName field="$filter_field" filter_type="like" grid="$grid"/>"
 			id="<inp2:SearchInputName field="$filter_field" filter_type="like" grid="$grid"/>"
 			value="<inp2:SearchField field="$filter_field" filter_type="like" grid="$grid"/>"
 			onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/>
 		<script type="text/javascript">
 			new AJAXDropDown('<inp2:SearchInputName field="$filter_field" filter_type="like" grid="$grid"/>',
 				function(cur_value) {
 					return '<inp2:m_t no_amp="1" pass="m,{$PrefixSpecial}" field="$filter_field" {$PrefixSpecial}_event="OnSuggestValues" cur_value="#VALUE#"/>'.replace('#VALUE#', cur_value);
 				}
 			);
 		</script>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_equals_filter" filter_width="95%">
 		<input type="text"
 			 class="filter <inp2:m_ifnot check='SearchField' field='$filter_field' filter_type='equals' grid='$grid' equals_to=''>filter-active</inp2:m_ifnot>"
 			 style="width: <inp2:m_Param name="filter_width"/>"
 			 name="<inp2:SearchInputName field="$filter_field" filter_type="equals" grid="$grid"/>"
 			 value="<inp2:SearchField field="$filter_field" filter_type="equals" grid="$grid"/>"
 			 onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_range_filter" filter_width="90%">
 		<table class="range-filter">
 			<tr>
 				<td style="width: 100%">
 					<input type="text"
 						class="filter <inp2:m_ifnot check='SearchField' field='$filter_field' filter_type='range' type='from' grid='$grid' equals_to=''>filter-active</inp2:m_ifnot>"
 						name="<inp2:SearchInputName field="$filter_field" filter_type="range" type="from" grid="$grid"/>"
 						value="<inp2:SearchField field="$filter_field" filter_type="range" type="from" grid="$grid"/>"
 						style="width: <inp2:m_Param name="filter_width"/>;"
 						onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/>
 				</td>
 				<td rowspan="2" valign="middle">
 					<img src="<inp2:m_TemplatesBase/>/img/expand_filter.gif" width="7" height="9" alt="" onclick="filter_toggle('<inp2:SearchInputName field='$filter_field' filter_type='range' type='to' grid='$grid'/>_row', '<inp2:m_Param name='PrefixSpecial'/>');"/>
 				</td>
 			</tr>
 			<tr class="to-range-filter<inp2:m_ifnot check='RangeFiltersUsed' grid='$grid'> hidden-filter</inp2:m_ifnot>" id="<inp2:SearchInputName field='$filter_field' filter_type='range' type='to' grid='$grid'/>_row">
 				<td style="width: 100%;<inp2:m_ifnot check='RangeFiltersUsed' grid='$grid'> display: none;</inp2:m_ifnot>">
 					<input type="text"
 						class="filter <inp2:m_ifnot check='SearchField' field='$filter_field' filter_type='range' type='to' grid='$grid' equals_to=''>filter-active</inp2:m_ifnot>"
 						name="<inp2:SearchInputName field="$filter_field" filter_type="range" type="to" grid="$grid"/>"
 						value="<inp2:SearchField field="$filter_field" filter_type="range" type="to" grid="$grid"/>"
 						style="width: <inp2:m_Param name="filter_width"/>;"
 						onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/>
 				</td>
 			</tr>
 		</table>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_float_range_filter" filter_width="90%">
 		<table class="range-filter">
 			<tr>
 				<td style="width: 100%">
 					<input type="text"
 						class="filter <inp2:m_ifnot check='SearchField' field='$filter_field' filter_type='float_range' type='from' grid='$grid' equals_to=''>filter-active</inp2:m_ifnot>"
 						name="<inp2:SearchInputName field="$filter_field" filter_type="float_range" type="from" grid="$grid"/>"
 						value="<inp2:SearchField field="$filter_field" filter_type="float_range" type="from" grid="$grid"/>"
 						style="width: <inp2:m_Param name="filter_width"/>"
 						onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/>
 				</td>
 				<td rowspan="2" valign="middle">
 					<img src="<inp2:m_TemplatesBase/>/img/expand_filter.gif" width="7" height="9" alt="" onclick="filter_toggle('<inp2:SearchInputName field='$filter_field' filter_type='range' type='to' grid='$grid'/>_row', '<inp2:m_Param name='PrefixSpecial'/>');"/>
 				</td>
 			</tr>
 			<tr class="to-range-filter<inp2:m_ifnot check='RangeFiltersUsed' grid='$grid'> hidden-filter</inp2:m_ifnot>" id="<inp2:SearchInputName field='$filter_field' filter_type='float_range' type='to' grid='$grid'/>_row">
 				<td style="width: 100%;<inp2:m_ifnot check='RangeFiltersUsed' grid='$grid'> display: none;</inp2:m_ifnot>">
 					<input type="text"
 						class="filter <inp2:m_ifnot check='SearchField' field='$filter_field' filter_type='float_range' type='to' grid='$grid' equals_to=''>filter-active</inp2:m_ifnot>"
 						name="<inp2:SearchInputName field="$filter_field" filter_type="float_range" type="to" grid="$grid"/>"
 						value="<inp2:SearchField field="$filter_field" filter_type="float_range" type="to" grid="$grid"/>"
 						style="width: <inp2:m_Param name="filter_width"/>"
 						onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/>
 				</td>
 			</tr>
 		</table>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_date_range_filter" calendar_format="" filter_width="80%">
 		<table class="range-filter">
 			<tr>
 				<td style="width: 100%">
 					<input type="text"
 						class="filter <inp2:m_ifnot check='SearchField' field='$filter_field' filter_type='date_range' type='from' grid='$grid' equals_to=''>filter-active</inp2:m_ifnot>"
 						style="width: <inp2:m_Param name="filter_width"/>"
 						name="<inp2:SearchInputName field="$filter_field" filter_type="date_range" type="from" grid="$grid"/>"
 						id="<inp2:SearchInputName field="$filter_field" filter_type="date_range" type="from" grid="$grid"/>"
 						value="<inp2:SearchField field="$filter_field" filter_type="date_range" type="from" grid="$grid"/>"
 						onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/>
 				</td>
 				<td>
 					<img src="img/calendar_icon.gif" width="13" height="12" id="cal_img_<inp2:SearchInputName field="$filter_field" filter_type="date_range" type="from" grid="$grid"/>"
 					     style="cursor: pointer; margin-right: 5px"
 					     title="Date selector"
 					 />
 				</td>
 				<td rowspan="2" valign="middle">
 					<img src="<inp2:m_TemplatesBase/>/img/expand_filter.gif" width="7" height="9" alt="" onclick="filter_toggle('<inp2:SearchInputName field='$filter_field' filter_type='date_range' type='to' grid='$grid'/>_row', '<inp2:m_Param name='PrefixSpecial'/>');"/>
 				</td>
 			</tr>
 			<tr class="to-range-filter<inp2:m_ifnot check='RangeFiltersUsed' grid='$grid'> hidden-filter</inp2:m_ifnot>" id="<inp2:SearchInputName field='$filter_field' filter_type='date_range' type='to' grid='$grid'/>_row">
 				<td style="width: 100%;<inp2:m_ifnot check='RangeFiltersUsed' grid='$grid'> display: none;</inp2:m_ifnot>">
 					<input type="text"
 						class="filter <inp2:m_ifnot check='SearchField' field='$filter_field' filter_type='date_range' type='to' grid='$grid' equals_to=''>filter-active</inp2:m_ifnot>"
 						style="width: <inp2:m_Param name="filter_width"/>"
 						name="<inp2:SearchInputName field="$filter_field" filter_type="date_range" type="to" grid="$grid"/>"
 						id="<inp2:SearchInputName field="$filter_field" filter_type="date_range" type="to" grid="$grid"/>"
 						value="<inp2:SearchField field="$filter_field" filter_type="date_range" type="to" grid="$grid"/>"
 						onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/>
 				</td>
 				<td<inp2:m_ifnot check='RangeFiltersUsed' grid='$grid'> style="display: none;"</inp2:m_ifnot>>
 					<img src="img/calendar_icon.gif" width="13" height="12" id="cal_img_<inp2:SearchInputName field="$filter_field" filter_type="date_range" type="to" grid="$grid"/>"
 					     style="cursor: pointer; margin-right: 5px"
 					     title="Date selector"
 					/>
 				</td>
 			</tr>
 		</table>
 		<script type="text/javascript">
 			var $format = "<inp2:m_if check='m_Param' name='calendar_format'><inp2:m_Param name='calendar_format'/><inp2:m_else/><inp2:Format field='{$sort_field}' input_format='1'/></inp2:m_if>";
 
 			Calendar.setup({
 		        inputField  : "<inp2:SearchInputName field='$filter_field' filter_type='date_range' type='from' grid='$grid'/>",
 		        ifFormat    : Calendar.phpDateFormat($format),
 		        button      : "cal_img_<inp2:SearchInputName field='$filter_field' filter_type='date_range' type='from' grid='$grid'/>",
 		        align       : 'br',
 		        singleClick : true,
 		        showsTime   : true,
 		        weekNumbers : false,
 		        firstDay    : <inp2:m_GetConfig var="FirstDayOfWeek"/>
 			});
 
 			Calendar.setup({
 		        inputField  : "<inp2:SearchInputName field='$filter_field' filter_type='date_range' type='to' grid='$grid'/>",
 		        ifFormat    : Calendar.phpDateFormat($format),
 		        button      : "cal_img_<inp2:SearchInputName field='$filter_field' filter_type='date_range' type='to' grid='$grid'/>",
 		        align       : 'br',
 		        singleClick : true,
 		        showsTime   : true,
 		        weekNumbers : false,
 		        firstDay    : <inp2:m_GetConfig var="FirstDayOfWeek"/>
 			});
 		</script>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="viewmenu_sort_block">
 	$Menus['<inp2:m_param name="PrefixSpecial"/>'+'_sorting_menu'].addMenuItem('<inp2:m_phrase name="$title" js_escape="1"/>','direct_sort_grid("<inp2:m_param name="PrefixSpecial"/>","<inp2:m_param name="sort_field"/>","<inp2:{$PrefixSpecial}_OrderInfo type="direction" pos="1"/>", null, <inp2:m_param name="ajax"/>);','<inp2:m_if check="{$PrefixSpecial}_IsOrder" field="$sort_field" pos="1" >2</inp2:m_if>');
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="viewmenu_filter_block">
 	$Menus['<inp2:m_param name="PrefixSpecial"/>'+'_filter_menu'].addMenuItem('<inp2:m_param name="label" js_escape="1"/>','<inp2:m_param name="filter_action"/>','<inp2:m_param name="filter_status"/>');
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="viewmenu_filter_separator">
 	$Menus['<inp2:m_param name="PrefixSpecial"/>'+'_filter_menu'].addMenuSeparator();
 </inp2:m_DefineElement>
 
 <inp2:m_include template="incs/menu_blocks"/>
 
 <inp2:m_DefineElement name="grid_save_warning">
 	<table width="100%" border="0" cellspacing="0" cellpadding="4" class="warning-table">
   		<tr>
     		<td valign="top" class="form-warning">
     			<inp2:m_phrase name="la_Warning_Save_Item"/>
     		</td>
   		</tr>
 	</table>
 	<script type="text/javascript">
 		$edit_mode = <inp2:m_if check="m_ParamEquals" name="edit_mode" value="1">true<inp2:m_else />false</inp2:m_if>;
 		if (Form) Form.Changed();
 //		window.parent.document.title += ' - MODE: ' + ($edit_mode ? 'EDIT' : 'LIVE');
 	</script>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_status" no_special="0" pagination="1">
 	<table class="grid-status-bar">
 		<tr>
 			<td nowrap="nowrap" style="vertical-align: middle;">
 				<inp2:m_Phrase label="la_Records"/>: <inp2:GridInfo type="filtered" no_special="$no_special"/> (<inp2:GridInfo type="from" no_special="$no_special"/> - <inp2:GridInfo type="to" no_special="$no_special"/>) <inp2:m_Phrase label="la_OutOf"/> <inp2:GridInfo type="total" no_special="$no_special"/>
 			</td>
 			<td align="right" class="tablenav" valign="middle">
 				<inp2:m_if check="m_Param" name="pagination">
 					<inp2:m_RenderElement name="grid_pagination_elem" pass_params="1"/>
 				</inp2:m_if>
 			</td>
 		</tr>
 	</table>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_column_title_html" no_special="0">
 	<table style="width: auto" class="layout-only-table"><tr>
 		<td style="vertical-align: middle; padding: 0px">
 			<a
 				href="javascript:resort_grid('<inp2:m_param name="PrefixSpecial"/>','<inp2:m_param name="sort_field"/>', <inp2:m_param name="ajax"/>);"
 				class="columntitle_small"
 				title="<inp2:m_Phrase name='la_col_SortBy' no_editing='1' html_escape='1'/> <inp2:m_if check='m_Param' name='use_phrases'><inp2:m_Phrase name='$title' no_editing='1' html_escape='1'/><inp2:m_else/><inp2:m_Param name='title'/></inp2:m_if>">
 					<img
 						alt="<inp2:m_Phrase name='la_col_SortBy' no_editing='1' html_escape='1'/> <inp2:m_if check='m_Param' name='use_phrases'><inp2:m_Phrase name='$title' no_editing='1' html_escape='1'/><inp2:m_else/><inp2:m_Param name='title'/></inp2:m_if>"
 						src="img/list_arrow_<inp2:Order field='$sort_field' no_special='$no_special'/>.gif" width="15" height="15" border="0" align="absmiddle"
 					/>
 			</a>
 		</td>
 		<td style="vertical-align: middle; text-align: left; padding: 1px; white-space: normal">
 			<a
 				href="javascript:resort_grid('<inp2:m_param name="PrefixSpecial"/>','<inp2:m_param name="sort_field"/>', <inp2:m_param name="ajax"/>);"
 				class="columntitle_small"
 				title="<inp2:m_Phrase name='la_col_SortBy' no_editing='1' html_escape='1'/> <inp2:m_if check='m_Param' name='use_phrases'><inp2:m_Phrase name='$title' no_editing='1' html_escape='1'/><inp2:m_else/><inp2:m_Param name='title'/></inp2:m_if>">
 				<inp2:m_if check="m_Param" name="use_phrases"><inp2:m_Phrase name="$title"/><inp2:m_else/><inp2:m_Param name="title"/></inp2:m_if>
 			</a>
 		</td>
 	</tr></table>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_selector_icon_html" selector="checkbox">
 	<div style="white-space: nowrap;">
 		<inp2:m_if check="m_Param" name="selector">
 			<input type="<inp2:m_Param name='selector'/>" name="<inp2:InputName field='$IdField' IdField='$IdField'/>" id="<inp2:InputName field='$IdField' IdField='$IdField'/>">
 		</inp2:m_if>
 		<inp2:ItemIcon name="module" grid="$grid" result_to_var="icon_module"/>
 		<img src="<inp2:ModulePath module='$icon_module'/>img/itemicons/<inp2:ItemIcon grid='$grid'/>" width="16" height="16" alt=""/>
 	</div>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_selector_html" selector="checkbox">
 	<inp2:m_if check="m_Param" name="selector">
 		<input type="<inp2:m_Param name='selector'/>" name="<inp2:InputName field='$IdField' IdField='$IdField'/>" id="<inp2:InputName field='$IdField' IdField='$IdField'/>">
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_select_all_checkbox_html">
 	<input type="checkbox" onclick="Grids['<inp2:m_param name="PrefixSpecial"/>'].InvertSelection(); this.checked=false;" ondblclick="Grids['<inp2:m_param name="PrefixSpecial"/>'].ClearSelection(); this.checked=false;" />
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_column_title" use_phrases="1">
 	'<inp2:m_RenderElement name="grid_column_title_html" pass_params="1" js_escape="1"/>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_column_title_no_sorting" use_phrases="1">
 	'<inp2:m_if check="m_ParamEquals" name="use_phrases" value="1"><inp2:m_phrase name="$title" js_escape="1"/><inp2:m_else/><inp2:m_param name="title" js_escape="1"/></inp2:m_if>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_js_data_td" format="" no_special="1" nl2br="" first_chars="" td_style="">
 	'<inp2:m_RenderElement name="$data_block" pass_params="1" js_escape="1"/>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_js_filter_block" use_phrases="0">
 	'<inp2:m_RenderElement name="$filter_block" pass_params="1" js_escape="1"/>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_js_width_td" format="" width="" no_special="1" nl2br="" first_chars="" td_style="">
 	<inp2:m_Param name="width" js_escape="1"/><inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid" main_prefix="" per_page="" main_special="" grid_filters=""
 	 search="on"
 	 header_block="grid_column_title"
 	 filter_block="grid_column_filter"
 	 data_block="grid_data_td"
 	 totals_block="grid_total_td"
 	 row_block="_row"
 	 ajax="0"
 	 totals="0"
 	 limited_heights="false"
 	 max_row_height="45"
 	 grid_height="auto"
 	 no_special="0"
 	 selector="checkbox"
 	 grid_status="1"
 	 totals_render_as=""
 	 >
 <!--##
 	grid_filters - show individual filters for each column
 	has_filters  - draw filter section in "View" menu in toolbar
 ##-->
 
 	<inp2:InitList pass_params="1"/> <!--## this is to avoid recalling prefix as an item in first iterate grid, by col-picker for instance ##-->
 
 	<inp2:{$PrefixSpecial}_SaveWarning name="grid_save_warning" pass_params="1"/>
 	<inp2:m_if check="{$PrefixSpecial}_SearchActive" grid="$grid">
 		<table width="100%" border="0" cellspacing="0" cellpadding="4" class="warning-table">
 	  		<tr>
 	    		<td valign="top" class="form-warning">
 	    			<inp2:m_phrase name="la_Warning_Filter"/>
 	    		</td>
 	  		</tr>
 		</table>
 	</inp2:m_if>
 
 	<div id="grid_<inp2:m_Param name='PrefixSpecial'/>_container"></div>
 
 	<inp2:m_if check="m_Param" name="grid_status">
 		<inp2:m_RenderElement name="grid_status" grid="$grid" PrefixSpecial="$PrefixSpecial" main_special="$main_special" no_special="$no_special" search="$search" ajax="$ajax"/>
 	</inp2:m_if>
 
 	<inp2:m_if check="m_ParamEquals" name="ajax" value="0">
 		<inp2:m_if check="m_GetEquals" name="fw_menu_included" value="">
 			<link rel="stylesheet" rev="stylesheet" href="incs/nlsmenu.css" type="text/css" />
 			<script type="text/javascript" src="js/nlsmenu.js"></script>
 			<script type="text/javascript" src="js/nlsmenueffect_1_2_1.js"></script>
 
 			<script type="text/javascript">
 				var menuMgr = new NlsMenuManager("mgr");
 				menuMgr.timeout = 500;
 				menuMgr.flowOverFormElement = true;
 			</script>
 
 			<inp2:m_set fw_menu_included="1"/>
 		</inp2:m_if>
 
 		<script type="text/javascript">
 			<inp2:m_RenderElement name="grid_js" mouseover_class="grid-data-row-mouseover" selected_class="grid-data-row-selected:grid-data-row-even-selected" tag_name="tr" pass_params="true"/>
 		</script>
 	</inp2:m_if>
 
 	<input type="hidden" id="<inp2:m_param name="PrefixSpecial"/>_Sort1" name="<inp2:m_param name="PrefixSpecial"/>_Sort1" value="">
 	<input type="hidden" id="<inp2:m_param name="PrefixSpecial"/>_Sort1_Dir" name="<inp2:m_param name="PrefixSpecial"/>_Sort1_Dir" value="asc">
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="default_sorting_element" ajax="0">
 	<div style="text-align: center;">
 		<a href="#" onclick="reset_sorting('<inp2:m_Param name="prefix"/>', <inp2:m_param name="ajax"/>); return false;" title="<inp2:m_phrase name="la_col_ResetToDefaultSorting" html_escape="1"/>">
 			<img src="img/list_arrow_<inp2:m_if check='{$prefix}_OrderChanged'>no<inp2:m_else/>desc</inp2:m_if>_big.gif" width="16" height="16" alt="<inp2:m_phrase name="la_col_ResetToDefaultSorting" html_escape="1"/>"/>
 		</a>
 	</div>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_total_row">
 	GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].SetFooter(
 		[
 			['&nbsp;', <inp2:IterateGridFields grid="$grid" mode="total" force_block="$totals_block" ajax="$ajax"/>]
 		]
 	);
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="grid_js"
 	main_prefix="" per_page="" main_special="" grid_filters=""
 	header_block="grid_column_title"
 	filter_block="grid_column_filter"
 	data_block="grid_data_td"
 	totals_block="grid_total_td"
 	row_block="_row"
 	ajax="0"
 	totals="0"
 	limited_heights="false"
 	max_row_height="45"
 	grid_height="auto"
 	grid_status="1" ajax="1"
 	totals_render_as=""
 	no_special="0"
 	selector="checkbox"
 	mouseover_class="grid-data-row-mouseover" selected_class="grid-data-row-selected:grid-data-row-even-selected" tag_name="tr"
 >
 		<inp2:GridSelector grid="$grid" default="$selector" result_to_var="selector"/>
 
 		// 1. create grid
 		GridScrollers['<inp2:m_param name="PrefixSpecial"/>'] = new GridScroller('grid_<inp2:m_Param name="PrefixSpecial" />', 'auto', <inp2:m_if check="m_Param" name="grid_height" equals_to="auto">'<inp2:m_Param name="grid_height"/>'<inp2:m_else/><inp2:m_Param name="grid_height"/></inp2:m_if>);
 		GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].Spacer = 'img/spacer.gif';
 		GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].LeftCells = <inp2:FreezerPosition grid="$grid"/>;
 		GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].BottomOffset = <inp2:m_if check="m_Param" name="grid_status">30<inp2:m_else/>0</inp2:m_if>;
 		GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].MinWidths = [<inp2:GridSelectorColumnWidth selector="$selector" icon_width="20" selector_width="30" grid="$grid"/>, <inp2:IterateGridFields grid="$grid" mode="width" block="grid_js_width_td" ajax="$ajax" no_special="$no_special"/>];
 		GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].PickerCRC = '<inp2:PickerCRC grid="$grid"/>';
 		GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].LimitedHeights = <inp2:m_param name="limited_heights"/>;
 		GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].MaxRowHeight = <inp2:m_param name="max_row_height"/>;
 		GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].SetHeader(
 			[
 				[' <inp2:m_RenderElement name="default_sorting_element" prefix="$PrefixSpecial" ajax="$ajax" js_escape="1" strip_nl="2"/>', <inp2:IterateGridFields grid="$grid" mode="header" block="$header_block" ajax="$ajax" no_special="$no_special"/>],
 				['<inp2:m_if check="m_Param" name="selector" equals_to="checkbox"><inp2:m_RenderElement name="grid_select_all_checkbox_html" pass_params="1" js_escape="1"/><inp2:m_else/>&nbsp;</inp2:m_if>', <inp2:IterateGridFields grid="$grid" mode="filter" force_block="grid_js_filter_block" ajax="$ajax" no_special="$no_special"/>]
 			]
 		)
 		GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].FieldNames = ['_CheckboxColumn', <inp2:IterateGridFields grid="$grid" mode="fields" no_special="$no_special"/>];
 		GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].SetData(
 			[
 				<inp2:m_DefineElement name="js_row" td_style="" row_class_render_as="" selector_render_as="grid_selector_html" row_class="">
 					{ 'row_class': '<inp2:m_if check="m_Param" name="row_class_render_as"><inp2:m_RenderElement name="$row_class_render_as" PrefixSpecial="$PrefixSpecial" trim="1"/><inp2:m_else/><inp2:m_Param name="row_class"/></inp2:m_if>',
 						'data': ['<inp2:m_RenderElement name="$selector_render_as" pass_params="1" js_escape="1"/>',<inp2:IterateGridFields grid="$grid" mode="data" force_block="grid_js_data_td" no_special="$no_special"/>]
 					}<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
 				</inp2:m_DefineElement>
 				<inp2:m_set {$PrefixSpecial}_sequence="1" odd_even="table-color1"/>
 
 				<inp2:m_if check="UseItemIcons" grid="$grid">
 					<inp2:PrintList block="js_row" selector_render_as="grid_selector_icon_html" per_page="$per_page" main_special="$main_special" no_special="$no_special" selector="$selector" grid="$grid"/>
 				<inp2:m_else/>
 					<inp2:PrintList block="js_row" selector_render_as="grid_selector_html" per_page="$per_page" main_special="$main_special" no_special="$no_special" selector="$selector" grid="$grid"/>
 				</inp2:m_if>
 			]
 		)
 		GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].IDs = [
 			<inp2:m_DefineElement name="js_id">
 				'<inp2:m_param name="PrefixSpecial"/>_<inp2:Field field="$IdField"/>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
 			</inp2:m_DefineElement>
 			<inp2:PrintList block="js_id" per_page="$per_page" main_special="$main_special" no_special="$no_special" />
 		]
 
 		<inp2:m_if check="m_Param" name="totals_render_as">
 			<inp2:m_RenderElement name="$totals_render_as" pass_params="1"/>
 		</inp2:m_if>
 
 		GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].Render('grid_<inp2:m_Param name="PrefixSpecial" />_container');
 
 		<inp2:m_ifnot check="m_Param" name="ajax">
 			<inp2:m_RenderElement name="grid_search_buttons" pass_params="1"/>
 		</inp2:m_ifnot>
 
 		GridScrollers['<inp2:m_param name="PrefixSpecial"/>'].SaveURL = '<inp2:m_t pass="m,$PrefixSpecial" {$PrefixSpecial}_event="OnSaveWidths" widths="#WIDTHS#" no_amp="1" grid_name="$grid"/>';
 
 		<inp2:m_if check="m_Param" name="selector">
 			// 2. scan grid (only when using selector)
 			Grids['<inp2:m_param name="PrefixSpecial"/>'] = new Grid('<inp2:m_param name="PrefixSpecial"/>', '<inp2:m_param name="selected_class"/>', ':original', ($allow_dbl_click === undefined || $allow_dbl_click ? edit : function() {}) , a_toolbar);
 
 			Grids['<inp2:m_param name="PrefixSpecial"/>'].MouseOverClass = '<inp2:m_param name="mouseover_class"/>';
 			Grids['<inp2:m_param name="PrefixSpecial"/>'].StickySelection = true;
 			Grids['<inp2:m_param name="PrefixSpecial"/>'].AddItemsByIdMask('<inp2:m_param name="tag_name"/>', /^<inp2:m_param name="PrefixSpecial"/>_([\d\w-=]+)/, '<inp2:m_param name="PrefixSpecial"/>[$$ID$$][<inp2:m_param name="IdField"/>]');
 	  		Grids['<inp2:m_param name="PrefixSpecial"/>'].InitItems();
 
 	  		<inp2:m_if check="m_Param" name="selector" equals_to="radio">
 		  		Grids['<inp2:m_param name="PrefixSpecial"/>'].EnableRadioMode();
 			</inp2:m_if>
 
 	  		<inp2:m_if check="{$PrefixSpecial}_UseAutoRefresh">
 	  			function refresh_grid() {
 	  				// window.location.reload();
 	  				var $window_url = window.location.href;
 	  				if ($window_url.indexOf('skip_session_refresh=1') == -1) {
 	  					$window_url += '&skip_session_refresh=1';
 	  				}
 
 	  				window.location.href = $window_url;
 	  			}
 
 	  			setTimeout('refresh_grid()', <inp2:{$PrefixSpecial}_AutoRefreshInterval/> * 60000);
 	  		</inp2:m_if>
   		</inp2:m_if>
 
   		<inp2:m_RenderElement name="nlsmenu_declaration" pass_params="true"/>
 
   		$ViewMenus = new Array('<inp2:m_param name="PrefixSpecial"/>');
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="old_grid" main_prefix="" per_page="" main_special="" grid_filters="" search="on" header_block="grid_column_title" filter_block="grid_column_filter" data_block="grid_data_td" totals_block="grid_total_td" row_block="_row" ajax="0" totals="0" selector="checkbox">
 <!--##
 	DEPRICATED. LEFT FOR EDUCATION PURPOSES.
 
 	grid_filters - show individual filters for each column
 	has_filters  - draw filter section in "View" menu in toolbar
 ##-->
 
 	<inp2:InitList pass_params="1"/> <!--## this is to avoid recalling prefix as an item in first iterate grid, by col-picker for instance ##-->
 
 	<inp2:GridSelector grid="$grid" default="$selector" result_to_var="selector"/>
 
 	<inp2:{$PrefixSpecial}_SaveWarning name="grid_save_warning" main_prefix="$main_prefix"/>
 	<inp2:m_if check="{$PrefixSpecial}_SearchActive" grid="$grid">
 		<table width="100%" border="0" cellspacing="0" cellpadding="4" class="warning-table" >
 	  		<tr>
 	    		<td valign="top" class="hint_red">
 	    			<inp2:m_phrase name="la_Warning_Filter"/>
 	    		</td>
 	  		</tr>
 		</table>
 	</inp2:m_if>
 
 	<inp2:m_if check="m_ParamEquals" name="per_page" value="-1" inverse="1">
 		<inp2:m_RenderElement name="grid_pagination" grid="$grid" PrefixSpecial="$PrefixSpecial" main_special="$main_special" search="$search" ajax="$ajax"/>
 	</inp2:m_if>
 	<table width="100%" cellspacing="0" cellpadding="4" class="bordered">
 
 		<inp2:m_if check="m_ParamEquals" name="grid_filters" value="1">
 			<tr class="pagination_bar">
 				<inp2:{$PrefixSpecial}_IterateGridFields grid="$grid" mode="filter" block="$filter_block" ajax="$ajax"/>
 			</tr>
 		</inp2:m_if>
 
 		<tr class="grid-header-row grid-header-row-1">
 			<inp2:{$PrefixSpecial}_IterateGridFields grid="$grid" mode="header" block="$header_block" ajax="$ajax"/>
 		</tr>
 
 		<inp2:m_DefineElement name="_row" td_style="">
 			<tr class="<inp2:m_odd_even odd="grid-data-row grid-data-row-even" even="grid-data-row"/>" id="<inp2:m_param name="PrefixSpecial"/>_<inp2:Field field="$IdField"/>" sequence="<inp2:m_get param="{$PrefixSpecial}_sequence"/>"><inp2:m_inc param="{$PrefixSpecial}_sequence" by="1"/>
 				<inp2:IterateGridFields grid="$grid" mode="data" block="$data_block"/>
 			</tr>
 		</inp2:m_DefineElement>
 		<inp2:m_set {$PrefixSpecial}_sequence="1" odd_even="table-color1"/>
 		<inp2:{$PrefixSpecial}_PrintList block="$row_block" per_page="$per_page" main_special="$main_special" />
 
 		<inp2:m_DefineElement name="grid_total_td">
 			<inp2:m_if check="m_Param" name="total">
 				<td style="<inp2:m_param name="td_style"/>">
 					<inp2:FieldTotal name="$field" function="$total"/>
 				</td>
 			<inp2:m_else/>
 				<td style="<inp2:m_param name="td_style"/>">&nbsp;</td>
 			</inp2:m_if>
 		</inp2:m_DefineElement>
 
 		<inp2:m_if check="m_ParamEquals" name="totals" value="1">
 			<tr class="totals-row"/>
 				<inp2:IterateGridFields grid="$grid" mode="data" block="$totals_block"/>
 			</tr>
 		</inp2:m_if>
 	</table>
 
 	<inp2:m_if check="m_ParamEquals" name="ajax" value="0">
 		<inp2:m_if check="m_GetEquals" name="fw_menu_included" value="">
 			<script type="text/javascript" src="incs/fw_menu.js"></script>
 
 			<link rel="stylesheet" rev="stylesheet" href="incs/nlsmenu.css" type="text/css" />
 			<script type="text/javascript" src="js/nlsmenu.js"></script>
 			<script type="text/javascript" src="js/nlsmenueffect_1_2_1.js"></script>
 
 			<script type="text/javascript">
 				var menuMgr = new NlsMenuManager("mgr");
 				menuMgr.timeout = 500;
 				menuMgr.flowOverFormElement = true;
 			</script>
 
 			<inp2:m_set fw_menu_included="1"/>
 		</inp2:m_if>
 
 		<script type="text/javascript">
 			<inp2:m_RenderElement name="old_grid_js" mouseover_class="grid-data-row-mouseover" selected_class="grid-data-row-selected:grid-data-row-even-selected" tag_name="tr" pass_params="true"/>
 		</script>
 	</inp2:m_if>
 
 	<input type="hidden" id="<inp2:m_param name="PrefixSpecial"/>_Sort1" name="<inp2:m_param name="PrefixSpecial"/>_Sort1" value="">
 	<input type="hidden" id="<inp2:m_param name="PrefixSpecial"/>_Sort1_Dir" name="<inp2:m_param name="PrefixSpecial"/>_Sort1_Dir" value="asc">
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="old_grid_js" selector="checkbox" ajax="1">
 	<!--## DEPRICATED. LEFT FOR EDUCATION PURPOSES. ##-->
 	<inp2:GridSelector grid="$grid" default="$selector" result_to_var="selector"/>
 
 	<inp2:m_if check="m_Param" name="selector">
 		Grids['<inp2:m_param name="PrefixSpecial"/>'] = new Grid('<inp2:m_param name="PrefixSpecial"/>', 'grid-data-row-selected:grid-data-row-even-selected', ':original', edit, a_toolbar);
 
 		Grids['<inp2:m_param name="PrefixSpecial"/>'].MouseOverClass = 'grid-data-row-mouseover';
 		Grids['<inp2:m_param name="PrefixSpecial"/>'].StickySelection = true;
 		Grids['<inp2:m_param name="PrefixSpecial"/>'].AddItemsByIdMask('<inp2:m_param name="tag_name"/>', /^<inp2:m_param name="PrefixSpecial"/>_([\d\w-]+)/, '<inp2:m_param name="PrefixSpecial"/>[$$ID$$][<inp2:m_param name="IdField"/>]');
   		Grids['<inp2:m_param name="PrefixSpecial"/>'].InitItems();
 
   		<inp2:m_if check="m_Param" name="selector" equals_to="radio">
 	  		Grids['<inp2:m_param name="PrefixSpecial"/>'].EnableRadioMode();
 		</inp2:m_if>
 	</inp2:m_if>
 
 	<inp2:m_RenderElement name="nlsmenu_declaration" pass_params="true"/>
 
 	$ViewMenus = new Array('<inp2:m_param name="PrefixSpecial"/>');
 </inp2:m_DefineElement>
\ No newline at end of file
Index: branches/5.0.x/core/admin_templates/incs/form_blocks.tpl
===================================================================
--- branches/5.0.x/core/admin_templates/incs/form_blocks.tpl	(revision 12541)
+++ branches/5.0.x/core/admin_templates/incs/form_blocks.tpl	(revision 12542)
@@ -1,1075 +1,1075 @@
 <inp2:m_DefineElement name="combined_header" permission_type="view" perm_section="" perm_prefix="" perm_event="" system_permission="1" title_preset="" tab_preset="" additional_title_render_as="" additional_blue_bar_render_as="" pagination_prefix="" parent="1" grid="Default">
 	<inp2:m_if check="m_Param" name="perm_section" inverse="1">
 		<inp2:adm_SectionInfo section="$section" info="perm_section" result_to_var="perm_section"/>
 	</inp2:m_if>
 	<inp2:m_if check="m_Param" name="permission_type">
 		<inp2:m_RequireLogin permissions="{$perm_section}.{$permission_type}" perm_event="$perm_event" perm_prefix="$perm_prefix" system="$system_permission"/>
 	<inp2:m_else/>
 		<inp2:m_RequireLogin permissions="{$perm_section}" perm_event="$perm_event" perm_prefix="$perm_prefix" system="$system_permission"/>
 	</inp2:m_if>
 	<inp2:m_if check="m_Param" name="prefix" inverse="1"><inp2:adm_SectionInfo section="$section" info="SectionPrefix" result_to_var="prefix"/></inp2:m_if>
 	<inp2:m_if check="m_get" var="m_wid" inverse="1">
 		<inp2:m_if check="m_GetConfig" name="UseSmallHeader">
 			<img src="img/spacer.gif" height="8" width="1" alt=""/>
 		<inp2:m_else/>
 			<table cellpadding="0" cellspacing="0" border="0" width="100%">
 				<!--## <tr<inp2:m_ifnot check="m_ModuleEnabled" module="Proj-Base"> style="background: url(<inp2:adm_SectionInfo section="$section" parent="$parent" info="module_path"/>img/logo_bg.gif) no-repeat top right; height: 55px;"</inp2:m_ifnot>> ##-->
 				<tr>
 					<td valign="top" class="admintitle" align="left" style="padding-top: 10px; padding-bottom: 10px;">
 					<!--##
 			    		<img width="46" height="46" src="<inp2:adm_SectionInfo section='$section' parent='$parent' info='module_path'/>img/icons/icon46_<inp2:adm_SectionInfo section='$section' parent='$parent' info='icon'/>.gif" align="absmiddle" title="<inp2:adm_SectionInfo section='$section' parent='$parent' info='label'/>" alt=""/>&nbsp;
 			    	##-->
 			    		<inp2:adm_SectionInfo section="$section" parent="$parent" info="label"/>
 			   		</td>
 			   		<inp2:m_if check="m_Param" name="additional_title_render_as">
 						<inp2:m_RenderElement name="$additional_title_render_as" pass_params="1"/>
 					</inp2:m_if>
 				</tr>
 			</table>
 		</inp2:m_if>
 	<inp2:m_else/>
 		<inp2:m_if check="m_Param" name="additional_title_render_as">
 			<table cellpadding="0" cellspacing="0" border="0" width="100%">
 				<!--## <tr<inp2:m_ifnot check="m_ModuleEnabled" module="Proj-Base"> style="background: url(<inp2:adm_SectionInfo section="$section" parent="$parent" info="module_path"/>img/logo_bg.gif) no-repeat top right; height: 55px;"</inp2:m_ifnot>> ##-->
 				<tr>
 					<inp2:m_RenderElement name="$additional_title_render_as" pass_params="1"/>
 				</tr>
 			</table>
 		</inp2:m_if>
 	</inp2:m_if>
 
 	<inp2:$prefix_ModifyUnitConfig pass_params="1"/>
 
 	<inp2:m_if check="m_Param" name="tabs">
 		<inp2:m_include t="$tabs" pass_params="1"/>
 	</inp2:m_if>
 
 	<inp2:m_if check="m_Param" name="tab_preset">
 		<inp2:m_RenderElement name="edit_tabs" prefix="$prefix" preset_name="$tab_preset"/>
 	</inp2:m_if>
 
 	<table border="0" cellpadding="2" cellspacing="0" class="bordered-no-bottom" width="100%" style="height: 30px;">
 		<tr>
 			<td class="header_left_bg" nowrap="nowrap" style="vertical-align: middle;">
 				<inp2:adm_SectionInfo section="$section" info="label" result_to_var="default_title"/>
 				<inp2:adm_SectionInfo section="$section" parent="$parent" info="label" result_to_var="group_title"/>
 				<span class="tablenav_link" id="blue_bar">
 					<inp2:$prefix_SectionTitle title_preset="$title_preset" section="$section" title="$default_title" group_title="$group_title" cut_first="100" pass_params="true"/>
 				</span>
 			</td>
 			<td align="right" class="tablenav" style="vertical-align: middle;">
 				<inp2:m_if check="m_Param" name="additional_blue_bar_render_as">
 					<inp2:m_RenderElement name="$additional_blue_bar_render_as" pass_params="1"/>
 				<inp2:m_else/>
 					<inp2:m_if check="m_Param" name="pagination">
 						<inp2:$prefix_SelectParam possible_names="pagination_prefix,prefix" result_to_var="pagination_prefix"/>
 						<inp2:m_RenderElement name="grid_pagination_elem" PrefixSpecial="$pagination_prefix" pass_params="1"/>
 					</inp2:m_if>
 				</inp2:m_if>
 			</td>
 		</tr>
 	</table>
 
 	<script type="text/javascript">
 		var $visible_toolbar_buttons = <inp2:m_if check="{$prefix}_VisibleToolbarButtons" title_preset="$title_preset">[<inp2:$prefix_VisibleToolbarButtons title_preset="$title_preset"/>]<inp2:m_else/>true</inp2:m_if>;
 		var $allow_dbl_click = ($visible_toolbar_buttons === true) || in_array('dbl-click', $visible_toolbar_buttons);
 
 		set_window_title( $.trim( $('#blue_bar').text().replace(/\s+/g, ' ') ) + ' - <inp2:m_Phrase label="la_AdministrativeConsole" js_escape="1"/>');
 		setHelpLink('<inp2:lang.current_Field name="UserDocsUrl" js_escape="1"/>', '<inp2:m_Param name="title_preset" js_escape="1"/>');
 	</script>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_original_label">
 	<td><inp2:$prefix.original_Field field="$field" nl2br="1"/></td>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="subsection" prefix="" fields="" colspan="3">
 	<inp2:m_if check="m_Param" name="prefix" equals_to="">
 		<tr class="subsectiontitle">
 			<td colspan="<inp2:m_param name='colspan'/>"><inp2:m_phrase label="$title"/></td>
 		</tr>
 	<inp2:m_else/>
 		<inp2:m_if check="{$prefix}_FieldsVisible" fields="$fields">
 			<tr class="subsectiontitle">
 				<td colspan="<inp2:m_param name='colspan'/>"><inp2:m_phrase label="$title"/></td>
 				<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 					<td><inp2:m_phrase name="$original_title"/></td>
 				</inp2:m_if>
 			</tr>
 		</inp2:m_if>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_field_caption" title="" hint_label="" NamePrefix="">
 	<inp2:m_inc param="tab_index" by="1"/>
 	<td class="label-cell" onmouseover="show_form_error('<inp2:m_Param name='prefix' js_escape='1'/>', '<inp2:m_Param name='field' js_escape='1'/>')" onmouseout="hide_form_error('<inp2:m_Param name='prefix' js_escape='1'/>')">
 		<inp2:m_if check="m_Param" name="title">
 			<label for="<inp2:m_param name='NamePrefix'/><inp2:{$prefix}_InputName field='$field'/>">
 				<span class="<inp2:m_if check='{$prefix}_HasError' field='$field'>error-cell</inp2:m_if>"><inp2:m_phrase label="$title"/></span></span><inp2:m_if check="{$prefix}_IsRequired" field="$field"><span class="field-required">&nbsp;*</span></inp2:m_if>:<inp2:m_if check="m_Param" name="hint_label"><span>&nbsp;<img src="<inp2:m_TemplatesBase/>/img/hint_icon.png" width="12" height="13" title="<inp2:m_Phrase label='$hint_label' html_escape='1'/>" alt="<inp2:m_Phrase label='$hint_label' html_escape='1'/>"/></inp2:m_if>
 			</label>
 		<inp2:m_else/>
 			&nbsp;
 		</inp2:m_if>
 	</td>
 	<td class="control-mid">&nbsp;</td>
 	<script type="text/javascript">
 		if (typeof(fields['<inp2:m_Param name="prefix" js_escape="1"/>']) == 'undefined') {
 			fields['<inp2:m_Param name="prefix" js_escape="1"/>'] = new Object();
 		}
 		fields['<inp2:m_Param name="prefix" js_escape="1"/>']['<inp2:m_Param name="field" js_escape="1"/>'] = '<inp2:m_phrase label="$title" js_escape="1"/>'
 	</script>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_label" style="" format="" db="" hint_label="" as_label="" currency="" no_special="" nl2br="0" with_hidden="0" is_last="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 			<td class="control-cell" valign="top">
 				<span style="<inp2:m_Param name='style'/>" id="<inp2:$prefix_InputName field='$field'/>">
 					<inp2:{$prefix}_Field field="$field" format="$format" as_label="$as_label" currency="$currency" nl2br="$nl2br" no_special="$no_special"/>
 				</span>
 
 				<inp2:m_if check="m_Param" name="with_hidden">
 					<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_if>
 			</td>
 	    	<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 	    	<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_id_label">
 	<inp2:m_ifnot check="Field" field="$field" equals_to="|0">
 		<inp2:m_RenderElement name="inp_label" pass_params="true"/>
 	</inp2:m_ifnot>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_error">
 	<script type="text/javascript">
 		add_form_error('<inp2:m_Param name="prefix" js_escape="1"/>', '<inp2:m_Param name="field" js_escape="1"/>', '<inp2:{$prefix}_InputName field="$field"/>', '<inp2:{$prefix}_Error field="$field" js_escape="1"/>')
 	</script>
 	<!--##<td class="error-cell"><inp2:{$prefix}_Error field="$field"/>&nbsp;</td>##-->
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_box" class="" format="" is_last="" maxlength="" onblur="" onchange="" size="" onkeyup="" hint_label="" style="width: 100%">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 			<td class="control-cell">
 				<input style="<inp2:m_Param name='style'/>" type="text" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field' format='$format'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" maxlength="<inp2:m_param name='maxlength'/>" class="<inp2:m_param name='class'/>" onblur="<inp2:m_Param name='onblur'/>" onkeyup="<inp2:m_Param name='onkeyup'/>" onchange="<inp2:m_Param name='onchange'/>">
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_password" class="" size="" hint_label="" style="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" hint_label="$hint_label" title="$title"/>
 			<td class="control-cell">
 				<input style="<inp2:m_Param name='style'/>" type="password" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field name='{$field}_plain'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" class="<inp2:m_param name='class'/>" />
 
 				<script type="text/javascript">
 					$(document).ready(
 						function() {
 							<inp2:m_ifnot check="{$prefix}_Field" name="{$field}_plain">
 								$('#' + jq('<inp2:{$prefix}_InputName field="$field"/>')).val('');
 							</inp2:m_ifnot>
 						}
 					);
 				</script>
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_upload" class="" size="" thumbnail="" is_last="" hint_label="" style="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 			<td class="control-cell">
 				<inp2:m_if check="m_Param" name="thumbnail">
 					<inp2:m_if check="{$prefix}_FieldEquals" name="$field" value="" inverse="inverse">
 						<img src="<inp2:{$prefix}_Field field='$field' format='resize:{$thumbnail}'/>" alt=""/><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="la_btn_DeleteImage"/></label>
 								</td>
 							</tr>
 						</table>
 					</inp2:m_if>
 					<input type="file" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" class="<inp2:m_param name='class'/>">
 				<inp2:m_else/>
 					<input type="file" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" class="<inp2:m_param name='class'/>">
 					<inp2:m_if check="{$prefix}_FieldEquals" name="$field" value="" inverse="inverse">
 						(<inp2:{$prefix}_Field field="$field"/>)
 					</inp2:m_if>
 				</inp2:m_if>
 				<input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>[upload]" id="<inp2:{$prefix}_InputName field='$field'/>[upload]" value="<inp2:{$prefix}_Field field='$field'/>">
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_box_ml">
 	<inp2:m_RenderElement name="inp_edit_box" format="no_default" pass_params="true"/>
 
 	<!--##
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<td class="label-cell" valign="top">
 				<span class="<inp2:m_if check='{$prefix}_HasError' field='$field'>error-cell</inp2:m_if>" >
 				<inp2:m_phrase label="$title"/><inp2:m_if check="{$prefix}_IsRequired" field="$field"><span class="field-required">&nbsp;*</span></inp2:m_if>:</span><br>
-				<a href="javascript:PreSaveAndOpenTranslator('<inp2:m_param name='prefix'/>', '<inp2:m_param name='field'/>', 'popups/translator');" title="<inp2:m_Phrase label='la_Translate'/>"><img src="img/icons/icon24_translate.gif" style="cursor:hand" border="0"></a>
+				<a href="javascript:PreSaveAndOpenTranslator('<inp2:m_param name='prefix'/>', '<inp2:m_param name='field'/>', 'popups/translator');" title="<inp2:m_Phrase label='la_Translate'/>"><img src="img/icons/icon24_translate.png" style="cursor:hand" border="0"></a>
 			</td>
 			<td class="control-cell">
 				<input style="<inp2:m_Param name='style'/>" type="text" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field' format='no_default'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" maxlength="<inp2:m_param name='maxlength'/>" class="<inp2:m_param name='class'/>" onblur="<inp2:m_Param name='onblur'/>">
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 	##-->
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_swf_upload" class="" is_last="" hint_label="" style="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 			<td class="control-cell">
 				<div class="uploader-main" id="<inp2:{$prefix}_InputName field='$field'/>_progress">
 					<div class="uploader-percent" id="<inp2:{$prefix}_InputName field='$field'/>_percent">0%</div>
 					<div class="uploader-left">
 						<div class="uploader-done" id="<inp2:{$prefix}_InputName field='$field'/>_done"></div>
 					</div>
 					<table style="border-collapse: collapse; width: 100%;">
 						<tr>
 							<td style="width: 120px">Uploading:</td><td id="<inp2:{$prefix}_InputName field='$field'/>_progress_filename"></td>
 						</tr>
 						<tr>
 							<td>Progress:</td><td id="<inp2:{$prefix}_InputName field='$field'/>_progress_progress"></td>
 						</tr>
 						<tr>
 							<td>Time elapsed:</td><td id="<inp2:{$prefix}_InputName field='$field'/>_progress_elapsed"></td>
 						</tr>
 						<tr>
 							<td>Time remaining:</td><td id="<inp2:{$prefix}_InputName field='$field'/>_progress_remaining"></td>
 						</tr>
 						<tr>
 							<td colspan="2" style="text-align: center"><a href="javascript:UploadsManager.CancelUpload('<inp2:{$prefix}_InputName field='$field'/>')">Cancel</a></td>
 						</tr>
 					</table>
 				</div>
 
 				<table cellpadding="0" cellspacing="3">
 					<tr>
 						<td style="width: 63px; height: 21px;" id="<inp2:{$prefix}_InputName field='$field'/>_place_holder">
 							&nbsp;
 						</td>
 						<td>
 							<input class="button" type="button" onclick="UploadsManager.StartUpload('<inp2:{$prefix}_InputName field='$field'/>')" value="Upload"/>
 						</td>
 					</tr>
 				</table>
 
 				<div id="<inp2:{$prefix}_InputName field='$field'/>_queueinfo"></div>
 				<div id="<inp2:{$prefix}_InputName field='$field'/>_holder"></div>
 
 				<input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>[upload]" id="<inp2:{$prefix}_InputName field='$field'/>[upload]" value="<inp2:{$prefix}_Field field='$field' format='file_names'/>"><br/>
 				<input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>[tmp_ids]" id="<inp2:{$prefix}_InputName field='$field'/>[tmp_ids]" value="">
 				<input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>[tmp_names]" id="<inp2:{$prefix}_InputName field='$field'/>[tmp_names]" value="">
 				<input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>[tmp_deleted]" id="<inp2:{$prefix}_InputName field='$field'/>[tmp_deleted]" value="">
 
 				<script type="text/javascript">
 					UploadsManager.AddUploader('<inp2:{$prefix}_InputName field="$field"/>',
 						{
 							baseUrl: '<inp2:m_TemplatesBase />',
 							allowedFiletypesDescription : '<inp2:{$prefix}_FieldOption field="$field" option="files_description" result_to_var="files_description"/><inp2:m_Phrase name="$files_description" js_escape="1"/>',
 							allowedFiletypes : '<inp2:{$prefix}_FieldOption field="$field" option="file_types"/>',
 							allowedFilesize : '<inp2:{$prefix}_FieldOption field="$field" option="max_size"/>',
 							multiple : '<inp2:{$prefix}_FieldOption field="$field" option="multiple"/>',
 							prefix : '<inp2:m_Param name="prefix"/>',
 							field : '<inp2:m_Param name="field"/>',
 							urls : '<inp2:{$prefix}_Field field="$field" format="file_urls" js_escape="1"/>',
 							names : '<inp2:{$prefix}_Field field="$field" format="file_names" js_escape="1"/>',
 							sizes : '<inp2:{$prefix}_Field field="$field" format="file_sizes" js_escape="1"/>',
 							flashsid : '<inp2:m_SID/>',
 							uploadURL : '<inp2:m_t pass="m,$prefix" {$prefix}_event="OnUploadFile" js_escape="1" no_amp="1" />',
 							deleteURL : '<inp2:m_t pass="m,$prefix" {$prefix}_event="OnDeleteFile" field="#FIELD#" file="#FILE#" js_escape="1" no_amp="1"/>',
 							tmp_url : '<inp2:m_t pass="m,$prefix" {$prefix}_event="OnViewFile" tmp="1" field="#FIELD#" file="#FILE#" id="#ID#" js_escape="1" no_amp="1" />',
 
 							// Button settings
 							buttonImageURL: 'img/upload.png',	// Relative to the Flash file
 							buttonWidth: 63,
 							buttonHeight: 21,
 							buttonText: '<span class="theFont">Browse</span>',
 							buttonTextStyle: ".theFont { font-size: 12; font-family: arial, sans}",
 							buttonTextTopPadding: 2,
 							buttonTextLeftPadding: 9,
 							buttonPlaceholderId: '<inp2:{$prefix}_InputName field="$field"/>_place_holder'
 						}
 					)
 				</script>
 
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </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" class="" hint_label="" is_last="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="{$field}_date" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 			<td class="control-cell">
 				<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'/>" class="<inp2:m_param name='class'/>" datepickerIcon="<inp2:m_ProjectBase/>core/admin_templates/img/calendar_icon.gif">&nbsp;
 				<img src="img/calendar_icon.gif" id="cal_img_<inp2:{$prefix}_InputName field='{$field}'/>"
 						     style="cursor: pointer; margin-right: 5px"
 						     title="Date selector"
 						/>
 				<span class="small">(<inp2:{$prefix}_Format field="{$field}_date" input_format="1" human="true"/>)</span>
 				<script type="text/javascript">
 					Calendar.setup({
 				        inputField		:	"<inp2:{$prefix}_InputName field='{$field}_date'/>",
 				        ifFormat		:	Calendar.phpDateFormat("<inp2:{$prefix}_Format field='{$field}_date' input_format='1'/>"),
 				        button			:	"cal_img_<inp2:{$prefix}_InputName field='{$field}'/>",
 				        align			:	"br",
 				        singleClick		:	true,
 				        showsTime		:	true,
 				        weekNumbers		:	false,
 				        firstDay		:	<inp2:m_GetConfig var="FirstDayOfWeek"/>,
 				        onUpdate	:	function(cal) {
 				        	runOnChange('<inp2:$prefix_InputName field='{$field}_date'/>');
 				       	}
 					});
 				</script>
 				<input type="hidden" name="<inp2:{$prefix}_InputName field='{$field}_time'/>" id="<inp2:{$prefix}_InputName field='{$field}_time' input_format='1'/>" value="">
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" field="{$field}_date" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_time" class="" hint_label="" is_last="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="{$field}_time" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 			<td class="control-cell">
 				<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'/>" class="<inp2:m_param name='class'/>">&nbsp;
 				<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>
 			<inp2:m_RenderElement name="inp_edit_error" field="{$field}_time" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_date_time" class="" hint_label="" is_last="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 			<td class="control-cell">
 				<!-- <input type="hidden" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field' db='db'/>"> -->
 				<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'/>" class="<inp2:m_param name='class'/>" datepickerIcon="<inp2:m_ProjectBase/>core/admin_templates/img/calendar_icon.gif">
 				<img src="img/calendar_icon.gif" id="cal_img_<inp2:{$prefix}_InputName field="{$field}"/>"
 						     style="cursor: pointer; margin-right: 5px"
 						     title="Date selector"
 						/>
 					<span class="small">(<inp2:{$prefix}_Format field="{$field}_date" input_format="1" human="true"/>)</span>
 				<input type="hidden" id="full_date_<inp2:{$prefix}_InputName field='{$field}'/>" value="<inp2:{$prefix}_Field field='{$field}' format=''/>" />
 				<script type="text/javascript">
 					Calendar.setup({
 				        inputField	:	"full_date_<inp2:{$prefix}_InputName field='{$field}'/>",
 				        ifFormat	:	Calendar.phpDateFormat("<inp2:{$prefix}_Format field='{$field}' input_format='1'/>"),
 				        button		:	"cal_img_<inp2:{$prefix}_InputName field='{$field}'/>",
 				        align		:	"br",
 				        singleClick	:	true,
 				        showsTime	:	true,
 				        weekNumbers	:	false,
 				        firstDay	:	<inp2:m_GetConfig var="FirstDayOfWeek"/>,
 				        onUpdate	:	function(cal) {
 				        	document.getElementById('<inp2:{$prefix}_InputName field="{$field}_date"/>').value = cal.date.print( Calendar.phpDateFormat("<inp2:{$prefix}_Format field="{$field}_date" input_format="1"/>") );
 				        	document.getElementById('<inp2:{$prefix}_InputName field="{$field}_time"/>').value = cal.date.print( Calendar.phpDateFormat("<inp2:{$prefix}_Format field="{$field}_time" input_format="1"/>") );
 				       	}
 					});
 				</script>
 				&nbsp;<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'/>" class="<inp2:m_param name='class'/>"><span class="small"> (<inp2:{$prefix}_Format field="{$field}_time" input_format="1" human="true"/>)</span>
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_textarea" class="" format="" edit_template="popups/editor" allow_html="allow_html" style="text-align: left; width: 100%; height: 100px;" control_options="false">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>" style="height: auto">
 			<td class="label-cell" onmouseover="show_form_error('<inp2:m_Param name='prefix' js_escape='1'/>', '<inp2:m_Param name='field' js_escape='1'/>')" onmouseout="hide_form_error('<inp2:m_Param name='prefix' js_escape='1'/>')" valign="top">
 				<span class="<inp2:m_if check='{$prefix}_HasError' field='$field'>error-cell</inp2:m_if>" >
 				<inp2:m_phrase label="$title"/><inp2:m_if check="{$prefix}_IsRequired" field="$field"><span class="field-required">&nbsp;*</span></inp2:m_if>:</span><br>
 				<inp2:m_if check="m_ParamEquals" name="allow_html" value="allow_html">
 					<inp2:{$prefix}_InputName field="$field" result_to_var="input_name"/>
 					<a href="<inp2:m_Link template='$edit_template' TargetField='$input_name' pass_through='TargetField' pass='m,$prefix'/>" onclick="openSelector('<inp2:m_Param name='prefix' js_escape='1'/>', this.href, '', '800x575'); return false;">
 						<img src="img/icons/icon24_link_editor.gif" style="cursor: hand;" border="0">
 					</a>
 					<!--## <a href="javascript:OpenEditor('&section=in-link:editlink_general','kernel_form','<inp2:{$prefix}_InputName field="$field"/>');"><img src="img/icons/icon24_link_editor.gif" style="cursor:hand" border="0"></a> ##-->
 				</inp2:m_if>
 			</td>
 			<td class="control-mid">&nbsp;</td>
 				<script type="text/javascript">
 					if (typeof(fields['<inp2:m_Param name="prefix" js_escape="1"/>']) == 'undefined') {
 						fields['<inp2:m_Param name="prefix" js_escape="1"/>'] = new Object();
 					}
 					fields['<inp2:m_Param name="prefix" js_escape="1"/>']['<inp2:m_Param name="field" js_escape="1"/>'] = '<inp2:m_phrase label="$title" js_escape="1"/>'
 				</script>
 			<td class="control-cell">
 				<textarea style="<inp2:m_Param name='style'/>" tabindex="<inp2:m_get param='tab_index'/>" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" ><inp2:{$prefix}_Field field="$field" format="fck_ready;{$format}"/></textarea>
 				<script type="text/javascript">
 					Form.addControl('<inp2:{$prefix}_InputName field="$field"/>', <inp2:m_param name="control_options"/>);
 				</script>
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_fck" class="" is_last="" maxlength="" bgcolor="" onblur="" size="" onkeyup="" style="" control_options="false">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<td class="control-cell" colspan="3" onmouseover="show_form_error('<inp2:m_Param name='prefix' js_escape='1'/>', '<inp2:m_Param name='field' js_escape='1'/>')" onmouseout="hide_form_error('<inp2:m_Param name='prefix' js_escape='1'/>')">
 				<inp2:FCKEditor field="$field" width="100%" bgcolor="$bgcolor" height="200" late_load="1"/>
 				<script type="text/javascript">
 					if (typeof(fields['<inp2:m_Param name="prefix" js_escape="1"/>']) == 'undefined') {
 						fields['<inp2:m_Param name="prefix" js_escape="1"/>'] = new Object();
 					}
 					fields['<inp2:m_Param name="prefix" js_escape="1"/>']['<inp2:m_Param name="field" js_escape="1"/>'] = '<inp2:m_phrase label="$title" js_escape="1"/>'
 
 					Form.addControl('<inp2:$prefix_InputName field="$field"/>___Frame', <inp2:m_param name="control_options"/>);
 				</script>
 			</td>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_codepress" is_last="" style="width: 100%;" language="html" control_options="false">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='table_color1' even='table_color2'/>">
 			<td class="control-cell" colspan="3" onmouseover="show_form_error('<inp2:m_Param name='prefix' js_escape='1'/>', '<inp2:m_Param name='field' js_escape='1'/>')" onmouseout="hide_form_error('<inp2:m_Param name='prefix' js_escape='1'/>')">
 				<inp2:m_ifnot check="m_Get" name="codepress_included">
 					<script type="text/javascript" src="<inp2:m_TemplatesBase/>/themes/codepress/codepress.js"></script>
 					<script type="text/javascript">
 						CodePress.path = '<inp2:m_TemplatesBase/>/themes/codepress/'; // set path here, because script tags are not found in table cells
 					</script>
 					<inp2:m_Set codepress_included="1"/>
 				</inp2:m_ifnot>
 				<textarea id="<inp2:$prefix_InputName field='$field'/>" name="<inp2:$prefix_InputName field='$field'/>" class="codepress <inp2:m_Param name='language'/>" style="<inp2:m_Param name='style'/>"><inp2:$prefix_Field field="$field"/></textarea>
 
 				<script type="text/javascript">
 					Application.setHook(
 						new Array ('<inp2:m_Param name="prefix" js_escape="1"/>:OnPreSaveAndGoToTab', '<inp2:m_Param name="prefix" js_escape="1"/>:OnPreSaveAndGo', '<inp2:m_Param name="prefix" js_escape="1"/>:OnSave', '<inp2:m_Param name="prefix" js_escape="1"/>:OnCreate', '<inp2:m_Param name="prefix" js_escape="1"/>:OnUpdate'),
 						function($event) {
 							<inp2:m_Param name="field"/>.toggleEditor(); // enable textarea back to save data
 							$event.status = true;
 						}
 					);
 					if (typeof(fields['<inp2:m_Param name="prefix" js_escape="1"/>']) == 'undefined') {
 						fields['<inp2:m_Param name="prefix" js_escape="1"/>'] = new Object();
 					}
 					fields['<inp2:m_Param name="prefix" js_escape="1"/>']['<inp2:m_Param name="field" js_escape="1"/>'] = '<inp2:m_phrase label="$title" js_escape="1"/>'
 
 					Form.addControl('<inp2:$prefix_InputName field="$field"/>', <inp2:m_param name="control_options"/>);
 				</script>
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_textarea_ml">
 	<inp2:m_RenderElement name="inp_edit_textarea" format="no_default" pass_params="true"/>
 	<!--##
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<td class="label-cell" valign="top">
 				<span class="<inp2:m_if check='{$prefix}_HasError' field='$field'>error-cell</inp2:m_if>" >
 				<inp2:m_phrase label="$title"/><inp2:m_if check="{$prefix}_IsRequired" field="$field"><span class="field-required">&nbsp;*</span></inp2:m_if>:</span><br>
 				<a href="javascript:OpenEditor('&section=in-link:editlink_general','kernel_form','<inp2:{$prefix}_InputName field="$field"/>');"><img src="img/icons/icon24_link_editor.gif" style="cursor:hand" border="0"></a>
-				<a href="javascript:PreSaveAndOpenTranslator('<inp2:m_param name="prefix"/>', '<inp2:m_param name="field"/>', 'popups/translator', 1);" title="<inp2:m_Phrase label="la_Translate"/>"><img src="img/icons/icon24_translate.gif" style="cursor:hand" border="0"></a>
+				<a href="javascript:PreSaveAndOpenTranslator('<inp2:m_param name="prefix"/>', '<inp2:m_param name="field"/>', 'popups/translator', 1);" title="<inp2:m_Phrase label="la_Translate"/>"><img src="img/icons/icon24_translate.png" style="cursor:hand" border="0"></a>
 			</td>
 			<td class="control-mid">&nbsp;</td>
 			<td>
 				<textarea tabindex="<inp2:m_get param='tab_index'/>" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" cols="<inp2:m_param name='cols'/>" rows="<inp2:m_param name='rows'/>" class="<inp2:m_param name='class'/>"><inp2:{$prefix}_Field field="$field" format="fck_ready,{$format}"/></textarea>
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 	##-->
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_user" class="" size="" is_last="" old_style="0" hint_label="" onkeyup="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 			<td class="control-cell">
 				<input type="text" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" class="<inp2:m_param name='class'/>" onkeyup="<inp2:m_Param name='onkeyup'/>">
 				<inp2:m_if check="m_ParamEquals" name="old_style" value="1">
 					<a href="#" onclick="return OpenUserSelector('','kernel_form','<inp2:{$prefix}_InputName field="$field"/>');">
 				<inp2:m_else/>
 					<a href="javascript:openSelector('<inp2:m_param name='prefix'/>', '<inp2:m_t t='user_selector' pass='all,$prefix' escape='1'/>', '<inp2:m_param name='field'/>');">
 				</inp2:m_if>
 	          		 <img src="img/icons/icon24_link_user.gif" style="cursor:hand;" border="0">
 	         	</a>
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_category" class="" size="" is_last="" old_style="0" hint_label="" onkeyup="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 			<td class="control-cell">
 				<table cellpadding="0" cellspacing="0">
 					<tr>
 						<td id="<inp2:{$prefix}_InputName field='$field'/>_path">
 							<inp2:m_DefineElement name="category_caption">
 								<inp2:m_ifnot check="c_HomeCategory" equals_to="$cat_id">
 									<inp2:m_param name="separator"/>
 								</inp2:m_ifnot>
 								<inp2:m_param name="cat_name"/>
 							</inp2:m_DefineElement>
 
 							<inp2:$prefix_FieldCategoryPath field="$field" separator=" &gt; " render_as="category_caption"/>
 							<inp2:m_RenderElement name="inp_edit_hidden" pass_params="1"/>
 						</td>
 						<td valign="middle">
 							<img src="img/spacer.gif" width="3" height="1" alt=""/>
 							<a href="javascript:openSelector('<inp2:m_param name='prefix'/>', '<inp2:adm_SelectorLink prefix='$prefix' selection_mode='single' tab_prefixes='none'/>', '<inp2:m_param name='field'/>');">
 				          		 <img src="img/icons/icon24_cat.gif" width="24" height="24" border="0"/>
 				         	</a>
 
 				         	<a href="#" onclick="disable_category('<inp2:m_Param name='field'/>'); return false;"><inp2:m_Phrase name="la_Text_Disable"/></a>
 
 				         	<script type="text/javascript">
 					         	function disable_category($field) {
 					         		var $field = '<inp2:{$prefix}_InputName field="#FIELD_NAME#"/>'.replace('#FIELD_NAME#', $field);
 							    	set_hidden_field($field, '');
 							    	document.getElementById($field + '_path').style.display = 'none';
 							    }
 						    </script>
 						</td>
 					</tr>
 				</table>
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 		</tr>
 	</inp2:m_if>
 </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" is_last="" onchange="" has_empty="0" empty_value="" hint_label="" style="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 			<td class="control-cell">
 				<select tabindex="<inp2:m_get param='tab_index'/>" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" onchange="<inp2:m_Param name='onchange'/>">
 					<inp2:m_if check="{$prefix}_FieldOption" field="$field" option="use_phrases">
 						<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>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_multioptions" is_last="" has_empty="0" empty_value="" hint_label="" style="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 			<td class="control-cell">
 				<select multiple tabindex="<inp2:m_get param='tab_index'/>" id="<inp2:{$prefix}_InputName field='$field'/>_select" onchange="update_multiple_options('<inp2:{$prefix}_InputName field='$field'/>');">
 					<inp2:m_if check="{$prefix}_FieldOption" field="$field" option="use_phrases">
 						<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>
 				<input type="hidden" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field' db='db'/>"/>
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_radio_item" onclick="" onchange="">
 	<input type="radio" <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"/>" onclick="<inp2:m_param name="onclick"/>" onchange="<inp2:m_param name="onchange"/>"><label for="<inp2:{$prefix}_InputName field="$field"/>_<inp2:m_param name="key"/>"><inp2:m_param name="option"/></label>&nbsp;
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_radio_phrase" onclick="" onchange="">
 	<input type="radio" <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"/>" onclick="<inp2:m_param name="onclick"/>" onchange="<inp2:m_param name="onchange"/>"><label for="<inp2:{$prefix}_InputName field="$field"/>_<inp2:m_param name="key"/>"><inp2:m_phrase label="$option"/></label>&nbsp;
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_radio" is_last="" pass_tabindex="" onclick="" hint_label="" onchange="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 			<td class="control-cell">
 				<inp2:m_if check="{$prefix}_FieldOption" field="$field" option="use_phrases">
 					<inp2:{$prefix}_PredefinedOptions field="$field" tabindex="$pass_tabindex" block="inp_radio_phrase" selected="checked" onclick="$onclick" onchange="$onchange" />
 				<inp2:m_else />
 					<inp2:{$prefix}_PredefinedOptions field="$field" tabindex="$pass_tabindex" block="inp_radio_item" selected="checked" onclick="$onclick" onchange="$onchange" />
 				</inp2:m_if>
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_checkbox" is_last="" field_class="" onchange="" hint_label="" onclick="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" hint_label="$hint_label" is_last="$is_last" NamePrefix="_cb_"/>
 			<td class="control-cell">
 				<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"/> class="<inp2:m_param name='field_class'/>" onclick="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field='$field'/>'));" onchange="<inp2:m_param name='onchange'/>">-->
 				<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"/> class="<inp2:m_param name='field_class'/>" onchange="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field='$field'/>'));<inp2:m_param name='onchange'/>" onclick="<inp2:m_param name='onclick'/>">
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_checkbox_item">
 	<input type="checkbox" <inp2:m_param name='checked'/> id="<inp2:{$prefix}_InputName field='$field'/>_<inp2:m_param name='key'/>" value="<inp2:m_param name='key'/>" onclick="update_checkbox_options(/^<inp2:{$prefix}_InputName field='$field' as_preg='1'/>_([0-9A-Za-z-]+)/, '<inp2:{$prefix}_InputName field='$field'/>');"><label for="<inp2:{$prefix}_InputName field='$field'/>_<inp2:m_param name='key'/>"><inp2:m_param name="option"/></label>&nbsp;
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_checkbox_phrase">
 	<input type="checkbox" <inp2:m_param name='checked'/> id="<inp2:{$prefix}_InputName field='$field'/>_<inp2:m_param name='key'/>" value="<inp2:m_param name='key'/>" onclick="update_checkbox_options(/^<inp2:{$prefix}_InputName field='$field' as_preg='1'/>_([0-9A-Za-z-]+)/, '<inp2:{$prefix}_InputName field='$field'/>');"><label for="<inp2:{$prefix}_InputName field='$field'/>_<inp2:m_param name='key'/>"><inp2:m_phrase label="$option"/></label>&nbsp;
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_checkboxes" no_empty="" pass_tabindex="" hint_label="" is_last="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 			<td class="control-cell">
 				<inp2:m_if check="{$prefix}_FieldOption" field="$field" option="use_phrases">
 					<inp2:{$prefix}_PredefinedOptions field="$field" no_empty="$no_empty" tabindex="$pass_tabindex" block="inp_checkbox_phrase" selected="checked"/>
 				<inp2:m_else/>
 					<inp2:{$prefix}_PredefinedOptions field="$field" no_empty="$no_empty" tabindex="$pass_tabindex" block="inp_checkbox_item" selected="checked"/>
 				</inp2:m_if>
 				<inp2:m_RenderElement prefix="$prefix" name="inp_edit_hidden" field="$field" db="db"/>
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_checkbox_allow_html" is_last="" field_class="" onchange="" onclick="" title="la_enable_html" hint_label="la_Warning_Enable_HTML">
 	<inp2:m_RenderElement name="inp_edit_checkbox" pass_params="1"/>
 
 	<!--##
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 
 			<td class="control-cell">
 				<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"/> class="<inp2:m_param name='field_class'/>" onchange="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field='$field'/>'));<inp2:m_param name='onchange'/>" onclick="<inp2:m_param name='onclick'/>">
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 		</tr>
 	</inp2:m_if>
 	##-->
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_weight" class="" is_last="" hint_label="" maxlength="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 			<td class="control-cell">
 				<inp2:m_if check="lang.current_FieldEquals" field="UnitSystem" value="1">
 					<input type="text" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" maxlength="<inp2:m_param name='maxlength'/>" class="<inp2:m_param name='class'/>" onblur="<inp2:m_Param name='onblur'/>">
 					<inp2:m_phrase label="la_kg" />
 				</inp2:m_if>
 				<inp2:m_if check="lang.current_FieldEquals" field="UnitSystem" value="2">
 					<input type="text" name="<inp2:{$prefix}_InputName field='{$field}_a'/>" id="<inp2:{$prefix}_InputName field='{$field}_a'/>" value="<inp2:{$prefix}_Field field='{$field}_a'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" maxlength="<inp2:m_param name='maxlength'/>" class="<inp2:m_param name='class'/>" onblur="<inp2:m_Param name='onblur'/>">
 					<inp2:m_phrase label="la_lbs" />
 					<input type="text" name="<inp2:{$prefix}_InputName field='{$field}_b'/>" id="<inp2:{$prefix}_InputName field='{$field}_b'/>" value="<inp2:{$prefix}_Field field='{$field}_b'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" maxlength="<inp2:m_param name='maxlength'/>" class="<inp2:m_param name='class'/>" onblur="<inp2:m_Param name='onblur'/>">
 					<inp2:m_phrase label="la_oz" />
 				</inp2:m_if>
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 			<inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
 				<inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
 			</inp2:m_if>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_minput" style="" format="" allow_add="1" allow_edit="1" allow_delete="1" allow_move="1" hint_label="" title="">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" hint_label="$hint_label" title="$title"/>
 			<td class="control-cell">
 				<table>
 					<tr>
 						<td colspan="2">
 							<input type="button" class="button" style="width: 70px;" value="<inp2:m_Phrase name='la_btn_Add'/>" id="<inp2:$prefix_InputName field='$field'/>_add_button"/>
 							<input type="button" class="button" style="width: 70px;" value="<inp2:m_Phrase name='la_btn_Cancel'/>" id="<inp2:$prefix_InputName field='$field'/>_cancel_button"/>
 						</td>
 					</tr>
 					<tr>
 						<td valign="top">
 							<select multiple tabindex="<inp2:m_get param='tab_index'/>" id="<inp2:$prefix_InputName field='$field'/>_minput" style="<inp2:m_Param name='style'/>">
 							</select>
 						</td>
 						<td valign="top">
 							<inp2:m_if check="m_Param" name="allow_edit">
 								<input type="button" class="button" style="width: 100px;" value="<inp2:m_Phrase name='la_btn_Edit'/>" id="<inp2:$prefix_InputName field='$field'/>_edit_button"/><br />
 								<img src="img/spacer.gif" height="4" width="1" alt=""/><br />
 							</inp2:m_if>
 
 							<inp2:m_if check="m_Param" name="allow_delete">
 								<input type="button" class="button" style="width: 100px;" value="<inp2:m_Phrase name='la_btn_Delete'/>" id="<inp2:$prefix_InputName field='$field'/>_delete_button"/><br />
 							</inp2:m_if>
 
 							<inp2:m_if check="m_Param" name="allow_move">
 								<br /><br />
 								<input type="button" class="button" style="width: 100px;" value="<inp2:m_Phrase name='la_btn_MoveUp'/>" id="<inp2:$prefix_InputName field='$field'/>_moveup_button"/><br />
 							<img src="img/spacer.gif" height="4" width="1" alt=""/><br />
 								<input type="button" class="button" style="width: 100px;" value="<inp2:m_Phrase name='la_btn_MoveDown'/>" id="<inp2:$prefix_InputName field='$field'/>_movedown_button"/><br />
 							</inp2:m_if>
 						</td>
 					</tr>
 					<inp2:m_RenderElement name="inp_edit_hidden" prefix="$prefix" field="$field" db="db"/>
 					<script type="text/javascript">
 						var <inp2:m_Param name="field"/> = new MultiInputControl('<inp2:m_Param name="field"/>', '<inp2:{$prefix}_InputName field="#FIELD_NAME#"/>', fields['<inp2:m_Param name="prefix"/>'], '<inp2:m_Param name="format"/>');
 						<inp2:m_Param name="field"/>.ValidateURL = '<inp2:m_Link template="dummy" pass="m,$prefix" {$prefix}_event="OnValidateMInputFields" js_escape="1"/>';
 						<inp2:m_if check="m_Param" name="allow_add">
 							<inp2:m_Param name="field"/>.SetPermission('add', true);
 						</inp2:m_if>
 						<inp2:m_if check="m_Param" name="allow_edit">
 							<inp2:m_Param name="field"/>.SetPermission('edit', true);
 						</inp2:m_if>
 						<inp2:m_if check="m_Param" name="allow_delete">
 							<inp2:m_Param name="field"/>.SetPermission('delete', true);
 						</inp2:m_if>
 						<inp2:m_if check="m_Param" name="allow_move">
 							<inp2:m_Param name="field"/>.SetPermission('move', true);
 						</inp2:m_if>
 						<inp2:m_Param name="field"/>.InitEvents();
 
 						<inp2:m_Param name="field"/>.SetMessage('required_error', '<inp2:m_Phrase name="la_error_required" escape="1"/>');
 						<inp2:m_Param name="field"/>.SetMessage('unique_error', '<inp2:m_Phrase name="la_error_unique" escape="1"/>');
 						<inp2:m_Param name="field"/>.SetMessage('delete_confirm', '<inp2:m_Phrase label="la_Delete_Confirm" escape="1"/>');
 						<inp2:m_Param name="field"/>.SetMessage('add_button', '<inp2:m_Phrase name="la_btn_Add" escape="1"/>');
 						<inp2:m_Param name="field"/>.SetMessage('save_button', '<inp2:m_Phrase name="la_btn_Save" escape="1"/>');
 					</script>
 				</table>
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_picker" is_last="" has_empty="0" empty_value="" style="width: 225px;" hint_label="" size="15">
 	<inp2:m_if check="{$prefix}_FieldVisible" field="$field">
 		<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
 			<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" hint_label="$hint_label" is_last="$is_last"/>
 			<td class="control-cell">
 				<table cellpadding="0" cellspacing="0">
 					<tr>
 						<td><strong><inp2:m_Phrase label="la_SelectedItems" /></strong></td>
 						<td>&nbsp;</td>
 						<td><strong><inp2:m_Phrase label="la_AvailableItems" /></strong></td>
 					</tr>
 					<tr>
 						<td>
 							<inp2:m_DefineElement name="picker_option_block">
 								<option value="<inp2:Field name='$key_field' />"><inp2:Field name="$value_field" /></option>
 							</inp2:m_DefineElement>
 
 							<select multiple id="<inp2:$prefix_InputName name='$field' />_selected" style="<inp2:m_param name='style'/>" size="<inp2:m_param name='size'/>">
 								<inp2:$optprefix.selected_PrintList render_as="picker_option_block" key_field="$option_key_field" value_field="$option_value_field" per_page="-1" requery="1" link_to_prefix="$prefix" link_to_field="$field"/>
 							</select>
 						</td>
 						<td align="center">
 							<img src="img/icons/icon_left.gif" id="<inp2:$prefix_InputName name="$field" />_move_left_button"/><br />
 							<img src="img/icons/icon_right.gif" id="<inp2:$prefix_InputName name="$field" />_move_right_button"/>
 						</td>
 						<td>
 							<select multiple id="<inp2:$prefix_InputName name='$field' />_available" style="<inp2:m_param name='style'/>" size="<inp2:m_param name='size'/>">
 								<inp2:$optprefix.available_PrintList render_as="picker_option_block" key_field="$option_key_field" value_field="$option_value_field" requery="1" per_page="-1" link_to_prefix="$prefix" link_to_field="$field"/>
 							</select>
 						</td>
 					</tr>
 				</table>
 
 				<input type="hidden" name="<inp2:$prefix_InputName name='$field' />" id="<inp2:$prefix_InputName name='$field' />" value="<inp2:$prefix_Field field='$field' db='db'/>">
 				<input type="hidden" name="unselected_<inp2:$prefix_InputName name='$field' />" id="<inp2:$prefix_InputName name='$field' />_available_field" value="">
 
 				<script type="text/javascript">
 					<inp2:m_Param name="field"/> = new EditPickerControl('<inp2:m_Param name="field"/>', '<inp2:$prefix_InputName name="$field" />');
 					<inp2:m_Param name="field"/>.SetMessage('nothing_selected', '<inp2:m_Phrase label="la_SelectItemToMove" escape="1"/>');
 				</script>
 
 			</td>
 			<inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
 		</tr>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="inp_edit_filler" control_options="false">
 	<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>" style="height: auto">
 		<td class="label-cell-filler" ></td>
 		<td class="control-mid-filler" ></td>
 		<td class="control-cell-filler">
 			<div id="form_filler" style="width: 100%; height: 5px; background-color: inherit"></div>
 			<script type="text/javascript">
 				Form.addControl('form_filler', <inp2:m_param name="control_options"/>);
 			</script>
 		</td>
 	</tr>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="ajax_progress_bar">
 	<table width="100%" border="0" cellspacing="0" cellpadding="2" class="tableborder">
 		<tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
 			<td colspan="2">
 				<img src="img/spacer.gif" height="10" width="1" alt="" /><br />
 				<!-- progress bar paddings: begin -->
 				<table width="90%" cellpadding="2" cellspacing="0" border="0" align="center">
 					<tr>
 						<td class="progress-text">0%</td>
 						<td width="100%">
 							<!-- progress bar: begin -->
 							<table cellspacing="0" cellpadding="0" width="100%" border="0" align="center" style="background-color: #FFFFFF; border: 1px solid #E6E6E6;">
 								<tr>
 									<td colspan="3"><img src="img/spacer.gif" height="2" width="1" alt="" /></td>
 								</tr>
 								<tr>
 									<td width="2"><img src="img/spacer.gif" height="13" width="3" alt="" /></td>
 									<td align="center" width="100%">
 										<table cellspacing="0" cellpadding="0" width="100%" border="0" style="background: url(img/progress_left.gif) repeat-x;">
 											<tr>
 												<td id="progress_bar[done]" style="background: url(img/progress_done.gif);" align="left"></td>
 												<td id="progress_bar[left]" align="right"><img src="img/spacer.gif" height="9" width="1" alt="" /></td>
 											</tr>
 										</table>
 									</td>
 									<td width="1"><img src="img/spacer.gif" height="13" width="3" alt="" /></td>
 								</tr>
 								<tr>
 									<td colspan="3"><img src="img/spacer.gif" height="2" width="1" alt="" /></td>
 								</tr>
 							</table>
 							<!-- progress bar: end -->
 						</td>
 						<td class="progress-text">100%</td>
 					</tr>
 				</table>
 				<!-- progress bar paddings: end -->
 				<img src="img/spacer.gif" height="10" width="1" alt="" /><br />
 			</td>
 		</tr>
 		<tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
 			<td width="50%" align="right"><inp2:m_phrase name="la_fld_PercentsCompleted"/>:</td>
 			<td id="progress_display[percents_completed]">0%</td>
 		</tr>
 		<tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
 			<td align="right"><inp2:m_phrase name="la_fld_ElapsedTime"/>:</td>
 			<td id="progress_display[elapsed_time]">00:00</td>
 		</tr>
 		<tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
 			<td align="right"><inp2:m_phrase name="la_fld_EstimatedTime"/>:</td>
 			<td id="progress_display[Estimated_time]">00:00</td>
 		</tr>
 		<tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
 			<td align="center" colspan="2">
 				<input type="button" class="button" onclick="<inp2:m_param name="cancel_action"/>" value="<inp2:m_phrase name="la_Cancel"/>" />
 			</td>
 		</tr>
 	</table>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="edit_navigation" toolbar="a_toolbar">
 	<inp2:m_if check="{$prefix}_IsTopmostPrefix">
 		<inp2:m_if check="{$prefix}_IsSingle">
 			<inp2:m_param name="toolbar"/>.HideButton('prev');
 			<inp2:m_param name="toolbar"/>.HideButton('next');
 		<inp2:m_else/>
 			<inp2:m_if check="{$prefix}_IsLast">
 				<inp2:m_param name="toolbar"/>.DisableButton('next');
 			</inp2:m_if>
 			<inp2:m_if check="{$prefix}_IsFirst">
 				<inp2:m_param name="toolbar"/>.DisableButton('prev');
 			</inp2:m_if>
 		</inp2:m_if>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="tabs_container" tabs_render_as="">
 	<table cellpadding="0" cellspacing="0" style="width: 100%;">
 		<tr>
 			<td style="width: 20px;">
 				<img src="<inp2:m_TemplatesBase/>/img/spacer.gif" width="20" height="0" alt=""/><br/>
 				<a href="#" class="scroll-left disabled"></a>
 			</td>
 
 			<td height="23" align="right">
 				<div id="tab-measure" style="display: none; width: 100%; height: 23px;">&nbsp;</div>
 				<div style="overflow: hidden; height: 23px;" class="tab-viewport">
 					<table class="tabs" cellpadding="0" cellspacing="0" height="23">
 						<tr>
 							<inp2:m_RenderElement name="$tabs_render_as" pass_params="1"/>
 						</tr>
 					</table>
 				</div>
 			</td>
 
 			<td class="scroll-right-container disabled">
 				<img src="<inp2:m_TemplatesBase/>/img/spacer.gif" width="20" height="0" alt=""/><br/>
 				<a href="#" class="scroll-right disabled"></a>
 			</td>
 		</tr>
 	</table>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="edit_tabs_element">
 	<inp2:m_DefineElement name="edit_tab">
 		<inp2:m_RenderElement name="tab" title="$title" t="$template" main_prefix="$PrefixSpecial"/>
 	</inp2:m_DefineElement>
 
 	<inp2:{$prefix}_PrintEditTabs render_as="edit_tab" preset_name="$preset_name"/>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="edit_tabs" preset_name="Default">
 	<inp2:m_if check="{$prefix}_HasEditTabs" preset_name="$preset_name">
 		<inp2:m_RenderElement name="tabs_container" tabs_render_as="edit_tabs_element" pass_params="1"/>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="ml_selector" prefix="" field="Translated">
 	<inp2:m_if check="lang_IsMultiLanguage">
 		<td align="right" style="padding-right: 5px;">
 			<table width="100%" cellpadding="0" cellspacing="0">
 				<tr>
 					<td align="right">
 						<inp2:m_phrase name="la_fld_Language"/>:
 						<select name="language" onchange="submit_event('<inp2:m_param name='prefix'/>', 'OnPreSaveAndChangeLanguage');">
 							<inp2:m_DefineElement name="lang_elem">
 								<option value="<inp2:Field name='LanguageId'/>" <inp2:m_if check="SelectedLanguage">selected="selected"</inp2:m_if> ><inp2:Field name="LocalName" no_special='no_special' /></option>
 							</inp2:m_DefineElement>
 							<inp2:lang_PrintList render_as="lang_elem"/>
 						</select>
 					</td>
 				</tr>
 				<tr>
 					<td align="right">
 						<inp2:m_if check="lang_IsPrimaryLanguage">
 							<input type="hidden" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" value="1">
 							<input type="checkbox" disabled id="_cb_<inp2:{$prefix}_InputName field='$field'/>" name="_cb_<inp2:{$prefix}_InputName field='$field'/>" checked="checked"/>
 						<inp2:m_else/>
 							<input type="hidden" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field'/>">
 							<input type="checkbox" id="_cb_<inp2:{$prefix}_InputName field='$field'/>" name="_cb_<inp2:{$prefix}_InputName field='$field'/>" <inp2:{$prefix}_Field field="$field" checked="checked"/> onchange="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field='$field'/>'));" />
 						</inp2:m_if>
 						<label for="_cb_<inp2:{$prefix}_InputName field='$field'/>"><inp2:m_Phrase label="la_Translated"/></label>
 					</td>
 				</tr>
 				<tr>
 					<td align="right" style="vertical-align: bottom; padding: 2px 0px 5px 2px;">
 						<span style="color: red">*</span>&nbsp;<span class="req-note"><inp2:m_Phrase name="la_text_RequiredFields"/></span>
 					</td>
 				</tr>
 			</table>
 		</td>
 	<inp2:m_else/>
 		<td align="right" style="vertical-align: bottom; padding: 2px 5px 5px 2px;">
 			<span style="color: red">*</span>&nbsp;<span class="req-note"><inp2:m_Phrase name="la_text_RequiredFields"/></span>
 		</td>
 	</inp2:m_if>
 </inp2:m_DefineElement>
 
 <inp2:m_DefineElement name="form_error_warning">
 	<table width="100%" border="0" cellspacing="0" cellpadding="4" class="warning-table">
   		<tr>
     		<td valign="top" class="form-warning">
     			<inp2:m_phrase name="la_Warning_NewFormError"/><br/>
     			<span id="error_msg_<inp2:m_Param name='prefix'/>" style="font-weight: bold"><br/></span>
     		</td>
   		</tr>
 	</table>
 </inp2:m_DefineElement>