function checkForm(){
  var obj= null; var fm=d.frm.mode.value; var result=false; 
  var msg="Please fill the following fields from the online application form: \n"; var errcnt=0;

  d.frm.cfname.value=trim(d.frm.cfname.value);
  d.frm.clname.value=trim(d.frm.clname.value);
  d.frm.cemail.value=trim(d.frm.cemail.value);
  d.frm.cphone.value=trim(d.frm.cphone.value);
  if(d.frm.cfname.value==""){
    errcnt++;
    msg=msg+errcnt+". You must enter your first name. \n";
    d.frm.cfname.className="ferr";
    if(obj==null)obj=d.frm.cfname;
  }else d.frm.cfname.className="fok";
  if(d.frm.clname.value==""){
    errcnt++;
    msg=msg+errcnt+". You must enter your last name. \n";
    d.frm.clname.className="ferr";
    if(obj==null)obj=d.frm.clname;
  }else d.frm.clname.className="fok";
  if(d.frm.cemail.value==""){
    errcnt++;
    msg=msg+errcnt+". You must enter your e-mail address. \n";
    d.frm.cemail.className="ferr";
    if(obj==null)obj=d.frm.cemail;
  }else if(checkEmail(d.frm.cemail.value)!=-1){
    errcnt++;
    msg=msg+errcnt+". Incorrect e-mail address (invalid e-mail format). \n";
    d.frm.cemail.className="ferr";
    if(obj==null)obj=d.frm.cemail;
  }else d.frm.cemail.className="fok";
  if(d.frm.cphone.value==""){
    errcnt++;
    msg=msg+errcnt+". You must enter your phone number. \n";
    d.frm.cphone.className="ferr";
    if(obj==null)obj=d.frm.cphone;
  }else d.frm.cphone.className="fok";

  if(fm==0){
    d.frm.cmsg.value=trim(d.frm.cmsg.value);
    if(d.frm.cmsg.value==""){
      errcnt++;
      msg=msg+errcnt+". You must enter your message. \n";
      d.frm.cmsg.className="ferr";
      if(obj==null)obj=d.frm.cmsg;
    }else d.frm.cmsg.className="fok";
  }else if(fm==1){
    d.frm.cfunc.value=trim(d.frm.cfunc.value);
    d.frm.ccomp.value=trim(d.frm.ccomp.value);
    d.frm.catip.value=trim(d.frm.catip.value);
    d.frm.cloc.value=trim(d.frm.cloc.value);
    d.frm.cdescr.value=trim(d.frm.cdescr.value);
    if(d.frm.cpjf[1].checked){
      if(d.frm.ccomp.value==""){
        errcnt++;
        msg=msg+errcnt+". You must enter the company name. \n";
        d.frm.ccomp.className="ferr";
        if(obj==null)obj=d.frm.ccomp;
      }else d.frm.ccomp.className="fok";
    }
    if(d.frm.cptip.value==0){
      errcnt++;
      msg=msg+errcnt+". You must select the property type. \n";
      d.frm.cptip.className="ferr";
      if(obj==null)obj=d.frm.cptip;
    }else if(d.frm.cptip.value==6 && d.frm.catip.value==""){
      d.frm.cptip.className="fok";
      errcnt++;
      msg=msg+errcnt+". You must enter other property types. \n";
      d.frm.catip.className="ferr";
      if(obj==null)obj=d.frm.catip;
    }else{
      d.frm.cptip.className="fok";
      d.frm.catip.className="fok";
    }
  }else if(fm==2){
    d.frm.ccet.value=trim(d.frm.ccet.value);
    d.frm.catip.value=trim(d.frm.catip.value);
    d.frm.cloc.value=trim(d.frm.cloc.value);
    d.frm.cdescr.value=trim(d.frm.cdescr.value);
    if(d.frm.cptip.value==0){
      errcnt++;
      msg=msg+errcnt+". You must select the property type. \n";
      d.frm.cptip.className="ferr";
      if(obj==null)obj=d.frm.cptip;
    }else if(d.frm.cptip.value==6 && d.frm.catip.value==""){
      d.frm.cptip.className="fok";
      errcnt++;
      msg=msg+errcnt+". You must enter other property types. \n";
      d.frm.catip.className="ferr";
      if(obj==null)obj=d.frm.catip;
    }else{
      d.frm.cptip.className="fok";
      d.frm.catip.className="fok";
    }
  }else if(fm==3){
    d.frm.can.value=trim(d.frm.can.value);
    d.frm.cpret.value=trim(d.frm.cpret.value);
    d.frm.catip.value=trim(d.frm.catip.value);
    d.frm.cloc.value=trim(d.frm.cloc.value);
    d.frm.cdescr.value=trim(d.frm.cdescr.value);
    if(d.frm.cptip.value==0){
      errcnt++;
      msg=msg+errcnt+". You must select the property type. \n";
      d.frm.cptip.className="ferr";
      if(obj==null)obj=d.frm.cptip;
    }else if(d.frm.cptip.value==6 && d.frm.catip.value==""){
      d.frm.cptip.className="fok";
      errcnt++;
      msg=msg+errcnt+". You must enter other property types. \n";
      d.frm.catip.className="ferr";
      if(obj==null)obj=d.frm.catip;
    }else{
      d.frm.cptip.className="fok";
      d.frm.catip.className="fok";
    }
    if(d.frm.cloc.value==""){
      errcnt++;
      msg=msg+errcnt+". You must enter the property location. \n";
      d.frm.cloc.className="ferr";
      if(obj==null)obj=d.frm.cloc;
    }else d.frm.cloc.className="fok";
    if(d.frm.can.value==""){
      errcnt++;
      msg=msg+errcnt+". You must enter the construction year. \n";
      d.frm.can.className="ferr";
      if(obj==null)obj=d.frm.can;
    }else d.frm.can.className="fok";
    if(d.frm.cpret.value==""){
      errcnt++;
      msg=msg+errcnt+". You must enter the selling price. \n";
      d.frm.cpret.className="ferr";
      if(obj==null)obj=d.frm.cpret;
    }else d.frm.cpret.className="fok";
  }else if(fm==4){
    d.frm.cpret.value=trim(d.frm.cpret.value);
    d.frm.catip.value=trim(d.frm.catip.value);
    d.frm.cloc.value=trim(d.frm.cloc.value);
    if(d.frm.cptip.value==0){
      errcnt++;
      msg=msg+errcnt+". You must select the property type. \n";
      d.frm.cptip.className="ferr";
      if(obj==null)obj=d.frm.cptip;
    }else if(d.frm.cptip.value==6 && d.frm.catip.value==""){
      d.frm.cptip.className="fok";
      errcnt++;
      msg=msg+errcnt+". You must enter other property types. \n";
      d.frm.catip.className="ferr";
      if(obj==null)obj=d.frm.catip;
    }else{
      d.frm.cptip.className="fok";
      d.frm.catip.className="fok";
    }
    if(d.frm.cpret.value==""){
      errcnt++;
      msg=msg+errcnt+". You must enter your desired price. \n";
      d.frm.cpret.className="ferr";
      if(obj==null)obj=d.frm.cpret;
    }else d.frm.cpret.className="fok";
  }else if(fm==5){
    d.frm.ctara.value=trim(d.frm.ctara.value);
    d.frm.cvarsta.value=trim(d.frm.cvarsta.value);
    d.frm.cnrpers.value=trim(d.frm.cnrpers.value);
    d.frm.cdescr.value=trim(d.frm.cdescr.value);
    if(d.frm.ctara.value==""){
      errcnt++;
      msg=msg+errcnt+". You must enter the country name. \n";
      d.frm.ctara.className="ferr";
      if(obj==null)obj=d.frm.ctara;
    }else d.frm.ctara.className="fok";
    if(d.frm.cnrpers.value==""){
      errcnt++;
      msg=msg+errcnt+". You must enter the number of person. \n";
      d.frm.cnrpers.className="ferr";
      if(obj==null)obj=d.frm.cnrpers;
    }else d.frm.cnrpers.className="fok";
    if(d.frm.cday1.value==0){
      errcnt++;
      msg=msg+errcnt+". You must select the day for the starting date. \n";
      d.frm.cday1.className="ferr";
      if(obj==null)obj=d.frm.cday1;
    }else d.frm.cday1.className="fok";
    if(d.frm.cmon1.value==0){
      errcnt++;
      msg=msg+errcnt+". You must select the month for the starting date. \n";
      d.frm.cmon1.className="ferr";
      if(obj==null)obj=d.frm.cmon1;
    }else d.frm.cmon1.className="fok";
    if(d.frm.cyr1.value==0){
      errcnt++;
      msg=msg+errcnt+". You must select the year for the starting date. \n";
      d.frm.cyr1.className="ferr";
      if(obj==null)obj=d.frm.cyr1;
    }else d.frm.cyr1.className="fok";
    if(d.frm.cday2.value==0){
      errcnt++;
      msg=msg+errcnt+". You must select the day for the ending date. \n";
      d.frm.cday2.className="ferr";
      if(obj==null)obj=d.frm.cday2;
    }else d.frm.cday2.className="fok";
    if(d.frm.cmon2.value==0){
      errcnt++;
      msg=msg+errcnt+". You must select the month for the ending date. \n";
      d.frm.cmon2.className="ferr";
      if(obj==null)obj=d.frm.cmon2;
    }else d.frm.cmon2.className="fok";
    if(d.frm.cyr2.value==0){
      errcnt++;
      msg=msg+errcnt+". You must select the year for the ending date. \n";
      d.frm.cyr2.className="ferr";
      if(obj==null)obj=d.frm.cyr2;
    }else d.frm.cyr2.className="fok";
  }else if(fm==6){
    d.frm.cpret.value=trim(d.frm.cpret.value);
    d.frm.catip.value=trim(d.frm.catip.value);
    d.frm.cloc.value=trim(d.frm.cloc.value);
    d.frm.cnrcam.value=trim(d.frm.cnrcam.value);
    d.frm.csupra.value=trim(d.frm.csupra.value);
    d.frm.cetmin.value=trim(d.frm.cetmin.value);
    d.frm.cetmax.value=trim(d.frm.cetmax.value);
    if(d.frm.cptip.value==0){
      errcnt++;
      msg=msg+errcnt+". You must select the property type. \n";
      d.frm.cptip.className="ferr";
      if(obj==null)obj=d.frm.cptip;
    }else if(d.frm.cptip.value==6 && d.frm.catip.value==""){
      d.frm.cptip.className="fok";
      errcnt++;
      msg=msg+errcnt+". You must enter other property types. \n";
      d.frm.catip.className="ferr";
      if(obj==null)obj=d.frm.catip;
    }else{
      d.frm.cptip.className="fok";
      d.frm.catip.className="fok";
    }
    if(d.frm.cloc.value==""){
      errcnt++;
      msg=msg+errcnt+". You must enter the property location. \n";
      d.frm.cloc.className="ferr";
      if(obj==null)obj=d.frm.cloc;
    }else d.frm.cloc.className="fok";
    if(d.frm.cpret.value==""){
      errcnt++;
      msg=msg+errcnt+". You must enter the maximum price. \n";
      d.frm.cpret.className="ferr";
      if(obj==null)obj=d.frm.cpret;
    }else d.frm.cpret.className="fok";
  }
  if(obj!=null){obj.focus();alert(msg);}
  else result=true;
  return result;
}