// JavaScript Document

function getCboVal( id )
{
	var o = document.getElementById( id );
	return o.options[o.selectedIndex].value;
}

function getCboTxt( id )
{
	var o = document.getElementById( id );
	return o.options[o.selectedIndex].text;
}

function restrictinput(maxlength,e,field)
{
	if (field.value.length >= maxlength)	
	{					
		return false;
	}
	else
		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("Adresse courriel invalide [1]");
		return false;
	}
	
	var user 			= matchArray[1];
	var domain 			= matchArray[2];

	if (user.match(userPat) == null) 
	{
		alert("Adresse courriel invalide [2]");
		return false;
	}

	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("Adresse courriel invalide [3]");
				return false;
			}
		}
		return true;
	}

	var domainArray 	= domain.match(domainPat);
	
	if ( domainArray==null ) 
	{
		alert("Adresse courriel invalide [4]");
		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("Adresse courriel invalide [5]");
	   return false;
	}

	if (len<2) 
	{
	   var errStr="Adresse courriel invalide [6]";
	   alert(errStr);
	   return false;
	}

	return true;
}
