/* CAMPUSonline - Javascript KB.:globallibrary ------------------------------------------------------------------------------------- $Revision: $ -------------------------------------------------------------------------------------*/ // +++ ROWHIGHLIGHTING +++++++++++++++++++++++++++++++++++++ geaendert 24.06.2007 TH function rhi ( vObject, vSign ) { // vObject.className = 'liHigh' + vSign ; vObject.className = vObject.className.replace('liJal' + vSign, 'liHigh' + vSign); }; function rhn ( vObject, vSign ) { // vObject.className = 'liJal' + vSign ; vObject.className = vObject.className.replace('liHigh' + vSign, 'liJal' + vSign); }; // #1500 // Fehlerarray var GLOBALPressedButton = ''; var GLOBALButtonArray = new Array(); var GLOBALErrorArray = new Array(); var GLOBALErrorObj = new Array(); var GLOBALCheckObjects = new Array(); var GLOBALChObjCnt = -1; var GLOBALUserErrorArray = new Array(); var i1 = new Image; var i2 = new Image; var i3 = new Image; i1.src=GLOBALimgPath + "ready.gif"; i2.src=GLOBALimgPath + "stop.gif"; i3.src=GLOBALimgPath + "waiting.gif"; // +++ GLOBAL chk Form +++++++++++++++++++++++++++++++++++++ function GLOBALshowWaiter () { cbeGetElementById("statusLayer").cbe.innerHtml("
" + GLOBALSendMessage + "
\""
"); } function GLOBALsubmit(form){ GLOBALshowWaiter () eval(form + ".submit();"); } function GLOBALchkForm () { var the_case; ok = true; var the_value=""; for ( i=0 ; i <= GLOBALCheckObjects.length-1 ; i++ ) { the_value = eval( GLOBALCheckObjects[i][0] + ".value" ); switch (GLOBALCheckObjects[i][3]) { case "D": ok = ok && validateDateR ( GLOBALCheckObjects[i][1], the_value , GLOBALCheckObjects[i][0], GLOBALCheckObjects[i][4],GLOBALCheckObjects[i][2] ); break; case "Z": ok = ok && validateZeitR ( GLOBALCheckObjects[i][1], the_value , GLOBALCheckObjects[i][0], GLOBALCheckObjects[i][4] ); break; case "N": ok = ok && validateNumberR ( GLOBALCheckObjects[i][1], the_value , GLOBALCheckObjects[i][0] , GLOBALCheckObjects[i][4], GLOBALCheckObjects[i][2] ); break; case "I": ok = ok && validateIntegerR ( GLOBALCheckObjects[i][1], the_value , GLOBALCheckObjects[i][0], GLOBALCheckObjects[i][4] , GLOBALCheckObjects[i][2] ); break; case "S": ok = ok && validateSvnrR ( GLOBALCheckObjects[i][1], the_value , GLOBALCheckObjects[i][0] , GLOBALCheckObjects[i][4]); break; case "X": ok = ok && validateNullR ( GLOBALCheckObjects[i][1], the_value , GLOBALCheckObjects[i][0] , GLOBALCheckObjects[i][4]); break; case "E": ok = ok && validateEmailR ( GLOBALCheckObjects[i][1], the_value , GLOBALCheckObjects[i][0], GLOBALCheckObjects[i][4], GLOBALCheckObjects[i][2] ); break; case "L": ok = ok && validateLengthR ( GLOBALCheckObjects[i][1], the_value , GLOBALCheckObjects[i][0], GLOBALCheckObjects[i][4], GLOBALCheckObjects[i][2] ); break; case "T": ok = ok && validateTeldisplayR ( GLOBALCheckObjects[i][1], the_value , GLOBALCheckObjects[i][0] , GLOBALCheckObjects[i][4]); break; case "B": ok = ok && validateBuchR ( GLOBALCheckObjects[i][1], the_value , GLOBALCheckObjects[i][0] , GLOBALCheckObjects[i][4]); break; case "O": ok = ok && validateKleinR ( GLOBALCheckObjects[i][1], the_value , GLOBALCheckObjects[i][0] , GLOBALCheckObjects[i][4]); break; case "U": ok = ok && validateUpperR ( GLOBALCheckObjects[i][1], the_value , GLOBALCheckObjects[i][0] , GLOBALCheckObjects[i][4]); break; case "C": ok = ok && validateCamelcaseR ( GLOBALCheckObjects[i][1], the_value , GLOBALCheckObjects[i][0] , GLOBALCheckObjects[i][4]); break; }; }; if (ok) ok=checkUserErrors(); displayGLOBALErrors(); if (!ok) {GLOBALactivatePressedButton();} return ok; } function GLOBALactivateButton(pId) { if (pId!='') document.getElementById(pId).disabled=false; } function GLOBALdeactivateButton(pId) { if (pId!='') document.getElementById(pId).disabled=true; } function GLOBALactivatePressedButton() {GLOBALactivateButton(GLOBALPressedButton);} function GLOBALactivateAllButtons() { for (i=0;i"+ GLOBALErrorArray[i][0] + "";}; }; if (errors=="") {errors="
";GLOBALErrorsExist=false;} else {errors="
\"ERROR!\"" + errors + "
";GLOBALErrorsExist=true;}; cbeGetElementById("statusLayer").cbe.innerHtml(errors); displayUserErrors(); } function displayUserErrors() { var errors=""; var err; for (i=0;i" + GLOBALUserErrorArray[i][0] + "";}; if (GLOBALUserErrorArray[i][1]!="") { err= ""+ err + "";}; if (err!="") {err="
  • " + err + "
  • ";}; }; errors+= err ; }; if (errors=="") {cbeGetElementById("userErrorLayer").cbe.innerHtml("
    "); } else { cbeGetElementById("userErrorLayer").cbe.innerHtml(errors); }; } function checkUserErrors() { var isok=true; for (i=0;iparseFloat(pValue) ) err+=gLibNum2Small + ', '; if (! isNaN(bis) && bismantLen && mantLen != null && mantLen!=0 && pValue.match(/\./)) err+=pValue.substring(pValue.indexOf(".")+1,pValue.length).length-mantLen + ' ' + gLibMant2Long + ', '; if (isNaN (pValue) ) err+=gLibNotANum + ', '; if (err!="" && pValue!="" ) { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValNumFrom + " " + von + " " + gLibTo + " " + bis + "! (" + err.substr(0,err.length-2) + ")" , pObject,pId); } else { delGLOBALFehler( pId); } ; } else { if (isNaN (pValue) ) err+=gLibNotANum + ', '; if (err!="" && pValue!="" ) { addGLOBALFehler( pObjectname , pObjectname + "! (" + err.substr(0,err.length-2) + ")" , pObject,pId); } else { delGLOBALFehler( pId); } ; } if (vDelNVError) delGLOBALFehler( pId + "GLOBALNV" ); displayGLOBALErrors(); } function validateNumberR ( pObjectname, pValue, pObject,pId,pFormat ) { var err = ""; pValue=pValue.replace(/,/g,"."); eval(pObject + ".value='" + pValue.replace(/\./g,",")+ "';"); if ( pFormat != null && pFormat != '') { pFormat=pFormat.replace(/,/g,"."); var von = parseFloat(pFormat.substring(0,pFormat.indexOf(":"))); var bis = parseFloat(pFormat.substring(pFormat.indexOf(":")+1,pFormat.indexOf(";"))); var mantLen = parseInt(pFormat.substring(pFormat.indexOf(";")+1,pFormat.length)); if (! isNaN(von) && von>parseFloat(pValue) ) err+= gLibNum2Small + ', '; if (! isNaN(bis) && bismantLen && mantLen != null && mantLen!=0 && pValue.match(/\./)) err+=pValue.substring(pValue.indexOf(".")+1,pValue.length).length-mantLen + ' ' + gLibMant2Long + ', '; if (isNaN (pValue) ) err+=gLibNotANum + ', '; if (err!="" && pValue!="" ) { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValNumFrom + " " + von + " " + gLibTo + " " + bis + "! (" + err.substr(0,err.length-2) + ")" , pObject,pId); } else { delGLOBALFehler( pId); } ; } else { if (isNaN (pValue) ) err+=gLibNotANum + ', '; if (err!="" && pValue!="" ) { addGLOBALFehler( pObjectname , pObjectname + "! (" + err.substr(0,err.length-2) + ")" , pObject,pId); } else { delGLOBALFehler( pId); } ; } if (err!="" && pValue!="" ) { return false; } else { return true; } ; } // +++ Integer Validator ++++++++++++++++++++++++++++++++++++ function validateInteger ( pObjectname, pValue, pObject,pId, pFormat ) { var err = ""; if ( pFormat != null && pFormat != '') { var von = parseInt(pFormat.substring(0,pFormat.indexOf(":"))); var bis = parseInt(pFormat.substring(pFormat.indexOf(":")+1,pFormat.length)); if (von!="" && von>Math.abs(pValue) ) err+=gLibNum2Small + ', '; if (bis!="" && bisMath.abs(pValue) ) err+=gLibNum2Small + ', '; if (bis!="" && bis2100 || !isInteger ( yearString ) )) err+=gLibYear + ', '; if ( vCheckMonth && (month<1 || month>12 || !isInteger ( monthString ) )) err+=gLibMonth + ', '; if ( vCheckDay && (day<1 || day>31 || (day>30 && (month==2 || month==4 || month==6 || month==9 || month==11))) || !isInteger ( dayString ) ) err+=gLibDay + ', '; if ( vCheckMonth && vCheckDay && (day>28 && month==2 && (year%4!=0 || (year%100==0 && year%400!=0)) ) ) err+=gLibNoLeapYear + ', '; //Schaltjahre if (err!="" && pValue!="" ) { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValDate + "! (" + err.substr(0,err.length-2) + ")" , pObject,pId); } else { delGLOBALFehler( pId); } ; if (pValue!="" ) delGLOBALFehler( pId+ "GLOBALNV" ); displayGLOBALErrors(); } function validateDateR ( pObjectname , pValue, pObject,pId, pFormat ) { var dayString = pValue.substr(pFormat.toUpperCase().indexOf("DD"),2); var monthString = pValue.substr(pFormat.toUpperCase().indexOf("MM"),2); var yearString = pValue.substr(pFormat.toUpperCase().indexOf("YYYY"),4); var day = Math.abs( dayString ); var month = Math.abs( monthString ); var year = Math.abs( yearString ); var vCheckDay = (pFormat.toUpperCase().indexOf("DD") != -1); var vCheckMonth = (pFormat.toUpperCase().indexOf("MM") != -1); var vCheckYear = (pFormat.toUpperCase().indexOf("YYYY") != -1); if ( vCheckDay && vCheckMonth==false ) month = 1; // wenn kein Monat vorgegeben dann nehmen wir den Jänner mit 31 Tagen if ( vCheckMonth && vCheckDay && vCheckYear==false ) year = 2000; // wenn kein Jahr gefragt, dann lassen wir den 29.Februar zu var err = ""; if ( vCheckYear && (year<1800 || year>2100 || !isInteger ( yearString )) ) err+=gLibYear + ', '; if ( vCheckMonth && (month<1 || month>12 || !isInteger ( monthString )) ) err+=gLibMonth + ', '; if ( vCheckDay && (day<1 || day>31 || (day>30 && (month==2 || month==4 || month==6 || month==9 || month==11))) || !isInteger ( dayString ) ) err+=gLibDay + ', '; if ( vCheckMonth && vCheckDay && (day>28 && month==2 && (year%4!=0 || (year%100==0 && year%400!=0)) ) ) err+=gLibNoLeapYear + ', '; //Schaltjahre if (err!="" && pValue!="" ) { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValDate + "! (" + err.substr(0,err.length-2) + ")" , pObject,pId); } else { delGLOBALFehler( pId); } ; if (err!="" && pValue!="" ) { return false; } else { return true; } ; } // +++ SozVersNrValidator +++++++++++++++++++++++++++++++++++ function validateSvnr( pObjectname , pValue ,pObject,pId) { var err1= true; var prfz= parseInt(pValue.substr(0,1)) * 3 + parseInt(pValue.substr(1,1)) * 7 + parseInt(pValue.substr(2,1)) * 9 + parseInt(pValue.substr(4,1)) * 5 + parseInt(pValue.substr(5,1)) * 8 + parseInt(pValue.substr(6,1)) * 4 + parseInt(pValue.substr(7,1)) * 2 + parseInt(pValue.substr(8,1)) * 1 + parseInt(pValue.substr(9,1)) * 6 ; prfz=parseInt(prfz%11); if ( prfz==parseInt(pValue.substr(3,1)) && parseInt(pValue.substr(0,3))>99 && parseInt(pValue.substr(4,2))>0 && parseInt(pValue.substr(4,2))<32 && parseInt(pValue.substr(6,2))>0 && parseInt(pValue.substr(6,2))<16 ) {err1=false;}; if (err1 && pValue!="") { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValSoSec + "!" , pObject,pId); } else { delGLOBALFehler( pId); } ; if (pValue!="" ) delGLOBALFehler( pId+ "GLOBALNV" ); displayGLOBALErrors(); } function validateSvnrR( pObjectname , pValue,pObject ,pId) { var err1= true; var prfz= parseInt(pValue.substr(0,1)) * 3 + parseInt(pValue.substr(1,1)) * 7 + parseInt(pValue.substr(2,1)) * 9 + parseInt(pValue.substr(4,1)) * 5 + parseInt(pValue.substr(5,1)) * 8 + parseInt(pValue.substr(6,1)) * 4 + parseInt(pValue.substr(7,1)) * 2 + parseInt(pValue.substr(8,1)) * 1 + parseInt(pValue.substr(9,1)) * 6 ; prfz=parseInt(prfz%11); if ( prfz==parseInt(pValue.substr(3,1)) && parseInt(pValue.substr(0,3))>99 && parseInt(pValue.substr(4,2))>0 && parseInt(pValue.substr(4,2))<32 && parseInt(pValue.substr(6,2))>0 && parseInt(pValue.substr(6,2))<16 ) {err1=false;}; if (err1 && pValue!="") { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValSoSec + "!" , pObject,pId ); } else { delGLOBALFehler( pId); } ; if (err1==false && pValue!="" ) { return false; } else { return true; } ; } // +++ NULL Validator +++++++++++++++++++++++++ function validateNull ( pObjectname , pValue,pObject,pId ) { if (pValue==null || pValue=="") {addGLOBALFehler( pObjectname + "GLOBALNV" , pObjectname + " " + gLibIsNull + "!" , pObject ,pId + "GLOBALNV"); } else { delGLOBALFehler( pId + "GLOBALNV"); } ; displayGLOBALErrors(); } function validateNullR ( pObjectname , pValue,pObject ,pId) { if (pValue==null || pValue=="") {addGLOBALFehler( pObjectname + "GLOBALNV" , pObjectname + " " + gLibIsNull + "!" , pObject ,pId + "GLOBALNV");return false; } else { delGLOBALFehler( pId + "GLOBALNV");return true; } ; } // +++ EMAIL Validator ++++++++++++++++++++++++ function removeWS(pInput) { return pInput.replace(/^\s+|\s+$/g, ''); } function removeStartAndEndChar( pInput, pFirstChar, pLastChar ) { var vIdxFirst = pInput.indexOf(pFirstChar); var vIdxLast = pInput.lastIndexOf(pLastChar); if (vIdxFirst == 0 && vIdxLast == pInput.length - 1) { return removeWS(pInput.substring(vIdxFirst + 1, vIdxLast - vIdxFirst)); } return pInput; } function isNamePhraseValid( pNamePhrase ) { if (pNamePhrase.match(/^.*[<>"].*$/)) { return false; } return true; } function isEmailAddressValid( pAddress ) { /*if ( pAddress.length > 254 || pAddress.indexOf('..') != -1 || pAddress.lastIndexOf('.') == pAddress.length - 1) { return false; } return pAddress.match(/^([a-z0-9_+-]{1,2}|[a-z0-9_+-][a-z0-9_+.-]{1,62}[a-z0-9_+])@(([a-z0-9]|[a-z0-9][a-z0-9-]*[a-z0-9])\.?)+$/i);*/ var emailPattern = /^([a-z0-9]{1,2}|[a-z0-9][a-z0-9._+-]{1,62}[a-z0-9_+-])@(([a-z0-9]|[a-z0-9][a-z0-9-]*[a-z0-9])\.)+(([a-z0-9]|[a-z0-9][a-z0-9-]*[a-z0-9]))$/i; if ( pAddress.length > 254 || pAddress.indexOf('..') != -1 || pAddress.lastIndexOf('.') == pAddress.length - 1){ return false; } return emailPattern.test(pAddress); } function isEmailValid( pValue, pFormat ) { var vEmailStr = removeWS(pValue); if (vEmailStr == "") { return true; } if (pFormat == "RFC2822") { var vEmailAddress; var vEmailNamePhrase; var vEmailStartPos = vEmailStr.lastIndexOf(' <'); if (vEmailStartPos == -1) { vEmailAddress = removeStartAndEndChar(vEmailStr, '<', '>'); } else { vEmailNamePhrase = removeStartAndEndChar(removeWS(vEmailStr.substring(0, vEmailStartPos)), '"', '"'); vEmailAddress = removeStartAndEndChar(removeWS(vEmailStr.substring(vEmailStartPos)), '<', '>'); } if (!isEmailAddressValid(vEmailAddress)) { return false; } if (vEmailNamePhrase != null && !isNamePhraseValid(vEmailNamePhrase)) { return false; } } else { if (!isEmailAddressValid(vEmailStr)) { return false; } } return true; } function validateEmail ( pObjectname, pValue, pObject, pId, pFormat ) { if ( isEmailValid( pValue, pFormat ) ) { delGLOBALFehler( pId ); } else { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValEmail + "!", pObject, pId ); } if ( pValue!="" ) { delGLOBALFehler( pId+ "GLOBALNV" ); } displayGLOBALErrors(); } function validateEmailR ( pObjectname, pValue, pObject, pId, pFormat) { if ( isEmailValid( pValue, pFormat ) ){ delGLOBALFehler( pId ); return true; } else { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValEmail + "!", pObject, pId ); return false; } } // +++ Length Validator ++++++++++++++++++++++++++ function validateLength ( pObjectname , pValue,pObject,pId, pMaxLen ) { var vAktLen = pValue.length; if (vAktLen>parseInt(pMaxLen)) { addGLOBALFehler( pObjectname , pObjectname + " " + gLib2Long + "! (" + gLibMax + " " + pMaxLen + " " + gLibCharAlw + "; " + parseFloat(parseInt(vAktLen)-parseInt(pMaxLen)).toString() + " " + gLibChar2Many + "!)" , pObject,pId); } else { delGLOBALFehler( pId); } ; if (pValue!="" ) delGLOBALFehler( pId+ "GLOBALNV" ); displayGLOBALErrors(); } function validateLengthR ( pObjectname , pValue,pObject,pId, pMaxLen ) { var vAktLen = pValue.length; if (vAktLen>parseInt(pMaxLen)) { addGLOBALFehler( pObjectname , pObjectname + " " + gLib2Long + "! (" + gLibMax + " " + pMaxLen + " " + gLibCharAlw + "; " + parseFloat(parseInt(vAktLen)-parseInt(pMaxLen)).toString() + " " + gLibChar2Many + "!)" , pObject,pId);return false; } else { delGLOBALFehler( pId);return true; } ; } // +++ TELVDisplay Validator ++++++++++++++++++++++++ function validateTeldisplay ( pObjectname , pValue,pObject,pId ) { var good = !pValue.match(/[^-a-zA-Z0-9_\/\.äöüÄÖÜß\s]/); if (pValue!="" && !good) { addGLOBALFehler( pObjectname , pObjectname + " " + gLibContInvChar , pObject,pId); } else { delGLOBALFehler( pId); } ; if (pValue!="" ) delGLOBALFehler( pId+ "GLOBALNV" ); displayGLOBALErrors(); } function validateTeldisplayR ( pObjectname , pValue,pObject ,pId) { var good = !pValue.match(/[^-a-zA-Z0-9_\/\.äöüÄÖÜß\s]/); if (pValue!="" && !good) { addGLOBALFehler( pObjectname , pObjectname + " " + gLibContInvChar , pObject,pId);return false; } else { delGLOBALFehler( pId);return true; } ; } //var vDigits; //var vPrfZiffer; // +++ ISBN Validator ++++++++++++++++++++++++ function validateBuch ( pObjectname , pValue,pObject ,pId) { var vDigits; var vPrfZiffer; var isbnOK; var vCalcPrfZiffer; var vSumme; pValue = pValue.toUpperCase(); eval(pObject + ".value='" + pValue + "';"); vDigits = pValue.replace(/\s/g,""); if(vDigits.length == 13) { vDigits = pValue.replace(/[-\s]/g,""); vPrfZiffer = vDigits.substr(9,1); if (vPrfZiffer=='X') { vPrfZiffer=10; }; // Länge=13, 1-12=[0-9]-, 13=[0-9]X isbnOK = !vDigits.substr(0,9).match(/[^0-9]/) && !vDigits.substr(9,1).match(/[^0-9X]/) && (vDigits.length == 10) && (0 == parseInt ( ( parseInt(vDigits.substr(0,1)*10) + parseInt(vDigits.substr(1,1)*9) + parseInt(vDigits.substr(2,1)*8) + parseInt(vDigits.substr(3,1)*7) + parseInt(vDigits.substr(4,1)*6) + parseInt(vDigits.substr(5,1)*5) + parseInt(vDigits.substr(6,1)*4) + parseInt(vDigits.substr(7,1)*3) + parseInt(vDigits.substr(8,1)*2) + parseInt(vPrfZiffer) ) % 11 ) ); } else if(vDigits.length == 17) { if(!vDigits.substr(0,1).match(/([^0-9])/g)&& !vDigits.substr(1,1).match(/([^0-9])/g)&& !vDigits.substr(2,1).match(/([^0-9])/g)&& vDigits.substr(3,1).match(/-/g)) { vDigits = pValue.replace(/[-\s]/g,""); vPrfZiffer = vDigits.substr(12,1); vCalcPrfZiffer = parseInt(( parseInt(vDigits.substr(0,1)*1) + parseInt(vDigits.substr(1,1)*3) + parseInt(vDigits.substr(2,1)*1) + parseInt(vDigits.substr(3,1)*3) + parseInt(vDigits.substr(4,1)*1) + parseInt(vDigits.substr(5,1)*3) + parseInt(vDigits.substr(6,1)*1) + parseInt(vDigits.substr(7,1)*3) + parseInt(vDigits.substr(8,1)*1) + parseInt(vDigits.substr(9,1)*3) + parseInt(vDigits.substr(10,1)*1) + parseInt(vDigits.substr(11,1)*3) ) % 10); vCalcPrfZiffer = 10 - (vCalcPrfZiffer); if((vCalcPrfZiffer) == 10) { vCalcPrfZiffer = 0; } isbnOK = !vDigits.substr(0,12).match(/[^0-9]/) && !vDigits.substr(12,1).match(/[^0-9]/) && (vDigits.length == 13) && (vCalcPrfZiffer == vPrfZiffer); } else { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValISBN , pObject,pId); }; } else { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValISBN , pObject,pId); }; if (pValue!="" && !isbnOK) { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValISBN , pObject,pId); } else { delGLOBALFehler( pId); }; if (pValue!="" ) delGLOBALFehler( pId+ "GLOBALNV" ); displayGLOBALErrors(); } function validateBuchR ( pObjectname , pValue,pObject,pId ) { var vDigits; var vPrfZiffer; var isbnOK; var vCalcPrfZiffer; var vSumme; pValue = pValue.toUpperCase(); eval(pObject + ".value='" + pValue + "';"); vDigits = pValue.replace(/\s/g,""); if(vDigits.length == 13) { vDigits = pValue.replace(/[-\s]/g,""); vPrfZiffer = vDigits.substr(9,1); if (vPrfZiffer=='X') { vPrfZiffer=10; }; // Länge=13, 1-12=[0-9]-, 13=[0-9]X isbnOK = !vDigits.substr(0,9).match(/[^0-9]/) && !vDigits.substr(9,1).match(/[^0-9X]/) && (vDigits.length == 10) && (0 == parseInt ( ( parseInt(vDigits.substr(0,1)*10) + parseInt(vDigits.substr(1,1)*9) + parseInt(vDigits.substr(2,1)*8) + parseInt(vDigits.substr(3,1)*7) + parseInt(vDigits.substr(4,1)*6) + parseInt(vDigits.substr(5,1)*5) + parseInt(vDigits.substr(6,1)*4) + parseInt(vDigits.substr(7,1)*3) + parseInt(vDigits.substr(8,1)*2) + parseInt(vPrfZiffer) ) % 11 ) ); } else if(vDigits.length == 17) { if(!vDigits.substr(0,1).match(/([^0-9])/g)&& !vDigits.substr(1,1).match(/([^0-9])/g)&& !vDigits.substr(2,1).match(/([^0-9])/g)&& vDigits.substr(3,1).match(/-/g)) { vDigits = pValue.replace(/[-\s]/g,""); vPrfZiffer = vDigits.substr(12,1); vCalcPrfZiffer = parseInt(( parseInt(vDigits.substr(0,1)*1) + parseInt(vDigits.substr(1,1)*3) + parseInt(vDigits.substr(2,1)*1) + parseInt(vDigits.substr(3,1)*3) + parseInt(vDigits.substr(4,1)*1) + parseInt(vDigits.substr(5,1)*3) + parseInt(vDigits.substr(6,1)*1) + parseInt(vDigits.substr(7,1)*3) + parseInt(vDigits.substr(8,1)*1) + parseInt(vDigits.substr(9,1)*3) + parseInt(vDigits.substr(10,1)*1) + parseInt(vDigits.substr(11,1)*3) ) % 10); vCalcPrfZiffer = 10 - (vCalcPrfZiffer); if((vCalcPrfZiffer) == 10) { vCalcPrfZiffer = 0; } isbnOK = !vDigits.substr(0,12).match(/[^0-9]/) && !vDigits.substr(12,1).match(/[^0-9]/) && (vDigits.length == 13) && (vCalcPrfZiffer == vPrfZiffer); } else { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValISBN , pObject,pId); }; } else { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValISBN , pObject,pId); }; if (pValue!="" && !isbnOK) { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValISBN , pObject,pId); return false; } else { delGLOBALFehler( pId); return true; } ; } // +++ Zeit Validator ++++++++++++++++++++++++++++++++++++++ function validateZeit ( pObjectname , pValue, pObject,pId ) { var hour = Math.abs(pValue.substr(0,2)); var mins = Math.abs(pValue.substr(2,2)); var err = ""; if (pValue.length!=4) err+=gLibFormatTime + ', '; if (hour<0 || hour>23 || isNaN(hour) ) err+=gLibHour + ', '; if (mins<0 || mins>59 || isNaN(mins) ) err+=gLibMins + ', '; if (err!="" && pValue!="" ) { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValTime + "! (" + err.substr(0,err.length-2) + ")" , pObject,pId); } else { delGLOBALFehler( pId); } ; if (pValue!="" ) delGLOBALFehler( pId+ "GLOBALNV" ); displayGLOBALErrors(); } function validateZeitR ( pObjectname , pValue, pObject,pId ) { var hour = Math.abs(pValue.substr(0,2)); var mins = Math.abs(pValue.substr(2,2)); var err = ""; if (pValue.length!=4) err+=gLibFormatTime + ', '; if (hour<0 || hour>23 || isNaN(hour) ) err+=gLibHour + ', '; if (mins<0 || mins>59 || isNaN(mins) ) err+=gLibMins + ', '; if (err!="" && pValue!="" ) { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValTime + "! (" + err.substr(0,err.length-2) + ")" , pObject,pId); } else { delGLOBALFehler( pId); } ; if (err!="" && pValue!="" ) { return false; } else { return true; } ; } //-------------------------------------------------- // Lower Validator //-------------------------------------------------- function validateKlein ( pObjectname , pValue, pObject,pId ) { var vOriginalText = pValue; var vLowerCaseText = pValue.toLowerCase(); if ( vOriginalText != vLowerCaseText ){ addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoLowerCase , pObject,pId); } else{ delGLOBALFehler( pId ); } if ( pValue != "" ) delGLOBALFehler( pId+ "GLOBALNV" ); displayGLOBALErrors(); } function validateKleinR ( pObjectname, pValue, pObject, pId ) { var vOriginalText = pValue.value; var vLowerCaseText = pValue.value.toLowerCase(); if ( vOriginalText != vLowerCaseText ){ addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoLowerCase , pObject,pId); return false; } else{ delGLOBALFehler( pId ); return true; }; } //-------------------------------------------------- // UPPER Validator //-------------------------------------------------- function validateUpper ( pObjectname , pValue, pObject,pId ) { var vOriginalText = pValue; var vUpperCaseText = pValue.toUpperCase(); if ( vOriginalText != vUpperCaseText ){ addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoUpperCase , pObject,pId); } else{ delGLOBALFehler( pId ); } if ( pValue != "" ) delGLOBALFehler( pId+ "GLOBALNV" ); displayGLOBALErrors(); } function validateUpperR ( pObjectname, pValue, pObject, pId ) { var vOriginalText = pValue.value; var vUpperCaseText = pValue.value.toUpperCase(); if ( vOriginalText != vUpperCaseText ){ addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoUpperCase , pObject,pId); return false; } else{ delGLOBALFehler( pId ); return true; }; } //-------------------------------------------------- // CamelCase Validator //-------------------------------------------------- function validateCamelcase ( pObjectname , pValue, pObject,pId ) { var vTrimmedText = pValue.replace(/^\s+|\s+$/g,""); var vTextLength = vTrimmedText.length; var vValueLowerCase = vTrimmedText.toLowerCase(); var vValueUpperCase = vTrimmedText.toUpperCase(); if ( ( vTextLength > 1 ) && ((vValueLowerCase == vTrimmedText) || (vValueUpperCase == vTrimmedText) ) ) { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoCamelCase , pObject,pId); } else{ delGLOBALFehler( pId ); } if ( pValue != "" ) delGLOBALFehler( pId+ "GLOBALNV" ); displayGLOBALErrors(); } function validateCamelcaseR ( pObjectname, pValue, pObject, pId ) { var vTrimmedText = pValue.replace(/^\s+|\s+$/g,""); var vTextLength = vTrimmedText.length; var vValueLowerCase = vTrimmedText.toLowerCase(); var vValueUpperCase = vTrimmedText.toUpperCase(); if ( ( vTextLength > 1 ) && ((vValueLowerCase == vTrimmedText) || (vValueUpperCase == vTrimmedText) ) ) { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoCamelCase , pObject,pId); return false; } else{ delGLOBALFehler( pId ); return true; }; } //-------------------------------------------------- function validateZeitR ( pObjectname , pValue, pObject,pId ) { var hour = Math.abs(pValue.substr(0,2)); var mins = Math.abs(pValue.substr(2,2)); var err = ""; if (pValue.length!=4) err+=gLibFormatTime + ', '; if (hour<0 || hour>23 || isNaN(hour) ) err+=gLibHour + ', '; if (mins<0 || mins>59 || isNaN(mins) ) err+=gLibMins + ', '; if (err!="" && pValue!="" ) { addGLOBALFehler( pObjectname , pObjectname + " " + gLibNoValTime + "! (" + err.substr(0,err.length-2) + ")" , pObject,pId); } else { delGLOBALFehler( pId); } ; if (err!="" && pValue!="" ) { return false; } else { return true; } ; } // Utilities für Multiselecboxes (MSB) function GLOBALMSBselectAll(elem) { for (i = 0; elem != null && i < elem.length; i++) { elem.options[i].selected = true; } } function GLOBALMSBdeselectAll(elem) { for (i = 0; elem != null && i < elem.length; i++) { elem.options[i].selected = false; } } function GLOBALMSBcheckAlle(elem) { if (elem.options.length>0) { var firstElem = elem.options[0]; if (firstElem.selected == true) { GLOBALMSBdeselectAll(elem); GLOBALMSBselectFirst(elem); } } } function GLOBALMSBselectFirst(elem) { if (elem != null && elem.options.length>0) { elem.selectedIndex = 0; } } /** * Führt einen serverseitigen Request per GET aus, verwendet * AJAX-Technologie. Es wird ein entsprechender Plaintext-Response * zurückgegeben. * * @author MGö * @date 13.03.2007 * * @params url Request-Url * @params callback benutzerdefiniert Callback-Methode für Response(Plaintext) * * */ function getDataReturnText(url, callback) { var XMLHttpRequestObject = false; if (window.XMLHttpRequest) { XMLHttpRequestObject = new XMLHttpRequest(); } else if (window.ActiveXObject) { XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); } if(XMLHttpRequestObject) { XMLHttpRequestObject.open("GET", url); XMLHttpRequestObject.onreadystatechange = function() { if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { callback(XMLHttpRequestObject.responseText); delete XMLHttpRequestObject; XMLHttpRequestObject = null; } } XMLHttpRequestObject.send(null); } } /** * Führt einen serverseitigen Request per GET aus, verwendet * AJAX-Technologie. Es wird ein entsprechender XML-Response * zurückgegeben. * * @author MGö * @date 13.03.2007 * * @params url Request-Url * @params callback benutzerdefiniert Callback-Methode für Response(XML) * * */ function getDataReturnXml(url, callback) { var XMLHttpRequestObject = false; if (window.XMLHttpRequest) { XMLHttpRequestObject = new XMLHttpRequest(); } else if (window.ActiveXObject) { XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); } if(XMLHttpRequestObject) { XMLHttpRequestObject.open("GET", url); XMLHttpRequestObject.onreadystatechange = function() { if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { callback(XMLHttpRequestObject.responseXML); delete XMLHttpRequestObject; XMLHttpRequestObject = null; } } XMLHttpRequestObject.send(null); } }