function replaceQuote (value, name)
{
	var regexp ;
	regexp = /'/g
	if (value.indexOf("'") > -1) 
	{
		//value = value.replace ("'", "''") ;
		value = value.replace(regexp,"''");
		//alert(value);
	}
	eval(name).value = value;
}

//-------------------------------------------
function isNotText(value, name) {
  var pattern = /[a-z|A-Z]/;

  for(i=0;i<value.length;i++) {
    c = value.charAt(i);
    if (pattern.exec(c) == null) {
       alert(name + " must contain only character values.\n");
       return true;
    }
  }
  return false;
}

//-------------------------------------------
function isNotNum(mobj, name) {
  var value = mobj.value;	
  var pattern = /[0-9]|[-]/;

  for(i=0;i<value.length;i++) {
    c = value.charAt(i);
    if (pattern.exec(c) == null) {
       alert(name + " must contain only numeric values.\n");
       mobj.focus();
       return true;
    }
  }
  return false;
}
function NumOnly(value, formName, name) {
  var pattern = /[0-9]|[,]/;
  var patternnum = /[0-9]/;
  var isnum = false;
  var iscomma = false;
  if (value.charAt(0) == ",") {	
  	eval(formName).value = 0;
	eval(formName).focus();
	return false;
  }  
  for(i=1;i<value.length;i++) {
    c = value.charAt(i);
    if  (c == ",") {
   		iscomma = true;
   	}
	if (patternnum.exec(c)!= null) {
		isnum = true;
	}
    if (pattern.exec(c) == null) { 
		alert(name + " must contain only numeric values.\n");
		eval(formName).value = 0;
		eval(formName).focus();
		return false;
    }
  }
  if (iscomma && !isnum) {
	eval(formName).value = 0;	
	eval(formName).focus();
	return false;
  }
  else	
	return true;	
}

//-------------------------------------------
function isNotInt(value, name) {
  var pattern = /[0-9]|[-]/;

  for(i=0;i<value.length;i++) {
    c = value.charAt(i);
    if (pattern.exec(c) == null) {
       alert(name + " must contain only integer values.\n");
       return true;
    }
  }
  return false;
}


//-------------------------------------------
function verifyInt(value, formfield, name)
{
	if (isNotInt(value, name))
	{
		eval(formfield).value = '';
		eval(formfield).focus();
	}
}

//-------------------------------------------
function isNotMoney(value, name) {
  var pattern = /[0-9]|[.,$]/;

  for(i=0;i<value.length;i++) {
    c = value.charAt(i);
    if (pattern.exec(c) == null) {
       alert(name + " must contain only currency values.\n");
       return true;
    }
  }
  return false;
}

//-------------------------------------------
function isNotFloat(value, name) {
  var pattern = /[0-9]|[.-]/;
  var numofdecimals = 0;
  for(i=0;i<value.length;i++) {
    c = value.charAt(i);
    if (c=='.') 
    {
		numofdecimals++;
		if (numofdecimals>1)
		{
			alert(name + " can not contain more than one decimal point.\n");
			return true;
		}
    }
    if (pattern.exec(c) == null || (c=='-' && i>1) || (c =='.' && value.length==1))
    {
       alert(name + " must contain only decimal values.\n");
       return true;
    }
  }
  return false;
}


