// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // 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; // #################################################################################################### // // 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 (!lang) lang = ''; parent.frames.editframe.location.href='cms/elements/element_edit.php?ID='+ID+'&element='+ele+'&parent='+parentID+'&lang='+lang+'&dbc='+sess; if(parent.frames.editlayer.style.visibility=='hidden') parent.frames.editlayer.style.visibility='visible'; /* if (!top.window.cmsWin || (top.window.cmsWin && top.window.cmsWin.closed)) top.window.cmsWin=newReturnWindow('cms/elements/element_edit.php?frPrev=1&ID='+ID+'&element='+ele+'&parent='+parent+'&lang='+lang+'&dbc='+sess,'layoutConf',470,600); else { top.window.cmsWin.location.href='cms/elements/element_edit.php?frPrev=1&ID='+ID+'&element='+ele+'&parent='+parent+'&lang='+lang+'&dbc='+sess; top.window.cmsWin.moveTo(40,40); top.window.cmsWin.focus(); } */ } // 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 (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; function keepSessionAliveLoop(init,sid,path,seconds) { if (!sid) sid=session; if (!seconds) seconds=19*60; //seconds=20; if (!path) 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