1/*------------------------------------------------------------------- 2login.js 3For CentreMapsLive Ver. 2 4Code for login/registering 5Lovell Jonhs Ltd. 601/01/10 7//------------------------------------------------------------------*/ 8 9//-------------------------------------------------------------------------LOGIN SCRIPTS 10 11var registerXpos = '0 px'; 12// var resourceURL = "https://cmlive.cmaps-aws.co.uk"; 13var resourceURL = ""; 14 15 16//*******************Set focus on the login form 17function setFocus() { 18 document.loginform.username.focus(); 19} 20 21//*******************Clear input when focus on the login email input 22function clearInput() { 23 if (document.loginform.username.value == "Email Address") { 24 document.loginform.username.value = ""; 25 } 26} 27 28//****************Show login form automatically 29function showLoginOnLoad() { 30 if (document.varform.cid.value == "") { 31 showHideRegister("hide"); //Ensure register info hidden 32 showHideLoginContent("content"); 33 if (document.getElementById("loginPopup") != null) { 34 const winWidth = window.innerWidth; 35 document.getElementById("loginPopup").style.left = String(winWidth - 590) + 'px'; 36 document.getElementById("loginPopup").style.display = 'block'; 37 } 38 } 39} 40 41//****************Show/Hide login form 42function showLogin(e) { 43 evt = e || window.event; 44 if (document.varform.cid.value != "") { //Already logged in - log-out 45 runLogin("out", "map"); 46 } else { 47 showHideRegister("hide"); //Ensure register info hidden 48 showHideLoginContent("content"); 49 if (document.getElementById("loginPopup") != null) { 50 if (evt != null) { 51 document.getElementById("loginPopup").style.left = String(evt.clientX - 60) + 'px'; 52 } 53 document.getElementById("loginPopup").style.display = 'block'; 54 } 55 } 56} 57 58function hideLogin() { 59 if (document.getElementById("loginPopup") != null) { 60 document.getElementById("loginPopup").style.display = 'none'; 61 } 62} 63 64//****************Show/Hide login box content 65function showHideLoginContent(contentToShow) { 66 if (contentToShow == "content") { 67 if (document.getElementById("loginContent") != null) { 68 document.getElementById("loginContent").style.display = 'block'; 69 } 70 if (document.getElementById("loginMessage") != null) { 71 document.getElementById("loginMessage").style.display = 'none'; 72 } 73 } else if (contentToShow == "message") { 74 if (document.getElementById("loginContent") != null) { 75 document.getElementById("loginContent").style.display = 'none'; 76 } 77 if (document.getElementById("loginMessage") != null) { 78 document.getElementById("loginMessage").style.display = 'block'; 79 } 80 } 81} 82 83//****************Run Login 84function runLogin(theAction, theSourcePage) { 85 let loginUsername; 86//Validate input 87 let isOK = true; 88 if (theAction == "in") { 89 //Check the 'User Name' field valid 90 //isOK = validateEmail(); 91 let isEmailAddress = true; 92 if (document.loginform.username.value == "") { //Name field must not be empty 93 showDialog('Warning', 'Please enter your registered Email in the "Email Address" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 94 isOK = false; 95 } else if ((document.loginform.username.value.search("@") == -1) || (document.loginform.username.value.search("[.*]") == -1)) { 96 isEmailAddress = false; //User name is not an email address 97 } 98 if (!isEmailAddress) { //User name is not an email address allow it to be used (maybe username alias) providing only alpha-numeric 99 if (!document.loginform.username.value.match("^[a-z|A-Z|0-9]*$")) { 100 showDialog('Warning', 'Invalid Username. Username must contain only numbers and letters.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 101 isOK = false;
102 } 103 } 104 if (isOK) { 105 //Check the 'Password' field 106 if (document.loginform.pwd.value == "") { //Password field must not be empty 107 showDialog('Warning', 'Please enter a value for the "Password" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 108 isOK = false; 109 } else if (!document.loginform.pwd.value.match(passwordRegex())) { 110 showDialog('Warning', 'Invalid Password. Password must contain only numbers and letters.<br/>If you used this password in the previous site please contact ' + document.varform.thesitename.value + '.<br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 111 isOK = false; 112 } 113 } 114 } 115 if (isOK) { 116 if (theSourcePage == "map") { 117 if (document.loginform.loginid.value != "") { 118 loginUsername = document.loginform.loginid.value; 119 } else { 120 loginUsername = document.loginform.username.value; 121 } 122 jQuery.ajax({ 123 type: "POST", 124 dataType: "json", 125 //url: "http://shop.centremapslive.co.uk/runLogin2.php?callback=?", 126 url: "runLogin2.php?callback=?", 127 data: { 128 name: loginUsername, 129 pwd: document.loginform.pwd.value, 130 login: theAction, 131 type: "normal", 132 site: document.loginform.loginsite.value, 133 sitetype: "full" 134 }, 135 success: loginResponse 136 }); 137 } else { 138 jQuery.ajax({ 139 type: "POST", 140 dataType: "json", 141 //url: "http://shop.centremapslive.co.uk/runLogin2.php?callback=?", 142 url: "runLogin2.php?callback=?", 143 data: { 144 name: document.loginform.username.value, 145 pwd: document.loginform.pwd.value, 146 login: theAction, 147 type: "normal", 148 site: document.loginform.loginsite.value, 149 sitetype: "full" 150 }, 151 success: loginResponse2 152 }); 153 } 154 } 155} 156 157//****************Response from running the login 158function loginResponse(responseText) { 159 //alert(responseText) 160 //Get the returned values 161 document.varform.cid.value = ""; //Ensure no customer id is stored 162 document.varform.companyid.value = ""; //Ensure no company id is stored 163 if (responseText != "") { 164 var tempArray = responseText.data.split("~"); 165 if (tempArray[0] == "ok") { 166 if (tempArray[1] == "out") { //Logging OUT 167 //Reload the page in order to clear everything (calls changeMappingRegion with existing region) 168 if (tempArray[2] == "yes") { 169 window.location.href = "portalLogin.php"; 170 } else { 171 changeMappingRegion(document.varform.region.value, "", "change"); 172 } 173 } else { //Logging IN 174 //Update header 175 document.getElementById("loginInfo").style.height = "34px"; 176 document.getElementById("loginInfo").style.padding = "3px"; 177 document.getElementById("loginInfo").innerHTML = "Logout: " + tempArray[1]; 178 document.getElementById("accountInfo").innerHTML = "YOUR ACCOUNT</a>"; 179 180 //Hide login or register box 181 if (tempArray[3] == "register") { 182 showHideRegister("hide"); 183 } else if (tempArray[3] == "normal") { 184 hideLogin(); 185 //Get the most ordered product if on the main map page 186 if (document.getElementById("mostOrderedContainer") != null) { 187 var qstring = "thereg=" + document.varform.region.value; 188 var mostOrderedReq = new ajaxObject('getMostOrdered.php', getMostOrderedResponse); 189 mostOrderedReq.update(qstring, 'POST'); 190 } 191 } 192 //Store customer info in hidden 193 document.varform.cid.value = tempArray[2]; 194 document.varform.companyid.value = tempArray[5]; 195 document.varform.tenkMapType.value = tempArray[6]; 196 document.varform.currentFreeViewCredit.value = tempArray[7]; 197 document.varform.isprivilege.value = tempArray[8]; 198 document.varform.currentViewCredit.value = tempArray[9]; 199 document.varform.isRetailOutlet.value = tempArray[10]; 200 document.varform.os25kMapType.value = tempArray[11]; 201 document.varform.ukmapprompt.value = tempArray[12]; 202 document.varform.userAerialHeightPrompt.value = tempArray[13]; 203 //Make selection of OS25k visible if necessary 204 if (tempArray[11] == "yes") { 205 document.getElementById("os25kselect").style.display = "block"; 206 } 207 //If the current map scale is to show detail reload the mapping the show this (indicates the user has logged in to show detailed mapping) 208 if (map.getScale() <= largeScaleCheckScale) { 209 map.setCenter(new OpenLayers.LonLat(map.getCenter().lon, map.getCenter().lat)); //Just redraw with the same centre 210 }
211 getProductCategories(document.varform.region.value); 212 213 //Show large scale mapping prompt if necessary 214 if (showMMAfterLogin) { 215 //Ensure we use the account setting if set to no for UKmap prompting 216 if (document.varform.ukmapprompt.value == "no") { 217 ukMapMessage = "no"; 218 } 219 var qstring = "x=" + map.getCenter().lon + "&y=" + map.getCenter().lat; 220 ukmapcheckReq = new ajaxObject('checkUKMap.php', handleukmapcheckResponse); 221 ukmapcheckReq.update(qstring, 'POST'); 222 } 223 } 224 } else if (tempArray[0] == "pending") { //More than 1 user found - show links to choose the user 225 showHideLoginContent("message"); 226 document.getElementById("loginMessage").innerHTML = "<strong>Please choose the account -<br/></strong>" + tempArray[4] + "<br/><a href='javascript:showHideLoginContent(\"content\");'>< Back to Login.</a>"; 227 } else { 228 //Show error message 229 showHideLoginContent("message"); 230 if (tempArray[3] == "register") { 231 document.getElementById("registerMessage").innerHTML = "<br/><p class='error'>Please check your username and <br/>password. If you still can't log in, <br/>please contact us.<br/><br/>Please try <a href='javascript:showHideLoginContent(\"content\");'>again.</a></p>"; 232 } else if (tempArray[3] == "normal") { 233 //Define the error message 234 if (tempArray[14] == "no") { //Logged in OK, but account not authorised 235 document.getElementById("loginMessage").innerHTML = "<br/><p>No activated account found. <br/>Please check your emails to complete <br/>account set up or <a href=\"mailto:" + tempArray[15] + "\">contact us.</a></p>"; 236 } else { 237 document.getElementById("loginMessage").innerHTML = "<br/><p class='error'>Please check your username and <br/>password. If you still can't log in, <br/>please contact us.<br/><br/>Please try <a href='javascript:showHideLoginContent(\"content\");'>again.</a></p>"; 238 } 239 } 240 } 241 } else { 242 //Show error message 243 showHideLoginContent("message"); 244 if (tempArray[3] == "register") { 245 document.getElementById("registerMessage").innerHTML = "<br/><p class='error'>Please check your username and <br/>password. If you still can't log in, <br/>please contact us.<br/><br/>Please try <a href='javascript:showHideLoginContent(\"content\");'>again.</a></p>"; 246 } else if (tempArray[3] == "normal") { 247 document.getElementById("loginMessage").innerHTML = "<br/><p class='error'>Please check your username and <br/>password. If you still can't log in, <br/>please contact us.<br/><br/>Please try <a href='javascript:showHideLoginContent(\"content\");'>again.</a></p>"; 248 } 249 } 250} 251 252//****************Response from running the login when run from login page 253function loginResponse2(responseText) { 254 //Get the returned values 255 document.varform.cid.value = ""; //Ensure no customer id is stored 256 if (responseText != "") { 257 var tempArray = responseText.data.split("~"); 258 if (tempArray[0] == "ok") { 259 if (tempArray[1] == "out") { //Logging OUT 260 } else { //Logging IN 261 //Store customer info in hidden 262 document.varform.cid.value = tempArray[2]; 263 document.varform.companyid.value = tempArray[5]; 264 document.varform.tenkMapType.value = tempArray[6]; 265 document.varform.currentFreeViewCredit.value = tempArray[7]; 266 document.varform.isprivilege.value = tempArray[8]; 267 document.varform.currentViewCredit.value = tempArray[9]; 268 document.varform.os25kMapType.value = tempArray[11]; 269 goToHome(); 270 } 271 }
271 else if (tempArray[0] == "pending") { //More than 1 user found - show links to choose the user 272 var thepos = tempArray[4].indexOf("<Back to Login.") 273 if (thepos != -1) { 274 var proceedMessage = tempArray[4].substring(0, thepos); 275 } else { 276 var proceedMessage = tempArray[4]; 277 } 278 document.getElementById("loginMessage").innerHTML = "<p><br/><strong>Please choose the account -</strong><br/>" + proceedMessage + "</p>"; 279 } else { 280 //Show error message 281 if (tempArray[3] == "register") { 282 document.getElementById("registerMessage").innerHTML = "<br/><p class='error'>Please check your username and <br/>password. If you still can't log in, <br/>please contact us.<br/><br/>Please try again.</p>"; 283 } else if (tempArray[3] == "normal") { 284 if (tempArray[14] == "no") { //Logged in OK, but account not authorised 285 document.getElementById("loginMessage").innerHTML = "<br/><p class='error'>Please check your username and <br/>password. If you still can't log in, <br/>please contact us.<br/><br/>Please check your emails to complete <br/>account set up or contact us.</a></p>"; 286 } else { 287 document.getElementById("loginMessage").innerHTML = "<br/><p class='error'>Please check your username and <br/>password. If you still can't log in, <br/>please contact us.<br/><br/>Please try again.</a></p>"; 288 } 289 } 290 } 291 } else { 292 //Show error message 293 if (tempArray[3] == "register") { 294 document.getElementById("registerMessage").innerHTML = "<br/><p class='error'>Please check your username and <br/>password. If you still can't log in, <br/>please contact us.<br/><br/>Please try again.</p>"; 295 } else if (tempArray[3] == "normal") { 296 document.getElementById("loginMessage").innerHTML = "<br/><p class='error'>Please check your username and <br/>password. If you still can't log in, <br/>please contact us.<br/><br/>Please try again.</p>"; 297 } 298 } 299 300} 301 302//****************Response from relogging in after account upgrade request 303function loginResponse3(responseText, responseStatus) { 304 if (responseStatus == 200) { 305 //Get the returned values 306 document.varform.cid.value = ""; //Ensure no customer id is stored 307 if (responseText !== "") { 308 let tempArray = responseText.split("|"); 309 if (tempArray[0] == "ok") { 310 if (tempArray[1] == "out") { //Logging OUT 311 } else { //Logging IN 312 //Store customer info in hidden 313 document.varform.cid.value = tempArray[2]; 314 document.varform.companyid.value = tempArray[5]; 315 document.varform.tenkMapType.value = tempArray[6]; 316 document.varform.currentFreeViewCredit.value = tempArray[7]; 317 document.varform.isprivilege.value = tempArray[8]; 318 document.varform.currentViewCredit.value = tempArray[9]; 319 submittheform("user"); //Refresh the page 320 321 //Show large scale mapping prompt if necessary 322 /* 323 if(showMMAfterLogin){ 324 //Ensure we use the account setting if set to no for UKmap prompting 325 if(document.varform.ukmapprompt.value == "no"){ 326 ukMapMessage = "no"; 327 } 328 var qstring = "x=" + map.getCenter().lon + "&y=" + map.getCenter().lat; 329 alert(qstring) 330 ukmapcheckReq = new ajaxObject('checkUKMap.php', handleukmapcheckResponse); 331 ukmapcheckReq.update(qstring,'POST'); 332 } 333 showMMAfterLogin = false;*/ 334 335 } 336 } else { 337 //Show error message 338 showDialog('Warning', 'Could not refresh details. Please login again.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 339 } 340 } else { 341 //Show error message 342 showDialog('Warning', 'Could not refresh details. Please login again.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 343 } 344 } 345} 346 347//*******************Login from choice where user has more than one account with the same password and id 348function reLogin(itemNo) { 349 if (window.location.pathname.indexOf("login.php") != -1) { //Called from login page 350 jQuery.ajax({ 351 type: "POST", 352 dataType: "json", 353 //url: "http://shop.centremapslive.co.uk/runLogin2.php?callback=?", 354 url: "runLogin2.php?callback=?", 355 data: {cid: itemNo, type: "normal", sitetype: "full"}, 356 success: loginResponse2 357 }); 358 } else { 359 jQuery.ajax({ 360 type: "POST", 361 dataType: "json", 362 url: "runLogin2.php?callback=?", 363 data: {cid: itemNo, type: "normal", sitetype: "full"}, 364 success: loginResponse 365 }); 366 } 367} 368 369//*******************Open login area when prompted to do so when trying to look at detailed mapping 370function loginForMM() { 371 showMMAfterLogin = true; 372 showLoginOnLoad(); 373 document.getElementById("previewsInfoContentContainer").style.display = "none"; 374} 375 376//*******************Open register area when prompted to do so when trying to look at detailed mapping 377function registerForMM() { 378 showMMAfterLogin = true; 379 showRegisterOnLoad(); 380 document.getElementById("previewsInfoContentContainer").style.display = "none"; 381} 382 383//****************Response from retrieving the most ordered product 384function getMostOrderedResponse(responseText, responseStatus) { 385 if (responseStatus == 200) { 386 document.getElementById("mostOrderedContainer").innerHTML = responseText; 387 } 388} 389 390//****************Run Login to portal site 391function runPortalLogin(theAction) { 392 //Validate input 393 let isOK = true; 394 if (theAction === "in") { 395 if (document.loginform.username.value === "") { //User name field must not be empty 396 showDialog('Warning', 'Please enter a value for the "User name" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 397 isOK = false;
398 //}else if(!document.loginform.username.value.match("^[0-9]*$")) { 399 } else if (!document.loginform.username.value.match("^[a-z|A-Z|0-9|@\._\-]*$")) { 400 showDialog('Warning', 'Invalid User Name. User name must contain only numbers and characters.<br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 401 isOK = false; 402 } else { 403 //Check the 'Password' field 404 if (document.loginform.pwd.value === "") { //Password field must not be empty 405 showDialog('Warning', 'Please enter a value for the "Password" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 406 isOK = false; 407 } else if (!document.loginform.pwd.value.match(passwordRegex())) { 408 showDialog('Warning', `${passwordValidationContentError()}<br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >`, 'warning'); 409 isOK = false; 410 } 411 } 412 } 413 if (isOK) { 414 if (window.location.pathname.indexOf("portalLogin.php") !== -1) { 415 jQuery.ajax({ 416 type: "POST", 417 dataType: "json", 418 //url: "http://shop.centremapslive.co.uk/runLogin2.php?callback=?", 419 url: "runLogin2.php?callback=?", 420 data: { 421 name: document.loginform.username.value, 422 pwd: document.loginform.pwd.value, 423 login: theAction, 424 type: "normal", 425 site: document.loginform.loginsite.value, 426 sitetype: "portal" 427 }, 428 success: loginResponse2 429 }); 430 } else { 431 jQuery.ajax({ 432 type: "POST", 433 dataType: "json", 434 //url: "http://shop.centremapslive.co.uk/runLogin2.php?callback=?", 435 url: "runLogin2.php?callback=?", 436 data: { 437 name: document.loginform.username.value, 438 pwd: document.loginform.pwd.value, 439 login: theAction, 440 type: "normal", 441 site: document.loginform.loginsite.value, 442 sitetype: "portal" 443 }, 444 success: loginResponse 445 }); 446 } 447 } 448} 449 450//-------------------------------------------------------------------------PASSWORD RESET SCRIPTS 451//****************Send Email Password Reset to the user 452function sendPasswordReminder() { 453 let isOK = validateEmail(); //Validate input 454 if (isOK) { 455 jQuery.ajax({ 456 type: "GET", 457 dataType: "jsonp", 458 url: "sendPasswordEmail2.php?callback=?", 459 data: {name: document.loginform.username.value, site: document.loginform.loginsite.value}, 460 success: reminderResponse 461 }); 462 } 463} 464 465//****************Response from sending password reset email 466function reminderResponse(responseText) { 467 if (responseText != "") { 468 showHideLoginContent("message"); 469 if (window.location.pathname.indexOf("login.php") !== -1) { //Run from login page 470 if (responseText.data !== "") { 471 if (responseText.data === "OK") { //Go to the reset page 472 document.getElementById("loginform").action = "resetPassword.php"; 473 document.getElementById("loginform").submit(); 474 } else { 475 document.getElementById("loginMessage").innerHTML = "<br/><p style='font-size:10px;'>" + responseText.data + "</p>"; 476 } 477 } else { 478 document.getElementById("loginMessage").innerHTML = "<br/><p style='color:#FF0000;font-size:10px;'>There has been a problem retrieving your password.<br/>Ensure your email address is correct or contact " + document.varform.thesitename.value + ".</p>"; 479 } 480 } else { //Run from map page 481 if (responseText.data !== "") { 482 if (responseText.data === "OK") { //Go to the reset page 483 document.getElementById("loginform").action = "resetPassword.php"; 484 document.getElementById("loginform").submit(); 485 } else { 486 document.getElementById("loginMessage").innerHTML = "<br/><p style='font-size:10px;'>" + responseText.data + "</p><br/><a href='javascript:hideLogin();'>Close [x]</a>"; 487 } 488 } else { 489 document.getElementById("loginMessage").innerHTML = "<br/><p style='color:#FF0000;font-size:10px;'>There has been a problem retrieving your password.<br/>
489Ensure your email address is correct or contact " + +document.varform.thesitename.value + ".</p><br/><a href='javascript:hideLogin();'>Close [x]</a>"; 490 } 491 } 492 } 493} 494 495//****************Send Email Password Reset to the user (From Portal login) 496function sendPortalPasswordReminder1() { 497 //Show input for user email address 498 document.getElementById("pwdReminder").style.display = "block"; 499} 500 501function sendPortalPasswordReminder2() { 502 if (document.loginform.useremail.value === "") { 503 showDialog('Warning', 'Please enter a value for the "User email" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 504 } else { 505 let isOK = validateEmail2(document.loginform.useremail.value); //Validate input 506 if (isOK) { 507 jQuery.ajax({ 508 type: "GET", 509 dataType: "jsonp", 510 url: "sendPasswordEmail2.php?callback=?", 511 data: {name: document.loginform.useremail.value, site: document.loginform.loginsite.value}, 512 success: portalReminderResponse 513 }); 514 } 515 } 516} 517 518//****************Validate email address before sending password reset (From Portal login /Admin area) 519function validateEmail2(passedEmail) { 520 let isOK = true; 521 if (passedEmail === "") { //Name field must not be empty 522 showDialog('Warning', 'Please enter your registered Email in the "Email Address" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 523 isOK = false; 524 } else if ((passedEmail.search("@") === -1) || (passedEmail.search("[.*]") === -1)) { 525 showDialog('Warning', 'Please ensure your "Email Address" is a valid email address.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 526 isOK = false; 527 } 528 return isOK; 529} 530 531//****************Response from sending password reset email (From Portal login) 532function portalReminderResponse(responseText) { 533 if (responseText != "") { 534 if (responseText.data !== "") { 535 if (responseText.data === "OK") { //Go to the reset page 536 document.getElementById("loginform").action = "resetPassword.php"; 537 document.getElementById("loginform").submit(); 538 } else { 539 document.getElementById("loginMessage").innerHTML = "<br/><p style='font-size:10px;'>" + responseText.data + "</p>"; 540 } 541 } else { 542 document.getElementById("loginMessage").innerHTML = "<br/><p style='color:#FF0000;font-size:10px;'>There has been a problem retrieving your password.<br/>Ensure your email address is correct or contact " + document.varform.thesitename.value + ".</p>"; 543 } 544 } 545} 546 547//*******************Show reset dialog for user to enter email title and message 548function adminResetPassword1(passedEmail, passedSite) { 549 //Show input dialog and store info for reset email in hidden 550 document.getElementById("resetPasswordOptions").style.display = "block"; 551 document.getElementById("resetEmail").value = passedEmail; 552 document.getElementById("resetSite").value = passedSite; 553} 554 555//*******************Send password reset email (From admin area) 556function adminResetPassword2() { 557 if ((document.getElementById("resetEmail").value === "") || (document.getElementById("resetSite").value === "")) { 558 showDialog('Error', 'Reset email or site not defined.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'errordialog'); 559 } else { 560 let isOK = validateEmail2(document.getElementById("resetEmail").value); //Validate input 561 if (isOK) { 562 jQuery.ajax({ 563 type: "GET", 564 dataType: "jsonp", 565 url: "../sendPasswordEmail2.php?callback=?", 566 data: { 567 name: document.getElementById("resetEmail").value, 568 site: document.getElementById("resetSite").value, 569 title: document.getElementById("resetTitle").value, 570 message: document.getElementById("resetMessage").value 571 }, 572 success: adminReminderResponse 573 }); 574 } 575 } 576} 577 578//*******************Response from sending password reset email (From admin area) 579function adminReminderResponse(responseText) { 580 if (responseText != "") { 581 if (responseText.data !== "") { 582 if (responseText.data === "OK") { 583 showDialog('Success', 'Reset email has been sent to the customer.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'success'); 584 } else { 585 showDialog('Error', 'There has been a problem retrieving the password.<br/>Ensure the email address is correct<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'errordialog'); 586 } 587 } else { 588 showDialog('Error', 'There has been a problem retrieving the password.<br/>Ensure the email address is correct<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'errordialog'); 589 } 590 } 591 resetPasswordClose(); 592} 593 594//*******************Close reset dialog 595function resetPasswordClose() { 596 document.getElementById("resetPasswordOptions").style.display = "none"; 597} 598 599/** 600 * @param {string} elementId 601 */ 602function getValue(elementId) { 603 return trim(getElement(elementId).value); 604} 605/** 606 * @param {string} elementId 607 */ 608function getElement(elementId) { 609 return document.getElementById(elementId); 610} 611 612//*******************Call script to reset the password 613function resetPwd(passedSite) { 614 //Validate input 615 let isOK = true; 616 isOK = validateEmail(); //Check the 'User Name' field 617 if (isOK) { 618 //Check the 'Password' fields 619 if ((getValue("txtPwd1") === "") || (getValue("txtPwd2") === "") || (getValue("txtPwd3") === "")) { 620 //Password field must not be empty 621 showDialog('Warning', 'Please enter a value for the "Password" fields.
621<br/><br/><input type="button"' + 622 ' value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 623 isOK = false; 624 } else if ((!getValue('txtPwd1').match(passwordRegex())) || (!getValue("txtPwd2").match(passwordRegex())) || (!getValue("txtPwd3").match(passwordRegex()))) { 625 showDialog('Warning', `${passwordValidationContentError()}<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >`, 'warning'); 626 isOK = false; 627 } else if ((getValue("txtPwd2").length > passwordMaxLength()) || (getValue("txtPwd2").length < passwordMinLength())) { 628 showDialog('Warning', `Please ensure "Password" is between ${passwordMinLength()} and ${passwordMaxLength()} characters.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >`, 'warning'); 629 isOK = false; 630 } else if (getValue("txtPwd2") !== getValue("txtPwd3")) { 631 showDialog('Warning', 'Passwords don\'t match<br/><br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 632 isOK = false; 633 } 634 } 635 if (isOK) { 636 document.getElementById("resetprog").style.display = "block"; 637 const parameters = { 638 name: getValue('username'), 639 pwd1: getValue("txtPwd1"), 640 pwd2: getValue("txtPwd2"), 641 pwd3: getValue("txtPwd3"), 642 site: passedSite 643 }; 644 const resetReq = new ajaxObject('resetPwd.php', resetResponse2); 645 resetReq.update(buildUrlParameterString(parameters), 'POST'); 646 } 647} 648 649//****************Response from resetting password 650function resetResponse2(responseText, responseStatus) { 651 if (responseStatus === 200) { 652 //Get the returned values 653 document.getElementById("resetprog").style.display = "none"; 654 if (responseText !== "") { 655 responseText = trim(responseText); 656 let tempArray = responseText.split("|"); 657 if (tempArray[0] === "ok") { 658 showDialog('', 'Your Password has been reset and you will now be logged on.<br/><br/><input type="button" value="Close" id="closeButton" onclick="afterResetAction();" >', 'success'); 659 } else { 660 //Show error message 661 showDialog('Warning', 'Customer not found. Please check "Reset Password" and "Email" are defined correctly.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 662 } 663 } else { 664 //Show error message 665 showDialog('Warning', 'Customer not found. Please check "Reset Password" and "Email" are defined correctly.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 666 } 667 } 668} 669 670//****************Pass user to the map page 671function afterResetAction() { 672 submittheform('ordergb'); 673} 674 675//*******************Call script to authorise account 676function authoriseAccount(passedSite) { 677 //Validate input 678 var isOK = true; 679 isOK = validateEmail(); //Check the 'User Name' field 680 if (isOK) { 681 //Check the fields 682 if ((getValue("txtAuthCode") === "") || (getValue("txtPwd") === "") || (getValue("username") === "")) { 683 //Password field must not be empty 684 showDialog('Warning', 'Please enter a value for all input fields.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 685 isOK = false; 686 } 687 } 688 if (isOK) { 689 document.getElementById("authoriseProg").style.display = "block"; 690 const parameters = { 691 name: getValue('username'), 692 pwd: getValue('txtPwd'), 693 authcode: getValue('txtAuthCode'), 694 site: passedSite 695 } 696 697 // var qstring = "name=" + document.getElementById("username").value + "&pwd=" + trim(document.getElementById("txtPwd").value) + "&authcode=" + document.getElementById("txtAuthCode").value + "&site=" + passedSite; 698 var resetReq = new ajaxObject('runAuthorise.php', authResponse); 699 resetReq.update(buildUrlParameterString(parameters), 'POST'); 700 } 701} 702 703//****************Response from authorising the account 704function authResponse(responseText, responseStatus) { 705 if (responseStatus === 200) { 706 //Get the returned values 707 document.getElementById("authoriseProg").style.display = "none"; 708 if (responseText != "") { 709 responseText = trim(responseText); 710 var tempArray = new Array(); 711 tempArray = responseText.split("|"); 712 if (tempArray[0] == "ok") { 713 showDialog('', 'Your account has been authorised and you will now be logged on.<br/><br/><input type="button" value="Close" id="closeButton" onclick="afterResetAction();" >', 'success'); 714 } else { 715 //Show error message 716 showDialog('Warning', 'Customer not found. Please check "Authorisation Code", "Password" and "Email" are defined correctly.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 717 } 718 } else { 719 //Show error message 720 showDialog('Warning', 'Customer not found. Please check "Authorisation Code", "Password" and "Email" are defined correctly.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 721 } 722 } 723} 724 725//-------------------------------------------------------------------------VALIDATION SCRIPTS 726 727//****************Check required email is specified correctly (Simple check) 728function validateEmail() { 729 var isOK = true; 730 if (document.loginform.username.value == "") { //Name field must not be empty 731 showDialog('Warning', 'Please enter your registered Email in the "Email Address" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 732 isOK = false;
733 } else if ((document.loginform.username.value.search("@") == -1) || (document.loginform.username.value.search("[.*]") == -1)) { 734 showDialog('Warning', 'Please ensure your "Email Address" is a valid email address.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 735 isOK = false; 736 } 737 return isOK; 738} 739 740//*******************Email validity check (Full check) 741function emailCheck(emailStr) { 742 /* 1.1.4: Fixed a bug where upper ASCII characters (i.e. accented letters 743 international characters) were allowed. 744 1.1.3: Added the restriction to only accept addresses ending in two 745 letters (interpreted to be a country code) or one of the known 746 TLDs (com, net, org, edu, int, mil, gov, arpa), including the 747 new ones (biz, aero, name, coop, info, pro, museum). One can 748 easily update the list (if ICANN adds even more TLDs in the 749 future) by updating the knownDomsPat variable near the 750 top of the function. Also, I added a variable at the top 751 of the function that determines whether or not TLDs should be 752 checked at all. This is good if you are using this function 753 internally (i.e. intranet site) where hostnames don't have to 754 conform to W3C standards and thus internal organization e-mail 755 addresses don't have to either. 756 Changed some of the logic so that the function will work properly 757 with Netscape 6. 758 1.1.2: Fixed a bug where trailing . in e-mail address was passing 759 (the bug is actually in the weak regexp engine of the browser; I 760 simplified the regexps to make it work). 761 1.1.1: Removed restriction that countries must be preceded by a domain, 762 so [email protected] is now legal. However, there's still the 763 restriction that an address must end in a two or three letter 764 word. 765 1.1: Rewrote most of the function to conform more closely to RFC 822. 766 1.0: Original */ 767 /* The following variable tells the rest of the function whether or not 768 to verify that the address ends in a two-letter country or well-known 769 TLD. 1 means check it, 0 means don't. */ 770 var checkTLD = 1; 771 /* The following is the list of known TLDs that an e-mail address must end with. */ 772 var knownDomsPat = /^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|cat|mobi|name|travel|house|studio|group|haus|wales|london|design)$/; 773 /* The following pattern is used to check if the entered e-mail address 774 fits the user@domain format. It also is used to separate the username 775 from the domain. */ 776 var emailPat = /^(.+)@(.+)$/; 777 /* The following string represents the pattern for matching all special 778 characters. We don't want to allow special characters in the address. 779 These characters include ( ) < > @ , ; : \ " . [ ] */ 780 var specialChars = "\\(\\)><@,;:\\\\\\\"\\.\\[\\]"; 781 /* The following string represents the range of characters allowed in a 782 username or domainname. It really states which chars aren't allowed.*/ 783 var validChars = "\[^\\s" + specialChars + "\]"; 784 /* The following pattern applies if the "user" is a quoted string (in 785 which case, there are no rules about which characters are allowed 786 and which aren't; anything goes). E.g. "jiminy cricket"@disney.com 787 is a legal e-mail address. */ 788 var quotedUser = "(\"[^\"]*\")"; 789 /* The following pattern applies for domains that are IP addresses, 790 rather than symbolic names. E.g. joe@[123.124.233.4] is a legal 791 e-mail address. NOTE: The square brackets are required. */ 792 var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/; 793 /* The following string represents an atom (basically a series of non-special characters.) */ 794 var atom = validChars + '+'; 795 /* The following string represents one word in the typical username. 796 For example, in [email protected], john and doe are words. 797 Basically, a word is either an atom or quoted string. */ 798 var word = "(" + atom + "|" + quotedUser + ")"; 799 // The following pattern describes the structure of the user 800 var userPat = new RegExp("^" + word + "(\\." + word + ")*$"); 801 /* The following pattern describes the structure of a normal symbolic 802 domain, as opposed to ipDomainPat, shown above. */ 803 var domainPat = new RegExp("^" + atom + "(\\." + atom + ")*$"); 804 /* Finally, let's start trying to figure out if the supplied address is valid. */
805 /* Begin with the coarse pattern to simply break up user@domain into 806 different pieces that are easy to analyze. */ 807 var matchArray = emailStr.match(emailPat); 808 if (matchArray == null) { 809 /* Too many/few @'s or something; basically, this address doesn't 810 even fit the general mould of a valid e-mail address. */ 811 showDialog('Warning', 'Email address seems incorrect (check @ and .\'s)<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 812 return false; 813 } 814 var user = matchArray[1]; 815 var domain = matchArray[2]; 816 // Start by checking that only basic ASCII characters are in the strings (0-127). 817 for (i = 0; i < user.length; i++) { 818 if (user.charCodeAt(i) > 127) { 819 showDialog('Warning', 'The username contains invalid characters.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 820 return false; 821 } 822 } 823 for (i = 0; i < domain.length; i++) { 824 if (domain.charCodeAt(i) > 127) { 825 showDialog('Warning', 'The domain name contains invalid characters.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 826 return false; 827 } 828 } 829 // See if "user" is valid 830 if (user.match(userPat) == null) { 831 // user is not valid 832 showDialog('Warning', 'The username does not seem to be valid.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 833 return false; 834 } 835 /* if the e-mail address is at an IP address (as opposed to a symbolic 836 host name) make sure the IP address is valid. */ 837 var IPArray = domain.match(ipDomainPat); 838 if (IPArray != null) { 839 // this is an IP address 840 for (var i = 1; i <= 4; i++) { 841 if (IPArray[i] > 255) { 842 showDialog('Warning', 'Destination IP address is invalid!<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 843 return false; 844 } 845 } 846 return true; 847 } 848 // Domain is symbolic name. Check if it's valid. 849 var atomPat = new RegExp("^" + atom + "$"); 850 var domArr = domain.split("."); 851 var len = domArr.length; 852 for (i = 0; i < len; i++) { 853 if (domArr[i].search(atomPat) == -1) { 854 showDialog('Warning', 'The domain name does not seem to be valid.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 855 return false; 856 } 857 } 858 /* domain name seems valid, but now make sure that it ends in a 859 known top-level domain (like com, edu, gov) or a two-letter word, 860 representing country (uk, nl), and that there's a hostname preceding 861 the domain or country. */ 862 /* 863 //Removed this check 02-20 as knownDomsPat list is constantly changing 864 if (checkTLD && domArr[domArr.length-1].length!=2 && 865 domArr[domArr.length-1].search(knownDomsPat)==-1) { 866 showDialog('Warning','The address must end in a well-known domain or two letter country.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >','warning'); 867 return false; 868 }*/ 869 870 // Make sure there's a host name preceding the domain. 871 if (len < 2) { 872 showDialog('Warning', 'This address is missing a hostname!<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 873 return false; 874 } 875 // If we've gotten this far, everything's valid! 876 return true; 877} 878 879//****************Validate user input (Registering) 880function validateInput(theType) { 881 //Name fields must not be empty 882 //if(document.getElementById("title").value == "") { 883 // showDialog('Warning','Please enter a value for the "Title" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >','warning'); 884 // document.getElementById("title").focus(); 885 // return (false); 886 //} 887 if (document.getElementById("firstname").value == "") { 888 showDialog('Warning', 'Please enter a value for the "First Name" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 889 document.getElementById("firstname").focus(); 890 return (false); 891 } 892 if (document.getElementById("secondname").value == "") { 893 showDialog('Warning', 'Please enter a value for the "Second Name" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 894 document.getElementById("secondname").focus(); 895 return (false); 896 } 897 //Email Address field must not be empty and valid address 898 if (theType != "confirm") { //No need to perform the check during order confirmation process 899 if (document.getElementById("email").value == "") { 900 showDialog('Warning', 'Please enter a value for the "Email Address" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 901 document.getElementById("email").focus(); 902 return (false); 903 } 904 if (emailCheck(document.getElementById("email").value) == false) { 905 document.getElementById("email").focus(); 906 return (false); 907 } 908 //Password field must not be empty 909 if (document.getElementById("pwd1").value == "") { 910 showDialog('Warning', 'Please enter a value for the "Password" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 911 document.getElementById("pwd1").focus(); 912 return (false); 913 } 914 //Check password length 915 if ((document.getElementById("pwd1").value.length > passwordMaxLength()) || (document.getElementById("pwd1").value.length < passwordMinLength())) { 916 showDialog('Warning', `Please ensure "Password" is between ${passwordMinLength()} and ${passwordMaxLength()} characters.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >`, 'warning'); 917 document.getElementById("pwd1").focus(); 918 return (false); 919 } 920 if (!document.getElementById("pwd1").value.match(passwordRegex())) { 921 showDialog('Warning', `${passwordValidationContentError()}<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >`, 'warning'); 922 document.getElementById("pwd1").focus(); 923 document.getElementById("pwd1").value = ""; 924 if (document.getElementById("pwd2") != null) { 925 document.getElementById("pwd2").value = ""; 926 } 927 return (false); 928 } 929 } 930 //Check the following as part of the confirmation process 931 if (theType == "confirm") { 932 //Address field must not be empty 933 if (document.getElementById("address1").value == "") { 934 showDialog('Warning', 'Please enter a value for the "Address" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 935 document.getElementById("address1").focus(); 936 return (false); 937 } 938 //Town field must not be empty 939 if (document.getElementById("town").value == "") { 940 showDialog('Warning', 'Please enter a value for the "Town" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 941 document.getElementById("town").focus(); 942 return (false); 943 } 944 //Post Code field must not be empty 945 if (document.getElementById("postcode").value == "") { 946 showDialog('Warning', 'Please enter a value for the "Post Code" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 947 document.getElementById("postcode").focus(); 948 return (false); 949 } 950 //Check Telephone for telephone number 951 if (document.getElementById("telephone").value == "") { 952 showDialog('Warning', 'Please enter a value for the "Telephone" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 953 document.getElementById("telephone").focus(); 954 return (false); 955 } 956 var checkOK = "0123456789-+() \t\r\n\f"; 957 var checkStr = document.getElementById("telephone").value; 958 var allValid = true; 959 for (i = 0; i < checkStr.length; i++) { 960 ch = checkStr.charAt(i); 961 for (j = 0; j < checkOK.length; j++) 962 if (ch == checkOK.charAt(j)) 963 break; 964 if (j == checkOK.length) { 965 allValid = false;
966 break; 967 } 968 } 969 if (!allValid) { 970 showDialog('Warning', 'Please enter only digit, whitespace and "+()" characters in the "Telephone" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 971 document.getElementById("telephone").focus(); 972 return (false); 973 } 974 } 975 //If the further details are required check input is OK 976 if ((theType == "register") || (theType == "request")) { 977 //Check passwords match 978 if (theType == "register") { 979 if (document.getElementById("pwd1").value != document.getElementById("pwd2").value) { 980 showDialog('Warning', '"Password" not verified correctly.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 981 document.getElementById("pwd2").focus(); 982 document.getElementById("pwd2").value = ""; 983 return (false); 984 } 985 } 986 if (document.getElementById("accaccesschk").checked) { //User has requested a invoice account 987 if (document.getElementById("regaccountpayable").value == "yes") { //User has requested a differnt account payable 988 //Account Name fields must not be empty 989 //if(document.getElementById("acctitle").value == "") { 990 // showDialog('Warning','Please enter a value for the account payable "Title" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >','warning'); 991 // document.getElementById("acctitle").focus(); 992 // return (false); 993 //} 994 if (document.getElementById("accfirstname").value == "") { 995 showDialog('Warning', 'Please enter a value for the account payable "First Name" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 996 document.getElementById("accfirstname").focus(); 997 return (false); 998 } 999 if (document.getElementById("accsecondname").value == "") { 1000 showDialog('Warning', 'Please enter a value for the account payable "Second Name" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1001 document.getElementById("accsecondname").focus(); 1002 return (false); 1003 } 1004 //Check Account password and email user name 1005 if (document.getElementById("accemail").value == "") { 1006 showDialog('Warning', 'Please enter a value for the account payable "Email Address" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1007 document.getElementById("accemail").focus(); 1008 return (false); 1009 } 1010 if (emailCheck(document.getElementById("accemail").value) == false) { 1011 document.getElementById("accemail").focus(); 1012 return (false); 1013 } 1014 //Password field must not be empty 1015 if (document.getElementById("accpwd1").value == "") { 1016 showDialog('Warning', 'Please enter a value for the account payable "Password" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1017 document.getElementById("accpwd1").focus(); 1018 return (false); 1019 } 1020 if ((document.getElementById("accpwd1").value.length > 20) || (document.getElementById("accpwd1").value.length < 6)) { 1021 showDialog('Warning', 'Please ensure account payable "Password" is between 6 and 20 characters.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1022 document.getElementById("accpwd1").focus(); 1023 return (false); 1024 } 1025 //Check Account passwords match 1026 if (document.getElementById("accpwd1").value != document.getElementById("accpwd2").value) { 1027 showDialog('Warning', 'The account payable "Password" not verified correctly.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1028 document.getElementById("accpwd2").focus(); 1029 document.getElementById("accpwd2").value = ""; 1030 return (false); 1031 } 1032 //Account Company field must not be empty 1033 if (document.getElementById("acccompany").value == "") { 1034 showDialog('Warning', 'Please enter a value for the account payable "Company" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1035 document.getElementById("acccompany").focus(); 1036 return (false); 1037 } 1038 //Account address field must not be empty 1039 if (document.getElementById("accaddress1").value == "") { 1040 showDialog('Warning', 'Please enter a value for the account payable "Address" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1041 document.getElementById("accaddress1").focus(); 1042 return (false); 1043 } 1044 //Account Town field must not be empty 1045 if (document.getElementById("acctown").value == "") { 1046 showDialog('Warning', 'Please enter a value for the account payable "Town" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1047 document.getElementById("acctown").focus(); 1048 return (false); 1049 } 1050 //Account Post Code field must not be empty 1051 if (document.getElementById("accpostcode").value == "") { 1052 showDialog('Warning', 'Please enter a value for the account payable "Post Code" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1053 document.getElementById("accpostcode").focus(); 1054 return (false); 1055 } 1056 //Check Account Telephone for telephone number 1057 if (document.getElementById("acctelephone").value == "") { 1058 showDialog('Warning', 'Please enter a value for the account payable "Telephone" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1059 document.getElementById("acctelephone").focus(); 1060 return (false); 1061 } 1062 var checkOK = "0123456789-+() \t\r\n\f"; 1063 var checkStr = document.getElementById("acctelephone").value; 1064 var allValid = true; 1065 for (i = 0; i < checkStr.length; i++) { 1066 ch = checkStr.charAt(i); 1067 for (j = 0; j < checkOK.length; j++) 1068 if (ch == checkOK.charAt(j)) 1069 break; 1070 if (j == checkOK.length) { 1071 allValid = false;
1072 break; 1073 } 1074 } 1075 if (!allValid) { 1076 showDialog('Warning', 'Please enter only digit, whitespace and "+()" characters in the account payable "Telephone" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1077 document.getElementById("acctelephone").focus(); 1078 return (false); 1079 } 1080 } else { //User has not requested to register account payable - check their details 1081 //Company field must not be empty 1082 if (document.getElementById("company").value == "") { 1083 showDialog('Warning', 'Please enter a value for the "Company" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1084 document.getElementById("company").focus(); 1085 return (false); 1086 } 1087 //Address field must not be empty 1088 if (document.getElementById("address1").value == "") { 1089 showDialog('Warning', 'Please enter a value for the "Address" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1090 document.getElementById("address1").focus(); 1091 return (false); 1092 } 1093 //Town field must not be empty 1094 if (document.getElementById("town").value == "") { 1095 showDialog('Warning', 'Please enter a value for the "Town" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1096 document.getElementById("town").focus(); 1097 return (false); 1098 } 1099 //Post Code field must not be empty 1100 if (document.getElementById("postcode").value == "") { 1101 showDialog('Warning', 'Please enter a value for the "Post Code" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1102 document.getElementById("postcode").focus(); 1103 return (false); 1104 } 1105 //Check Telephone for telephone number 1106 if (document.getElementById("telephone").value == "") { 1107 showDialog('Warning', 'Please enter a value for the "Telephone" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1108 document.getElementById("telephone").focus(); 1109 return (false); 1110 } 1111 var checkOK = "0123456789-+() \t\r\n\f"; 1112 var checkStr = document.getElementById("telephone").value; 1113 var allValid = true; 1114 for (i = 0; i < checkStr.length; i++) { 1115 ch = checkStr.charAt(i); 1116 for (j = 0; j < checkOK.length; j++) 1117 if (ch == checkOK.charAt(j)) 1118 break; 1119 if (j == checkOK.length) { 1120 allValid = false; 1121 break; 1122 } 1123 } 1124 if (!allValid) { 1125 showDialog('Warning', 'Please enter only digit, whitespace and "+()" characters in the "Telephone" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1126 document.getElementById("telephone").focus(); 1127 return (false); 1128 } 1129 1130 } 1131 //Check Payment Method 1132 if (document.getElementById("paymentmethod").value == "") { 1133 showDialog('Warning', 'Please enter a value for the "Payment Method" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1134 document.getElementById("paymentmethod").focus(); 1135 return (false); 1136 } 1137 //Check Monthly Spend 1138 if ((document.getElementById("monthlyspend").value == "") || (isNaN(document.getElementById("monthlyspend").value))) { 1139 showDialog('Warning', 'Please enter a numeric value for the "Monthly Spend" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1140 document.getElementById("monthlyspend").focus(); 1141 return (false); 1142 } 1143 //Ensure terms have been agreed to 1144 if (document.getElementById("paytermschk").checked == false) { //User has requested a invoice account 1145 showDialog('Warning', 'Please ensure the "Payment Terms" have been read and accepted.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1146 return (false); 1147 } 1148 } 1149 if (theType == "register") { 1150 //Check heard about chosen 1151 if (document.getElementById("heardabout").value == "") { 1152 showDialog('Warning', 'Please indicate where you heard about us.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1153 document.getElementById("heardabout").focus(); 1154 return (false); 1155 } 1156 //Ensure security code has been entered 1157 if (document.getElementById("code").value == "") { 1158 showDialog('Warning', 'Please ensure the "Security Image Code" has been entered.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1159 return (false); 1160 } 1161 } 1162 } 1163 if (theType == "update") { 1164 //Check passwords match if the user is updating them 1165 if (document.getElementById("newpwd1").value != "") { //User has defined a new password 1166 if (document.getElementById("newpwd1").value != document.getElementById("newpwd2").value) { //Check verified correctly 1167 showDialog('Warning', '"Password" not verified correctly.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1168 document.getElementById("newpwd2").focus(); 1169 document.getElementById("newpwd2").value = ""; 1170 return (false); 1171 1172 } else if ((document.getElementById("newpwd1").value.length > 20) || (document.getElementById("newpwd1").value.length < 6)) { 1173 showDialog('Warning', 'Please ensure "Password" is between 6 and 20 characters.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1174 return (false); 1175 1176 } else { //check only permitted characters entered 1177 if (!document.getElementById("newpwd1").value.match(passwordRegex())) { 1178 showDialog('Warning', `${passwordValidationContentError()}<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >`, 'warning'); 1179 return (false); 1180 } 1181 } 1182 } 1183 if (!document.getElementById("alias").value.match("^[a-z|A-Z|0-9|@\._\-]*$")) { 1184 showDialog('Warning', 'Invalid Username Alias. Username must contain only numbers and letters.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1185 return (false); 1186 } 1187 1188 //If requesting account ensure that the required address fields completed 1189 if (document.getElementById("accaccesschk").checked) { //User has requested a invoice account 1190 //Address field must not be empty 1191 if (document.getElementById("address1").value == "") { 1192 showDialog('Warning', 'Please enter a value for the "Address" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1193 document.getElementById("address1").focus(); 1194 return (false); 1195 } 1196 //Town field must not be empty 1197 if (document.getElementById("town").value == "") { 1198 showDialog('Warning', 'Please enter a value for the "Town" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1199 document.getElementById("town").focus(); 1200 return (false); 1201 } 1202 //Post Code field must not be empty 1203 if (document.getElementById("postcode").value == "") { 1204 showDialog('Warning', 'Please enter a value for the "Post Code" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1205 document.getElementById("postcode").focus(); 1206 return (false); 1207 } 1208 //Check Telephone for telephone number 1209 if (document.getElementById("telephone").value == "") { 1210 showDialog('Warning', 'Please enter a value for the "Telephone" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1211 document.getElementById("telephone").focus(); 1212 return (false); 1213 } 1214 var checkOK = "0123456789-+() \t\r\n\f"; 1215 var checkStr = document.getElementById("telephone").value; 1216 var allValid = true; 1217 for (i = 0; i < checkStr.length; i++) { 1218 ch = checkStr.charAt(i); 1219 for (j = 0; j < checkOK.length; j++) 1220 if (ch == checkOK.charAt(j)) 1221 break; 1222 if (j == checkOK.length) { 1223 allValid = false;
1224 break; 1225 } 1226 } 1227 if (!allValid) { 1228 showDialog('Warning', 'Please enter only digit, whitespace and "+()" characters in the "Telephone" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1229 document.getElementById("telephone").focus(); 1230 return (false); 1231 } 1232 /* 1233 MORE TO ADD HERE 1234 //Check Payment Method 1235 if(document.getElementById("paymentmethod").value == ""){ 1236 showDialog('Warning','Please enter a value for the "Payment Method" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >','warning'); 1237 document.getElementById("paymentmethod").focus(); 1238 return (false); 1239 } 1240 //Check Monthly Spend 1241 if(document.getElementById("monthlyspend").value == ""){ 1242 showDialog('Warning','Please enter a value for the "Monthly Spend" field.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >','warning'); 1243 document.getElementById("monthlyspend").focus(); 1244 return (false); 1245 }*/ 1246 1247 } 1248 } 1249 1250 //All OK 1251 return (true); 1252} 1253 1254//-------------------------------------------------------------------------REGISTER/UPDATE SCRIPTS 1255 1256//****************Show register form automatically 1257function showRegisterOnLoad() { 1258 var winWidth = window.innerWidth; 1259 registerXpos = String(winWidth - 840) + 'px'; //Store x pos to place the register box 1260 if (document.varform.cid.value == "") { //Already logged in - show account area 1261 showHideRegister("show"); 1262 } 1263} 1264 1265//****************Show register form 1266function showRegister(e, theAction) { 1267 evt = e || window.event; 1268 registerXpos = String(evt.clientX - 400) + 'px'; //Store x pos to place the register box 1269 if (document.varform.cid.value != "") { //Already logged in - show account area 1270 goToHome(); 1271 } else { 1272 showHideRegister(theAction); 1273 } 1274} 1275 1276//****************Show/Hide register form 1277function showHideRegister(theAction) { 1278 if (theAction == "show") { 1279 hideLogin(); //Hide login form 1280 if (document.getElementById("searchOptionsContent") != null) { //Ensure search options layer is invisible (as register maybe activated from this) 1281 document.getElementById("searchOptionsContent").style.display = "none"; 1282 } 1283 var qstring = "theSite=" + document.varform.thesite.value + "&theSiteName=" + document.varform.thesitename.value + "&theSiteURL=" + document.varform.thesiteurl.value; 1284 var regDetailsReq = new ajaxObject('registerDetails.php', regDetailsResponse); 1285 regDetailsReq.update(qstring, 'POST'); 1286 } else if (theAction == "hide") { 1287 if (document.getElementById("registerPopup2") != null) { 1288 document.getElementById("registerPopup2").style.display = "none"; //Hide register form (from login page) 1289 } else if (document.getElementById("registerPopup3") != null) { 1290 document.getElementById("registerPopup3").style.display = "none"; //Hide register form (from login page) 1291 } else { 1292 document.getElementById("registerPopup").style.display = "none"; //Hide register form (from map page) 1293 } 1294 } 1295} 1296 1297//****************Response from getting register info 1298function regDetailsResponse(responseText, responseStatus) { 1299 if (responseStatus == 200) { 1300 if (document.getElementById("registerPopup2") != null) { 1301 document.getElementById("registerContent2").innerHTML = responseText; //Show register form 1302 document.getElementById("registerPopup2").style.display = "block"; //Show register form (from login page) 1303 } else if (document.getElementById("registerPopup3") != null) { 1304 document.getElementById("registerContent3").innerHTML = responseText; //Show register form 1305 document.getElementById("registerPopup3").style.display = "block"; //Show register form (from login page) 1306 } else { 1307 document.getElementById("registerContent").innerHTML = responseText; //Show register form 1308 document.getElementById("registerPopup").style.left = registerXpos; 1309 document.getElementById("registerPopup").style.display = "block"; //Show register form (from map page) 1310 } 1311 //callCufon(); 1312 } 1313} 1314 1315//****************Defines options from check boxes 1316function setCheckOptions(theControl, theSource) { 1317 if (theControl == "accaccess") { //Show extra input for invoice account 1318 if (document.getElementById("accaccesschk").checked) { 1319 document.getElementById("accaccess").value = "yes"; 1320 if (theSource == "new") { 1321 regShowHide("show"); 1322 } else { 1323 accReqShowHide("show"); 1324 } 1325 } else { 1326 document.getElementById("accaccess").value = "no"; 1327 if (theSource == "new") { 1328 regShowHide("hide"); 1329 } else { 1330 accReqShowHide("hide"); 1331 } 1332 } 1333 window.scrollTo(0, 0); 1334 } else if (theControl == "accpayable") { //Show extra input for account payable user 1335 if (document.getElementById("accountpaychk").checked) { 1336 document.getElementById("regaccountpayable").value = "yes"; 1337 if (theSource == "new") { 1338 document.getElementById("accpaydetails").style.display = "block"; 1339 } 1340 } else { 1341 document.getElementById("regaccountpayable").value = "no"; 1342 if (theSource == "new") { 1343 document.getElementById("accpaydetails").style.display = "none"; 1344 } 1345 } 1346 } else if (theControl == "mailing1") { 1347 if (document.getElementById("mailing1chk").checked) { 1348 document.getElementById("mailing1").value = "yes"; 1349 } else { 1350 document.getElementById("mailing1").value = "no"; 1351 } 1352 } else if (theControl == "notifyadmin") { 1353 if (document.getElementById("notifyadminchk").checked) { 1354 document.getElementById("notifyadmin").value = "yes"; 1355 } else { 1356 document.getElementById("notifyadmin").value = "no"; 1357 } 1358 } else if (theControl == "notifyuser") { 1359 if (document.getElementById("notifyuserchk").checked) { 1360 document.getElementById("notifyuser").value = "yes"; 1361 } else { 1362 document.getElementById("notifyuser").value = "no"; 1363 } 1364 } 1365} 1366 1367//*******************Show register details input - either to register account payee or fill in account detaials 1368function setRegDetails(theControl) { 1369 if (theControl == "accpayable") { 1370 document.getElementById("accpaydetails").style.display = "block"; //Show input for account payable user details on register
1371 document.getElementById("companydetails").style.display = "none"; 1372 document.getElementById("generaldetails").style.display = "block"; 1373 document.getElementById("regaccountpayable").value = "yes"; //Flag that register account payable has been chosen 1374 } else if (theControl == "companydetails") { 1375 document.getElementById("accpaydetails").style.display = "none"; 1376 document.getElementById("companydetails").style.display = "block"; //Show input for user details on register 1377 document.getElementById("generaldetails").style.display = "block"; 1378 document.getElementById("regaccountpayable").value = "no"; //Flag that register account payable has not been chosen 1379 } 1380} 1381 1382//*******************Defines options from check boxes (Company Details) 1383function setCompCheckOptions(theControl) { 1384 if (theControl == "accaccess") { 1385 if (document.compform.accaccesschk.checked) { 1386 document.compform.accaccess.value = 'yes'; 1387 } else { 1388 document.compform.accaccess.value = 'no'; 1389 } 1390 } else if (theControl == "paperinvoice") { 1391 if (document.compform.paperinvoicechk.checked) { 1392 document.compform.paperinvoice.value = 'yes'; 1393 } else { 1394 document.compform.paperinvoice.value = 'no'; 1395 } 1396 } else if (theControl == "geninvoice") { 1397 if (document.compform.geninvoicechk.checked) { 1398 document.compform.geninvoice.value = 'yes'; 1399 } else { 1400 document.compform.geninvoice.value = 'no'; 1401 } 1402 } else if (theControl == "oneclickorder") { 1403 if (document.compform.oneclickorderchk.checked) { 1404 document.compform.oneclickorder.value = 'yes'; 1405 } else { 1406 document.compform.oneclickorder.value = 'no'; 1407 } 1408 } else if (theControl == "adminnotify") { 1409 document.compform.dispnotifyemail.value = ""; //Ensure person to notify is cleared 1410 document.compform.notifyid.value = ""; 1411 if (document.compform.adminnotifychk.checked) { 1412 document.compform.adminnotify.value = "yes"; 1413 } else { 1414 document.compform.adminnotify.value = "no"; 1415 } 1416 } 1417} 1418 1419//****************Hides or shows further registartion details 1420function regShowHide(theAction) { 1421 if (theAction == "show") { 1422 document.getElementById("regdetails").style.display = "block"; 1423 } else { 1424 document.getElementById("regdetails").style.display = "none"; 1425 } 1426} 1427 1428//****************Show/Hide extra details form when requesting account 1429function accReqShowHide(theAction) { 1430 if (theAction == "show") { 1431 if (validateInput("confirm")) { //Check the address details have been entered 1432 var qstring = "theSite=" + document.varform.thesite.value + "&theSiteName=" + document.varform.thesitename.value + "&theSiteURL=" + document.varform.thesiteurl.value + "&address1=" + document.getElementById("address1").value + "&address2=" + document.getElementById("address2").value + "&town=" + document.getElementById("town").value + "&county=" + document.getElementById("county").value + "&postcode=" + document.getElementById("postcode").value + "&country=" + document.getElementById("country").value + "&telephone=" + document.getElementById("telephone").value + "&fax=" + document.getElementById("fax").value + "&website=" + document.getElementById("website").value + "&company=" + escapeAmp(document.getElementById("company").value) + "&title=" + document.getElementById("title").value + "&firstname=" + document.getElementById("firstname").value + "&secondname=" + document.getElementById("secondname").value + "&email=" + document.getElementById("email").value + "&viewcredit=" + document.getElementById("viewcredit").value + "&freeviewcredit=" + document.getElementById("freeviewcredit").value; 1433 var accRequestExtraDetailsReq = new ajaxObject('accRequestExtraDetails.php', accRequestExtraDetailsResponse); 1434 accRequestExtraDetailsReq.update(qstring, 'POST'); 1435 } else { 1436 document.getElementById("accaccesschk").checked = false; 1437 } 1438 } else if (theAction == "hide") { 1439 if (document.getElementById("accExtraDetails") != null) { 1440 document.getElementById("accExtraDetails").style.display = "none"; //Hide register form (from map page) 1441 } else { 1442 document.getElementById("accExtraDetails2").style.display = "none"; //Hide register form (from map page) 1443 } 1444 document.getElementById("accaccesschk").checked = false;
1445 document.getElementById("accaccess").value = "no"; 1446 } 1447} 1448 1449//****************Response from getting extra account request details 1450function accRequestExtraDetailsResponse(responseText, responseStatus) { 1451 if (responseStatus == 200) { 1452 if (document.getElementById("accExtraDetails") != null) { 1453 document.getElementById("accExtraContent").innerHTML = responseText; //Show register form 1454 document.getElementById("accExtraDetails").style.display = "block"; //Show register form (from map page) 1455 } else { 1456 document.getElementById("accExtraContent2").innerHTML = responseText; //Show register form 1457 document.getElementById("accExtraDetails2").style.display = "block"; //Show register form (from map page) 1458 } 1459 } 1460} 1461 1462//****************Register the new user or request account upgrade 1463function registerUser(theType) { 1464 if (validateInput(theType)) { //If all OK register the user or request account upgrade 1465 //Define the query string to pass variables 1466 var qstring = "title=" + document.registerform.title.value; 1467 qstring += "&firstname=" + document.registerform.firstname.value; 1468 qstring += "&secondname=" + document.registerform.secondname.value; 1469 qstring += "&email=" + document.registerform.email.value; 1470 if (theType == "register") { //Get this info if registering a user 1471 qstring += "&pwd1=" + document.registerform.pwd1.value; 1472 } else { 1473 qstring += "&pwd1="; 1474 } 1475 qstring += "&company=" + escapeAmp(document.registerform.company.value); 1476 qstring += "&address1=" + document.registerform.address1.value; 1477 qstring += "&address2=" + document.registerform.address2.value; 1478 qstring += "&town=" + document.registerform.town.value; 1479 qstring += "&county=" + document.registerform.county.value; 1480 qstring += "&postcode=" + document.registerform.postcode.value; 1481 qstring += "&country=" + document.registerform.country.value; 1482 qstring += "&telephone=" + document.registerform.telephone.value; 1483 qstring += "&fax=" + document.registerform.fax.value; 1484 qstring += "&website=" + document.registerform.website.value; 1485 if (theType == "register") { //Get this info if registering a user 1486 qstring += "&outcode=" + document.registerform.outcode.value; 1487 qstring += "&mailing1=" + document.registerform.mailing1.value; 1488 qstring += "&accaccess=" + document.registerform.accaccess.value; 1489 } else { 1490 qstring += "&outcode=&mailing1=&accaccess=yes"; 1491 } 1492 qstring += "&accpayable=" + document.registerform.regaccountpayable.value; 1493 qstring += "&paymentmethod=" + document.registerform.paymentmethod.value; 1494 qstring += "&monthlyspend=" + document.registerform.monthlyspend.value; 1495 qstring += "&acctitle=" + document.registerform.acctitle.value; 1496 qstring += "&accfirstname=" + document.registerform.accfirstname.value; 1497 qstring += "&accsecondname=" + document.registerform.accsecondname.value; 1498 qstring += "&accemail=" + document.registerform.accemail.value; 1499 qstring += "&accpwd1=" + document.registerform.accpwd1.value; 1500 qstring += "&acccompany=" + escapeAmp(document.registerform.acccompany.value); 1501 qstring += "&accaddress1=" + document.registerform.accaddress1.value; 1502 qstring += "&accaddress2=" + document.registerform.accaddress2.value; 1503 qstring += "&acctown=" + document.registerform.acctown.value; 1504 qstring += "&acccounty=" + document.registerform.acccounty.value; 1505 qstring += "&accpostcode=" + document.registerform.accpostcode.value; 1506 qstring += "&acccountry=" + document.registerform.acccountry.value; 1507 qstring += "&acctelephone=" + document.registerform.acctelephone.value; 1508 qstring += "&accfax=" + document.registerform.accfax.value; 1509 qstring += "&accwebsite=" + document.registerform.accwebsite.value; 1510 qstring += "®istersite=" + document.registerform.registersite.value; 1511 if (theType == "register") { //Get this info if registering a user 1512 qstring += "&heardabout=" + document.registerform.heardabout.value; 1513 qstring += "&code=" + document.registerform.code.value; 1514 } else { 1515 qstring += "&heardabout=&code="; 1516 } 1517 if (theType == "register") { //Get this info if registering a user 1518 qstring += "&viewcredit=&freeviewcredit="; 1519 } else { 1520 qstring += "&viewcredit=" + document.registerform.viewcredit.value; 1521 qstring += "&freeviewcredit=" + document.registerform.freeviewcredit.value; 1522 } 1523 qstring += "&cadd=" + theType; //register or request 1524 var registerReq = new ajaxObject('upCustomer.php', registerResponse); 1525 registerReq.update(qstring, 'POST'); 1526 } 1527} 1528 1529//****************Response from registering 1530function registerResponse(responseText, responseStatus) { 1531 //alert(responseText) 1532 if (responseStatus == 200) { 1533 //Get the returned values 1534 if (responseText != "") { 1535 var tempArray = new Array(); 1536 tempArray = responseText.split("|"); 1537 if (tempArray[0] == "yes") { 1538 //Show message and run the login; 1539 if (tempArray[2] == "register") { 1540 //showDialog('Success',tempArray[1] + '<br/><input type="button" value="Continue" id="contButton" onclick="goToAuthorization();" >','success'); 1541 goToAuthorization(); 1542 } else { //Request account? (run from account area so can log the user in?) 1543 showDialog('Success', tempArray[1] + '<br/><input type="button" value="Continue" id="contButton" onclick="loginAfterRequest
1543();" >', 'success'); 1544 } 1545 } else { //Could not register for some reason, show the error message 1546 showDialog('Error', tempArray[1] + '<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'errordialog'); 1547 } 1548 } else { 1549 showDialog('Error', 'There has been a problem registering. Please try again.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'errordialog'); 1550 } 1551 } 1552} 1553 1554//****************Login the user after request account 1555function loginAfterRequest() { 1556 hideDialog(); 1557 /*var qstring = "name=" + document.custform.email.value + "&pwd=" + document.custform.pwd1.value + "&login=in&type=register&site=" + document.custform.registersite.value + "&sitetype=full"; 1558 var loginReq = new ajaxObject('runlogin.php', loginResponse3); 1559 loginReq.update(qstring,'POST');*/ 1560 jQuery.ajax({ 1561 type: "POST", 1562 dataType: "json", 1563 //url: "http://shop.centremapslive.co.uk/runLogin2.php?callback=?", 1564 url: "runLogin2.php?callback=?", 1565 data: { 1566 name: document.custform.email.value, 1567 pwd: document.custform.pwd1.value, 1568 login: "in", 1569 type: "register", 1570 site: document.registerform.registersite.value, 1571 sitetype: "full" 1572 }, 1573 success: loginResponse3 1574 }); 1575} 1576 1577//****************Close dialogs after successful account registration request 1578function goToAuthorization() { 1579 //hideDialog(); 1580 showHideRegister('hide'); 1581 document.getElementById("username").value = document.getElementById("email").value; 1582 document.getElementById("loginform").action = "authoriseAccount.php"; 1583 document.getElementById("loginform").submit(); 1584} 1585 1586//****************Login the user after registering 1587function loginAfterRegister() { 1588 hideDialog(); 1589 /*var qstring = "name=" + document.registerform.email.value + "&pwd=" + document.registerform.pwd1.value + "&login=in&type=register&site=" + document.registerform.registersite.value + "&sitetype=full"; 1590 if(window.location.pathname.indexOf("login.php") != -1){ //Called from login page 1591 var loginReq = new ajaxObject('runlogin.php', loginResponse2); 1592 }else{ //Called from map page 1593 var loginReq = new ajaxObject('runlogin.php', loginResponse); 1594 } 1595 1596 loginReq.update(qstring,'POST'); 1597 */ 1598 if (window.location.pathname.indexOf("login.php") != -1) { //Called from login page 1599 jQuery.ajax({ 1600 type: "POST", 1601 dataType: "json", 1602 //url: "http://shop.centremapslive.co.uk/runLogin2.php?callback=?", 1603 url: "runLogin2.php?callback=?", 1604 data: { 1605 name: document.registerform.email.value, 1606 pwd: document.registerform.pwd1.value, 1607 login: "in", 1608 type: "register", 1609 site: document.registerform.registersite.value, 1610 sitetype: "full" 1611 }, 1612 success: loginResponse2 1613 }); 1614 } else { 1615 jQuery.ajax({ 1616 type: "POST", 1617 dataType: "json", 1618 //url: "http://shop.centremapslive.co.uk/runLogin2.php?callback=?", 1619 url: "runLogin2.php?callback=?", 1620 data: { 1621 name: document.registerform.email.value, 1622 pwd: document.registerform.pwd1.value, 1623 login: "in", 1624 type: "register", 1625 site: document.registerform.registersite.value, 1626 sitetype: "full" 1627 }, 1628 success: loginResponse 1629 }); 1630 } 1631} 1632 1633//****************Update user info 1634function updateUserInfo() { 1635 if (validateInput("update")) { //If all OK register the user 1636 //Define the query string to pass variables 1637 var qstring = "title=" + document.custform.title.value; 1638 qstring += "&firstname=" + document.custform.firstname.value; 1639 qstring += "&secondname=" + document.custform.secondname.value; 1640 qstring += "&email=" + document.custform.email.value; 1641 qstring += "&newpwd1=" + document.custform.newpwd1.value; 1642 qstring += "&newpwd2=" + document.custform.newpwd2.value; 1643 qstring += "&company=" + escapeAmp(document.custform.company.value); 1644 qstring += "&address1=" + document.custform.address1.value; 1645 qstring += "&address2=" + document.custform.address2.value; 1646 qstring += "&town=" + document.custform.town.value; 1647 qstring += "&county=" + document.custform.county.value; 1648 qstring += "&postcode=" + document.custform.postcode.value; 1649 qstring += "&country=" + document.custform.country.value; 1650 qstring += "&telephone=" + document.custform.telephone.value; 1651 qstring += "&fax=" + document.custform.fax.value; 1652 qstring += "&website=" + document.custform.website.value; 1653 qstring += "&outcode=" + document.custform.outcode.value; 1654 qstring += "&accaccess=" + document.custform.accaccess.value; 1655 qstring += "&mailing1=" + document.custform.mailing1.value; 1656 qstring += "¬ifyuser=" + document.custform.notifyuser.value; 1657 if (document.getElementById("notifyadmin") != null) { 1658 qstring += "¬ifyadmin=" + document.custform.notifyadmin.value; 1659 } 1660 qstring += "&daddress1=" + document.custform.daddress1.value; 1661 qstring += "&daddress2=" + document.custform.daddress2.value; 1662 qstring += "&dtown=" + document.custform.dtown.value; 1663 qstring += "&dcounty=" + document.custform.dcounty.value; 1664 qstring += "&dpostcode=" + document.custform.dpostcode.value; 1665 qstring += "&dcountry=" + document.custform.dcountry.value; 1666 qstring += "®istersite=" + document.custform.registersite.value; 1667 qstring += "&alias=" + document.custform.alias.value; 1668 qstring += "&custid=" + document.custform.custid.value; 1669 qstring += "&cadd=update"; 1670 var loginReq = new ajaxObject('upCustomer.php', updateUserResponse); 1671 loginReq.update(qstring, 'POST'); 1672 } 1673} 1674 1675//****************Response from updating user info 1676function updateUserResponse(responseText, responseStatus) { 1677 if (responseStatus == 200) { 1678 //Get the returned values 1679 if (responseText != "") { 1680 var tempArray = new Array(); 1681 tempArray = responseText.split("|"); 1682 if (tempArray[0] == "yes") { 1683 showDialog('', tempArray[1] + '<br/><input type="button" value="Close" id="closeButton" onclick="refreshUserPage();" >', 'prompt'); 1684 } else { //Could not register for some reason, show the error message 1685 showDialog('Error', tempArray[1] + '<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'errordialog'); 1686 } 1687 } else { 1688 showDialog('Error', 'There has been a problem updating. Please try again.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'errordialog'); 1689 } 1690 } 1691} 1692 1693//*******************Refresh user page after making updates 1694function refreshUserPage() { 1695 hideDialog(); 1696 window.location = window.location = "user.php"; 1697} 1698 1699//****************Add view credit to user/company account 1700function addViewCredit(theForm) { 1701 if (isNaN(document.getElementById("addcredit").value)) { 1702 showDialog('Warning', 'Please add a credit amount.<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1703 } else {
1704 var creditToAdd = Number(document.getElementById("addcredit").value); 1705 if (creditToAdd < 5) { 1706 showDialog('Warning', 'The minimum amount of credit you can add is £5<br/><br/><input type="button" value="Close" id="closeButton" onclick="hideDialog();" >', 'warning'); 1707 } else { 1708 eval("document." + theForm + ".action = 'addCredit.php'"); 1709 eval("document." + theForm + ".submit()"); 1710 } 1711 } 1712} 1713 1714//****************Show/Hide update password functionality 1715function toggleUpPwd(theAction) { 1716 document.getElementById("newpwd1").value = ""; 1717 document.getElementById("newpwd2").value = ""; 1718 if (theAction == "show") { 1719 document.getElementById("updatepassword").style.display = "block"; 1720 } else if (theAction == "hide") { 1721 document.getElementById("updatepassword").style.display = "none"; 1722 } 1723} 1724 1725//****************Copy user details to account payable 1726function copyAddress(selObj) { 1727 if (selObj.checked) { 1728 document.getElementById("accaddress1").value = document.getElementById("address1").value; 1729 document.getElementById("accaddress2").value = document.getElementById("address2").value; 1730 document.getElementById("acctown").value = document.getElementById("town").value; 1731 document.getElementById("acccounty").value = document.getElementById("county").value; 1732 document.getElementById("accpostcode").value = document.getElementById("postcode").value; 1733 document.getElementById("acccountry").value = document.getElementById("country").value; 1734 document.getElementById("acctelephone").value = document.getElementById("telephone").value; 1735 document.getElementById("accfax").value = document.getElementById("fax").value; 1736 document.getElementById("accwebsite").value = document.getElementById("website").value; 1737 document.getElementById("acccompany").value = document.getElementById("company").value; 1738 } 1739} 1740 1741//-------------------------------------------------End of file.
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.