//-------------------------------------------
function isNotDate(odate, name, label) {
  var month="";
  var day="";
  var year="";
  var tmp="";
  var status = "month";
  var pattern = /[a-z|A-Z]/;
var lerror=false;
var value = odate.value;
if (value != "")
{
  for(i=0;i<value.length;i++) {
    c = value.charAt(i);
    if ((c != "-") && (c != "/")) {
       if (status == "month")
         if (month == "0") 
           month = c;
         else
           month += c;
       else if (status == "day") 
         if (day == "0") 
           day = c;
         else
           day += c;
       else if (status == "year")
       {
         if (month == "0") 
           year = c;
         else 
           year += c;
           
       }
    }
    else {
       if (status == "month")
         status = "day";
       else if (status == "day")
         status = "year";
    }
  }
  // check for double slashes (like the start of this comment)
  if (value.indexOf('//') != -1)
  {
     lerror = true;
  }
  else if (!((parseInt(month) > 0) && (parseInt(month) <= 12)) || (pattern.exec(month) != null)) 
  {
     lerror = true;  }
  else if (!((parseInt(day) > 0) && (parseInt(day) <= 31)) || (pattern.exec(day) != null)) 
  {
     lerror = true;  
  }
  else if ((year.length < 2) || (year.length > 4)) 
  {
     lerror = true;  }
  else if (pattern.exec(year) != null) {
     lerror = true;  }

	if (lerror)
	{
		Errmsg = Errmsg + 'Enter valid ' + name + ' \n';
		document.all[label].style.color='#ff0000';
		if (!(Emptyflag))
		{
			Errfocusobj = odate;
			Emptyflag = true;
		}	
		return true;
	}
	//else
	//{
	//	document.all[label].style.color='#000000';			
	//	return false;
	//}
}
//else
	document.all[label].style.color='#000000';			
	return false;	 
}
//-------------------------------------------
// 1/26/98 jl. activate date from 2 digit year to 4 digit display
//
function changeDatedispaly(dateVal, formName)
{
	var strFieldName;
	if (formName == 'document.form1.startdate')
	{
		strFieldName = 'Project Start Date';
	}
	else if (formName == 'document.form1.estcompletedate')
	{
		strFieldName = 'Est. Completion Date';
	}
	else 
	{
		strFieldName = 'Requested Completion Date';
	}
	
	if ((isNotDate(dateVal, strFieldName) == true)) 
	{
     return false;
    }
	    
	var newString; 
	var tmpYear;
	newString = dateVal.substr(0,dateVal.lastIndexOf("/")) + "/" ;
	//alert(newString);
	tmpYear = dateVal.substr(dateVal.lastIndexOf("/") + 1, dateVal.length);
	//alert(tmpYear);
	if ((parseInt(tmpYear) >= 1900))
	{
		eval(formName).value = newString + tmpYear ;
	}
	else if (parseInt(tmpYear) < 100 && parseInt(tmpYear) > 80 )
		eval(formName).value = newString + "19" + tmpYear ;
	else if (parseInt(tmpYear) <= 80 )
		eval(formName).value = newString + "20" + tmpYear ;
	else 
		eval(formName).value = newString + "2" + tmpYear ;
	
	return true;
}
//-------------------------------------------
function isBlank(value, name) 
{
  var blank = true;
  for(i=0;i<value.length;i++) 
  {
    c = value.charAt(i);
    if ((c != ' ') && (c != '\n') && (c != '\t'))
    {
       blank = false;
    }
  }
  if(!blank)
  {
	return false;
  }
  else
  {
    alert(name + " must have a value.\n"); 
    return true;
  }
  return true;
}

//-------------------------------------------
function isTooBig(value, size, name) {
  if (value.length <= size) {
    return false;
  }
  else {
    alert(name + " must be less than " + size + " characters."); 
    return true;
  }
}

function verifyLength(value, size, formfield, name)
{
	if(isTooBig(value, size, name)) 
	{
		eval(formfield).focus();
	}
}

