1// $Id: $ 2function zf_ValidateAndSubmit(){ 3 if(zf_CheckMandatory()){ 4 if(zf_ValidCheck()){ 5 if(isSalesIQIntegrationEnabled){ 6 zf_addDataToSalesIQ(); 7 } 8 return true; 9 }else{ 10 return false; 11 } 12 }else{ 13 return false; 14 } 15 } 16 function zf_CheckMandatory(){ 17 for(i = 0 ; i < zf_MandArray.length ; i ++) { 18 var fieldObj=document.forms.form[zf_MandArray[i]]; 19 if(fieldObj) { 20 if(fieldObj.nodeName != null ){ 21 if ( fieldObj.nodeName=='OBJECT' ) { 22 if(!zf_MandatoryCheckSignature(fieldObj)){ 23 zf_ShowErrorMsg(zf_MandArray[i]); 24 return false; 25 } 26 }else if (((fieldObj.value).replace(/^\s+|\s+$/g, '')).length==0) { 27 if(fieldObj.type =='file') 28 { 29 fieldObj.focus(); 30 zf_ShowErrorMsg(zf_MandArray[i]); 31 return false; 32 } 33 fieldObj.focus(); 34 zf_ShowErrorMsg(zf_MandArray[i]); 35 return false; 36 } else if( fieldObj.nodeName=='SELECT' ) {// No I18N 37 if(fieldObj.options[fieldObj.selectedIndex].value=='-Select-') { 38 fieldObj.focus(); 39 zf_ShowErrorMsg(zf_MandArray[i]); 40 return false; 41 } 42 } else if( fieldObj.type =='checkbox' || fieldObj.type =='radio' ){ 43 if(fieldObj.checked == false){ 44 fieldObj.focus(); 45 zf_ShowErrorMsg(zf_MandArray[i]); 46 return false; 47 } 48 } 49 }else{ 50 var checkedValsCount = 0; 51 var inpChoiceElems = fieldObj; 52 for(var ii = 0; ii < inpChoiceElems.length ; ii ++ ){ 53 if(inpChoiceElems[ii].checked === true ){ 54 checkedValsCount ++; 55 } 56 } 57 if ( checkedValsCount == 0) { 58 inpChoiceElems[0].focus(); 59 zf_ShowErrorMsg(zf_MandArray[i]); 60 return false; 61 } 62 } 63 } 64 } 65 return true; 66 } 67 function zf_ValidCheck(){ 68 var isValid = true; 69 for(ind = 0 ; ind < zf_FieldArray.length ; ind++ ) { 70 var fieldObj=document.forms.form[zf_FieldArray[ind]]; 71 if(fieldObj) { 72 if(fieldObj.nodeName != null ){ 73 var checkType = fieldObj.getAttribute("checktype"); 74 if( checkType == "c2" ){// No I18N 75 if( !zf_ValidateNumber(fieldObj)){ 76 isValid = false; 77 fieldObj.focus(); 78 zf_ShowErrorMsg(zf_FieldArray[ind]); 79 return false; 80 } 81 }else if( checkType == "c3" ){// No I18N 82 if (!zf_ValidateCurrency(fieldObj) || !zf_ValidateDecimalLength(fieldObj,10) ) { 83 isValid = false; 84 fieldObj.focus(); 85 zf_ShowErrorMsg(zf_FieldArray[ind]); 86 return false; 87 } 88 }else if( checkType == "c4" ){// No I18N 89 if( !zf_ValidateDateFormat(fieldObj)){ 90 isValid = false; 91 fieldObj.focus(); 92 zf_ShowErrorMsg(zf_FieldArray[ind]); 93 return false; 94 } 95 }else if( checkType == "c5" ){// No I18N 96 if (!zf_ValidateEmailID(fieldObj)) { 97 isValid = false; 98 fieldObj.focus(); 99 zf_ShowErrorMsg(zf_FieldArray[ind]); 100 return false; 101 } 102 }else if( checkType == "c6" ){// No I18N 103 if (!zf_ValidateLiveUrl(fieldObj)) { 104 isValid = false; 105 fieldObj.focus(); 106 zf_ShowErrorMsg(zf_FieldArray[ind]); 107 return false; 108 } 109 }else if( checkType == "c7" ){// No I18N 110 if (!zf_ValidatePhone(fieldObj)) { 111 isValid = false; 112 fieldObj.focus(); 113 zf_ShowErrorMsg(zf_FieldArray[ind]); 114 return false; 115 } 116 }else if( checkType == "c8" ){// No I18N 117 zf_ValidateSignature(fieldObj); 118 } 119 } 120 } 121 } 122 return isValid; 123 } 124 function zf_ShowErrorMsg(uniqName){ 125 var fldLinkName; 126 for( errInd = 0 ; errInd < zf_FieldArray.length ; errInd ++ ) { 127 fldLinkName = zf_FieldArray[errInd].split('_')[0]; 128 document.getElementById(fldLinkName+"_error").style.display = 'none'; 129 } 130 var linkName = uniqName.split('_')[0]; 131 document.getElementById(linkName+"_error").style.display = 'block'; 132 } 133 function zf_ValidateNumber(elem) { 134 var validChars = "-0123456789"; 135 var numValue = elem.value.replace(/^\s+|\s+$/g, ''); 136 if (numValue != null && !numValue == "") { 137 var strChar; 138 var result = true; 139 if (numValue.charAt(0) == "-" && numValue.length == 1) { 140 return false;
141 } 142 for (i = 0; i < numValue.length && result == true; i++) { 143 strChar = numValue.charAt(i); 144 if ((strChar == "-") && (i != 0)) { 145 return false; 146 } 147 if (validChars.indexOf(strChar) == -1) { 148 result = false; 149 } 150 } 151 return result; 152 } else { 153 return true; 154 } 155 } 156 function zf_ValidateDateFormat(inpElem){ 157 var dateValue = inpElem.value.replace(/^\s+|\s+$/g, ''); 158 if( dateValue == "" ){ 159 return true; 160 }else{ 161 return( zf_DateRegex.test(dateValue) ); 162 } 163 } 164 function zf_ValidateCurrency(elem) { 165 var validChars = "0123456789."; 166 var numValue = elem.value.replace(/^\s+|\s+$/g, ''); 167 if(numValue.charAt(0) == '-'){ 168 numValue = numValue.substring(1,numValue.length); 169 } 170 if (numValue != null && !numValue == "") { 171 var strChar; 172 var result = true; 173 for (i = 0; i < numValue.length && result == true; i++) { 174 strChar = numValue.charAt(i); 175 if (validChars.indexOf(strChar) == -1) { 176 result = false; 177 } 178 } 179 return result; 180 } else { 181 return true; 182 } 183 } 184 function zf_ValidateDecimalLength(elem,decimalLen) { 185 var numValue = elem.value; 186 if (numValue.indexOf('.') >= 0) { 187 var decimalLength = numValue.substring(numValue.indexOf('.') + 1).length; 188 if (decimalLength > decimalLen) { 189 return false; 190 } else { 191 return true; 192 } 193 } 194 return true; 195 } 196 function zf_ValidateEmailID(elem) { 197 var check = 0; 198 var emailValue = elem.value; 199 if (emailValue != null && !emailValue == "") { 200 var emailArray = emailValue.split(","); 201 for (i = 0; i < emailArray.length; i++) { 202 var emailExp = /^[\w]([\w\-.+&'/]*)@([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,22}$/; 203 if (!emailExp.test(emailArray[i].replace(/^\s+|\s+$/g, ''))) { 204 check = 1; 205 } 206 } 207 if (check == 0) { 208 return true; 209 } else { 210 return false; 211 } 212 } else { 213 return true; 214 } 215 } 216 function zf_ValidateLiveUrl(elem) { 217 var urlValue = elem.value; 218 if(urlValue !== null && typeof(urlValue) !== "undefined") { 219 urlValue = urlValue.replace(/^\s+|\s+$/g, ''); 220 if(urlValue !== "") { 221 var urlregex = new RegExp("^(((https|http|ftps|ftp)://[a-zA-Z\\d]+((_|-|@)[a-zA-Z\\d]+)*(\\.[a-zA-Z\\d]+((_|-|@)[a-zA-Z\\d]+)*)+(:\\d{1,5})?)|((w|W){3}(\\.[a-zA-Z\\d]+((_|-|@)[a-zA-Z\\d]+)*){2,}(:\\d{1,5})?)|([a-zA-Z\\d]+((_|-)[a-zA-Z\\d]+)*(\\.[a-zA-Z\\d]+((_|-)[a-zA-Z\\d]+)*)+(:\\d{1,5})?))(/[-\\w.?,:'/\\\\+=&;%$#@()!~]*)?$", "i"); // This regex is taken from LiveFieldsUtil.isValidWebSiteFieldURL() method. Changes: i) Add ^ at the beginning and $ at the end. ii) Remove ?i before https and adjust () around https. iii) Add "i" in the RegExp constructor. // No I18N 222 return(urlregex.test(urlValue)); 223 } 224 } 225 return true; 226 } 227 function zf_ValidatePhone(inpElem){ 228 229 var ZFPhoneRegex = { 230 PHONE_INTE_ALL_REG: /^[+]{0,1}[()0-9-. ]+$/, 231 PHONE_INTE_NUMERIC_REG: /^[0-9]+$/, 232 PHONE_INTE_CONT_CODE_ENABLED_REG: /^[(0-9-.][()0-9-. ]*$/, 233 PHONE_USA_REG: /^[0-9]+$/, 234 PHONE_CONT_CODE_REG: /^[+][0-9]{1,4}$/ 235 } 236 var phoneFormat = parseInt(inpElem.getAttribute("phoneFormat")); 237 var fieldInpVal = inpElem.value.replace(/^\s+|\s+$/g, ''); 238 var toReturn = true ; 239 if( phoneFormat === 1 ){ 240 if(inpElem.getAttribute("valType") == 'code'){ 241 var codeRexp = ZFPhoneRegex.PHONE_CONT_CODE_REG; 242 if(fieldInpVal != "" && !codeRexp.test(fieldInpVal)){ 243 return false; 244 } 245 }else{ 246 var IRexp = ZFPhoneRegex.PHONE_INTE_ALL_REG; 247 if(inpElem.getAttribute("phoneFormatType") == '2'){ 248 IRexp = ZFPhoneRegex.PHONE_INTE_NUMERIC_REG; 249 } 250 if (fieldInpVal != "" && !IRexp.test(fieldInpVal)) { 251 toReturn = false; 252 return toReturn; 253 } 254 } 255 return toReturn; 256 }else if( phoneFormat === 2 ){ 257 var InpMaxlength = inpElem.getAttribute("maxlength"); 258 var USARexp = ZFPhoneRegex.PHONE_USA_REG; 259 if ( fieldInpVal != "" && USARexp.test(fieldInpVal) && fieldInpVal.length == InpMaxlength ) { 260 toReturn = true; 261 }else if( fieldInpVal == "" ){ 262 toReturn = true; 263 }else{ 264 toReturn = false;
265 } 266 return toReturn; 267 } 268 } 269 270 function zf_ValidateSignature(objElem) { 271 var linkName = objElem.getAttribute("compname"); 272 var canvasElem = document.getElementById("drawingCanvas-"+linkName); 273 var isValidSign = zf_IsSignaturePresent(objElem,linkName,canvasElem); 274 var hiddenSignInputElem = document.getElementById("hiddenSignInput-"+linkName); 275 if(isValidSign){ 276 hiddenSignInputElem.value = canvasElem.toDataURL(); 277 }else{ 278 hiddenSignInputElem.value = "";// No I18N 279 } 280 return isValidSign; 281 } 282 283 function zf_MandatoryCheckSignature(objElem){ 284 var linkName = objElem.getAttribute("compname"); 285 var canvasElem = document.getElementById("drawingCanvas-"+linkName); 286 var isValid = zf_IsSignaturePresent(objElem,linkName,canvasElem); 287 return isValid; 288 } 289 290 function zf_IsSignaturePresent(objElem,linkName,canvasElem){ 291 var context = canvasElem.getContext('2d'); // No I18N 292 var canvasWidth = canvasElem.width; 293 var canvasHeight = canvasElem.height; 294 var canvasData = context.getImageData(0, 0, canvasWidth, canvasHeight); 295 var signLen = canvasData.data.length; 296 var flag = false; 297 for(var index =0; index< signLen; index++) { 298 if(!canvasData.data[index]) { 299 flag = false; 300 }else if(canvasData.data[index]) { 301 flag = true; 302 break; 303 } 304 } 305 return flag; 306 } 307 308 function zf_FocusNext(elem,event) { 309 if(event.keyCode == 9 || event.keyCode == 16){ 310 return; 311 } 312 if(event.keyCode >=37 && event.keyCode <=40){ 313 return; 314 } 315 var compname = elem.getAttribute("compname"); 316 var inpElemName = elem.getAttribute("name"); 317 if (inpElemName == compname+"_countrycode") { 318 if (elem.value.length == 3) { 319 document.getElementsByName(compname+"_first")[0].focus(); 320 } 321 } else if (inpElemName == compname+"_first" ) { 322 if (elem.value.length == 3) { 323 document.getElementsByName(compname+"_second")[0].focus(); 324 } 325 } 326 }
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.