// -----------------------------------------------------------------------------// trim the spaces enclosed the core of text// -----------------------------------------------------------------------------function trim(value) {if (!value || (value == null) || (value.length == 0)) {return "";  }var i = 0, startPos = 0, endPos = 0;while (i < value.length) {if (value.charAt(i) != ' ') {break;}i++;}if (i == value.length) {return "";}startPos = i;i = value.length - 1;while (i > 0) {if (value.charAt(i) != ' ') {endPos = i;break;}--i;}if (endPos == 0) {endPos = startPos;}return value.substring(startPos, endPos + 1);}// -----------------------------------------------------------------------------// Simple encoding of a specified string.// Any "/" character will be replaced by "%2F". This can be used for avoiding slashes// in request parameters since some servlet environments have problems with such URLs.// -----------------------------------------------------------------------------function simpleEscape(str) {    return str.replace(/\//g, "%2F");}// -----------------------------------------------------------------------------// Return folder parsed from fileURL.// Example://   /pages/index.html -> /pages///   index.html -> empty string// -----------------------------------------------------------------------------function extractFolder(filePath) {var pos = filePath.lastIndexOf("/");if (pos < 0) {return "";}return filePath.substring(0, pos + 1);}// -----------------------------------------------------------------------------// Open MySites selection window// -----------------------------------------------------------------------------var MYSITE_FILTER_ALL_NOT_SYND = "all_not_synd"; // all MySites except of syndication candidatesvar MYSITE_FILTER_ALL = "all";                  // all MySitesvar MYSITE_FILTER_USER_ACTIONS = "user_actions"; // MySites where current user has any user actions// binary coded flags for excluding type. Flags, not MySite IDs (!)var MYSITE_FILTER_EXCLUDE_NONE = 0;var MYSITE_FILTER_EXCLUDE_ROOT = 1;var MYSITE_FILTER_EXCLUDE_DS   = 2;function callSelectMySiteWindow(sysPagesFolder, mySiteId, selectedIds, callbackId,         isMultiselectEnabled, mySiteFilter, mySiteFilterExclude) {  var winTop = 40;  var winLeft = ((screen.width - 542) / 2) + 30;var win = window.open(sysPagesFolder + "config/select_mysites.html?f_mysite_id=" + mySiteId        + "&f_selected_mysite_ids=" + trim(selectedIds)        + ( (trim(callbackId) != "") ? "&f_callback_id=" + trim(callbackId) : "")        + "&f_multiselect=" + ( ((isMultiselectEnabled == 1) || isMultiselectEnabled) ? 1 : 0)        + "&f_init_session=1&f_mysite_filter=" + mySiteFilter + "&f_mysite_filter_exclude=" + mySiteFilterExclude,           "SelectMySites", "toolbar=no, location=no, directories=no, status=no, menubar=0, scrollbars=yes, "            + "resizable=yes, top=" + winTop + ",left=" + winLeft + ", width=542, height=600");if (win != null) {win.opener = self;win.focus();}}//------------------------------------------------------------------------------// Call Direct Configuration Popup for page with specified path//------------------------------------------------------------------------------function callPortletConfig(sysPagesFolder, portletId, functionId, pageMySiteId) {var win = window.open(sysPagesFolder + "config/pageconfig.html?f_page_url=portlet:" + portletId     + "&function=" + functionId + "&f_page_mysite_id=" + pageMySiteId, "PortletConfig", "width=542, height=560, top=10, left=" + ((screen.width - 542) / 2) + ", scrollbars=yes, menubar=no");win.opener = self;win.focus();}// callback fromfunction callbackDirectConfig() {    // alert("callbackDirectConfig()");    // document.location.href=document.location;}// -----------------------------------------------------------------------------// Open popup window with directory tree and expand fileURL folder// @param rootPath Root path - MySite home folder or "/"// @param fileURL name of focused folder// -----------------------------------------------------------------------------var directoryWindow = null;var directoryFormName = null;var directoryFieldName = null;function setFormValue(filename) {  if ((directoryFormName != null) && (directoryFieldName != null)) {    var field = document.forms[directoryFormName].elements[directoryFieldName];    if (field) {      field.value = filename;    }  }  if (directoryWindow != null) {    directoryWindow.close();    directoryWindow = null;  }  if (window.onResourceSelectedInTree) {    onResourceSelectedInTree(filename);    }}function callDirectoryWindow(cmsPath, rootPath, fileURL, formName, formFieldName, showfiles) {  directoryFormName = formName;  directoryFieldName = formFieldName;  var focusedFolder = extractFolder(fileURL);directoryWindow = window.open(cmsPath + "/system/workplace/jsp/tree_fs.html?resource=" + simpleEscape(focusedFolder)+ "&lastknown=" + rootPath + (showfiles ? "&includefiles=true" : ""), "folder_tree","toolbar=no,location=no,directories=no,status=no,menubar=0,scrollbars=yes,resizable=yes,top=10,left=10,width=300,height=500");if (directoryWindow != null) {if (directoryWindow.opener == null) {directoryWindow.opener = self;}directoryWindow.focus();}}//------------------------------------------------------------------------------// Check form parameter for HtDig search// Note: Parameter ns is portal-specific (namespace)//------------------------------------------------------------------------------function checkSubmitSucheForm(form, errmsgMisingWords, ns) {// check "words" parameterif (form.elements[ns + "f_words_and"].value.length > 0) {form.elements[ns + "f_search_words"].value = form.elements[ns + "f_words_and"].value;form.elements[ns + "f_search_method"].value = "and";} else {if (form.elements[ns + "f_words_or"].value.length > 0) {form.elements[ns + "f_search_words"].value = form.elements[ns + "f_words_or"].value;form.elements[ns + "f_search_method"].value = "or";} else {alert((errmsgMisingWords) ? errmsgMisingWords : "Wort fehlt");form.elements[ns + "f_words_and"].focus();return false;}}// check "matchesperpage"    var srcField = form.elements[ns + "f_nrresults"];    if (srcField.selectedIndex >= 0) {        form.elements[ns + "f_search_matchesperpage"].value = srcField[srcField.selectedIndex].value;    }return true;}// -----------------------------------------------------------------------------