// If field is null

function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
  result = true;
  }

  return result;
}

function validRequired(formField,fieldLabel)
{
  var result = true;
  
  if (formField.value == "")
  {
    alert('Please enter a value for the "' + fieldLabel +'" field.');
    formField.focus();
    result = false;
  }
  
  return result;
}

function validEmail(formField,fieldLabel,required)
{
  var result = true;
  
  if (required && !validRequired(formField,fieldLabel))
    result = false;

  if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
  {
    alert("Please enter a complete email address in the form: yourname@yourdomain.com");
    formField.focus();
    result = false;
  }
   
  return result;

}


function validNum(formField,fieldLabel,required)
{
  var result = true;

  if (required && !validRequired(formField,fieldLabel))
    result = false;
  
   if (result)
   {
     var num = parseInt(formField.value,10);
     if (isNaN(num))
     {
       alert('Please enter a number for the "' + fieldLabel +'" field.');
      formField.focus();    
      result = false;
    }
  } 
  
  return result;
}

// text compare
function TextCompare(formField1,fieldLabel1,formField2,fieldLabel2,required)
{
  var result = true;
  
  if (required && !validRequired(formField2,fieldLabel2))
    result = false;
	
  if (result && (formField1.value != formField2.value ))
  {
    alert('Please enter same value for  "' + fieldLabel1 +'" And "' + fieldLabel2 + '"  field.');
    formField2.focus();
    result = false;
  }
  
  return result;
}

// check password field
function validPWD(formField,fieldLabel,required)
{
  var result = true;
  
  if (required && !validRequired(formField,fieldLabel))
    result = false;

  if (result && (formField.value.length < 4)  )
  {
    alert("Please enter a password min. 4 charrecter");
    formField.focus();
    result = false;
  }
   
  return result;

}

// validating listbox
function validList(formField,fieldLabel)
{
  var result = true;
  
  if (formField.options[0].selected)
  {
    alert('Please Select a value for the "' + fieldLabel +'" field.');
    formField.focus();
    result = false;
  }
  
  return result;
}

function checkRadios() {
 var el = document.forms[0].elements;
 for(var i = 0 ; i < el.length ; ++i) {
  if(el[i].type == "radio") {
  var radiogroup = el[el[i].name]; // get the whole set of radio buttons.
   
   var itemchecked = false;
   for(var j = 0 ; j < radiogroup.length ; ++j) {
    if(radiogroup[j].checked) {
	itemchecked = true; 
	 break;
	}
	else
	{
			if(el[el[i-1].name][0].checked && el[el[i-1].name][0].value=="Never Married") 
			{
//				alert(el[el[i-1].name][0].value + i);
				i=i+ (el[el[i-1].name].length -1) + (el[el[i].name].length -1) ;
//				alert(i);
				itemchecked = true;
				break;
			}
	}
   }
   if(!itemchecked) { 
    alert("Please choose an answer for "+el[i].name+".");
    if(el[i].focus)
     el[i].focus();
	return false;
   }
  }
 }
 return true;
} 



// Validate Form
function validateForm(theForm)
{
  // Customize these calls for your form

  // Start ------->
  if (!validList(theForm.admClass,"Admission Class"))
    return false;
  if (!validList(theForm.admSession,"Academic Session"))
    return false;
  if (!validList(theForm.campus,"Your Choice of School"))
    return false;
  if (!validRequired(theForm.stdName,"Student Name"))
    return false;
  if (!validEmail(theForm.stdemail,"Email Address",true))
    return false;

// validate dob 

  if (!validList(theForm.dd,"Day of Birth"))
    return false;
  if (!validList(theForm.mm,"Month of Birth"))
    return false;
  if (!validList(theForm.yy,"Year of Birth"))
    return false;

  
 if (!validList(theForm.bgroup,"Blood Group"))
    return false;
 if (!validRequired(theForm.birthPlace,"Place of Birth"))
    return false;
 if (!validRequired(theForm.stdNat,"Nationality"))
    return false;
 if (!validRequired(theForm.motherTongue,"Mother Tongue"))
    return false;
 if (!validRequired(theForm.religion,"Religion"))
    return false;
 if (!validList(theForm.stdCaste,"Caste"))
    return false;
 if (!validRequired(theForm.iMark,"Student Identification Mark"))
    return false;



 if (!validRequired(theForm.stdAdd1,"Student Address1"))
    return false;
 if (!validRequired(theForm.stdCity,"City"))
    return false;
 if (!validRequired(theForm.stdState,"State"))
    return false;
  
 if (!validNum(theForm.stdPin,"Pincode",true))
    return false;
 if (!validRequired(theForm.country,"Country"))
    return false;

 if (!validRequired(theForm.prevSchool,"Student's Previous School"))
    return false;
 if (!validRequired(theForm.board,"Name of Class - X Board"))
    return false;
 if (!validRequired(theForm.division,"Division"))
    return false;
 if (!validNum(theForm.marks,"Marks"))
    return false;
 if (!validNum(theForm.marksPer,"Percentage of Marks",true))
    return false;


 if (!validRequired(theForm.admSub,"Additional Subject"))
    return false;


 if (!validRequired(theForm.gName,"Gurdain Name"))
    return false;
 if (!validRequired(theForm.relationship,"Relationship with Student"))
    return false;
 if (!validList(theForm.gQualification,"Gurdain's Qualification"))
    return false;
 if (!validRequired(theForm.gOccupation,"Gurdain's Occupation"))
    return false;
 if (!validList(theForm.gAnIncome,"Gurdain's Annual Income"))
    return false;
 if (!validRequired(theForm.gAddress,"Gurdain's Address"))
    return false;
 if (!validRequired(theForm.gContactNo,"Gurdain's Contact Number"))
    return false;


if (!validRequired(theForm.eAddress,"Emergent Communication Address"))
    return false;
if (!validRequired(theForm.eContactNo,"Emergent Contact No."))
    return false;
    
if (!checkRadios())
	return false;


  // <--------- End
  
  return true;
}