function IsWrongLength(mObj,msize,mName,mLabel)
{
	if (mObj.value.length != msize)
	{
		if(document.all) {
			document.all[mLabel].style.color='#ff0000';			
		}
		Errmsg = Errmsg + mName + ' must be equal to ' + msize + ' characters. \n';
		if (!(Emptyflag))
		{
			Errfocusobj = mObj;
			Emptyflag = true;
		}
		return true;		
	}
	else
	{
			if(document.all) {
				document.all[mLabel].style.color='#000000';		
			}	
	}
	return false;
}
//-------------------------------------------
// 1/26/98 jl. activate date from 2 digit year to 4 digit display
// 6/15/99 drc. adapt changedatedispaly -- add some other validation
// 7/6/99 drc. allows blanks as valid date
//
function verifyDate(dateVal, formName, displayName, bCheckPast)
{
	var newString; 
	var tmpMonth;
	var tmpDate;
	var tmpYear;
	var maxDate;
	
	if (dateVal == '')
	{
		return true;
	}
	dateVal = dateVal.replace(/-/g,"/")
	if ((isNotDate(dateVal, displayName) == true)) 
	{
		eval(formName).value = '';
		eval(formName).focus();
		return false;
    }
	
	tmpMonth = dateVal.substring(0, dateVal.indexOf("/"))
	tmpDate = dateVal.substring(dateVal.indexOf("/") + 1, dateVal.lastIndexOf("/"))
// commented to add leading zero for single digits
//	newString = dateVal.substr(0,dateVal.lastIndexOf("/")) + "/" ;
	if (tmpMonth.length < 2) {
		displayMonth = '0' + tmpMonth;
	} else {
		displayMonth = tmpMonth;
	}
	if (tmpDate.length < 2) {
		displayDate = '0' + tmpDate;
	} else {
		displayDate = tmpDate;
	}
	// fix bug allowing leading zeroes on date or month
	if (displayMonth.length > 2 || displayDate.length > 2)
	{
		alert('Invalid Date.\n');
		eval(formName).value = '';
		eval(formName).focus();
		return false;
    }
	newString = displayMonth + "/" + displayDate + "/";
		
	tmpYear = dateVal.substr(dateVal.lastIndexOf("/") + 1, dateVal.length);
	if (tmpYear.length == 3)
	{
		tmpYear = "2" + tmpYear;
	}
	else if ((parseInt(tmpYear) <= 9999)) 
	{
		if ((parseInt(tmpYear) >= 1000))
		{
			tmpYear = tmpYear;
		}
		else if (tmpYear.length == 4 && parseInt(tmpYear) < 1000)
		{
			alert('Dates prior to 1000 A.D are invalid.\n');
			eval(formName).value = '';
			eval(formName).focus();
			return false;
		}
		else if (parseInt(tmpYear) < 100 && parseInt(tmpYear) > 80 )
		{
			tmpYear = "19" + tmpYear;
		}
		else if (parseInt(tmpYear) <= 80 )
		{
			tmpYear = "20" + tmpYear;
		}
		else 
		{
			tmpYear = "2" + tmpYear;
		}
	}
	else
	{
		alert('Invalid Date.\n');
		eval(formName).value = '';
		eval(formName).focus();
		return false;
	}
		
	// Validate day of month
	switch(tmpMonth)
	{
		case '1':
			maxDate = 31;
			break;
		case '01':
			maxDate = 31;
			break;
		case '2':
		case '02':
			maxDate = 29;
			break;
		case '3':
		case '03':
			maxDate = 31;
			break;
		case '4':
		case '04':
			maxDate = 30;
			break;
		case '5':
		case '05':
			maxDate = 31;
			break;
		case '6':
		case '06':
			maxDate = 30;
			break;
		case '7':
		case '07':
			maxDate = 31;
			break;
		case '8':
		case '08':
			maxDate = 31;
			break;
		case '9':
		case '09':
			maxDate = 30;
			break;
		case '10':
			maxDate = 31;
			break;
		case '11':
			maxDate = 30;
			break;
		case '12':
			maxDate = 31;
			break;
	}
	if (tmpDate > maxDate)
	{
		alert('Invalid Date.\n');
		eval(formName).value = '';
		eval(formName).focus();
		return false;
	}
	// Now lets do the fun leap year calculation
	if (tmpMonth == 2 && tmpDate == 29)
	{
		if (Math.floor(tmpYear/4.0) == Math.ceil(tmpYear/4.0))
		{
			if ((Math.floor(tmpYear/100.0) == Math.ceil(tmpYear/100.0)) &&
			    (Math.floor(tmpYear/400.0) != Math.ceil(tmpYear/400.0)))
			{
				alert('Invalid Date.\n');
				eval(formName).focus();
				return false;
			}
		}
		else
		{
			alert('Invalid Date.\n');
			eval(formName).value = '';
			eval(formName).focus();
			return false;
		}
	}			

	if (bCheckPast == true)
	{
		var testDate = new Date(tmpYear, tmpMonth - 1, tmpDate, 23, 59, 59)
		var today = new Date()
	
		if (today > testDate)
		{
			if (!confirm('The date you entered is in the past.  Is this OK ?'))
			{
				eval(formName).value = '';
				eval(formName).focus();
				return false;
			}
		}
	}
		
	eval(formName).value = newString + tmpYear;
	return true;
}




