function isEmailValid(email) {
	if (email == "") {
		return false;
	}
 
	var badchars = "<> ;,!#$%^&*()+=";
	for (var i=0; i < email.length; i++) {
		temp = "" +email.substring(i, i+1);
		if (badchars.indexOf(temp) != -1) {
			return false;
		}
	}
	var arr;
	arr = email.split('@');
 
	// check for 1 and only 1 @ sign
	if (arr.length != 2)
		return false;
  
	// check for blank before or after @
	if ((arr[0] == "") || (arr[1] == ""))
		return false;
  
	// check for dot at first or last position
	if ((arr[1].charAt(0) == '.') || (arr[1].charAt(arr[1].length-1) == '.'))
		return false;
   
	if ((arr[0].charAt(0) == '.') || (arr[0].charAt(arr[0].length-1) == '.'))
		return false;
   
	// check to make sure top level domain > 1 char     
	if ((arr[1].indexOf('.') > arr[1].length-3) || (arr[1].indexOf('.') == -1))
		return false;
  
	// check for ..
	if (email.indexOf("..") > 0)
		return false;
	
	return true;
}

// **********validate email version 2 ***************************

function validateEmailv2(email)
{
// a very simple email validation checking used in EDJT 6.0

    if(eval(stripEmptySpaces(email).length) <= 0)
	{
	  return false;
	}
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_'\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}

//******************************************************************


 function stripEmptySpaces(strSearch) {
    var x = strSearch;
    while (x.substring(0,1) == ' ') x = x.substring(1);
    while (x.substring(x.length-1,x.length) == ' ') x = x.substring(0,x.length-1);
    return x;
}


function FormatCurrencyV2(num) 
	{
		var myString = new String(num);
		var minus1 =myString.indexOf("-");
		var minus;
		if (minus1 >=0)
			{
				minus ="-"
			}
		else
			{
				minus=''
			}
	
		//num = num.toString().replace(/\$|\,/g,'');
		num = ReplaceV2(num);
		if(isNaN(num)) num = "0";
		num = Math.abs(num)
		cents = Math.floor((num*100+0.5)%100);
		num = Math.floor((num*100+0.5)/100).toString();

		if(cents < 10) cents = "0" + cents;
			for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
				num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
				return (minus+num + '.' + cents)
	}



function ReplaceV2(num)
{
	num = num.toString().replace(/\$|\,/g,'');
	return(num);
}

//******************* Find Object Position *******************************
function findPosX(obj)
{	var offwidth = obj.offsetWidth;
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			//alert(obj.offsetWidth);
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	curleft += offwidth
	
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

//*************************************************************************