// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // Projekt individuelle JS-Funktionen kommen in die m_project.js // // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! var globalJSVersion='170804-00'; var NAV6 = (parseInt(navigator.appVersion) >= 5 && navigator.appName == "Netscape") ? 1 : 0; var NAV4 = (navigator.appName.indexOf("Netscape") >= 0 && parseFloat(navigator.appVersion) >= 4) ? 1 : 0; var IE4 = (document.all) ? 1 : 0; var IE5 = (IE4 && navigator.appVersion.indexOf("5.") >= 0) ? 1 : 0; var OP = navigator.appName.indexOf("Opera") ? 1 : 0; var shadowPageOf = ''; var ie = document.all; var w3 = document.getElementById && !document.all; var quickEditInUse; // #################################################################################################### // // Formular-Checker // // var felder=new Array(); // var formname='form'; // Name des Formulares // var werte=new Array(); // // werte['feld']='email'; // Name des Formularfeldes // werte['feld2']='email'; // z.B. für Passwortprüfung 2er Felder // werte['pruef']='email'; // Prüfen auf (email,datum,plz,password,custom oder leer lassen) // werte['typ']='text'; // Feldtype // werte['pflicht']=1; // Pflichtfeld // werte['fehler']='Bitte geben Sie eine gültige E-Mail Adresse an!'; // Fehlermeldung bei ungültiger E-Mail Adresse! // felder[felder.length]=werte; // // Prüftyp: Ein Feld mit Prüftyp wird zusätzlich genauer überprüft. Möglich ist hier email, datum oder plz. // Eien Prüfung findet statt, wenn das Feld ein Pflichtfeld ist oder der Benutzer das Feld ausfüllt. // // Datum: Ein Datum wird auf das Format TT.MM.YYYY geprüft. // PLZ: Eine PLZ wird auf 5-stellen und auf vorkommen von Zeichen ausser Zahlen geprüft. // zahl: es wird geprüft ob das feld nur ziffern enthält // E-Mail: Eine E-Mail wird auf name, domain und toplevel geprüft. Es dürfen keine 2 @ vorkommen. // Die Domain muss aus mind. 2 Zeichen bestehen. Der Name darf die Zeichen a-z, A-Z, 0-9, ., - und _ enthalten. // Die Domain darf die Zeichen a-z, A-Z, 0-9, . und - enthalten. // Custom: Eine Javascript Funktion mit den Parametern element-Objekt, Feld-Parameter (Ein trag aus dem Konfigurationsarray für dieses Feld) wird aufgerufen und der Rückgabewert auf Wahrheit überprüft // // by Thorsten Peters, t.peters@rosomm-partner.de // // ############################### ##################################################################### function mCheckAll() { for (feld=0;feld='a' && ename.charAt(i)<='z') ok=true; if (ename.charAt(i)>='A' && ename.charAt(i)<='Z') ok=true; if (ename.charAt(i)>='0' && ename.charAt(i)<='9') ok=true; if (ename.charAt(i)=='.' || ename.charAt(i)=='-' || ename.charAt(i)=='_') ok=true; if (!ok) { alert(error); email.focus(); return false; } } if (rest.indexOf("@")!=-1) { alert(error); email.focus(); return false; } else { if (!ename) { alert(error); email.focus(); return false; } else { check=rest.lastIndexOf("."); domain=rest.substring(0,check); land=rest.substring(check+1,rest.length); for (i=0; i='a' && domain.charAt(i)<='z') ok=true; if (domain.charAt(i)>='A' && domain.charAt(i)<='Z') ok=true; if (domain.charAt(i)>='0' && domain.charAt(i)<='9') ok=true; if (domain.charAt(i)=='.' || domain.charAt(i)=='-') ok=true; if (!ok) { alert(error); email.focus(); return false; } } for (i=0; i='a' && land.charAt(i)<='z') ok=true; if (land.charAt(i)>='A' && land.charAt(i)<='Z') ok=true; if (!ok) { alert(error); email.focus(); return false; } } if (land.indexOf(".")!=-1) { alert(error); email.focus(); return false; } else { if (!land || !domain) { alert(error); email.focus(); return false; } else { if (domain.length<2) { alert(error); email.focus(); return false; } else return true; } } } } } } function mCheckPLZ(plz,error) { if (plz.value.length!=5) { alert(error); plz.focus(); return false; } for (i=0; i lastdatum) || (myDD <=0)) { return false; } var newValue=""; if (myDD<10) myDD = "0"+myDD; if (myMM<10) myMM = "0"+myMM; if (myYYYY<10) myYYYY = "0"+myYYYY; if (myYYYY<1000) myYYYY = "20"+myYYYY; datefield.value=myDD+'.'+myMM+'.'+myYYYY; return true; } function isLeapYear (Year) { if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) return true; else return false; } function mCheckLength(field, error, maxlength) { if(field.value.length>maxlength) { alert(error); return false; } else return true; } function radiovalue(element) { for (i=0; i 1 && scr > 1 && !width && !height) { // alter Aufruf, Signatur hat sich dämlicherweise geändert. width=res; height=scr; res=0; scr=0; } if (!mbar) mbar="no"; else mbar="yes"; if (!tbar) tbar="no"; else tbar="yes"; if (!res) res="no"; else res="yes"; if (!sta) sta="no"; else sta="yes"; if (!loc) loc="no"; else loc="yes"; popupWin = openWin(url,width,height,name,'menubar='+mbar+',status='+sta+',location='+loc+',toolbar='+tbar+',resizable='+res+',scrollbars='+scr,true); } // Flip - Funktion fuer Bilder im Layer // flLayer = Layername in dem sich das Bild befindet // flName = Imagename // flRoll = Rolloverimage function fliplay(flLayer, flName, flRoll){ sLN = '\'' + eval("flLayer") + '\''; if(document.images) { if(document.layers) document.layers[eval(sLN)].document.images[eval("flName")].src = eval(flRoll + '.src'); else document.images[eval("flName")].src = eval(flRoll + '.src'); } } // Overskripte v2 var over=new Array(); var selected=new Array(); var mouseOvers=new Array(); var moClickDeselects=false; // Wird der aktive Punkt beim Klicken wieder deselektiert? function moInit(group,id,overImage,clickImage,layer) { if (!mouseOvers[group]) mouseOvers[group]=new Array(); mouseOvers[group][id]=new Array(); mouseOvers[group][id]['layer']=layer; normal=moGetImage(group,id); if (document.images) { mouseOvers[group][id]['normalImage']=new Image; mouseOvers[group][id]['normalImage'].src=normal.src; mouseOvers[group][id]['overImage']=new Image; mouseOvers[group][id]['overImage'].src=overImage; mouseOvers[group][id]['clickImage']=new Image; if (clickImage) { mouseOvers[group][id]['clickImage'].src=clickImage; } else{ mouseOvers[group][id]['clickImage'].src=overImage; } } } function moGetImage(group,id) { if (mouseOvers[group][id]['layer']) { if (document.layers) { var img=document.layers[mouseOvers[group][id]['layer']].document.images[group+id]; if (!img) { alert(group+','+id+','+img+' ('+document.layers[mouseOvers[group][id]['layer']].document.images.length+') in '+mouseOvers[group][id]['layer']+'('+document.layers[mouseOvers[group][id]['layer']]+')'); } return img; } else { return document.images[group+id]; } } else { return document.images[group+id]; } } function moSetImage(group,id,mode) { img=moGetImage(group,id); debug('set '+group+','+id+' ('+img+') to '+mode); //alert('set '+group+','+id+' ('+img+') to '+mode); //alert(mouseOvers[group][id][mode]); modeImg=mouseOvers[group][id][mode]; src=modeImg.src; //alert(img+' && '+img.src+'!='+src); var noSet=''; if (img && img.src!=src) img.src=src; else noSet=' (no change)'; if (img) debug('real img set to '+img.src+noSet); else { debug('no img for '+group+','+id+','+mode); } } function moOver(group,id) { debug('\nover '+group+','+id+'sel:'+selected[group]+',over:'+over[group]); if (over[group]) { // letztes Over zurück old=over[group]; if (selected[group]==old || mouseOvers[group][old]['selected']) { moSetImage(group,old,'clickImage'); } else { moSetImage(group,old,'normalImage'); } } over[group]=id; //alert('over:'+id+','+mouseOvers[group][id]['overImage'].src); moSetImage(group,id,'overImage'); } function moOut(group,id) { debug('\nout '+group+','+id+'sel:'+selected[group]+',over:'+over[group]); //alert('out:'+id+'ov?'+over[group]+'=='+id+',sel?'+selected[group]+'=='+id); if (selected[group]==id || mouseOvers[group][id]['selected']) { // geclicktes zurücksetzen moSetImage(group,id,'clickImage'); } else if (over[group]==id) { //geovertes zurücksetzen moSetImage(group,id,'normalImage'); } over[group]=0; } function moClick(group,id) { debug('\nclick '+group+','+id+'sel:'+selected[group]+',over:'+over[group]+',sel2:'+mouseOvers[group][id]['selected']); if (!moClickDeselects && selected[group]) { // zuletzt angeklickten Punkt zurück old=selected[group]; moSetImage(group,old,'normalImage'); mouseOvers[group][old]['selected']=false; } if (moClickDeselects && mouseOvers[group][id]['selected']) { mouseOvers[group][id]['selected']=false; moSetImage(group,id,'normalImage'); selected[group]=null; } else if (!moClickDeselects || id!=selected[group]) { selected[group]=id; moSetImage(group,id,'clickImage'); mouseOvers[group][id]['selected']=true; } } //top && top.frames && top.frames.headerg && top.frames.headerg. var debugOnOff='on'; function debug(msg) { var debugObj=false; //alert(document.forms.debugform); if (document.forms && document.forms.debugform) debugObj=document.forms.debugform.elements[0]; if (debugOnOff=='on' && debugObj) { debugObj.value+=msg+'\n'; } } function flipImage(imgName,imgNo) { var newSrc=eval(imgNo+'.src'); //alert(imgName+':'+imgNo+' to:'+newSrc); document.images[imgName].src = newSrc; } // Flip - Funktion (Austausch eines Bildes) function flipNavi(imgName,imgNo) { document.images[imgName].src = './_images/'+imgNo+'.gif'; } function delconfirmrelocate(msg,url) // OK Abbrechen fragen und bei OK weiterleiten { var check; check = confirm(msg); if (check) { window.location=url; } } // Abfrage der Formularfelder function chkmail() { if (document.mail.surname.value == "") { alert("Bitte Ihren Vornamen eingeben!"); document.mail.surname.focus(); return false; } if (document.mail.name.value == "") { alert("Bitte Ihren Namen eingeben!"); document.mail.name.focus(); return false; } if (document.mail.street.value == "") { alert("Bitte Ihre Straße eingebe!"); document.mail.street.focus(); return false; } if (document.mail.zipcity.value == "") { alert("Bitte geben sie ihre PLZ und den Ort ein!"); document.mail.zipcity.focus(); return false; } if (document.mail.email.value == "") { alert("Bitte Ihre eMail-Adresse eingeben!"); document.mail.email.focus(); return false; } if (document.mail.email.value.indexOf('@') == -1) { alert("Bitte eine gültige eMail-Adresse eingeben!"); document.mail.email.focus(); return false; } if (document.mail.email.value.indexOf('.') == -1) { alert("Bitte eine gültige eMail-Adresse eingeben!"); document.mail.email.focus(); return false; } clickedButton(); } function loadHeadline(nr, session) { parent.headline.location = '../../ginab/frm_headline.php?hl='+nr+'&dbc='+session; } function str_replace(from,to,str) { if (str.indexOf(from)==-1) return false; else { t1=str.substring(0,str.indexOf(from)); t2=str.substring(str.indexOf(from)+from.length,str.length); ok=t1+to+t2; return ok; } } function ucfirst(str) { var newString=str.charAt(0).toUpperCase(); newString+=str.substring(1,str.length); return newString; } function chklogin() { if(document.login.usr.value == "") { alert("Bitte Ihren Benutzernamen eingeben!"); document.login.usr.focus(); return false; } if(document.login.pass.value == "") { alert("Bitte Ihr Passwort eingeben!"); document.login.pass.focus(); return false; } } function debugHandler(msg) { if (!top.frames.mnav) var f=top.opener.top.frames.mnav.document.forms.debug.elements[0]; else var f=top.frames.mnav.document.forms.debug.elements[0]; if (f && f.name) f.value+=msg+'\n'; } function ZweiFrames(URL1,F1,URL2,F2) { parent.frames[F1].location.href=URL1; parent.frames[F2].location.href=URL2; } function DreiFrames(URL1,F1,URL2,F2,URL3,F3) { parent.frames[F1].location.href=URL1; parent.frames[F2].location.href=URL2; parent.frames[F3].location.href=URL3; } // Für Vorschau im CMS function openEditWin(ID,ele,parentID,sess,lang) { if (quickEditInUse == true) { return; } if (!lang) lang = ''; if (parent.frames.editframe && parent.frames.editframe.isShadowPage < 1 && shadowPageOf < 1 ) { parent.frames.editframe.location.href='cms/elements/element_edit.php?ID='+ID+'&element='+ele+'&parent='+parentID+'&lang='+lang+'&dbc='+sess; parent.showHideLayout(true, true, true); } } // Für Vorschau im CMS function newReturnWindow(url,name,width,height) { return window.open(url,name,'status=yes,left=20,top=20,width='+width+',height='+height+',scrollbars=yes,resizable=yes,status=yes'); } // Für Vorschau im CMS function openUnitsWin(modul,parent,altLink) { if (quickEditInUse == true) { return; } if (typeof top.frames.mnav.moduleLinks[modul]=='undefined') { eval(altLink); } else { var js=top.frames.mnav.moduleLinks[modul]; js=str_replace('',parent,js); js=str_replace('',parent,js); js=str_replace(")",",1)",js); // Parameter fromCMS übergeben um Pfad anzupassen evl='top.frames.mnav.'+js; eval(evl); } } // Flip Skripte v1, nicht mehr verwenden var current=0; // aktives image, wird bei onclick gesetzt var sel=0; // ausgewähltes image, wird bei onmouseover gesetzt function flip(imgName,imgNo) { var newSrc=eval(imgNo+'.src'); document.images[imgName].src = newSrc; } function allout(){ // blendet sel aus und current ein if (sel != 0 && sel!=current){ flipmnav = 'sel' + sel; flipimage = 'no' + sel; flip(flipmnav,flipimage); } if (current != 0){ himnav = 'sel' + current; hiimage = 'sel' + current; flip(himnav,hiimage); } } function alloutall(){ // blendet sel und current aus if (sel != 0){ flipmnav = 'sel' + sel; flipimage = 'no' + sel; flip(flipmnav,flipimage); } if (current != 0 && sel!=current){ himnav = 'sel' + current; hiimage = 'no' + current; flip(himnav,hiimage); } } function getWindowCenterCoordinates(width,height) { var ret=new Array(); ret['x']=0; ret['y']=0; if (screen) { //alert(screen.availHeight+':'+height); ret['y']=Math.floor((screen.availHeight-height)/2); ret['x']=Math.floor((screen.availWidth-width)/2); if (ret['x']<0 || isNaN(ret['x'])) ret['x']=0; if (ret['y']<0 || isNaN(ret['y'])) ret['y']=0; } return ret; } // Fensterobjekt in die Bildschirmmitte bringen function centerWindow(win) { if (!win) win=top; if (win.top.frames) return ""; // Pflegetoolframeset var dim=getWindowDimensions(win); var coord=getWindowCenterCoordinates(dim['x'],dim['y']); if (win.moveTo) { //alert('move to: '+coord['x']+','+coord['y']); win.moveTo(coord['x'],coord['y']) } } // Fensterabmessungen ermittlen, funzt erst nachdem die Seite geladen ist. function getWindowDimensions(win) { if (!win) win=top; var ret=new Array(); ret['x']=800; ret['y']=600; if (win.document.documentElement && win.document.documentElement.offsetWidth) { ret['x']=win.document.documentElement.offsetWidth; ret['y']=win.document.documentElement.offsetHeight; } else if (win.self && win.self.innerWidth) { ret['x']=win.self.innerWidth; ret['y']=win.self.innerHeight; } else if (win.screen.availWidth && win.screen.availWidth) { ret['x']=win.screen.availWidth; ret['y']=win.screen.availHeight; } return ret; } function cmsLayerShowHide(divID, hideAll) { if(hideAll) { if(NAV6){ var all = document.getElementsByTagName("DIV"); var ID = ''; for(i=0; i<=all.length; i++) { if(all[i]) { ID = all[i].getAttribute('id')+''; if(ID.indexOf('cmsSHLayer')!=-1 && ID!=divID) { layShowHide(ID, 'hidden'); } } } } else if(NAV4){ for(k in document) { if(k.indexOf('cmsSHLayer')!=-1 && k!=divID) layShowHide(k, 'hidden'); } //return eval("document." + name); } else if(IE5 || IE4){ for(k in document.all) { if(k.indexOf('cmsSHLayer')!=-1 && k!=divID) layShowHide(k, 'hidden'); } } } layShowHide(divID, 'visible'); } // Texteinblenden mit Confirm bei OK zu URL gehen function delconfirmrelocate(msg,url) { var check; check = confirm(msg); if (check) window.location=url; } // In Tabellenseiten über ein Dot die Session am Leben halten ohne Frames zu benutzen oder sie Seite neuzuladen var keepAliveCount=0; var testjens = 0; function keepSessionAliveLoop(init,sid,path,seconds) { if (!sid) sid=session; if (!seconds) seconds=19*60; //seconds=20; if (!path) path=".."; if (path.indexOf('/') == -1) { path += '/'; } if (document.images['dbcSessionKeepaliveDot'] && !init) { var url=path+'keepalive.php?dbc='+sid+'&image=1&nocache='+Math.random()+'-'+(++keepAliveCount); document.images['dbcSessionKeepaliveDot'].src=url; //alert('keepalive'); } var evl="keepSessionAliveLoop(0,'"+sid+"','"+path+"',"+seconds+");"; //alert(evl); window.setTimeout(evl,seconds*1000); } function changeNavi(value,loc) { pos1=loc.indexOf("&lang"); pos2=loc.indexOf("?lang"); if (pos2>-1) { pos=pos2; z="?"; } if (pos1>-1) { pos=pos1; z="&"; } if (pos>-1) { teil=loc.substring(pos,loc.length); f=eval(pos+6+value.length); teil3=loc.substring(f,loc.length); teil2=loc.substring(0,pos); ok=str_replace(teil,z+"lang="+value,loc); ok=ok+'&'+teil3; if (ok) top.parent.navi.location.href=ok; } } function mnavHandler(menu,level) { } function module_searchForm () { f = document.forms.module_search; needle = f.needle.value; rule = f.rule.value; var ar=f.needle.value.split(" "); var nd=""; var con=""; // Verbindung der Suchwörter ermitteln if (f.rule.value) con=f.rule.value; if (!con) con="OR"; // Wörter mit Verbindungswort verbinden for (i=0; i'; document.write(output); } function printObjectOpeningTag(params) { params['classid'] = 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'; params['codebase'] = 'https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0'; printOpeningTag('object', params); } function getUrlParams() { var search = location.search.substr(1); var curPair = null; var pairs = search.split('&'); var params = new Array(); for (var i=0; i= 0) { lookForPath = lookFor.substring(0, lookFor.indexOf('?')); } else { lookForPath = lookFor; } var lastChar = lookForPath.substring(lookFor.length - 1 , lookFor.length); if (lookFor.indexOf('content_manager') == -1 && (lookFor.indexOf('index.php') > 0 || lastChar == '/' // direct call to index document, invisible in path ) ) { url = './content_manager/'; } if (path) { url = path; } needle = needle.replace(/%/g, '*'); if (needle == '*') { nd = "'#ANYWORD#'"; } else { // Verbindung der Suchwörter ermitteln if (f.rule.value) con = f.rule.value; if (!con) con = "OR"; // Wörter mit Verbindungswort verbinden for (i=0; i 0) { for (var i = 0; i < clients.length; i++) { if (clients[i].type == 'hidden' || (clients[i].type == 'checkbox' && clients[i].checked)) { url += '&client[]=' + clients[i].value; } } } if (f.target == '_self') { location.href = url; } else { window.document.iamDaSearchWindow = true; openSearchWindow(url); } return false; } // echt ein scheiss, dass wir die funktionen alle doppelt haben müssen, für front- und backend, :(( function getAbsLeft(el) { if (el == undefined || el == null) { return 0; } return (el.offsetParent != undefined || el.offsetParent != null)?el.offsetLeft+getAbsLeft(el.offsetParent):el.offsetLeft; } function getAbsTop(el) { if (el == undefined || el == null) { return 0; } return (el.offsetParent != undefined || el.offsetParent != null)?el.offsetTop+getAbsTop(el.offsetParent):el.offsetTop; } function lockElement(lockElement, lockDivId, text, withInformationIcon) { if (lockElement == undefined || lockElement == null) { return false; } if (lockElement.offsetHeight == undefined || lockElement.offsetHeight == null) { return false; } if (lockElement.offsetWidth == undefined || lockElement.offsetWidth == null) { return false; } var statusDiv = document.getElementById(lockDivId); var statusTd = document.getElementById(lockDivId + 'Td'); var catX = getAbsTop(lockElement); var catY = getAbsLeft(lockElement); var catHeight = lockElement.offsetHeight; var catWidth = lockElement.offsetWidth; statusDiv.style.top = catX; statusDiv.style.left = catY; statusDiv.style.width = catWidth; statusDiv.style.height = catHeight; statusDiv.style.filter = "alpha(opacity=75)"; statusDiv.style.opacity = "0.75"; if (withInformationIcon) { statusTd.innerHTML = "
 " + text + "
