	//////////////******* Developed general Form validation for 'TCG software services' *********/////////
						//** Before used read annotation of following jScript file  **//
/*
	@'num', parameter checks the form number in user current document, starting form '0'.
	@ Two 'for' loop is used for 
		-- First one checks the not blank field data
		-- Second one checks the numeric/string data
	@ Always give name for string field as prefix by 'str' and numeric field as 'num'.
	@ After, the following function checks by using require logic.
	@In this new '1.1' version this function has changed with allow some character may be used in paragraph.
*/
function checkForm(num){
	var msg="";
	var msg1="";
	var flag=0;
	/*------ Checks for blank field data ------*/
	for(var i=0;i<document.forms[num].elements.length;i++)
	{
			if(document.forms[num].elements[i].value=="")
			{
				var srcStr=document.forms[num].elements[i].name;
				var srcNum=document.forms[num].elements[i].name;
				var srcNumValue=document.forms[num].elements[i].value;
				var posS=srcStr.search("str");
				var posN=srcStr.search("num");
				//alert(srcStrValue);
				//var len=pos+3;
				//alert("Position of str"+pos);
				if(posS!=-1)
				{
					var actualS=srcStr.replace('str','');
					msg=msg+"Can't blank "+actualS+'\n';
				}
				if(posN!=-1)
				{
					var actualN=srcStr.replace('num','');
					msg=msg+"Can't blank "+actualN+'\n';
				}
			}
	}
	
	/*------ Checks for Email data ------*/
	for(var i=0;i<document.forms[num].elements.length;i++)
	{
			var srcEmail=document.forms[num].elements[i].name;
			var posE=srcEmail.search("@");

			if(posE!=-1)
			{
				var actualE=srcEmail.replace('@','');
				var srcEmailValue=document.forms[num].elements[i].value;
				if(srcEmailValue!="")
				{
					for(i=0;i<srcEmailValue.length;i++)
					{
						if(srcEmailValue.charAt(i)=='@')
						{
							flag=1;
						}
						if(srcEmailValue.charAt(i)=='.')
						{
							flag=flag+1;
						}
					}
					if(flag<2)
					{
						msg=msg+"Please enter a valid email for"+actualE+'\n';
					}
				}
				if(srcEmailValue=="")
				{
					msg=msg+"Can't blank for "+actualE+'\n';
				}
			}
	}
	/*------ Checks for combo list data ------*/
	var cmbExists=0;
	var flag0=0;
	for(var i=0;i<document.forms[num].elements.length;i++)
	{
			var srcList=document.forms[num].elements[i].name;
			var posC=srcList.search("cmb");

			if(posC!=-1)
			{
				cmbExists=1;
				var actualC=srcList.replace('cmb','');
				var srcComboValue=document.forms[num].elements[i].value;
				//alert("List value.."+srcComboValue);
				if(srcComboValue=='0' && cmbExists==1)
				{
					msg=msg+"Can't blank for "+actualC+'\n';
				}
			}
	}
	/*------ Checks for radio option data ------*/
	var flag1=0;
	var radExists=0;
	for(var i=0;i<document.forms[num].elements.length;i++)
	{
			var srcRad=document.forms[num].elements[i].name;
			var posR=srcRad.search("rad");

		if(posR!=-1)
		{
			radExists=1;
			var actualR=srcRad.replace('rad','');
			//for(int k=0;k<document.forms[num].elements[i].length;k++)
			//{
				if(document.forms[num].elements[i].checked)
				{
						flag1=flag1+1;
						//alert(document.forms[num].elements[i].checked);
				}	
			//}
		}
	}
	if(flag1==0 && radExists==1)
	{
		msg=msg+"Can't blank for "+actualR+'\n';		
	}
	/*------ Checks for checkbox data ------*/
	var flag2=0;
	var chkExists=0;
	for(var i=0;i<document.forms[num].elements.length;i++)
	{
			var srcChk=document.forms[num].elements[i].name;
			var posC=srcChk.search("chk");

		if(posC!=-1)
		{
			chkExists=1;
			var actualC=srcChk.replace('chk','');
			//for(int k=0;k<document.forms[num].elements[i].length;k++)
			//{
				if(document.forms[num].elements[i].checked)
				{
						flag2=flag2+1;
						//alert(document.forms[num].elements[i].checked);
				}	
			//}
		}
	}
	if(flag2==0 && chkExists==1)
	{
		msg=msg+"Can't blank for "+actualC+'\n';		
	}			
	/*------ Checks for string,numeric data ------*/
	for(var i=0;i<document.forms[num].elements.length;i++)
	{
			var srcStr=document.forms[num].elements[i].name;
			var srcNum=document.forms[num].elements[i].name;
			var posS=srcStr.search("str");
			var posN=srcNum.search("num");

			if(posS!=-1)
			{
				var actualS=srcStr.replace('str','');
				var srcStrValue=document.forms[num].elements[i].value;
				if(IsNumeric(srcStrValue)==true )
				//|| isEmpty(srcStrValue)==true
				{
					msg=msg+"Please enter String data for "+actualS+'\n';
				}
				if(srcStrValue.length>0)
				{
					if(isAlpha(srcStrValue)==false || isNotAlpha(srcStrValue)==true)
					{
						msg=msg+"Please enter Alphabetic for "+actualS+'\n';
					}
					//if(isNotAlpha(srcStrValue)==true)
					//{
						//msg=msg+"Please enter Alphabetic for 1 "+actualS+'\n';
					//}
					//if(isSpace(srcStrValue)==true)
					//{
						//msg=msg+"Please enter without space for "+actualS+'\n';
					//}
				}
			}
			if(posN!=-1)
			{
				var actualN=srcNum.replace('num','');
				var srcNumValue=document.forms[num].elements[i].value;

				if(srcNumValue.length>0 && srcNumValue>=0)
				{
					if(IsNumeric(srcNumValue)==false)
					{
						msg=msg+"Please enter Numeric data for "+actualN+'\n';
					}
				}
				else
				{
						msg=msg+"Invalid value for "+actualN+'\n';
				}
			}
	}
			if(msg=="")
			{
				return true;
			}
			else
			{
				alert(msg);
				//alert(msg1);
				return false;
			}
}
function isNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}
function isHypen(text)
{
	var isHypen=false;
	var number=new Array('-');
	
		for(var p=0;p<text.length;p++)
		{
			for(var k=0;k<number.length;k++)
			{
				if(text.charAt(p)==number[k])
				{
						isHypen=true;
				}
			}
		}
		return isHypen;


}
function isAlpha(text)
{
	/* In this new '1.1' version this function has changed with allow some character
		may be used in paragraph.
	*/
	var isAlpha=false;
	var alpha=new Array('A','B','C','D','E','F','G','H','I','J',
						'K','L','M','N','O','P','Q','R','S','T',
						'U','V','W','X','Y','Z','a','b','c','d',
						'e','f','g','h','i','j','k','l','m','n',
						'n','o','p','q','r','s','t','u','v','w',
						'x','y','z','.',',',':');
	if(text.length>0)
	{
		for(var p=0;p<text.length;p++)
		{
			for(var k=0;k<alpha.length;k++)
			{
				//alert(alpha[k]+" "+text.charAt(p));
				if(text.charAt(p)==alpha[k])
				{
						isAlpha=true;
				}
			}
		}
		
	}
	return isAlpha;
}
	
