// JavaScript Document
//onerror=handlerr;
//function handlerr(msg, url, ln){
//  alert(msg);
//  alert(url);
//  alert(ln);

//  exit;
//}

  function xform_validate(frm){

    var x=new oValidate(frm);
    x.gField("input");
    x.gField("textarea");

    return x.gIsValid();
 
  } // xform_validate
  
  function oValidate(frm){
    this.required_class="crequired";
    this.highlight_bg="red";
    this.highlight_color="#fff";
    this.hit_id="dhit";
    
    this.form=frm;
    this.pass=true;
    this.hit=document.getElementById(this.hit_id);
//alert(this.hit);
    this.gIsValid=function (){
      return this.pass;
    } // gIsValid
    
    this.gField = function(fld) {
        var x=this.form.getElementsByTagName(fld);
        for (var i=0; i<x.length; i++) {
           if ( x[i].className.match(this.required_class)==this.required_class ) {
               if ( !this.pEmpty(x[i]) ) {
                 x[i].style.background=this.highlight_bg;
                 x[i].style.color=this.highlight_color;
                 this.hit.style.display="block";
                 this.pass=false;
               }
               else{
                 x[i].style.background="#fff";
                 x[i].style.color="gray";
               }
           }
        }
    } // pField
    
    this.pEmpty = function(elm){
       var t=false;
       if (elm.value.trim().length>0 )  { t=true; }
       return t;
    } // pEmpty


   String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
   }

    
  } // oValidate