"; } else { statusTd.innerHTML = text; } statusDiv.style.display = 'block'; showHideCovered(statusDiv, false); } function unlockElement(lockDivId) { if (lockElement == undefined || lockElement == null) { return false; } var statusDiv = document.getElementById(lockDivId); statusDiv.style.display = 'none'; showHideCovered(statusDiv, true); } function showHideCovered(el, hidden) { if (el == undefined || el == null) { return 0; } if (el.offsetHeight == undefined || el.offsetHeight == null) { return false; } if (el.offsetWidth == undefined || el.offsetWidth == null) { return false; } if (!ie) return; var tags = new Array("applet", "iframe", "select"); var EX1 = getAbsLeft(el); var EX2 = el.offsetWidth + EX1; var EY1 = getAbsTop(el); var EY2 = el.offsetHeight + EY1; for (var k = tags.length; k > 0; ) { var ar = document.getElementsByTagName(tags[--k]); var cc = null; for (var i = ar.length; i > 0;) { cc = ar[--i]; var CX1 = getAbsLeft(cc); var CX2 = cc.offsetWidth + CX1; var CY1 = getAbsTop(cc); var CY2 = cc.offsetHeight + CY1; if (hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) { if (!cc.__msh_save_visibility) { if (!cc.style.visibility) { cc.style.visibility = 'visible'; } cc.__msh_save_visibility = cc.style.visibility; } cc.style.visibility = cc.__msh_save_visibility; } else { if (!cc.__msh_save_visibility) { if (!cc.style.visibility) { cc.style.visibility = 'visible'; } cc.__msh_save_visibility = cc.style.visibility; } cc.style.visibility = "hidden"; } } } } //-->