//-------------------------------------------
function isNotDateBlank(value, name) {
  var month="";
  var day="";
  var year="";
  var tmp="";
  var status = "month";
  var pattern = /[a-z|A-Z]/;

	if (value == '')
		{
			return false;
		}
			

  for(i=0;i<value.length;i++) {
    c = value.charAt(i);
    if ((c != "-") && (c != "/")) {
       if (status == "month")
         if (month == "0") 
           month = c;
         else
           month += c;
       else if (status == "day") 
         if (day == "0") 
           day = c;
         else
           day += c;
       else if (status == "year")
       {
         if (month == "0") 
           year = c;
         else 
           year += c;
           
       }
    }
    else {
       if (status == "month")
         status = "day";
       else if (status == "day")
         status = "year";
    }
  }
  // check for double slashes (like the start of this comment)
  if (value.indexOf('//') != -1)
  {
     alert(name + " must be a valid date (MM/DD/YYYY).\n");
     return true;
  }
  else if (!((parseInt(month) > 0) && (parseInt(month) <= 12)) || (pattern.exec(month) != null)) {
     alert(name + " must be a valid date (MM/DD/YYYY).\n");
     return true;
  }
  else if (!((parseInt(day) > 0) && (parseInt(day) <= 31)) || (pattern.exec(day) != null)) {
     alert(name + " must be a valid date (MM/DD/YYYY).\n");
     return true;
  }
  else if (year.length < 2 || year.length > 4) {
     alert(name + " must be a valid date (MM/DD/YYYY).\n");
     return true;
  }
  else if (pattern.exec(year) != null) {
     alert(name + " must be a valid date (MM/DD/YYYY).\n");
     return true;
  }

  else return false;
}

function isNotNumBlank(value, name) {
  var pattern = /[0-9]|[-]/;

	if ( value == '')
		{
			return false;
		}

  for(i=0;i<value.length;i++) {
    c = value.charAt(i);
    if (pattern.exec(c) == null) {
       alert(name + " must contain only numeric values.\n");
       return true;
    }
  }
  return false;
}

function verifyDateOrder(strFirstDate, strSecondDate)
{
	var tmpMonth;
	var tmpDate;
	var tmpYear;
	var firstDate;
	var secondDate;
	
	if (strFirstDate == '' || strSecondDate == '')
	{
		return false;
	}
	
	//Parse first date string and make a date from it
	tmpMonth = strFirstDate.substring(0, strFirstDate.indexOf("/"))
	tmpDate = strFirstDate.substring(strFirstDate.indexOf("/") + 1, strFirstDate.lastIndexOf("/"))
	tmpYear = strFirstDate.substr(strFirstDate.lastIndexOf("/") + 1, strFirstDate.length);
	
	firstDate = new Date(tmpYear, tmpMonth - 1, tmpDate, 23, 59, 59)
	
	//Parse second date string and make a date from it
	tmpMonth = strSecondDate.substring(0, strSecondDate.indexOf("/"))
	tmpDate = strSecondDate.substring(strSecondDate.indexOf("/") + 1, strSecondDate.lastIndexOf("/"))
	tmpYear = strSecondDate.substr(strSecondDate.lastIndexOf("/") + 1, strSecondDate.length);
	
	secondDate = new Date(tmpYear, tmpMonth - 1, tmpDate, 23, 59, 59)
	
	if (firstDate > secondDate)
	{
		return false;
	}
	
	return true;
}

