eEmpty='Please fill in required fields';
eEmptyRadio='Please select one of the options.';
eEmpty1=' field should not be empty.';
/* Set this variable in false value if you want to check controls
during the editing */

bBatchOnly = true;
var sValErr;

function validate(aField) {
 var bRes=false;
 if(aField.type=="text") aField.value=trim(aField.value);
 if(bBatchOnly)	return true;
 switch (aField.type) {
  case 'select-one' : 
   if(aField.selectedIndex<=0) {
    alert(eEmptyRadio); aField.focus(); return false; }
   break;
  case 'select-multiple' :
   for(var i=0;i<aField.options.length;i++) {
    if(aField.options[i].selected) bRes=bRes || (aField.options[i].text!="");}
   if(!bRes) {alert(eEmptyRadio); aField.focus(); return false;}
   break;
  case 'checkbox' :
   for(var i=0;i<aField.length;i++) bRes=bRes || aField[i].checked;
   if(!bRes) {alert(eEmptyRadio); aField.focus(); return false;}
   break;
  default :
   if(aField.value=='') { alert(eEmpty); aField.focus(); return false; }
   if((aField.type=="text" || aField.type=="textarea")&&(arguments.length==2)&&(aField.value.length>arguments[1])){
    alert("Your text exceeded the maximum allowed length! Please put shorter value."); aField.focus(); return false; } 
  } // end switch 
 return true;
}

function mailChange(field) {
 var s=field.value.replace(/^ +/,'');
 s=s.replace(/ /g,'');
 field.value=s;
 if(!bBatchOnly && chkmailaddr(s)) {
  alert("Please enter correct e-mail address"); field.focus(); field.select(); return false;}
 return true;
}

function chkmailaddr(src) {
 var i=src.indexOf('@');
 if(i<=0 || i==(src.length-1)) return true;
 else {
  var s1=src.substring(0,i);
  var s2=src.substr(i+1);
  if(s1.search(/^[_\.-]/)>=0||s1.search(/[^A-Za-z\d_\.-]/)>=0||s1.search(/\.{2,}/)>=0) return true;
  if(s2.search(/^[_\.-]/)>=0||s2.search(/[^A-Za-z\d\.-]/)>=0||s2.search(/\.{2,}/)>=0||s2.search(/\.$/)>=0) return true;
 }
 return false;
}

function checkForm(aForm) {
 bBatchOnly=false;
 for(var i=0;i<aForm.elements.length;i++) {
  if(aForm.elements[i].onchange!=null)
   if(!aForm.elements[i].onchange()) {bBatchOnly=true; return false;}  
 }  	 
 bBatchOnly=true; return true;
}

function isEmpty(s) {return ((s==null) || (s==''));}

function trim(src) {
 var str=src.replace(/^ +/,'');
 return str.replace(/ +$/,'');
}

function stateChng(field)
{
 if(field.selectedIndex>1 && document.pubreg.selCountry.selectedIndex!=1) document.pubreg.selCountry.selectedIndex=1;
 else if(field.selectedIndex==1 && document.pubreg.selCountry.selectedIndex==1) document.pubreg.selCountry.selectedIndex=0;
 return validate(field);
}

function cntryChng(field)
{ 
 if(field.selectedIndex>1 && document.pubreg.selState.selectedIndex!=1) document.pubreg.selState.selectedIndex=1;
 else if(field.selectedIndex==1 && document.pubreg.selState.selectedIndex==1) document.pubreg.selState.selectedIndex=0;
 return validate(field);
}

function passwdChng(field)
{
 field.value=trim(field.value);
 if(field.value.length<4)
 {alert("Password must be more than 3 characters."); field.focus(); return false;}
 if(bBatchOnly) return true;
 if(document.pubreg.password.value!=document.pubreg.password2.value) {
  alert("Password wasn't propertly confirmed");field.focus();return false;
 }
 return true;
}
