<!-- Hide the script for older browsers
//------------------------------------------------------------------------------
// Worldlingo.com Standard Java Scripts
//
// Copyright (c) 1999, 2000 Worldlingo.com Pty Ltd
//------------------------------------------------------------------------------
//==============================================================================
//Purpose: to validate the bidi email form
//------------------------------------------------------------------------------
function ValidateBidiForm (form){
//Check that the sender's name has been entered
if (form.source_name.value == "")
{ alert("Please include your name details."); form.source_name.focus(); return; }
//Check that the recepient's name has been entered
if (form.target_name.value == "")
{ alert("Please include the name details of the recipient."); form.target_name.focus(); return; }
//Check that the source email address is correct
if (!(emailCheck(form["source_email"].value))) {
form["source_email"].focus();
return;
}
//Check that the target email address is correct
if (!(emailCheck(form["target_email"].value))) {
form["target_email"].focus();
return;
}
// Make sure that a source language has been entered
selIndex = form["source_lang"].selectedIndex;
if (form["source_lang"].options[selIndex].value == "none") {
alert("Please select source language.");
form["source_lang"].focus();
return;
}
// Make sure that a target language has been entered
selIndex = form["target_lang"].selectedIndex;
if (form["target_lang"].options[selIndex].value == "none") {
alert("Please select target language.");
form["target_lang"].focus();
return;
}
// Make sure that a target language has been entered
selIndex1 = form["source_lang"].selectedIndex;
selIndex2 = form["target_lang"].selectedIndex;
if (form["source_lang"].options[selIndex1].value == form["target_lang"].options[selIndex2].value) {
alert("Please select two different languages.");
form["target_lang"].focus();
return;
}
//Check that the email has a message in the message field
if (form.message.value == "")
{ alert("Your email message has no body content. Please insert a message."); form.message.focus(); return; }
// if we are still here then submit the form
form.submit();
}
//-----The Email check script used in to return a truw or flase value in the above script
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 +")*$")
/* Begin with the coarse pattern to simply break up user@domain into
different pieces that are easy to analyze. */
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
/* Too many/few @'s or something; basically, this address doesn't
even fit the general mould of a valid e-mail address. */
alert("Email address seems incorrect (check @ and .'s)")
return false
}
var user=matchArray[1]
var domain=matchArray[2]
// See if "user" is valid
if (user.match(userPat)==null) {
// user is not valid
alert("The email address doesn't seem to be valid.")
return false
}
/* if the e-mail address is at an IP address (as opposed to a symbolic
host name) make sure the IP address is valid. */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
// this is an IP address
for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("Destination IP address is invalid!")
return false
}
}
return true
}
// Domain is symbolic name
var domainArray=domain.match(domainPat)
if (domainArray==null) {
alert("The domain name doesn't seem to be valid.")
return false
}
/* domain name seems valid, but now make sure that it ends in a
three-letter word (like com, edu, gov) or a two-letter word,
representing country (uk, nl), and that there's a hostname preceding
the domain or country. */
/* Now we need to break up the domain to get a count of how many atoms
it consists of. */
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) {
// the address must end in a two letter or three letter word.
alert("The address must end in a three-letter domain, or two letter country.")
return false
}
// Make sure there's a host name preceding the domain.
if (len<2) {
var errStr="This address is missing a hostname!"
alert(errStr)
return false
}
// return a true value
return true;
}
//end hide for older browsers -->