var flag;
var type;

// is a number
function isInteger(pfield,pfieldName,pfieldfocus)
{
	thisNumber = new Number(pfield);
	if (pfield != Math.floor(thisNumber))
	{
		alert(pfieldName+ " should be an Integer");
		//eval("document.form1."+pfieldfocus+".focus()");
		return false;
	}

	if (pfield.substring(0,1)==' ')
	{
		alert(pfieldName+ " should be an Integer");
		//eval("document.form1."+pfieldfocus+".focus()");
		return false;
	}
	
	if (pfield <= 0 ) 
	{
		alert(pfieldName+ " cannot be zero/negative..Please enter a valid value");
		//eval("document.form1."+pfieldfocus+".focus()");
		return false;
	}
	return true;
}


function isNotEmpty(pfield, pfieldName, pfieldfocus)
{
	if (pfield == "")
	{
		alert("The " + pfieldName + " field is empty. Please enter the " + pfieldName + ".");
		//eval("document.form1."+pfieldfocus+".focus()"); 
		return false;
	}
  
	for (var i=0;i < pfield.length;i++)
	{
		if (pfield.substring(i,i+1) != " ")
		{
			return true;
		}
	}
	alert("The " + pfieldName + " field is empty. Please enter the " + pfieldName + ".");
	//eval("document.form1."+pfieldfocus+".focus()");
	return false;
}


function isValidDay(pselectedYear,pselectedMonth,pselectedDay,pfieldName)
{
	var daysInMonth;
	daysInMonth = "312831303130313130313031";
	if ((pselectedYear%400== 0) || ((pselectedYear%4 == 0) && pselectedYear%100 !=0))
	    daysInMonth = "312931303130313130313031";  
	if (pselectedMonth != 0)
	{
		if (pselectedDay > daysInMonth.substring(2*(pselectedMonth-1),(2*(pselectedMonth-1))+2))
		{
			alert ("The "+ pfieldName + " field is entered wrongly (the day field value \nexceeds the number of days for the month entered).");
			return false;
		}
	}
	return true;
}


//Date Comparison Validator

function isDate(pselectedYear,pselectedMonth,pselectedDay,pfieldName)
{
	var curYear,curMonth,curDay;
	if (isValidDay(pselectedYear,pselectedMonth,pselectedDay,pfieldName))
	{
		return true; 
	}
	return false;
}

function isDateFormat(field1,pfieldname,pfieldfocus)
{
	var plen = field1.length;
	var pActlen;
	var field = "";	
	pActlen = 0;
	plen = parseInt(plen);
	for (var i=0; i < plen; i++)
	{	
	  if (field1.charAt(i) != " ")
	  {
		field = field + field1.charAt(i);
		pActlen = pActlen + 1;
	  }
	}


	
	if ((pActlen > 10) || (pActlen < 10))
	{
		alert("The "+ pfieldname +" entered should be in 'dd/mm/yyyy' format");
		//eval("document.form1."+pfieldfocus+".focus()");
		return false;
	}
	else
	{
		var pfirstInd = field.indexOf("/"); // first index of "/"
		var plastInd = field.lastIndexOf("/"); // last index of "/"
		pfirstInd = parseInt(pfirstInd);
		plastInd = parseInt(plastInd);
		if  ((pfirstInd == 2) && (plastInd == 5))
		{
			var pselectedDay = field.substring(0,2);
			if (isNaN(pselectedDay) || pselectedDay=="00")
			{
				alert("Day entered for "+ pfieldname +"  should be a non zero number");
				//eval("document.form1."+pfieldfocus+".focus()");
				return false;
			}

			var pselectedMon = field.substring(3,5);
			if (isNaN(pselectedMon) || pselectedMon=="00")
			{
				alert("Month entered for "+ pfieldname +" should be a non zero number");
				//eval("document.form1."+pfieldfocus+".focus()");
				return false;
			}
			else if (pselectedMon > 12)
			{
				alert("Month entered for "+ pfieldname +" should be valid");
				//eval("document.form1."+pfieldfocus+".focus()");
				return false;
			}
			
			var pselectedYear = field.substring(6,10);
			if (isNaN(pselectedYear) || pselectedYear=="0000")
			{
				alert("Year entered for "+ pfieldname +" should be a non zero number");
				//eval("document.form1."+pfieldfocus+".focus()");
				return false;
			}

			if (isDate(pselectedYear,pselectedMon,pselectedDay,pfieldname))
			{
				return true;		
			}
		}
		else
		{
			alert("The "+ pfieldname +"  entered should be in 'dd/mm/yyyy' format");				
			//eval("document.form1."+pfieldfocus+".focus()");
			return false;
		}
		//eval("document.form1."+pfieldfocus+".focus()");	
 		return false;
	}
}

//Number Validator
function isPositive(field,fieldName)
{
	thisNumber = new Number(field);
	if (isNaN(field))
	{
		alert("The " +fieldName+ " should be a number");	
		return false;
	}
	if (field <= 0 ) 
	{
		alert(fieldName+ " cannot be negative or zero. Please enter a valid value");
		return false;
	}
	return true;
}

//email validator
function isValidEmail(pfield)
{
	if(pfield == "")
	{
		alert("Please enter a valid Email address.");
		return false;
	}
	if ( (pfield != "") && ((pfield.indexOf("@")==-1) ||(pfield.indexOf(".")==-1)))
	{
		alert ("Please enter a valid Email address.");
		return false;
	}
	return true;
}

