function vi_Len(v_s) { var s = String(v_s); var iLength; iLength = s.length; return iLength; } function vi_Trim(v_s) { var sVal = String(v_s); var sValNew = ''; var re1 = /^(\s*)/; var re2 = /(\s*)$/; sValNew = sVal.replace(re1,''); sValNew = sValNew.replace(re2,''); return sValNew; } function bValidateZipCode(v_s) { var bValid = true; var reZipCode = /^(\d{4})\s{0,1}([a-z][A-Z]|[A-Z][a-z]|[A-Z][A-Z]|[a-z][a-z])$/; if (vi_Len(vi_Trim(v_s)) == 0) { bValid = false; } else { bValid = (reZipCode.test(v_s)); } return bValid; } // ============================================================ // util function function addZero( nValue) { return ( ( nValue < 10) ? "0" : "") + nValue; } // ============================================================ // util function, + character is not escaped by escape // function, so we escape it our self! function sEscape( sStr) { return escape( sStr.replace( /\x2B/g, '%plus%')); } // ============================================================ // util function, trims starting white spaces function ltrim( strText) { return strText.replace( /^\s*/, ''); } // ============================================================ // util function, trims ending white spaces function rtrim( strText) { return strText.replace( /\s*$/, ''); } // ============================================================ // util function, trims starting and ending white spaces function trim( strText) { return ltrim( rtrim( strText)); } // ============================================================ // util function, strips all white spaces function strip( strText) { return strText.replace( /\s/g, ''); } // ============================================================ // util function, validates an email adres function isEmail( sEmail) { //var reEmailWord = /[0-9A-Za-z_\-]+(\.[0-9A-Za-z_\-]+)*/; //var reEmail = /^/ + reEmailWord + /@/ + reEmailWord + /\./ + reEmailWord + /$/; //a domain cannot contain a '_' var reEmail = /^[0-9A-Za-z_\-]+(\.[0-9A-Za-z_\-]+)*@[0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*\.[0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*$/; return reEmail.test( sEmail); } // ============================================================ // util function, validates if a string starts with a character, or with a ' function isLiteral( sLiteral) { //var reLiteral = /^[A-Za-z'][A-Za-z '\-.`]*$/; var reLiteral = /^[A-Za-z '\-.`Ç-Ñ]*$/; return reLiteral.test( sLiteral); } // ============================================================ // util function, validates if it is a 'typeable' string function isWord( sWord) { var reLiteral = /^[0-9A-Za-z _'\-.`]*$/; return reLiteral.test( sWord); } // ============================================================ // util function, validates telephone numbers function isTelephone( sTel) { var reTel = /^[+0-9](-?[0-9]+)*$/; return reTel.test( sTel); } // ============================================================ // util function, validates bank accounts function isBankAccount( sBankAccount) { var reBankAccount = /^[0-9]*$/; if ( reBankAccount.test( sBankAccount)) { // test length if ( sBankAccount.length != 9) return false; // test 11-proof var lTotal = 0; for ( var i = 0; i < 9; i++) lTotal += (9 - i) * parseInt( sBankAccount.substr( i, 1)); return (lTotal > 0) && ((lTotal % 11) == 0); } else return false; } // ============================================================ // util function, validates giro accounts function isGiroAccount( sGiroAccount) { var reGiroAccount = /^P[0-9]*$/; if ( reGiroAccount.test( sGiroAccount)) { // test length if ( sGiroAccount.length < 4 || sGiroAccount.length > 8) // length includes 'P' return false; // test giro proof return true; } else return false; } function sRetrieveControlValue(v_oObject) { // JPE 24/01/2002 // This function retrieves the value from a control, depending on the type of control var sValue; if(v_oObject.type=='select-one') { // This control is a dropdown sValue = v_oObject.options[v_oObject.selectedIndex].value; } else { sValue = v_oObject.value; } return sValue; } function MM_oGetObject(n, d) { //v3.0 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i