Просмотр файла translate/bidi.js

Размер файла: 4.92Kb
<!-- 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 -->