var formname = '';
var plsWait = '';

function setPleaseWait(setPleaseWait)
{
	plsWait = setPleaseWait;
}

function setFormName(checkFormName)
{
	formname = checkFormName;
}

function checkThisForm(submitbutton, errors)
{
	if (errors == '') 
	{
		if(plsWait=='1')
		{
			pleaseWait();
		}
		eval('document.'+formname+'.submit()');
	}
	else 
	{
		errors = 'The following error(s) occurred: \n\n' + errors;
		alert(errors);
	}
}

function checkText(formname, textboxname, displaytext)
{
	if(Trim(eval('document.'+formname+'.'+textboxname+'.value'))=='')
	{
		return '- '+displaytext+' is Required.\n';
	}
	else return '';
}

function checkNum(formname, textboxname, displaytext)
{
	if(isNaN(eval('document.'+formname+'.'+textboxname+'.value')))
	{
		return '- '+displaytext+' should be a number with no spaces.\n';
	}
	else return '';
}

function isNum(num)
{
	return !isNaN(num);
}

function checkLength(formname, fieldName, sizeallowed, displaytext)
{
	var textinfield = eval('document.'+formname+'.'+fieldName+'.value');
	if (textinfield.length > sizeallowed)
	{
		return '- '+displaytext+' can only be upto '+sizeallowed+' characters.\n';
	}		
	else return '';
}

function errBox(obj)
{
	obj.style.background='pink';
}

function clearErrBox(obj)
{
	obj.style.background='';
}

function checkSelect(selectboxname, displaytext)
{
	var selObj = eval('document.'+formname+'.'+selectboxname);
	if(!selObj)
	{
		return '- '+selectboxname+' does not exist.\n';
	}
	else if(selObj.selectedIndex==0)
	{
		selObj.style.background='pink';
		return '- '+displaytext+' is required.\n';
	}
	else
	{
		selObj.style.background='';
		return '';
	}
}

function Trim(s) 
{
  while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
  {
    s = s.substring(1,s.length);
  }
  while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
  {
    s = s.substring(0,s.length-1);
  }
  return s;
}

function checkField(fieldname, displaytext, checkNumberOrNot, checkLengthOrNot, checkwhichlength)
{
	var fieldtype = (eval('document.'+formname+'.'+fieldname+'.type'));
	var localerror = '';
	if(fieldtype=='select-one') localerror+= checkSelect(formname, fieldname, displaytext);
	else if(fieldtype=='text' || fieldtype=='password' || fieldtype=='textarea')
	{
		localerror+= checkText(formname, fieldname, displaytext);
		if(localerror=='') 
		{
			if (checkNumberOrNot) localerror += checkNum(formname, fieldname, displaytext);
			if(checkLengthOrNot) localerror += checkLength(formname, fieldname, checkwhichlength, displaytext);
		}
	}
	return localerror;
}

function colorFields()
{
	args=colorFields.arguments;
//	document.getElementById(args[0]).;
}
<!--
/*
Usage --> 
not required, but number -> MM_validateForm('t1','','NisNum', 'displaytext');
not required, but number in range -> MM_validateForm('t1','','NinRange1:100', 'displaytext');
required, number -> MM_validateForm('t1','','RisNum', 'displaytext');
required, number in range -> MM_validateForm('t1','','RinRange0:100', 'displaytext');
required, anything -> MM_validateForm('t1','','R', 'displaytext');
required, email -> MM_validateForm('t1','','RisEmail', 'displaytext');
not required, email -> MM_validateForm('t1','','NisEmail', 'displaytext');
*/
function MM_validateForm() 
{ //v4.0
  if (document.getElementById)
  {
	var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=4) 
	{ 
		test=args[i+2]; val=document.getElementById(args[i]);
      	if (val)
		{
			val.value=Trim(val.value);
			nm=val.name;
			if ((val=val.value)!="")
			{
        		if (test.indexOf('isEmail')!=-1) 
				{
					p=val.indexOf('@');
          			if (p<1 || p==(val.length-1)) errors += '- '+args[i+3]+' must contain an e-mail address.\n';
		        }
				else if (test!='R') 
				{
					num = parseFloat(val);
          			if (isNaN(val)) errors +='- '+args[i+3]+' must contain a number.\n';
          			if (test.indexOf('exclRange') != -1) //exclusive range
					{
						p=test.indexOf(':');
						if(test.indexOf('W')!=-1) 
						{
							min=test.substring(11,p); 
							errors += checkWholeNum(num, args[i+3]);
						}
						else min=test.substring(10,p);
						max=test.substring(p+1);
						if(min=='')
						{
							if(max==''){/* ???? */}
							else
							{
								if (num >= max) errors += '- '+args[i+3]+' must contain a number less than '+max+'.\n';
							}
						}
						else if (max=='')
						{
							if (num <= min) errors += '- '+args[i+3]+' must contain a number greater than '+min+'.\n';	
						}
						else
						{
            				if (num<=min||num>=max)errors+='- '+args[i+3]+' must contain a number between '+min+' and '+max+'.\n';
						}
      				}//end if in range
          			else if (test.indexOf('inclRange') != -1) 
					{
						p=test.indexOf(':');
						if(test.indexOf('W')!=-1) 
						{
							min=test.substring(11,p); 
							errors += checkWholeNum(num, args[i+3]);
						}
						else min=test.substring(10,p);
						max=test.substring(p+1);
						if(min=='')
						{
							if(max==''){/* ???? */}
							else
							{
								if (num > max) errors += '- '+args[i+3]+' must contain a number less than or equal to '+max+'.\n';
							}
						}
						else if (max=='')
						{
							if (num<min) errors += '- '+args[i+3]+' must contain a number greater than or equal to '+min+'.\n';	
						}
						else
						{
            				if (num<min||max<num) errors += '- '+args[i+3]+' must contain a number between '+min+' and '+max+'.\n';
						}
      				}//end if in range
				}//end else if R
			}//end val=val.value
			else if (test.charAt(0) == 'R') errors += '- '+args[i+3]+' is required.\n'; 
		}//end if val
		if(errors != '')
		{
			if(document.getElementById(args[i])) document.getElementById(args[i]).style.background='pink';
		}
		else
		{
			if(document.getElementById(args[i])) document.getElementById(args[i]).style.background='';
		}
    }//end for
	}//if (document.getElementById)
	else alert('Field '+args[i]+' does not exist!');
	return errors;
}//end function
//-->

function checkWholeNum(txt, paramName)
{
	if(parseFloat(txt)!=parseInt(txt)) return '- '+paramName	+' must contain a whole number.\n';
	else return '';
}

function formatNumber(myNum, numOfDec)
{
	var floatNum = parseFloat(myNum);
	if(floatNum.toFixed)
	 return floatNum.toFixed(numOfDec);
	else return myNum;
/*	var myNumInt = parseFloat(myNum+'');
	if(numOfDec=='0') return Math.round(myNumInt);
	var multiplier = Math.pow(10, numOfDec);
	var myFormattedNum = (Math.round(myNum * multiplier)/multiplier).toFixed(numOfDec);
	return(myFormattedNum);*/
}


