function checkrequired(myForm) 
{ 
var inputChecked = Array(); 
var i = 0; 

// input fields 
var inputArr = myForm.elements; 
for(i=0; i<inputArr.length; i++) 
{ 
if(alreadyChecked(inputChecked,inputArr[i].name) == false) 
{ 
if((inRequired(inputArr[i]) == true) && ((validRadio(inputArr[i],myForm) == false) || (validSelect(inputArr[i]) == false) || (hasInput(inputArr[i]) == false))) 
{ 
alert("A mandatory field has not been filled. Please enter an appropriate value."); 
inputArr[i].focus(); 
return false; 
} 
else 
{ 
// valid dont check again 
inputChecked.push(inputArr[i].name); 
} 
} 
} 

return true; 
} 

function inRequired(formField) 
{ 
var isRequired = false; 
if((document.getElementById('RequiredFields')) && (formField.name.length > 0)) 
{ 
var requiredArr = document.getElementById('RequiredFields').value.split('|'); 
for(var i=0; i<requiredArr.length; i++) 
{ 
if(trim(requiredArr[i].toLowerCase()) == trim(formField.name.toLowerCase())) 
{ 
isRequired = true; 
} 
} 
} 
return isRequired; 
} 

function hasInput(formField) 
{ 
if(trim(formField.value) == '') 
return false; 
else 
return true; 
} 

function trim(strText) 
{ 
while (strText.substring(0,1) == ' ') 
strText = strText.substring(1, strText.length); 
while (strText.substring(strText.length-1,strText.length) == ' ') 
strText = strText.substring(0, strText.length-1); 
return strText; 
} 

function validRadio(formField,myForm) 
{ 
if(formField.type.toLowerCase() == 'radio' || formField.type.toLowerCase() == 'checkbox') 
{ 
var newFormField = eval('document.'+myForm.name+'.'+formField.name); 
var chkBoxes = newFormField.length; 
for (var i = 0; i < chkBoxes; i++) 
if (newFormField[i].checked) 
return true; 
return false; 
} 
return true; 
} 

function validSelect(formField) 
{ 
if(formField.type.toLowerCase() == 'select') 
if(formField.options[formField.selectedIndex].value == '') 
return false; 
return true; 
} 

function alreadyChecked(checkedArr,fieldName) 
{ 
for(var i=0; i < checkedArr.length; i++) 
if(checkedArr[i].toLowerCase() == fieldName.toLowerCase()) 
return true; 
return false; 
}


function textCounter(field, countfield, maxlimit) {
  if (field.value.length > maxlimit)
      {field.value = field.value.substring(0, maxlimit);}
      else
      {countfield.value = maxlimit - field.value.length;}
  }
