var whitespace = " \t\n\r"; function isEmpty(s) { var i; if((s == null) || (s.length == 0)) return true; // Search string looking for characters that are not whitespace for (i = 0; i < s.length; i++) { var c = s.charAt(i); if (whitespace.indexOf(c) == -1) return false; } // At this point all characters are whitespace. return true; } function emailCheck (emailStr) { var emailPat=/^(.+)@(.+)$/; var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"; var validChars="\[^\\s" + specialChars + "\]"; var quotedUser="(\"[^\"]*\")"; var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/; var atom=validChars + '+'; var word="(" + atom + "|" + quotedUser + ")"; var userPat=new RegExp("^" + word + "(\\." + word + ")*$"); var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$"); var matchArray=emailStr.match(emailPat); if (matchArray==null) { //alert("Email address seems incorrect (check @ and .'s)") return false; } var user=matchArray[1]; var domain=matchArray[2]; if (user.match(userPat)==null) { //alert("The username doesn't seem to be valid.") return false; } var IPArray=domain.match(ipDomainPat); if (IPArray!=null) { for (var i=1;i<=4;i++) { if (IPArray[i]>255) { //alert("Destination IP address is invalid!") return false; } } return true; } var domainArray=domain.match(domainPat); if (domainArray==null) { //alert("The domain name doesn't seem to be valid.") return false; } var atomPat=new RegExp(atom,"g"); var domArr=domain.match(atomPat); var len=domArr.length; if ((domArr[domArr.length-1].length<2) || (domArr[domArr.length-1].length>3)) { //alert("The address must end in a three-letter domain, or two letter country.") return false; } if (len<2) { //var errStr="This address is missing a hostname!" //alert(errStr) return false; } return true; } function ltrim(stringToTrim) { return stringToTrim.replace(/^\s+/,""); } function createRequestObject(){ var req = false; if(window.XMLHttpRequest){ req = new XMLHttpRequest(); if(req.overrideMimeType){ req.overrideMimeType('text/xml'); } } else if(window.ActiveXObject){ try{ req = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e){ try{ req = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){} } } if(!req){ document.getElementById('progress_info').innerHTML = "Error: Your browser does not support AJAX"; return false; } else{ return req; } }