/*

Strip whitespace from the beginning and end of a string

Input : a string

*/

function trim(str)

{

	return str.replace(/^\s+|\s+$/g,'');

}



/*

Make sure that textBox only contain number

*/

function checkNumber(textBox)

{

	while (textBox.value.length > 0 && isNaN(textBox.value)) {

		textBox.value = textBox.value.substring(0, textBox.value.length - 1)

	}

	

	textBox.value = trim(textBox.value);

/*	if (textBox.value.length == 0) {

		textBox.value = 0;		

	} else {

		textBox.value = parseInt(textBox.value);

	}*/

}



/*

	Check if a form element is empty.

	If it is display an alert box and focus

	on the element

*/

function isEmpty(formElement, message) {

	formElement.value = trim(formElement.value);

	

	_isEmpty = false;

	if (formElement.value == '') {

		_isEmpty = true;

		alert(message);

		formElement.focus();

	}

	

	return _isEmpty;

}



/*

	Set one value in combo box as the selected value

*/

function setSelect(listElement, listValue)

{

	for (i=0; i < listElement.options.length; i++) {

		if (listElement.options[i].value == listValue)	{

			listElement.selectedIndex = i;

		}

	}	

}



function AbrirCentrado(Url,NombreVentana,width,height,extras) {

	var largo = width;

	var altura = height;

	var adicionales= extras;

	//alert (adicionales);

	var top = (screen.height-altura)/2;

	var izquierda = (screen.width-largo)/2; 

	//nuevaVentana=window.open(''+ Url + '',''+ NombreVentana + '','width=' + largo + ',height=' + altura + ',top=' + top + ',left=' + izquierda + ',features=' + adicionales + ''); 

	nuevaVentana=window.open(''+ Url + '',''+ NombreVentana + '','width=' + largo + ',height=' + altura + ',top=' + top + ',left=' + izquierda + ',' + adicionales + ''); 

	nuevaVentana.focus();

}



<!-- Changes:  Sandeep V. Tamhankar (stamhankar@hotmail.com) -->



/* 1.1.2: Fixed a bug where trailing . in e-mail address was passing

            (the bug is actually in the weak regexp engine of the browser; I

            simplified the regexps to make it work).

   1.1.1: Removed restriction that countries must be preceded by a domain,

            so abc@host.uk is now legal.  However, there's still the 

            restriction that an address must end in a two or three letter

            word.

     1.1: Rewrote most of the function to conform more closely to RFC 822.

     1.0: Original  */



<!-- This script and many more are available free online at -->

<!-- The JavaScript Source!! http://javascript.internet.com -->



<!-- Begin

function emailCheck (emailStr) {

/* The following pattern is used to check if the entered e-mail address

   fits the user@domain format.  It also is used to separate the username

   from the domain. */

var emailPat=/^(.+)@(.+)$/

/* The following string represents the pattern for matching all special

   characters.  We don't want to allow special characters in the address. 

   These characters include ( ) < > @ , ; : \ " . [ ]    */

var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"

/* The following string represents the range of characters allowed in a 

   username or domainname.  It really states which chars aren't allowed. */

var validChars="\[^\\s" + specialChars + "\]"

/* The following pattern applies if the "user" is a quoted string (in

   which case, there are no rules about which characters are allowed

   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com

   is a legal e-mail address. */

var quotedUser="(\"[^\"]*\")"

/* The following pattern applies for domains that are IP addresses,

   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal

   e-mail address. NOTE: The square brackets are required. */

var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/

/* The following string represents an atom (basically a series of

   non-special characters.) */

var atom=validChars + '+'

/* The following string represents one word in the typical username.

   For example, in john.doe@somewhere.com, john and doe are words.

   Basically, a word is either an atom or quoted string. */

var word="(" + atom + "|" + quotedUser + ")"

// The following pattern describes the structure of the user

var userPat=new RegExp("^" + word + "(\\." + word + ")*$")

/* The following pattern describes the structure of a normal symbolic

   domain, as opposed to ipDomainPat, shown above. */

var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")





/* Finally, let's start trying to figure out if the supplied address is

   valid. */



/* 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("El correo luce incorrecto (revisa la @ y los .'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("El nombre de Usuario no es valido.")

    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("La Ip destino no es valida!")

		return false

	    }

    }

    return true

}



// Domain is symbolic name

var domainArray=domain.match(domainPat)

if (domainArray==null) {

	//alert("El dominio del correo no parece valido.")

    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

}



// If we've gotten this far, everything's valid!

return true;



}

//  End -->

