
function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}
function allChar(str)
{
	return inValidCharSet(str,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
}

function inValidCharSet(str,charset)
{
	var result = true;

	// Note: doesn't use regular expressions to avoid early Mac browser bugs	
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}

function validDate(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		var elems = formField.value.split("/");
 		
 		result = (elems.length == 3); // should be three components
 		
 		if (result)
 		{
 			var month = parseInt(elems[0]);
  			var day = parseInt(elems[1]);
 			var year = parseInt(elems[2]);
			result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
					 allDigits(elems[1]) && (day > 0) && (day < 32) &&
					 allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
 		}
 		
  		if (!result)
 		{
 			alert('Please enter a date in the format MM/DD/YYYY for the "' + fieldLabel +'" field.');
			formField.focus();		
		}
	} 
	
	return result;
}

function IsNumeric(sText)
	{
		var ValidChars = "0123456789.,-";
		var IsNumber = true;
		var Char;
		var count = 0;
		
		var s = sText;
		
		if (s.trim() != "" && s.trim() != "-" && s.trim() != ".")
		{
			if (s.lastIndexOf("-") > 0)
				return(false);
		
			for (var i = 0; i < sText.length && IsNumber == true; i++) 
			{ 
				Char = s.charAt(i); 
				if (ValidChars.indexOf(Char) == -1) 
				{
					IsNumber = false;
				}
				else
				{
					if (Char == ".")
						count = count + 1;
				}
			}
		}
		else
		{
			IsNumber = false;
		}
		if (count > 1)
			IsNumber = false;
			
		return IsNumber;
	   
	}
	
function validButton(btn) {
    var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return btn[cnt].value;
    else return false;
}
                  

function trim(input) {
  var x=input;
  x=x.replace(/^\s*(.*)/, "$1");
  x=x.replace(/(.*?)\s*$/, "$1");
  return x;
}

String.prototype.trim = function()
{
	return this.replace(/^\s*(\b.*\b|)\s*$/, "$1");
}

function fnShowWindow(strURL, intWidth, intHeight)
{
	var leftVal, topVal

	leftVal = (screen.width - intWidth ) / 2;
	topVal = (screen.height - intHeight) / 2;
			
	objWin = window.open(strURL,null,"height="+ intHeight +",width= " + intWidth + ",left="+leftVal+",top="+topVal+",status=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,resizable=1;",null); 

}

function Popup(theURL,w,h,scrollbar) { 
   var winl = (screen.width - w) / 2;
   var wint = (screen.height - h) / 2;
   winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',resizable=1,scrollbars=scrollbar'
   window.open(theURL, "", winprops)
   }
   
