
function add_qf()
{
	my_div.innerHTML = my_div.innerHTML + "<div align='left'>"+
	"<table class='common' width='100%'><tr><td width='150' >Institute</td><td ><input type='text' name='institute[]' size='70'/></td>" +
	"</tr><tr><td width='150' >Degree/Qualification</td><td ><input type='text' name='degree[]' size='40'/> </td></tr><tr>" +
	"<td width='150' >Year Awarded</td><td ><input type='text' name='year_awarded[]' size='4'/></td></tr></table></div>";

}

function validation()
{
	var msg="Invalid value! Use numeric values only.";
	
	if (!checkSelectedValue(document.application.title))return false;
	if (!checkNullField(document.application.family_name))return false;
	if (!checkNullField(document.application.fore_name))return false;
		
	//birth date validation starts
	if (!checkNullField(document.application.bd_dd))return false;
	if(!vfyNumber(document.application.bd_dd, msg)) return false;
	if (!checkNullField(document.application.bd_mm))return false;
	if(!vfyNumber(document.application.bd_mm, msg)) return false;
	if(!dateValidation(document.application.bd_mm, 1, 12)) return false;
	if (!checkNullField(document.application.bd_yy))return false;
	if(!vfyNumber(document.application.bd_yy, msg)) return false;
	if(!dateValidation(document.application.bd_yy, 1960, 2000)) return false;
	last_day=daysInMonth(document.application.bd_mm, document.application.bd_yy) ;
	if(!dateValidation(document.application.bd_dd, 1, last_day)) return false;
	//birth date validation ends

	if (!checkSelectedValue(document.application.sex))return false;
	if (!checkNullField(document.application.nationality))return false;
	if (!checkNullField(document.application.present_address))return false;
	if (!checkNullField(document.application.email))return false;
	if (!VerifyEmailAddress(document.application.email))return false;

	if (!checkSelectedValue(document.application.course))return false;
	if (!checkSelectedValue(document.application.commencement_date))return false;
	
return true;
	
	
}




function checkNullField(field)
{
	if (field.value=="")
	{
		alert("Please enter the value of the field");
		field.focus();
		field.select();
		return false;
	}
	return true;

}

function checkSelectedValue(fl)
{
	if (fl.value=="0")
	{
		alert("Please select.");
		fl.focus();
		return false;
	}
	return true;

}


function vfyNumber(myField, msg)
{

		num = myField.value;

		bits ="1234567890";
       	for(i=0 ; i< num.length ; i++)
		{
			strval=num.substr(i,1);
			if(bits.indexOf(strval)==-1)
				{
					alert(msg);
					myField.focus();
					myField.select();
					return false;
				}
		}

	  return true;
}

function dateValidation(param, minVal, maxVal)
{
	var currentTime = new Date()
	var month = currentTime.getMonth() + 1
	var day = currentTime.getDate()
	var year = currentTime.getFullYear()
	

	if ((param.value >= minVal) && (param.value <= maxVal))
	{
		return true;
	}
	else
	{
		alert("Value out of range");
		param.focus();
		param.select();
		return false;
	}
	
}

function daysInMonth(m, y) 
{
	month=m.value;
	year=y.value;
	var m = [31,28,31,30,31,30,31,31,30,31,30,31];
	if (month != 2) return m[month - 1];
	if (year%4 != 0) return m[1];
	if (year%100 == 0 && year%400 != 0) return m[1];
	return m[1] + 1;

} 



function VerifyEmailAddress(field)
 {
   var Reason  = "Your Email Address appears incorrect.  \n\nPlease check. \n\nReason:"
   var Success = "Email Address entered Correctly!"
   //var checkStr = document.house.email.value;
   var checkStr = field.value;
   var ix = (checkStr.length - 4)
   var RC = true;
   var x = AtSignValid = DoublePeriod = PeriodValid = SpaceValid = ExtValid = RL = 0;

   for (i = 0;  i < checkStr.length;  i++)
   {
     if (checkStr.charAt(i) == '@')
       AtSignValid++;
     else if (checkStr.charAt(i) == '.')
     {
       if (x == (i-1))
         DoublePeriod++;
       else
       {
         x = i;
         PeriodValid++;
       }
     }
     else if (checkStr.charAt(i) == ' ')
       SpaceValid ++;
   }
   if (checkStr.indexOf(".com", ix) > -1)
     ExtValid++;
   else if (checkStr.indexOf(".edu", ix) > -1)
     ExtValid++;
   else if (checkStr.indexOf(".net", ix) > -1)
     ExtValid++;
   else if (checkStr.indexOf(".org", ix) > -1)
     ExtValid++;
   else if (checkStr.indexOf(".gov", ix) > -1)
     ExtValid++;
   else if (checkStr.indexOf(".mil", ix) > -1)
     ExtValid++;
   else if (checkStr.indexOf(".cc", ix) > -1)
     ExtValid++;
   RL = Reason.length;
   if (AtSignValid != 1)
     Reason += "\nOnly one '@' allowed, " + AtSignValid + " found.";
   if (PeriodValid == 0)
     Reason += "\nAddress must contain at least one period.";
   if (SpaceValid > 0)
     Reason += "\nNo Spaces allowed. Address contains " + SpaceValid + " space";
   if (SpaceValid > 1)
     Reason += "s.";
   if (checkStr.length > 120)
     Reason += "\nPlease limit the Email Address to 120 characters.";

   if (RL != Reason.length)
   {
	  alert(Reason);
	  field.focus();
	  field.select();
	  return false;
   }
   return true;
 }






