/*change log: 08072005 added session functionionality in session01.js removed all navig functions from here, added 2 see 08072005! 09082005 new for EX31 */ /*function list for forms suche initForm(par) suche toggleTrace() selMultVis(selfld) onSubmitSuche(par) onKeyPress(e) checkSubf(doc) getQuery(fld,raw) twoDATVV(fld,name,value) checkInputFields(tab) subSearch(but) chOrt(fld) bis2ab(but,target,source) count() unused, handled by LS ed.. */ /*dummies until session active:*/ var sessionid = null; var subf = 'e';/*subform subfe Einfache Suche*/ var fldns;/*field names dep on subf*/ var dateFormat;/*date validation*/ var vplzreg = /(\d{4})|(\d{3}\*)|(^\d{2}\*$)|(^\d\*)$/; //var nonblank = /\S{2,}/; var logand = ' AND ';/*was & */ var logor = ' | '; //var delim = '~'; var ctr=0; var html_delim = '?';/*no ! bec of http get &query=.&.*//*05082004*/ //var framsg = 'Funktion ohne Frames nicht unterstutzt!';/*05082004*/ //var fldmsg = 'Folgende Felder sind leer oder fehlerhaft:
';/*05082004*/ var activexmsg = '
ActiveX ist nicht aktiviert - beachten Sie bitte die Hinweise

';/*09022006*/ var schmsg = '
Geben Sie bitte mindestens einen gultigen Suchbegriff ein!

