//common GD validation stuff
function glGDVCheckInt(numberVal){
	if (isNaN(numberVal) || numberVal == "")
	{
		return false;
	}
	else
	{
		if (numberVal.indexOf('.') != -1)
		{
			return false;
		}
		else
		{
			if(numberVal>=0)
				return true;
			else
				return false;
		}
	}
}

function glGDVCheckFloat(numberVal){
	if (isNaN(numberVal) || numberVal == "") {
		return false;
	}else{
		return true;
	}
}

function glGDVCheckRealInt(numberVal)
{
	if (isNaN(numberVal) || numberVal == "")
	{
		return false;
	}
	else
	{
		if (numberVal.indexOf('.') != -1)
		{
			return false;
		}
		else
		{
			return true;
		}
	}
}

function glGDVCheckEmail(emailAddress)
{
     var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
     var regex = new RegExp(emailReg);
     return regex.test(emailAddress);
}

function glGDVTrim(str)
{
	s = str.replace(/^(\s)*/, '');
	s = s.replace(/(\s)*$/, '');
	return s;
}

function glGDVAlertInvalid(gdValType, requireVal, strMsg, frmObj, clearVal)
{
	//don't need to check value
	if( !requireVal && glGDVTrim(frmObj.value) == "" )
		return;
	//validation based on type
	var valid = false;
	if( gdValType == 0) //positive int
		valid = glGDVCheckInt(frmObj.value);
	else if( gdValType == 1) //int
		valid = glGDVCheckRealInt(frmObj.value);
	else if( gdValType == 2) //float
		valid = glGDVCheckFloat(frmObj.value);
	else if (gdValType == 3) //email
		valid = glGDVCheckEmail(frmObj.value);
		
	if( !valid )
	{
		if( glGDVTrim(strMsg) != "" )
		{
			strMsg += "\nYou entered: " + frmObj.value;
			alert(strMsg);
		}
		if( clearVal )
			frmObj.value = "";
		frmObj.focus();
	}
}


