/**
* 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('');
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;
}
}