function verifyNum(value, formfield, name)
{
	if (isNotNumBlank(value, name))
	{
		eval(formfield).focus();
	}
}

//-------------------------------------------
function isNotRealBlank(value, name) {
  var pattern = /[0-9]|[.]/;
  var j = 0;
	if ( value == '')
		{
			return false;
		}
	
	if (value.length == 1 && value=="." )
		{	 alert(name + " must contain only decimal values.\n");
			return true;
		}
	for(i=0;i<value.length;i++) {
		c = value.charAt(i);
		if (c == ".") {
			j = j + 1;
		 } 
	} 
	if (j > 1) {
	 alert(name + " must contain only decimal values.\n");
	 return true;
	} 
  for(i=0;i<value.length;i++) {
    c = value.charAt(i);
    if (pattern.exec(c) == null) {
       alert(name + " must contain only decimal values.\n");
       return true;
    }
  }
  return false;
}

function verifyReal(value, formfield, name)
{
	if (isNotRealBlank(value, name))
	{
		eval(formfield).focus();
	}
}

function isNotMoneyBlank(value, name) {
  var pattern = /[0-9]|[.,$]/;
  var j=0;
  if (value == '')
	{
		return false;
	}

if (value.length == 1 && value=="." )
		{	 alert(name + " must contain only currency values.\n");
			return true;
		}
	for(i=0;i<value.length;i++) {
		c = value.charAt(i);
		if (c == ".") {
			j = j + 1;
		 } 
	} 
	if (j > 1) {
	 alert(name + " must contain only currency values.\n");
	 return true;
	} 
  for(i=0;i<value.length;i++) {
    c = value.charAt(i);
    if (pattern.exec(c) == null) {
       alert(name + " must contain only currency values.\n");
       return true;
    }
  }
  return false;
}

function verifyMoney(value, formfield, name)
{
	if (isNotMoneyBlank(value, name))
	{
		eval(formfield).focus();
	}
	else {
		value = value.replace(/,/g,"")
		eval(formfield).value = value
	 }
}

// return a number formatted with a specified number of
// decimal places.
function format(expr,decplaces)
{
	if(expr == '')
	{
		expr = 0
	}
	var str = "" + Math.round(eval(expr) * Math.pow(10,decplaces))
	
	while(str.length<=decplaces) {
		str="0" + str
	}
	
	var decpoint = str.length-decplaces
	return str.substring(0,decpoint) + "." + str.substring(decpoint,str.length);
}


function changeDateDisplayBlank(dateVal, formName)
{
	var strFieldName;
	if (formName == 'document.form1.startdate')
	{
		strFieldName = 'Project Start Date';
	}
	else if (formName == 'document.form1.estcompletedate')
	{
		strFieldName = 'Est. Completion Date';
	}
	else 
	{
		strFieldName = 'Requested Completion Date';
	}
	
//	if ((isNotDate(dateVal, strFieldName) == true)) 
//	{
//    return false;
//    }
	    
	var newString; 
	var tmpYear;
	newString = dateVal.substr(0,dateVal.lastIndexOf("/")) + "/" ;
	//alert(newString);
	tmpYear = dateVal.substr(dateVal.lastIndexOf("/") + 1, dateVal.length);
	//alert(tmpYear);
	if ((parseInt(tmpYear) >= 1900))
	{
		eval(formName).value = newString + tmpYear ;
	}
	else if (parseInt(tmpYear) < 100 && parseInt(tmpYear) > 80 )
		eval(formName).value = newString + "19" + tmpYear ;
	else if (parseInt(tmpYear) <= 80 )
		eval(formName).value = newString + "20" + tmpYear ;
	else 
		//eval(formName).value = newString + "2" + tmpYear ;
		eval(formName).value = '';
	return true;
}