function isNotAlpha(text)
{
	var isNotAlpha=false;
	var Notalpha=new Array('!','@','$','%','^','&','*','(',')','{',
						'}','[',']','"',';',':','<','>','/',
						'?','~','`',"'",'|','#');
	if(text.length>0)
	{
		for(var p=0;p<text.length;p++)
		{
			for(var k=0;k<Notalpha.length;k++)
			{
				//alert(alpha[k]+" "+text.charAt(p));
				if(text.charAt(p)==Notalpha[k])
				{
						isNotAlpha=true;
				}
			}
		}
	}
	return isNotAlpha;
}

function isNotEmail(text)
{
	var isNotPass=false;
	var Notalpha=new Array('!','@','$','%','^','&','*','(',')','{',
						'}','[',']','"',';',':','<','>','/',
						'?','~','`',"'",'|','#');
	if(text.length>0)
	{
		for(var p=0;p<text.length;p++)
		{
			for(var k=0;k<Notalpha.length;k++)
			{
				//alert(alpha[k]+" "+text.charAt(p));
				if(text.charAt(p)==Notalpha[k])
				{
						isNotPass=true;
				}
			}
		}
	}
	return isNotPass;
}


function isSpaceBeg(text)
{
		var isSpace=false;
		if(text.length>0)
		{
			for(var i=0;i<text.length;i++)
			{
				if(text.charAt(0)==" ")
				{
					isSpace=true;
				}
			}
		}
	return isSpace;
}

	
function isSpace(text)
{
		var space=0;
		var sspace=0;
		var isSpace=false;
		if(text.length>0)
		{
			for(var i=0;i<text.length;i++)
			{
				if(text.charAt(i)==" ")
				{
					sspace=sspace+1;
					if(sspace>1)
					{
						space=space+1;
					}	
				}
				if(text.charAt(0)==" ")
				{
					sspace=3;
					space=1;
				}
			}
			if(sspace>=3 && space>0)
			{
				isSpace=true;
			}
			else
			{
				isSpace=false;
			}
		}
	return isSpace;
}

function IsNumeric(text)
{
	var isNumeric=false;
	var number=new Array('0','1','2','3','4','5','6','7','8','9','-');
	
		for(var p=0;p<text.length;p++)
		{
			for(var k=0;k<number.length;k++)
			{
				if(text.charAt(p)==number[k])
				{
						isNumeric=true;
				}
			}
		}
		return isNumeric;
}



function checkCap(text,c){
	var caps=true;
	var alpha=new Array('A','B','C','D','E','F','G','H','I','J',
						'K','L','M','N','O','P','Q','R','S','T',
						'U','V','W','X','Y','Z');

		for(var k=0;k<alpha.length;k++)
		{
			//alert('value '+c);
			
	  	  if(alpha[k]==c)
		  {
					//break;
		  }
		  else
			{
				caps=false;
				//break;
			}	
		}
	return caps;	
}



