/** * Users can change the contents of a Web page when the contentEditable property is set * to TRUE. This method submits the changes for the object specified by id. * * @param url Url of the object to be changed. * @param id Id of the object to be changed. * @param key Key of the property to be changed. */ function contenteditableChangeClick(url, id, key) { var elName = key + "_" + id; var elValue = escape(window.eval(elName).innerHTML); var fmName = id + "Form"; document.write('
'); document.write(''); document.write(''); document.write(''); document.write(''); document.write(''); document.write('
'); var fm = document.forms[fmName]; fm.submit(); } /** * Users can change the contents of a Web page when the contentEditable property is set * to TRUE. */ function contentEditableBlur( el, id, objAttrName) { var text = el.innerHTML; var fm = document.forms['form0_'+id]; var formats = new Array(); formats['body'] = new Array(); formats['body']['tag'] = 'p'; formats['body']['subtag'] = 'br'; formats['unordered_list'] = new Array(); formats['unordered_list']['tag'] = 'ul'; formats['unordered_list']['subtag'] = 'li'; formats['caption'] = new Array(); formats['caption']['tag'] = 'p'; formats['caption']['subtag'] = 'br'; formats['emphasis'] = new Array(); formats['emphasis']['tag'] = 'p'; formats['emphasis']['subtag'] = 'br'; formats['plain_html'] = new Array(); formats['plain_html']['tag'] = ''; formats['plain_html']['subtag'] = ''; formats['headline_1'] = new Array(); formats['headline_1']['tag'] = 'p'; formats['headline_1']['subtag'] = 'br'; formats['headline_2'] = new Array(); formats['headline_2']['tag'] = 'p'; formats['headline_2']['subtag'] = 'br'; formats['headline_3'] = new Array(); formats['headline_3']['tag'] = 'p'; formats['headline_3']['subtag'] = 'br'; formats['headline_4'] = new Array(); formats['headline_4']['tag'] = 'p'; formats['headline_4']['subtag'] = 'br'; formats['headline_5'] = new Array(); formats['headline_5']['tag'] = 'p'; formats['headline_5']['subtag'] = 'br'; formats['headline_6'] = new Array(); formats['headline_6']['tag'] = 'p'; formats['headline_6']['subtag'] = 'br'; formats['indented_block'] = new Array(); formats['indented_block']['tag'] = 'blockquote'; formats['indented_block']['subtag'] = 'br'; formats['ordered_list'] = new Array(); formats['ordered_list']['tag'] = 'ol'; formats['ordered_list']['subtag'] = 'li'; var formatElement = fm.elements['format']; var format = '?'; if ( formatElement.value) format = formatElement.value; else format = formatElement.options[ formatElement.selectedIndex].value; var tag = formats[ format]['tag'].toUpperCase(); var subtag = formats[ format]['subtag'].toUpperCase(); // Remove tags. if ( tag.length > 0) { var startTag = '<' + tag; var endTag = '' ,text.indexOf(startTag))+1); text = text.replace(startTag+'>', ''); if ( text.lastIndexOf( endTag) > 0 && text.lastIndexOf('>',text.lastIndexOf(endTag)) == text.length-1) text = text.substring( 0, text.lastIndexOf( endTag)); text = text.replace(endTag+'>', ''); } // Remove sub-tags. if ( subtag.length > 0) { var newText = ''; var startTag = '<' + subtag + '>'; var endTag = ''; while ( text.indexOf( startTag) >= 0) text = text.replace( startTag, ''); while ( text.indexOf( endTag) >= 0) text = text.replace( endTag, ''); } // Remove para-entities. var paraEnt = '¶\n'; while ( text.indexOf( paraEnt) >= 0) text = text.replace( paraEnt, ''); // Trim. while ( text.length > 0 && text.charAt(0) <= ' ') text = text.substring(1); while ( text.length > 0 && text.charAt( text.length-1) <= ' ') text = text.substring(0, text.length-1); // Set text. var objAttrElement = fm.elements[ objAttrName]; objAttrElement.value = text; } // ############################################################################ // ### // ### Drag & Drop (http://aktuell.de.selfhtml.org/tippstricks/dhtml/draganddrop/index.htm) // ### // ############################################################################ //Das Objekt, das gerade bewegt wird. var dragobjekt = null; // Position, an der das Objekt angeklickt wurde. var dragx = 0; var dragy = 0; // Mausposition var posx = 0; var posy = 0; /** * Initialisierung der Überwachung der Events */ function draginit() { document.ondragstart = Function("return false;"); document.onmousemove = drag; document.onmouseup = dragstop; } /** * Wird aufgerufen, wenn ein Objekt bewegt werden soll. */ function dragstart(element) { dragobjekt = element; dragx = posx - dragobjekt.offsetLeft; dragy = posy - dragobjekt.offsetTop; } /** * Wird aufgerufen, wenn ein Objekt nicht mehr bewegt werden soll. */ function dragstop() { dragobjekt=null; } /** * Wird aufgerufen, wenn die Maus bewegt wird und bewegt bei Bedarf das Objekt. */ function drag(ereignis) { posx = document.all ? window.event.clientX : ereignis.pageX; posy = document.all ? window.event.clientY : ereignis.pageY; if(dragobjekt != null) { dragobjekt.style.left = (posx - dragx) + "px"; dragobjekt.style.top = (posy - dragy) + "px"; } } // ############################################################################ // ### // ### Direct-Edit 2.0 // ### // ############################################################################ /** * Direct-Edit: Form Submit */ function directEditFormSubmit( fm) { directEditCloseAll(); return self.btnClicked != 'Cancel'; } /** * Direct-Edit: Expand It */ var directEditAutoClose = false; function directEditExpandIt( div_id, poser_id, autoClose) { directEditAutoClose = autoClose; var coords = {x: 0, y: 0}; var el = document.images[ poser_id]; coords.x += el.width; coords.y += el.height; while (el) { coords.x += el.offsetLeft; coords.y += el.offsetTop; el = el.offsetParent; } var el = document.getElementById( div_id); el.style.left = coords['x'] + "px"; el.style.top = coords['y'] + "px"; el.style.position = "absolute"; el.style.display = "block"; el.style.visibility = "visible"; } /** * Direct-Edit: Close All */ function directEditCloseAll() { directEditCloseAllByClassName( "DirectEditActionList"); directEditCloseAllByClassName( "DirectEditManageForm"); } /** * Direct-Edit: Start/Stop Close */ var directEditActive; function directEditStartClose() { if ( directEditAutoClose) directEditActive = window.setTimeout( "directEditCloseAll()", 1000); } function directEditStopClose() { if ( directEditActive) window.clearTimeout( directEditActive); } /** * Direct-Edit: Close All By Class-Name */ function directEditCloseAllByClassName( name) { directEditStopClose(); // IE4 var browser = navigator.appName; if (browser=="Microsoft Internet Explorer") { tempColl = document.all.tags( "div"); for (i=0; i0 && elUrlName.length>0) { elUrlValue = document.forms[fmName].elements[elUrlName].value; } params = 'lang=eng'; params += '&manage_lang=eng'; params += '&fmName=' + escape(fmName); params += '&elUrlName=' + escape(elUrlName); params += '&elUrlValue=' + escape(elUrlValue); params += '&elTitleName=' + escape(elTitleName); open_frame(title,url,params,420,360,",resizable=yes,scrollbars=yes"); return false; } /** * richedit */ function richedit(fmName, elName) { var edit= {} edit.src = document.forms[fmName].elements[elName].value; edit.styledata = document.styleSheets; v = document.forms[fmName].elements[elName].value; document.forms[fmName].elements[elName].value = window.showModalDialog("richedit_html?elValue=" + escape(v),"dialogWidth:670px;dialogHeight:400px;help:no;status:no;scroll:no;resizable:yes;"); } /** */ function selectObject(path, title) { fTag = 'a'; if (path.indexOf('{$')==0 && path.lastIndexOf('}')==path.length-1) path = '<'+'dtml-var "getLinkUrl(\''+path+'\',REQUEST)">'; taggedText = '<'+fTag+' href="'+path+'">'+selectedText+''; tagSelectedText(fTag,taggedText); } /** * Un-Tag selected text. */ function untagSelectedText(fTag) { var elValue = getElValue(); var elSplit = elValue.split(selectedText); var count = elSplit.length - 1; var startTag = '<'+fTag; var endTag = ''; elValue = ''; for (i=0; i 0 && j==0) s = s.substring(endTag.length,s.length); var j = s.lastIndexOf(startTag); if (j < 0) { j = s.lastIndexOf(startTag.toUpperCase()); } if (i < elSplit.length-1 && j >= 0 && s.charAt(s.length-1) == '>') { s = s.substring(0,j); } elValue += s; if (i 0) { selectedText = selectedText.replace(new RegExp('([\\f\\n\\r\\t\\v ])+', 'g')," "); while (selectedText.length > 0 && selectedText.charAt(selectedText.length-1) == ' ') selectedText = selectedText.substr(0,selectedText.length-1); var elValue = getElValue(); var elSplit = elValue.split(selectedText); var removeTags = false; if (elSplit.length>1) { for (i=0; i')==0; removeTags |= elSplit[i].indexOf('')==0; } } if (removeTags) { untagSelectedText(fTag); } else if (fTag == 'a' && selectedText.indexOf("http://") < 0 && selectedText.indexOf("@") < 0) { if ( self.el.form) { browseObjsBtnClick('','',''); } else { browseObjsBtnClick('None','',''); } } else { taggedText = '<' taggedText += fTag; if (fTag == 'a') { if (selectedText.indexOf("@")>0) taggedText += ' href="mailto:' + selectedText + '"'; else if (selectedText.indexOf("http://") < 0) taggedText += ' href="http://' + selectedText + '" target="_blank"'; else taggedText += ' href="' + selectedText + '" target="_blank"'; } else if (fTag == 'abbr') { taggedText += ' title=""' taggedText += ' lang="eng"' } else if (fTag == 'acronym') { taggedText += ' title=""' taggedText += ' lang="eng"' } else if (fTag == 'span') { taggedText += ' lang="eng"' } taggedText += '>' + selectedText + ''; tagSelectedText(fTag,taggedText); } } } /** * Get element-value. */ function getElValue() { return self.el.value; } /** * Set element-value. */ function setElValue(elValue) { self.el.value = elValue; } /** * Set text-format for input. */ function setTextFormatInput(fTag, fmName, elName, divId) { self.el = document.forms[ fmName].elements[ elName]; setTextFormat(fTag); if ( divId) { var div = document.getElementById( divId); div.innerHTML = getElValue(); } } /** * Store caret. */ function storeCaret (textEl) { if (textEl.createTextRange) { textEl.caretPos = document.selection.createRange().duplicate(); } } // ############################################################################ // ### calendarBtnClick: // ############################################################################ function calendarBtnClick (fmName, elName, manage_lang) { open_function("f_kalender?manage_lang="+manage_lang+"&elName=" + elName + "&fmName=" + fmName,170,190,",resizable=no,scrollbars=no"); } // ############################################################################ // ### get_url: // ############################################################################ function get_url (url, k0 ,v0 ,k1 ,v1 ,k2 ,v2 ,k3 ,v3 ,k4 ,v4 ) { if (k0 && v0) url += "?" + k0 + "=" + escape(v0); if (k1 && v1) url += "&" + k1 + "=" + escape(v1); if (k2 && v2) url += "&" + k2 + "=" + escape(v2); if (k3 && v3) url += "&" + k3 + "=" + escape(v3); if (k4 && v4) url += "&" + k4 + "=" + escape(v4); return url; } // ############################################################################ // ### open_frame: // ############################################################################ function open_frame(title,url,params,width,height,options) { href = "f_frame"; href += "?" + params; href += "&p_url=" + url; href += "&p_title=" + title; self.msgWindow = open(href,"msgWindow","width=" + width + ",height=" + height + ",screenX=" + (screen.width-width)/2 + ",screenY=" + (screen.height-height)/2 + ",dependent=yes" + ",left=" + (screen.width-width)/2 + ",top=" + (screen.height-height)/2 + options ); if (self.msgWindow) { self.msgWindow.focus(); if (self.msgWindow.opener == null) self.msgWindow.opener = self; } } // ############################################################################ // ### open_function: // ############################################################################ function open_function(url,width,height,options) { self.msgWindow = open(url, "Window", "width=" + width + ",height=" + height + ",screenX=" + (screen.width-width)/2 + ",screenY=" + (screen.height-height)/2 + ",dependent=yes" + ",left=" + (screen.width-width)/2 + ",top=" + (screen.height-height)/2 + options ); if (self.msgWindow) { self.msgWindow.focus(); if (self.msgWindow.opener == null) self.msgWindow.opener = self; } }