//remove any leading or trailing spaces
function trim(strvalue)
{
	var i;
	var instring;
	var outstring;
	
	// strip off leading spaces
	instring = strvalue;
	i = 0;
	while(i < instring.length && instring.charCodeAt(i) == 32)
	{
		i++;
	}
	outstring = instring.substr(i);

	// strip off trailing spaces
	instring = outstring;
	i = instring.length - 1;
	while(i > -1 && instring.charCodeAt(i) == 32)
	{
		i--;
	}
	
	outstring = instring.substr(0, i + 1);
	
	return(outstring);
}

function checkIt(textbox,e,index) 
{
	var charCode = (navigator.appName == "Netscape") ? e.which : e.keyCode;

	status = charCode; // see ASCII character value!
			
	if(charCode == 13)
	{
		return false;
	}

	if(charCode == 46) 
	{
			return false;			//already one period, throw away this one
	}			
	/*if(charCode == 46) 
	{
		if(textbox.value.indexOf(".") != -1) 
		{
			return false;			//already one period, throw away this one
		} 
		else 
		{
			return true;
		}
	}*/
			
	if (charCode > 31 && (charCode < 48 || charCode > 57)) 
	{
		//alert("Please make sure entries are numbers only.")
		return false;
	}
	return true;
}

function checkDecimal(textbox,e,index) 
{
	var charCode = (navigator.appName == "Netscape") ? e.which : e.keyCode;

	status = charCode; // see ASCII character value!
			
	if(charCode == 13)
	{
		return false;
	}

	if(charCode == 46) 
	{
		if(textbox.value.indexOf(".") != -1) 
		{
			return false;			//already one period, throw away this one
		} 
		else 
		{
			return true;
		}
	}
			
	if (charCode > 31 && (charCode < 48 || charCode > 57)) 
	{
		//alert("Please make sure entries are numbers only.")
		return false;
	}
	return true;
}


function CheckEmpty(mObj,mName,mLabel)
{

	if ((mObj.value == "") || (mObj.value <= 0))
	{
		if(document.all) {
		document.all[mLabel].style.color='#ff0000';			
		}
		Errmsg = Errmsg + mName + ' must have a value \n';
		if (!(Emptyflag))
		{
			Errfocusobj = mObj;
			Emptyflag = true;
		}
		return true;		
	}	
	else
	{
		if(document.all) {
		document.all[mLabel].style.color='#000000';	
		}		
	}
	return false;
}

function CheckEmptyCustom(mObj,mName,mLabel,mCustomMessage)
{

	if ((mObj.value == "") || (mObj.value <= 0))
	{
		if(document.all) {
		document.all[mLabel].style.color='#ff0000';			
		}
		Errmsg = Errmsg + mCustomMessage + '. \n';
		if (!(Emptyflag))
		{
			Errfocusobj = mObj;
			Emptyflag = true;
		}
		return true;		
	}	
	else
	{
			if(document.all) {
				document.all[mLabel].style.color='#000000';		
			}	
	}
	return false;
}

function ChangeImage(mImgName)
{
	var myimg = document.all[mImgName].src;
	myimg = myimg.replace('.gif','--.gif');
	document.all[mImgName].src = myimg;
}