';/*05082004*/ var doBGColor = false;/*do errmsg input field bg color change*/ var doOKCheck = false;/*do onblur ok/nok gif switching*/ var browser = '' function initForm(par) { /*onLoad event for form suche*/ String.prototype.right = right;/*define right function*/ /*avoid framing by others:*/ if (self.parent!=top) {top.location=self.parent.location;return false;} var doc = par.document; window.top.defaultStatus = doc.title; setButImgHover(doc); /* Detect Browser, check activeX - only req for MSIE<7 */ getBrowser(); if ((browser.indexOf('MSIE')==0) && (browser.indexOf('7')==-1)) { if (CheckActiveX()==false){ setHtml( 'msgtext', activexmsg, true); } } checkSession(doc); /* Funktion in JS XMLHTTP01 page */ checkSubf(doc); /* Pflichtfelder initialisieren etc. */ } function getBrowser() { /* Browser und Version feststellen */ var det = navigator.userAgent.toLowerCase(); browserversion=parseInt(navigator.appVersion); if (navigator.appVersion.indexOf('5.')>-1) {browserversion=5}; if (navigator.appVersion.indexOf('6.')>-1) {browserversion=6}; if (navigator.appVersion.indexOf('7.')>-1) {browserversion=7}; browser='OTHER'; if (navigator.appName =='Netscape') {browser='NS'+browserversion;} if ((navigator.product == 'Gecko') && window.find && (det.indexOf('safari') < 0)) {browser='NS7';} if ((navigator.product == 'Gecko') && !window.find && (det.indexOf('safari') < 0)) {browser='NS6';} if (navigator.appName=='Microsoft Internet Explorer'){browser='MSIE'+browserversion;} if (navigator.appVersion.indexOf('MSIE 3')>0) {browser='MSIE3';} } function CheckActiveX() { if (self.ActiveXObject) { /* Nur MSIE < 7 */ try { e = new ActiveXObject("Shell.UIHelper"); } catch(e) { return false; } } } function toggleTrace() { var t=document.forms[0].elements['Trace']; if (t==null) return; t.value=(t.value==4)?0:++t.value; if (t.value==3) alert('Tracing on'); else if (t.value==4) alert('Nodupl off (duplos on)'); else if (t.value==0) alert('Tracing off'); } function selMultVis(selfld) {/*make 1st selected sel-mult-option visible (VKat)*/ var sopt = selfld.options; for (var i=1;i1) retval += ' | ['+name+']=' + options[i].value + ''; } } if (num>0) retval += ')'; return retval; default : return name+'-'+type; }/*sw*/ }/*wi*/ } function twoDATVV(fld,name,value) {/*create DATVV ft-query*/ var frst,scnd,name2,value1,value2,retval; if (name=='VVDat1') {frst=true;scnd=false;value1=value;name2 = 'VVDat2';} else {frst=false;scnd=true;value2=value;name2 = 'VVDat1';} retval = getQuery(fld.form.elements[name2],true);/*raw!*/ if (retval.length>0) { if (frst) return '';/*wait for 2nd turn*/ else {frst=true;value1=retval;} } if (frst && scnd) {/*both*/ if (value1==value2) retval = '([DATVV]=' + value1 + logor + '[DATVVO]=' + value1 + ')'; else retval = '([DATVV]>=' + value1 + logand + '[DATVV]<=' + value2 + logor + '[DATVVO]>=' + value1 + logand + '[DATVVO]<=' + value2 + ')'; } else {/*not both*/ if (frst) retval = '([DATVV]>=' + value1 + logor + '[DATVVO]>=' + value1 + ')'; else retval = '([DATVV]<=' + value2 + logor + '[DATVVO]<=' + value2 + ')'; }/*both*/ // alert(name+"="+value1+'\n'+name2+"="+value2); return retval; } function checkInputFields(tab) {/*check fields in Fields*/ /*copied from valid0*/ errmsg = ''; for (var i in Fields) { if (tab && tab!=Fields[i].tab) continue;/*field not on current tab*/ if (Fields[i].isMand() || Fields[i].getValue().length>0) { if (! Fields[i].isValid()) { if (errmsg.length==0) var focus = Fields[i];/*remember 1st field in error*/ genMessage(Fields[i]); }/*if !Fields*/ }/*if Fields[i]*/ }/*for*/ if (errmsg.length>0) {/*at least 1 error*/ setHtml( 'msgtext', errmsg, true); if (focus.tab!=null) setTab(focus.tab);/*show tab of rememb'd field*/ focus.elem[0].focus();/*set focus to field*/ return false; }/*if*/ return true; } function subSearch(but) {/*create Query field and submit*/ var submit = false; /*submit form or just set new location*/ var searchView = false; /*SearchView search or OpenForm/LotusScript search*/ var elem = but.form.elements; var query = ''; if (subf=='e') { /*einfache*/ if (but.value=='Suche') { /* Eingabefelder nur bei Suche, nicht DATBM Suche prüfen */ if (!checkInputFields()) return false; } else { var tmp1 = but.value; query = '[DATBM]>=' + tmp1; } tmp1 = getQuery(elem['VKat']); if (tmp1.length>0) {query += (query.length>0) ? logand + tmp1 : tmp1;} tmp1 = getQuery(elem['VOrt']); if (tmp1.length>0) {query += (query.length>0) ? logand + tmp1 : tmp1;} tmp1 = getQuery(elem['VPlz']); if (tmp1.length>0) {query += (query.length>0) ? logand + tmp1 : tmp1;} tmp1 = getQuery(elem['BL']); if (tmp1.length>0) {query += (query.length>0) ? logand + tmp1 : tmp1;} } else if (subf=='a') { /*aktenzeichen*/ /* Aktenzeichen */ if (!checkInputFields()) return false;/*Ger,GA,GZ,Zahl,Jahr*/ var ga = ''; var gz = ''; var zahl = ''; var jahr = ''; query = elem['Ger'].options[elem['Ger'].selectedIndex].value; ga = elem['GA'].value; if (ga!='') { /* GA eingegeben */ ga = ('000' + ga).right(3); query += ga; } else { /* keine GA eingegeben - alle GAs */ ga = '???'; query += ga; } gz = elem['GZ'].options[elem['GZ'].selectedIndex].value; if (gz!='ALL') { /* GZ eingegeben */ query += gz; } else { /* keine GZ eingegeben - alle GZ */ gz = '*'; query += gz; } zahl = elem['Zahl'].value; if (zahl!='') { /* Zahl eingegeben */ zahl = ('00000' + zahl).right(5); query += zahl; } else { /* keine Zahl eingegeben - alle Zahlen */ zahl = '?????'; query += zahl; } jahr = elem['Jahr'].options[elem['Jahr'].selectedIndex].value; if (jahr!='ALL') { /* Jahr eingegeben */ query += jahr.right(2); } else { /* kein Jahr eingegeben - alle Jahre */ jahr = '??'; query += jahr; } query = '[AZKey]='+query+'*' /* nur Bekanntm./Uploads, daher längeres AZ */ } else {/*subf='v'*/ /*erweiterte*/ if (!checkInputFields()) return false; query = getQuery(elem['FT'],true); if (query.length>0) query = '(' + query + ')'; tmp1 = getQuery(elem['VKat']); if (tmp1.length>0) { query += (query.length>0) ? logand + tmp1 : tmp1; } tmp1 = getQuery(elem['VWert']); if (tmp1.length>0) { var six = elem['VWert'].selectedIndex; tmp2 = elem['VWert'].options[six].text;/*fi bis 75.000,75.000 - 150.000*/ var tmp3 = tmp2.replace(/\./g,'');/*remove .s*/ tmp3 = tmp3.match(/(\d+)/g);/*returns array with 1 or 2 numbers*/ var rix = tmp3.length;/*array length*/ if (rix==1) {/*one number, must be bis/über*/ if (six==1) {/*bis*/ tmp1 = '[NumVWert]<='+tmp3[0]; } else if (six==elem['VWert'].options.length-1) {/*über*/ tmp1 = '[NumVWert]>='+tmp3[0]; } else { tmp1 = '';/*inconsistent numbers*/ }/*if six*/ } else if (rix==2) {/*two numbers, must be von-bis*/ tmp1 = '([NumVWert]>='+tmp3[0] + logand + '[NumVWert]<='+tmp3[1] +')'; } else { tmp1 = '';/*inconsistent numbers*/ }/*if rix*/ query += (query.length>0) ? logand + tmp1 : tmp1; } tmp1 = getQuery(elem['VVDat1']); if (tmp1.length>0) { query += (query.length>0) ? logand + tmp1 : tmp1; } tmp1 = getQuery(elem['VVDat2']); if (tmp1.length>0) { query += (query.length>0) ? logand + tmp1 : tmp1; } tmp1 = getQuery(elem['VOrt']); if (tmp1.length>0) { query += (query.length>0) ? logand + tmp1 : tmp1; } tmp1 = getQuery(elem['VPlz']); if (tmp1.length>0) { query += (query.length>0) ? logand + tmp1 : tmp1; } tmp1 = getQuery(elem['BL']); if (tmp1.length>0) { query += (query.length>0) ? logand + tmp1 : tmp1; } //return alert(query); }/*if subf*/ if (query.length==0) { setHtml('msgtext',schmsg,true); elem[fldns[0]].focus(); return false} query = query.replace(/\+/g,logand);/*05082004*/ if (!searchView) {/*search by OpenForm and wqosearch agent*/ tmp2 = elem['Trace']; if (tmp2!=null) { if (tmp2.value>='3') tmp2='&trace='+tmp2.value; else tmp2=''; } else tmp2=''; tmp1 = html_delim + 'OpenForm&subf=' + subf + tmp2 + '&query=' + escape(query); if (submit) {/*post*/ but.form.action = self.location.href.replace(/\.nsf.*/,'') + '.nsf/suche' + tmp1; but.form.submit(); } else { /*get*/ self.location.href = 'suche' + tmp1; }/*submit*/ } else {/*searchView, doesn't apply to EX31*/ but.form.elements['Query'].value = query; if (sessionid==null) /*08072005*/ var sessid = ''; else sessid = sessionid.length>0 ? ('&sessionid=' + sessionid) : ''; but.form.action = 'suchedi' + html_delim + 'SearchView' + sessid + '&subf=' + subf + '&scope=edi'; if (submit) {/*post*/ but.form.submit(); } else { /*get*/ var smax = (elem['SearchMax']) ? elem['SearchMax'].value : '501'; query = escape(query);/*05082004*/ tmp1 = but.form.action + '&SearchOrder=4&SearchMax=' + smax + '&query='+ query; // alert(tmp1); self.location.href = tmp1; }/*submit*/ }/*!searchView*/ return true; } function chOrt(fld) {/*erase other Ort fields if one changed*/ var locs = new Array('VOrt','VPlz','BL'); for (var i in locs) { if (locs[i]==fld.name) continue; with (fld.form.elements[locs[i]]) { if (type=='text') value=''; else if (type=='select-one') selectedIndex=0; } } } function bis2ab(but,target,source) { but.form.elements[target].value = but.form.elements[source].value; } function imgwinback(link, wid, hei, l, t) { /*overrride global.js until in there 20102005*/ /*test with EX, BM, public and www.sv. and LN03 !!!*/ /* if wid/hei not avlbl, use 750x500 */ /* if left/top not avlbl, use 50,50 */ var w = wid ? wid : 750; var h = hei ? hei : 500; w = Math.min( w + 40, screen.width-100); h = Math.min( h + 40, screen.height-100); var hl=(l) ? l : 50; var ht=(t) ? t : 50; self.status = 'Bild wird geladen b='+w+', h='+h; var path = self.location.pathname; var modlink = link.replace(/\+/g,'%2b').replace(/\#/g,'%23');/*escape + # chars*/ /*old Bekinsolvpub uses relative urls to itself, new EX31 absolute urls to Obj31*/ if ( modlink.search(/\.nsf\//i)<0 ) { /*no .nsf/, relative url*/ path = path.replace( /\.nsf\/.*/i , '.nsf/');/*take current path*/ modlink = path + modlink; } var imgwindow=self.open( modlink ,'imgwindow', 'menubar=yes,toolbar=no,scrollbars=yes,resizable=yes,dependent,'+ 'left='+hl+',top='+ht+',width='+w+',height='+h); /*keep https to avoid IE "you are leaving..." msg if on Edikte230*/ /*not necessary if img is 'proloaded' like above*/ // modlink = self.location.protocol + '//' + self.location.host + modlink; var txt = "Klicken Sie hier zum Schließen des Fensters"; imgwindow.document.open('text/html'); imgwindow.document.writeln('' + self.document.title + ''); imgwindow.document.writeln(''); imgwindow.document.writeln('' + txt + ''); imgwindow.document.close(); imgwindow.focus(); return; }/*imgwin*/ /* JS Suche31 hierarchy of functions: form suche onload: initForm checkSubf (setButImgHover) in HTML: helpwin bis2ab chOrt in result HTML: count subOpen form suche onsubmit: 1 click button 2 onKeyPress (subfv fulltext) 3 onSubmitSuche (subfe,subff) subSearch checkInputFields (genMessage) setHtml getQuery twoDATBM setHtml form ed... onload: onLoadWeb in HTML: today back helpwin nextOpen */