function PageQuery(q) { if(q.length > 1) this.q = q.substring(1, q.length); else this.q = null; this.keyValuePairs = new Array(); if(q) { for(var i=0; i < this.q.split("&").length; i++) { this.keyValuePairs[i] = this.q.split("&")[i]; } } this.getKeyValuePairs = function() { return this.keyValuePairs; } this.getValue = function(s) { for(var j=0; j < this.keyValuePairs.length; j++) { if(this.keyValuePairs[j].split("=")[0] == s) return this.keyValuePairs[j].split("=")[1]; } return false; } this.getParameters = function() { var a = new Array(this.getLength()); for(var j=0; j < this.keyValuePairs.length; j++) { a[j] = this.keyValuePairs[j].split("=")[0]; } return a; } this.getLength = function() { return this.keyValuePairs.length; } } function queryString(key){ var page = new PageQuery(window.location.search); return unescape(page.getValue(key)); } function displayItem(key){ if(queryString(key)=='false') { return ''; } else{ return(queryString(key)); } } function echeck(str) { var at="@" var dot="." var lat=str.indexOf(at) var lstr=str.length var ldot=str.indexOf(dot) if (str.indexOf(at)==-1){ return false } if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){ return false; } if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){ return false; } if (str.indexOf(at,(lat+1))!=-1){ return false; } if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){ return false; } if (str.indexOf(dot,(lat+2))==-1){ return false; } if (str.indexOf(" ")!=-1){ return false; } return true; } // Declaring required variables var digits = "0123456789"; // non-digit characters which are allowed in phone numbers var phoneNumberDelimiters = "()- "; // characters which are allowed in international phone numbers // (a leading + is OK) var validWorldPhoneChars = phoneNumberDelimiters + "+"; // Minimum no of digits in an international phone no. var minDigitsInIPhoneNumber = 10; function isInteger(s) { var i; for (i = 0; i < s.length; i++) { // Check that current character is number. var c = s.charAt(i); if (((c < "0") || (c > "9"))) return false; } // All characters are numbers. return true; } function stripCharsInBag(s, bag) { var i; var returnString = ""; // Search through string's characters one by one. // If character is not in bag, append to returnString. for (i = 0; i < s.length; i++) { // Check that current character isn't whitespace. var c = s.charAt(i); if (bag.indexOf(c) == -1) returnString += c; } return returnString; } function checkInternationalPhone(strPhone){ s=stripCharsInBag(strPhone,validWorldPhoneChars); return (isInteger(s) && s.length >= minDigitsInIPhoneNumber); } function ValidatePhone(Phone){ if ((Phone==null)||(Phone=="")){ return false } if (checkInternationalPhone(Phone)==false){ return false } return true } function getQpart() { // First, we load the URL into a variable var url = window.location.href; var quest="?" if (url.indexOf(quest)==-1){ return ''; } // Next, split the url by the ? var qparts = url.split("?"); return qparts[1]; } function formCheck(formobj){ // name of mandatory fields var fieldRequired = Array("FirstName", "LastName", "DAreacode", "DPrefix", "DSuffix", "Email", "Email2"); // field description to appear in the dialog box var fieldDescription = Array("First Name", "Last Name", "Daytime Area Code", "Daytime Phone Number Prefix", "Daytime Phone Number Suffix", "Email Address", "Email Address Confirmation"); // dialog message var alertMsg = "Please complete the following fields:\n"; var l_Msg = alertMsg.length; var phoneNum=formobj.DAreacode.value+formobj.DPrefix.value+formobj.DSuffix.value; formobj.query.value=getQpart(); for (var i = 0; i < fieldRequired.length; i++){ var obj = formobj.elements[fieldRequired[i]]; if (obj){ switch(obj.type){ case "select-one": if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){ alertMsg += " - " + fieldDescription[i] + "\n"; } break; case "select-multiple": if (obj.selectedIndex == -1){ alertMsg += " - " + fieldDescription[i] + "\n"; } break; case "text": case "textarea": if (obj.value == "" || obj.value == null){ alertMsg += " - " + fieldDescription[i] + "\n"; } break; default: } if (obj.type == undefined){ var blnchecked = false; for (var j = 0; j < obj.length; j++){ if (obj[j].checked){ blnchecked = true; } } if (!blnchecked){ alertMsg += " - " + fieldDescription[i] + "\n"; } } } } if (echeck(formobj.Email.value)==false){ formobj.Email.value="" formobj.Email.focus(); alertMsg += " - Invalid email id\n"; } if (echeck(formobj.Email2.value)==false){ formobj.Email2.value="" formobj.Email2.focus(); alertMsg += " - Invalid confirmation email id\n"; } if (formobj.Email.value!=formobj.Email2.value){ formobj.Email2.value="" formobj.Email2.focus(); alertMsg += " - Your email address and confirmation address do not match\n"; } if (ValidatePhone(phoneNum)==false){ alertMsg += " - Your phone number is invalid\n"; } if (alertMsg.length != l_Msg){ alert(alertMsg); return false } return true; }