function validatefm(formnm,fieldnm,fieldalias,actiontype,maxchar,mendatory, defaultval)
	{
//	alert(formnm)
//	alert(fieldnm)
//	alert(fieldalias)
//	alert(actiontype)
	
	
	if(mendatory == 'R')
					{
					if((formnm[fieldnm].value) == defaultval)
						{
						alert("- " + fieldalias + " is required");
						formnm[fieldnm].focus();
						return false;
						}
					}
					
					
	switch (actiontype)
		  {
			
			case 'Num': 
					{ 

					if(isNaN(formnm[fieldnm].value))
						{
						alert("- " + fieldalias + " should be numeric.")
						formnm[fieldnm].focus();
						return false;
						}
					for (i = 0,cnt=0; i < formnm[fieldnm].value.length; i++)
						{   
							// Check that current character is number.
							var c = formnm[fieldnm].value.charAt(i);
							var ac = c.toString().charCodeAt(0);
							if(ac == 45 || ac == 43 || ac == 46)
								{
								alert("- " + fieldalias + " should be positive integer")
								formnm[fieldnm].focus();
								return false;
								}
							if(ac==32)
							{
							cnt++;
							}
							if(cnt==formnm[fieldnm].value.length)
							{
							alert("- " + fieldalias + " should not be blank.");
							//formnm[fieldnm].value='';
							formnm[fieldnm].focus();
							return false;
							}
						
						}			
					break
					}
			case 'Email':
					{
				
					if (formnm[fieldnm].value.length<6
					 || formnm[fieldnm].value.indexOf('@',0) == -1 || formnm[fieldnm].value.indexOf('.',0) == -1 || formnm[fieldnm].value.indexOf(' ',0) != -1)
								{
								alert("Invalid Email Address" )
								formnm[fieldnm].focus();
								return false;
								}
						
						var c = formnm[fieldnm].value.charAt(0);
						var ac = c.toString().charCodeAt(0);
						
						if(charonly(ac) == false)
							{
							alertmsg(formnm, fieldnm , "First charactor of " + fieldalias + " should be alphabet")
							return false;
							}
						
						
						var c = formnm[fieldnm].value.charAt(formnm[fieldnm].value.length-1);
						//alert(c)
						var ac = c.toString().charCodeAt(formnm[fieldnm].value.length-1);
						
						if(charonly(ac) == false)
							{
							alertmsg(formnm, fieldnm , "Invalid Email Address")
							return false;
							}
							
						/*if(ac < 65)
								{
								alertmsg(formnm, fieldnm , "First charactor of " + fieldalias + " should be alphabet")
								return false;
								}
								
						else
								{
								if(ac > 90 && ac < 97)
										{				
										alertmsg(formnm, fieldnm , "First charactor of " + fieldalias + " should be alphabet")
										return false;
										}
								else
									{
									if(ac > 122)
										{
										alertmsg(formnm, fieldnm , "First charactor of " + fieldalias + " should be alphabet")
										return false;
										}
									}
								//formnm[fieldnm].focus();
								//return false;
								}*/
								
						var posat = false
						//alert("fghf")
						for (i = 0; i < formnm[fieldnm].value.length; i++)
							{   
								// Check that current character is number.
								var c = formnm[fieldnm].value.charAt(i);
								var ac = c.toString().charCodeAt(0);
							
								
								/*if (ac  == 48 && posat == false)
									{
									alertmsg(formnm, fieldnm , "Invalid Email address")
									return false;
									}
								if(ac == 64)
									{
									posat = true;
									}
								else*/
									{
									if(ac < 48 && ac != 46 &&  ac != 95)
										{
										alertmsg(formnm, fieldnm , "Invalid Email address")
										return false;
										}
									else
										{
										if(ac > 57 && ac < 64 && ac != 46 &&  ac != 95)
											{
											alertmsg(formnm, fieldnm , "Invalid Email address")
											return false;
											}
										else
											{
											if(ac > 90 && ac < 97 && ac != 46 &&  ac != 95)
												{
												alertmsg(formnm, fieldnm , "Invalid Email address")
												return false;
												}
											else
												{
												if(ac > 123 && ac != 46 &&  ac != 95)
													{
													alertmsg(formnm, fieldnm , "Invalid Email address")
													return false;
													}
												}
											}
										} 
									}
							}
					break
					}
			case 'Text':
					{
					for (i = 0; i < formnm[fieldnm].value.length; i++)
							{   
								// Check that current character is number.
								var c = formnm[fieldnm].value.charAt(i);
								var ac = c.toString().charCodeAt(0);
								if(charonly(ac)== false)
									{
									if(ac != 32 && ac != 46)
										{
										alertmsg(formnm, fieldnm , "Invalid " + fieldalias )
										return false;
										}
									}
							}
					for (i = 0,cnt=0; i < formnm[fieldnm].value.length; i++)
						{   
							// Check that current character is number.
							var c = formnm[fieldnm].value.charAt(i);
							var ac = c.toString().charCodeAt(0);
							if(ac==32)
							{cnt++;
							}
							if(cnt==formnm[fieldnm].value.length)
							{
							alert("- " + fieldalias + " should not be blank.");
							//formnm[fieldnm].value='';
							formnm[fieldnm].focus();
							return false;
							}
						
						}					
					break
					}
			case 'Phone':
					{
					 for (i = 0; i < formnm[fieldnm].value.length; i++)
							{   
								// Check that current character is number.
								var c = formnm[fieldnm].value.charAt(i);
								var ac = c.toString().charCodeAt(0);
								if(charonly(ac)== true)
									{
									alertmsg(formnm, fieldnm , "Invalid " + fieldalias )
									return false;									
									}
								else
									{
									if(ac != 43  && ac != 45  && ac != 32)
										{
										if(ac < 48 || ac > 57)
											{
											alertmsg(formnm, fieldnm , "Invalid " + fieldalias )
											return false;
											}
										}
									}
							}
					for (i = 0,cnt=0; i < formnm[fieldnm].value.length; i++)
						{   
							// Check that current character is number.
							var c = formnm[fieldnm].value.charAt(i);
							var ac = c.toString().charCodeAt(0);
							if(ac==32)
							{cnt++;
							}
							if(cnt==formnm[fieldnm].value.length)
							{
							alert("- " + fieldalias + " should not be blank.");
							//formnm[fieldnm].value='';
							formnm[fieldnm].focus();
							return false;
							}
						
						}						
					break
					}
				
				case 'Radio':
					{					
					radiochk = false;
					
						for ( n = 0; n < formnm[fieldnm].length; n++ ) 
							{// Isolate the n'th radio button
							el =formnm[fieldnm][n];
							if (el.checked ) 
								radiochk = true;
							}
						
						if(radiochk ==  false)
							{
							alert("Select " + fieldalias )
							return false;
							}

					break
					}
				
				case 'Alpha':
					{
					for (i = 0; i < formnm[fieldnm].value.length; i++)
							{   
								// Check that current character is number.
								var c = formnm[fieldnm].value.charAt(i);
								var ac = c.toString().charCodeAt(0);
								if(charonly(ac) != true)
									{
									if(ac <48 || ac >57)
										{
										alertmsg(formnm, fieldnm , "Only Alphabets and Number are allowed in " + fieldalias )
										return false;									
										}
									}								
							}
				/*	for (i = 0,cnt=1; i < formnm[fieldnm].value.length; i++)
						{   
							// Check that current character is number.
							var c = formnm[fieldnm].value.charAt(i);
							var ac = c.toString().charCodeAt(0);
							if(ac==32)
							{cnt++;
							}
							if(cnt==formnm[fieldnm].value.length)
							{
							alert("- " + fieldalias + " should not be blank.");
							formnm[fieldnm].value='';
							formnm[fieldnm].focus();
							return false;
							}
						
						}*/					
					break
					}
					case 'Cdate': 
					{ 
						var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
						//alert('hello')
						//alert(defaultval);
								var dateExists = true;
								var b;
									b=defaultval;
									c=b.split("-");
								var day=c[0];
								var month=c[1];
								var year=c[2];
							
								if (year/4 == parseInt(year/4))
									monthLength[1] = 29;
							
								if (day > monthLength[month-1])
									dateExists = false;
							
								monthLength[1] = 28;
							
								//return = 'Date exists? ' + ((dateExists) ? 'true' : 'false') + '\n';
								if (!dateExists)
									{
									alert('You have entered an invalid date');
									return false;
									}
								else
								{
									//alert('You have entered an Valid date');
									return true;
								}
							
								var now = new Date();
								now = now.getTime(); //NN3
							
								var dateToCheck = new Date();
								dateToCheck.setYear(year);
								dateToCheck.setMonth(month-1);
								dateToCheck.setDate(day);
								var checkDate = dateToCheck.getTime();
							
							break
					}	
				case 'Cyear':
					{
						//alert('hello');
						//alert(fieldalias);
						var msg;
						msg1=fieldalias.split("~");
						msy1=msg1[0];
						msy2=msg1[1]
						var b;
						b=defaultval;
						c=b.split("-")
						y1=c[0];
						y2=c[1];
						
						if((eval(y1)<eval(y2)) || (y1==y2))
						{
							alert(msy1+" should be greater than "+msy2)
							formnm[fieldnm].focus();
							return false;									
							}
						break
					}
				case 'PYear':
					{
					if(isNaN(formnm[fieldnm].value))
						{
						alert("- " + fieldalias + " should be numeric.")
						formnm[fieldnm].focus();
						return false;
						}

					for (i = 0,cnt=0; i < formnm[fieldnm].value.length; i++)
						{   
							// Check that current character is number.
							var c = formnm[fieldnm].value.charAt(i);
							var ac = c.toString().charCodeAt(0);
							if(ac==32)
							{cnt++;
							}
							
							if(cnt==formnm[fieldnm].value.length )
							{
							alert("- " + fieldalias + " should not be blank.");
							//formnm[fieldnm].value='';
							formnm[fieldnm].focus();
							return false;
							}
							if(formnm[fieldnm].value.length<4 && cnt!=4)
							{
							alert("- " + fieldalias + " should be in YYYY format.");
							//formnm[fieldnm].value='';
							formnm[fieldnm].focus();
							return false;
							}
							else if(eval(formnm[fieldnm].value)<1900 || eval(formnm[fieldnm].value)>3000)
							{
							alert("Invalid Year");
							//formnm[fieldnm].value='';
							formnm[fieldnm].focus();
							return false;
							}
						}					
					today = new Date();   
				    year = today.getFullYear();
						if(formnm[fieldnm].value > year)
							{
							alert("- " + fieldalias + " should be less than Current Year.")
							formnm[fieldnm].focus();
							return false;
							}
				   
					break
					}				
			default :
					{					
							var c = formnm[fieldnm].value.charAt(0);
							var ac = c.toString().charCodeAt(0);
							if(ac == 32)
							{
							alert("- First Character of " + fieldalias + " should not be blank or space")
							formnm[fieldnm].focus();
							return false;
							}	
		 	break
					}  
		  }
		  
		if(maxchar > 0 )
			{
			if(formnm[fieldnm].value.length > maxchar)
				{
				alert("Maximum of " + maxchar + " are allowed for " + fieldalias + "\nYou had exceeded the limit.")
				formnm[fieldnm].focus();
				return false;
				}
			}

	return true;
	}
	

function alertmsg(formnm , fieldnm, msg)
	{
	alert(msg);
	formnm[fieldnm].focus();
	}
	
 
 function charonly(ac)
 	{
	if(ac < 65)
			{
			return false;
			}
							
	else
			{
				if(ac > 90 && ac < 97)
					{				
					return false;
					}
				else
					{
					if(ac > 122)
						{
						return false;
						}
					else
						return true;
					}			//formnm[fieldnm].focus();
								//return false;
			}
			
	}
	
	
	
	
	
 