function checkNegative(textbox,e,index) 
{
	var charCode = (navigator.appName == "Netscape") ? e.which : e.keyCode;

	status = charCode; // see ASCII character value!
	if(charCode == 13)
	{
		return false;
	}

	if(charCode == 46) 
	{
		if(textbox.value.indexOf(".") != -1) 
		{
			return false;			//already one period, throw away this one
		} 
		else 
		{
			return true;
		}
	}
	if(charCode == 45)   //get one negative char
	{
		if(textbox.value.indexOf("-") != -1) 
		{
			return false;			//already negative char, throw away this one
		} 
		else 
		{
			return true;
		}
	}

			
	if (charCode > 31 && (charCode < 48 || charCode > 57)) 
	{
		//alert("Please make sure entries are numbers only.")
		return false;
	}
	return true;
}


	function outputComma(number)
	{
		number = '' + number
		if (number.length > 3) 
		{
		    var mod = number.length%3;
		    var output = (mod > 0 ? (number.substring(0,mod)) : '');
		    for (i=0 ; i < Math.floor(number.length/3) ; i++) {
		        if ((mod ==0) && (i ==0))
		            output+= number.substring(mod+3*i,mod+3*i+3);
		        else
		            output+= ',' + number.substring(mod+3*i,mod+3*i+3);
		    }
		    return (output);
		}
	    else return number;
	}

	function Roundto5(mstr1)
	{
		
		var mv= mstr1 % 10 ;
		/*if (mv < 5 )
			mstr1 = (mstr1-0) - mv;
		if (mv > 5)
			mstr1 = (mstr1-0) + (10 - mv);*/
			
		if (mv <= 3 )
			mstr1 = (mstr1-0) - mv;
		else	
			if (mv <= 5 )
				mstr1 = (mstr1-0) + ( 5 - mv );			
			else	
				if (mv <= 8 )
					mstr1 = (mstr1-0) - ( mv - 5 );
				else	
					if (mv <= 10)
						mstr1 = (mstr1-0) + (10 - mv);
		
		
		return mstr1;
	}

function checkMoney(textbox,e,index) 
{
	var charCode = (navigator.appName == "Netscape") ? e.which : e.keyCode;

	status = charCode; // see ASCII character value!
	if(charCode == 13)
	{
		return false;
	}

	if(charCode == 46) 
	{
		if(textbox.value.indexOf(".") != -1) 
		{
			return false;			//already one period, throw away this one
		} 
		else 
		{
			return true;
		}
	}
	if(charCode == 44) 
		return true;

	if(charCode == 36)   //$  - money
	{
		if(textbox.value.indexOf("$") != -1) 
		{
			return false;			//already one $ char, throw away this one
		} 
		else 
		{
			return true;
		}
	}
			
	if (charCode > 31 && (charCode < 48 || charCode > 57)) 
	{
		//alert("Please make sure entries are numbers only.")
		return false;
	}
	return true;
}

function round(number,X) {
// rounds number to X decimal places, defaults to 2
    X = (!X ? 2 : X);
    return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}

function isEmail(mObj,mName,mLabel) {
	var string=mObj.value;
	if ((string != ""))
	{
		if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) {
			if(document.all) {
				document.all[mLabel].style.color='#000000';		
			}	
		}
		else
	    {
			if(document.all) {
				document.all[mLabel].style.color='#ff0000';		
			}	
			Errmsg = Errmsg + mName + ' is not Valid. Valid format is joesmith@aol.com .\n';
			if (!(Emptyflag))
			{
				Errfocusobj = mObj;
				Emptyflag = true;
			}
			return true;		
		}
		return false;
	}
}

function isEmailCustom(mObj,mName,mLabel, mCustomMessage) {
	var string=mObj.value;
	if ((string != ""))
	{
		if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1){
			if(document.all) {
				document.all[mLabel].style.color='#000000';		
			}	
		}
		else
	    {
			if(document.all) {
				document.all[mLabel].style.color='#ff0000';			
			}
			Errmsg = Errmsg + mCustomMessage + '. \n';
			if (!(Emptyflag))
			{
				Errfocusobj = mObj;
				Emptyflag = true;
			}
			return true;		
		}
		return false;
	}
}

