var pageForms = new Array();

function validateForm(strId) {
  for(var i=0;i<pageForms.length;i++) {
    
    if(pageForms[i] != null && pageForms[i].id == strId){

      fc = pageForms[i];

      if(fc.checkConstraints() == 0) {
        if(document.forms[fc.id].returnTo){
          document.forms[fc.id].returnTo.value = document.location.href;
        }
        document.forms[fc.id].submit();
      }
      else return false;
      break;
    }
  }
}

function formConstraints(formId) {
	this.id = formId;
    this.constraints = new Array();		

	this.addConstraint = function (fld,type,msg) {
  	this.constraints[this.constraints.length] = new fieldValidation(fld, type, msg);	
	}		
	this.checkConstraints = function() {
      var cFail= 0;
	  for(var ii=0;ii<this.constraints.length;ii++) {
	  	
	    switch (this.constraints[ii].type) {
	      case 'req': { 
	        if(IsEmpty(this.id, this.constraints[ii].name)){
	          alert(this.constraints[ii].msg);
	          SetFocus(this.constraints[ii].name);
	          return ++cFail;
	        }else break;
	      }
	    }  
	  }
	  return cFail;
	}
}

function fieldValidation(name,type,msg) {
  this.name = name;
  this.type = type;
  this.msg = msg;
}

function IsEmpty(frmId,fld){
	var formEl = document.forms[frmId].elements[fld];
	var domEl = document.getElementById(fld);
	switch(domEl.type) {
	  case 'text': {
	    if(domEl.value != '') 
	      return false;
	    break;  
	  }
	  case 'radio': {
	  	for(j=0;j<formEl.length;j++) {
	  	  if(formEl[j].checked)
	  	    return false;
	  	}
	  	break;
	  }
	  case 'checkbox': {
  	  if(formEl.checked)
  	    return false;
  	  break;
	  }
	  case 'select-one': {
	    if(formEl.options[formEl.selectedIndex].value != '')
	      return false;
	    break;  
	  }
	  case 'select-multiple': {
			  for (i=0; i<formEl.options.length; i++){	 	
				   if (formEl.options[i].selected){
				    return false;
				   }
				 }
	  }
	  case 'textarea': {
	  var htmllength = domEl.value.length;
	  	if(htmllength > 1) {
	  	      return false;
	  	  }
	    break;  
	  }
	}
	return true;
}

function SetFocus(fieldName) {
  document.getElementById(fieldName).focus();
}