/* 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="
| " + 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="";};
};
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);
}
}