function isValidSNo(mObj,mName,mLabel, mType, mCustomMessage) {

	var string=mObj.value;
	var regexp;
	switch (mType )
	{
	case 'Rio Cali':  
	regexp = /^[0-5][0-9][3-5][0][2-3][0][0][0][0-9][0-9][0-9][0-9][0-9]$/;
	break;
	case 'Rio Chiba':  
	regexp = /^[0-5][0-9][3-5][0][4-5][0][0][0][0-9][0-9][0-9][0-9][0-9]$/;
	break;
	case 'Rio Fuse':  
	regexp = /^[0-5][0-9][3-5][0][6][0][0][0][0-9][0-9][0-9][0-9][0-9]$/;
	break;
	case 'Rio Karma':  
	regexp = /^[0-5][0-9][3-5][0][0][0][0][0][0-9][0-9][0-9][0-9][0-9]$/;
	break;
	case 'Rio Nitrus':  
	regexp = /^[0-5][0-9][3-5][0][0-9][0][0][0-1][0-9][0-9][0-9][0-9][0-9]$/;
	break;
	case 'Rio Eigen':  
	regexp = /^[0-5][0-9][3-5][0][0-9][0][0][0][0-9][0-9][0-9][0-9][0-9]$/;
	break;
	case 'Rio S10':  
	regexp = /^[0-5][0-9][2-5][4][4-6][0][0][0-4][0-9][0-9][0-9][0-9][0-9]$/;
	break;
	case 'Rio S50':  
	regexp = /^[0-5][0-9][2-5][4-6][4-6][0][0-1][0-1][0-9][0-9][0-9][0-9][0-9]$/;
	break;
	case 'RioSPORT S35S':  
	regexp = /^[0-5][0-9][2-5][4][4-6][0][0][0-2][0-9][0-9][0-9][0-9][0-9]$/;
	break;
	case 'RioSPORT S30S':  
	regexp = /^[0-5][0-9][2-5][4][4-6][0][0][0-3][0-9][0-9][0-9][0-9][0-9]$/;
	break;
	case 'Rio Carbon':  
	regexp = /^[0-5][0-9][4-6][0][0-5][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$/;
	break;
	case 'Rio Forge':  
	regexp = /^[0-5][0-9][4-6][0][0-2][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$/;
	break;
	}
	if ((string != ""))
	{
		if (string.replace(/ /g,"").search(regexp) != -1)
		{
			if(document.all) {
				document.all[mLabel].style.color='#000000';		
			}	
		}
		else
	    {
			if(document.all) {
				document.all[mLabel].style.color='#ff0000';			
			}
			Errmsg = Errmsg +  mCustomMessage + '. \n';
			if (!(Emptyflag))
			{
				Errfocusobj = mObj;
				Emptyflag = true;
			}
			return true;		
		}
		return false;
	}
}


function isPhone(mObj, mValue,mName,mLabel)
{
	var pattern = /[0-9]|[-]/;
	if (mValue.length != 10)
	{
		if(document.all) {
			document.all[mLabel].style.color='#ff0000';		
		}	
		Errmsg = Errmsg + mName + ' is not Valid. Valid format is (xxx) xxx-xxxx\n';
		if (!(Emptyflag))
		{
			Errfocusobj = mObj;
			Emptyflag = true;
		}
		return true;		
	}

	for(i=0;i<mValue.length;i++) 
	{
		c = mValue.charAt(i);
		if (pattern.exec(c) == null) 
		{
			Errmsg = Errmsg + mName + " must contain only numeric values\n";
			if (!(Emptyflag))
			{
				Errfocusobj = mObj;
				Emptyflag = true;
			}
			return true;		
		}
	}
	if(document.all) {
		document.all[mLabel].style.color='#000000';		
	}	
	return false;
}
