function HideAllSteps() {
        document.getElementById('divStep1').style.display = 'none';
        document.getElementById('divStep2').style.display = 'none';
        document.getElementById('divStep3').style.display = 'none';
      }

      function ShowStep2(eholder) 
      {
        var strNewUrl;
        var frm=document.forms[appFormName];

        GoToStep2Clicked = true;

        if (isValidStep1(eholder)) 
        {

          if ( typeof( window[ 'stay' ] ) != "undefined" ) {
            if (stay == 1) {
              document.getElementById('divStep1').style.display = 'none';
              document.getElementById('divStep2').style.display = '';
              return;
            }
          }

          strNewUrl =  strSSLURLtoApp + 'forms/mortgage_form_newgr_1step_bluebrd.html';

          if (frm.elements["steps"])
          {
                  if (frm.elements["steps"].value == '2')
                  {
                          strNewUrl =  strSSLURLtoApp + 'forms/mortgage_form_newgr_2steps.html';
                  }

                  if (frm.elements["steps"].value == '2_2')
                  {
                          strNewUrl =  strSSLURLtoApp + 'forms/mortgage_form_newgr_2steps_2.html';
                  }

                  if (frm.elements["steps"].value == '2_3')
                  {
                          strNewUrl =  strSSLURLtoApp + 'forms/mortgage_form_newgr_2steps_3.html';
                  }

                  if (frm.elements["steps"].value == '2_4')
                  {
                          strNewUrl =  strSSLURLtoApp + 'forms/mortgage_form_newgr_2steps_4.html';
                  }

                  if (frm.elements["steps"].value == '2_5')
                  {
                          strNewUrl =  strSSLURLtoApp + 'forms/mortgage_form_newgr_2steps_5.html';
                  }

                  if (frm.elements["steps"].value == 'prleadbay')
                  {
                          strNewUrl = 'http://www.mortgagesorter.co.uk/LEADBAY_LATESTmortgage_form_newgr_3steps.html';
                  }


          }

          //strNewUrl =  strSSLURLtoApp + 'forms/mortgage_form_newgr_3steps.html';
          //strNewUrl += '?referrer='+FORM_DATA['referrer']+'&showstep=2';
          strNewUrl += '?referrer='+appFormName+'&showstep=2';
          strNewUrl += '&mortgage_size='+frm.elements["Mortgage_Size"].value;
          strNewUrl += '&mortgage_type='+frm.elements["mortgagetypebasic"].value;
          strNewUrl += '&bad_credit='+frm.elements["bad_credit"].value;
          strNewUrl += '&property_value='+frm.elements["Property_Value"].value;
          strNewUrl += '&country='+frm.elements["country"].selectedIndex;
          strNewUrl += '&mainFormVersion='+appFormName;

          var oftbyes=frm.elements["ftbyes"];
          var oftbno=frm.elements["ftbno"];
          var ofpyes = frm.elements["fpyes"];
          var ofpno = frm.elements["fpno"];

          var fp='';
          if (ofpyes.checked) {fp='1';}
          if (ofpno.checked) {fp='0';}
          strNewUrl += '&fp='+fp;

          var ftb='';
          if (oftbyes.checked) {ftb='1';}
          if (oftbno.checked) {ftb='0';}
          strNewUrl += '&ftb='+ftb;


          //strNewUrl += '&strAllErrors='+escape(strAllErrors);
          strNewUrl += '&intErrorId='+intErrorId;
          strNewUrl += '&UrlReferrer='+escape(frm.elements["UrlReferrer"].value);
          strNewUrl += '&mainpagename='+escape(frm.elements["mainpagename"].value);

          parent.document.location.href = strNewUrl;
        }

      }

      function NextValidationStep2() {
        if (GoToStep2Clicked) {
          ShowStep2();
        }
      }

      function NextValidationSubmit() {
        if (SubmitClicked) {
          SubmitForm();
        }
      }

      function showStep3() {
        HideAllSteps();
        document.getElementById('divStep3').style.display = '';
      }

      function SubmitForm() {

        if (FormValidation('ErrorHolderStep3')) {
        //input type is an image or a button
          var arr = document.forms[appFormName].getElementsByTagName('input');
          for(i = 0; i < arr.length; i++) {
            if (arr[i].id == 'btnSubmit') {
              obj = arr[i];
              obj.disabled = true;
            }
          }

          return true;
        }

        return false;
      }

// validate form
      function FormValidation(error_holder) {
        var intLeadbayMT = getMortgageType();

        var obj, obj2, numb, strErrMessage, blRes = true, isOK = true, blDateError = false;

        ClearRedMessage(error_holder);

        // ----------------------------------------------

        // loan to value validation
        var intPropertyvalue = document.forms[appFormName].elements['Property_Value'].value;
        var intMortgageSize = document.forms[appFormName].elements['Mortgage_Size'].value;
        var percentage = mortgagetypesPercentage[parseInt(intLeadbayMT)];
        var allowed_amount = (intPropertyvalue * (percentage))/100;

        if (isOK && (intMortgageSize > allowed_amount)) {
          obj = document.forms[appFormName].elements["Mortgage_Size"];
          strErrMessage = "SORRY! The amount you want to borrow is more than " + percentage + " % of the property value. Your borrow amount needs to be " + allowed_amount + " or less for this mortgage type and property value. A mortgage broker may be able to get you this, BUT in order to be called by one you must reduce the amount on this form to less than " + percentage + " %. Please amend:<br />";
          ShowRedMessage(strErrMessage,"Mortgage_Size","Mortgage_Size", error_holder);
          AddClientErrorStep2('Loan to Value');
          isOK = false;
        }

        // first name
        if (isOK && (document.forms[appFormName].elements['First_Name'].value.length == 0)) {
          strErrMessage = "SORRY! Please insert First name";
          ShowRedMessage(strErrMessage,"First_Name","First_Name", error_holder);
          AddClientErrorStep2('First name');
          isOK = false;
        } else {
          document.forms[appFormName].elements['First_Name'].className = 'FormInputTextStep3';
        }

        // surname
        if (isOK && (document.forms[appFormName].elements['Surname'].value.length == 0)) {
          strErrMessage = "SORRY! Please insert Surname";
          ShowRedMessage(strErrMessage,"Surname","Surname", error_holder);
          AddClientErrorStep2('Surname');
          isOK = false;
        } else {
          document.forms[appFormName].elements['Surname'].className = 'FormInputTextStep3';
        }

        // date of birth dd/mm/yyyy
        var dt = document.forms[appFormName].elements["dobmonth"].value + '/' + document.forms[appFormName].elements["dobday"].value + '/' + document.forms[appFormName].elements["dobyear"].value;


		if (isOK && (!isDate(dt))) {

          strErrMessage = "SORRY! Please insert Date of birth - see red outlined box above";
          ShowRedMessage(strErrMessage,"tdDOB","tdDOB", error_holder);
          AddClientErrorStep2('DOB');
          isOK = false;
          blDateError = true;
        } else {

          var arr = document.forms[appFormName].getElementsByTagName('TD');
          for(i = 0; i < arr.length; i++){
            if (arr[i].id == 'tdDOB') {
              obj = arr[i];
              obj.className = 'FormSelectStep3';
            }
          }

        }

        var dtMin = new Date();
        var dtMax = new Date();
        dtMin.setYear(dtMin.getFullYear() - 18);
        dtMax.setYear(dtMax.getFullYear() - 1000);

        dt = new Date();
        dt.setDate(document.forms[appFormName].elements["dobday"].value);
        dt.setMonth(parseInt(document.forms[appFormName].elements["dobmonth"].value)-1);
        dt.setYear(document.forms[appFormName].elements["dobyear"].value);

        if (isOK && ((dt > dtMin) || (dt < dtMax))) {
          strErrMessage = "SORRY! You must be between 18 and 100 years old";
          ShowRedMessage(strErrMessage,"tdDOB","tdDOB", error_holder);
          AddClientErrorStep2('DOB min - max');
          isOK = false;
        } else {
          if (!blDateError) {

            var arr = document.forms[appFormName].getElementsByTagName('TD');
            for(i = 0; i < arr.length; i++){
              if (arr[i].id == 'tdDOB') {
                obj = arr[i];
                obj.className = 'FormSelectStep3';
              }
            }

          }
        }

        // postcode
        var oMTPSC = document.forms[appFormName].elements["Mortgage_Type"];
        if (oMTPSC.value != '9') {
          if (isOK && (!validatePostcode(document.forms[appFormName].elements['Postcode'].value))) {
            strErrMessage = "SORRY! Please insert valid Postcode";
            ShowRedMessage(strErrMessage,"Postcode","Postcode", error_holder);
            AddClientErrorStep2('Postcode not valid: >'+ document.forms[appFormName].elements['Postcode'].value +'<');
            isOK = false;
          } else {
            document.forms[appFormName].elements['Postcode'].className = 'FormInputTextStep3';
          }
        }

        // address validation
        if (isOK && ((document.forms[appFormName].elements['ddlAddressList'].value == '') && ((document.forms[appFormName].elements['address_line1'].value == '') || (document.forms[appFormName].elements['town'].value == '') || (document.forms[appFormName].elements['county'].value == '')))) {
          strErrMessage = "SORRY! We need your address. Please click on the \'Fetch Address\' button above - or fill it manually";
          ShowRedMessage(strErrMessage,"tdAddress","ddlAddressList", error_holder);
          AddClientErrorStep2('Address - not clicked ');
          isOK = false;
        } else {

          var arr = document.forms[appFormName].getElementsByTagName('TD');
          for(i = 0; i < arr.length; i++){
            if (arr[i].id == 'tdAddress') {
              obj = arr[i];
              obj.className = 'FormSelectStep3';
            }
          }

        }

        // address line 1
        if (isOK && (document.forms[appFormName].elements['address_line1'].value == '')) {
          strErrMessage = "SORRY! Address 1 has to be filled. Please click on the Fetch Address button or fill address manually";
          ShowRedMessage(strErrMessage,"tdaddress_line1","address_line1", error_holder);
          AddClientErrorStep2('Address 1');
          isOK = false;
        } else {

          var arr = document.forms[appFormName].getElementsByTagName('TD');
          for(i = 0; i < arr.length; i++){
            if (arr[i].id == 'tdaddress_line1') {
              obj = arr[i];
              obj.className = 'FormSelectStep3';
            }
          }

        }

        // town
        if (isOK && (document.forms[appFormName].elements['town'].value == '')) {
          strErrMessage = "SORRY! Town has to be filled. Please click on the Fetch Address button or fill address manually";
          ShowRedMessage(strErrMessage,"tdTown","town", error_holder);
          AddClientErrorStep2('Town');
          isOK = false;
        } else {

          var arr = document.forms[appFormName].getElementsByTagName('TD');
          for(i = 0; i < arr.length; i++){
            if (arr[i].id == 'tdTown') {
              obj = arr[i];
              obj.className = 'FormSelectStep3';
            }
          }
        }

        // county
        if (isOK && (document.getElementById('county').value == '')) {
          strErrMessage = "SORRY! County has to be filled. Please click on the Fetch Address button or fill address manually";
          ShowRedMessage(strErrMessage,"tdCounty","county", error_holder);
          AddClientErrorStep2('County');
          isOK = false;
        } else {
          document.getElementById('tdCounty').className = 'FormInputTextStep3';
        }

        // email
        if (isOK && (!checkemail(document.getElementById('Email').value))) {
          strErrMessage = "SORRY! Please insert valid Email address";
          ShowRedMessage(strErrMessage,"Email","Email", error_holder);
          AddClientErrorStep2('Email not valid: '+ document.getElementById('Email').value);
          isOK = false;
        } else {
          document.getElementById('Email').className = 'FormInputTextStep3';
        }

        // Day phone
        if (isOK && (document.getElementById('Work_Phone').value.length < 10)) {
          strErrMessage = "SORRY! Please insert valid phone number. You can specifiy when you want to be called in the comments box - just above";
          ShowRedMessage(strErrMessage,"Work_Phone","Work_Phone", error_holder);
          AddClientErrorStep2('Day phone < 10: '+ document.getElementById('Work_Phone').value );
          isOK = false;
        } else {
          document.getElementById('Work_Phone').className = 'FormInputTextStep3';
        }

        // Home phone
        if (isOK && (document.getElementById('Home_Phone').value.length < 10)) {
          strErrMessage = "SORRY! Please enter a valid phone number here. You can specifiy when you want to be called in the comments box - just above";
          ShowRedMessage(strErrMessage,"Home_Phone","Home_Phone", error_holder);
          AddClientErrorStep2('Home Phone < 10: ' + document.getElementById('Home_Phone').value);
          isOK = false;
        } else {
          document.getElementById('Home_Phone').className = 'FormInputTextStep3';
        }


        // mortgage size	##pete
	obj = document.forms[appFormName].elements["Mortgage_Size"];
//        obj = document.getElementById("Mortgage_Size");
        numb = parseInt(obj.value);
        if (isOK && (intMortgageSize == '' || (numb == 'NaN') || (isNaN(numb)) || (numb < 25000) || (numb > 10000000))) {
          ShowRedMessage("Please correct the mortgage size, it should be 25000 or more","Mortgage_Size","Mortgage_Size",error_holder);
          AddClientErrorStep2('Mortgage Size: '+ obj.value);
          isOK = false;
        } else {
          obj.className = 'FormInputText';
        }

        // mortgage size	##pete
	obj = document.forms[appFormName].elements["Property_Value"];
//        obj = document.getElementById("Property_Value");
        numb = parseInt(obj.value);
        if (isOK && (intPropertyvalue == '' || (numb == 'NaN') || (isNaN(numb)) || (numb < 25000) || (numb > 10000000))) {
          ShowRedMessage("Please correct the Property value, it should be 25000 or more","Property_Value","Property_Value",error_holder);
          AddClientErrorStep2('Mortgage Size: '+ obj.value);
          isOK = false;
        } else {
          obj.className = 'FormInputText';
        }

        // winning broker
        obj = document.getElementById("sch_broker_id");
        obj2 = document.getElementById("sch_broker_msg");
        if (isOK && ((obj.value.length < 4) || (obj2.value.length < 50))) {
          AddClientErrorStep2('Broker id < 4 or ExpressConsent < 50');

          getBrokerFromIframe();
          document.getElementById("btnSubmit").value = 'Final confirm';

//          isOK = false;
        }

        return isOK;
      }

      function isValidStep1(error_holder) {
        var numb, obj, objno, isOK = true;
        var intLeadbayMT = getMortgageType();
        ClearRedMessage(error_holder);
        var frm=document.forms[appFormName];

        var intPropertyvalue = frm.elements['Property_Value'].value;
        var intMortgageSize = frm.elements['Mortgage_Size'].value;
//var percentage = 100;
        var percentage = mortgagetypesPercentage[parseInt(intLeadbayMT)];
        var allowed_amount = (intPropertyvalue * (percentage))/100;

        if (isOK && (intMortgageSize > allowed_amount)) {
          obj = frm.elements["Mortgage_Size"];
          strErrMessage = "SORRY! The amount you want to borrow is more than " + percentage + " % of the property value. A mortgage broker might be able to get you this, BUT in order to be called by one you must reduce the amount on this form to less than " + percentage + " %. Please amend:<br />";
          ShowRedMessage(strErrMessage,"Mortgage_Size","Mortgage_Size", error_holder);
          AddClientErrorStep1('Loan to Value');
          isOK = false;
        }

        // property value
        obj = frm.elements["Property_Value"];
        numb = parseInt(obj.value);

        if (isOK && ((numb == 'NaN') || (isNaN(numb)) || (obj.value < 25000) || (obj.value > 10000000)))
      {
          ShowRedMessage("Please correct the property value, it should be 25000 or more","Property_Value","Property_Value",error_holder);
          AddClientErrorStep1('Property Value: ' + obj.value);
          isOK = false;
        } else {
          obj.className = 'FormInputText';
        }

        // mortgage size
        obj = frm.elements["Mortgage_Size"];
        numb = parseInt(obj.value);
        if (isOK && ((numb == 'NaN') || (isNaN(numb)) || (numb > 10000000))) {
            ShowRedMessage("Please correct the mortgage size, it should be 25000 or more","Mortgage_Size","Mortgage_Size",error_holder);
            AddClientErrorStep1('Mortgage Size: '+obj.value);
            isOK = false;
        } else {
          if (numb < 25000) {

            if (confirm('Sorry ! The amount you want to borrow is less than 25,000. This is the minimum allowed for a mortgage.\n\nBut don\'t worry ! You could get the money via a personal loan.\n\nI want a free no obligation loan quote Click OK\n\nNo thanks. I will change my borrow amount to more than 25,000 Click Cancel')) {
              parent.location.href='http://www.moneysorter.co.uk/loan/loan_applications.html';
              isOK = false;
              return false;
            } else {
              ShowRedMessage("Please correct the mortgage size, it should be 25000 or more","Mortgage_Size","Mortgage_Size",error_holder);
              AddClientErrorStep1('Mortgage Size: '+obj.value);
              isOK = false;
            }

          } else {
            obj.className = 'FormInputText';
          }
        }

        // mortgage type
        if (isOK && (frm.elements["Mortgage_Type"].value == "")) {
          ShowRedMessage("In the RED BOX above, please select any of the following mortgagetype options:<br />Re-Mortgage<br />Purchase<br />Buy to Let<br />Overseas","tdMortgage_Type","Mortgage_Type", error_holder);
          AddClientErrorStep1('Mortgage Type');
          isOK = false;
        } else {

          var arr = frm.getElementsByTagName('TD');
          for(i = 0; i < arr.length; i++){
            if (arr[i].id == 'tdMortgage_Type') {
              obj = arr[i];
              obj.className = 'FormSelect';
            }
          }

        }

        // first time buyer
        obj = frm.elements["ftbyes"];
        objno = frm.elements["ftbno"];
        numb = frm.elements["Mortgage_Type"].value;
        if (isOK && ((numb == '6') && (!obj.checked) && (!objno.checked))) 
        {
          ShowRedMessage("Please select 'yes' or 'no' for<br />Are you a first time buyer","tdFtb","ftb",error_holder);
          AddClientErrorStep1('FirstTimeBuyer');
          isOK = false;
        } 
        else 
        {
          setClassName(frm, 'TD', 'tdFtb', 'FormRadio');
        }

        // Other questions depending on the mortgage type
        obj = frm.elements["fpyes"];
        objno = frm.elements["fpno"];
        numb = frm.elements["Mortgage_Type"].value;
        if (isOK && (((numb == '5') || (numb == '6')) && (!obj.checked) && (!objno.checked))) {
          ShowRedMessage("Please select 'yes' or 'no' for<br />Have you found a property","tdFp","fp",error_holder);
          AddClientErrorStep1('Found Property');
          isOK = false;
        } 
        else 
        {
          setClassName(frm, 'TD', 'tdFp', 'FormRadio');
        }


        // overseas
        if (isOK && ((frm.elements["country"].value == "") && (document.forms[appFormName].elements["Mortgage_Type"].value == "9"))) 
        {
          ShowRedMessage("Please select Country","tdCountry","country",error_holder);
          AddClientErrorStep1('Country');
          isOK = false;
        } 
        else 
        {
          setClassName(frm, 'TD', 'tdCountry', 'FormSelect');
        }
        return isOK;
      }

      function pasteContent(val,nm)
      {

        if (nm) {
          document.forms[appFormName].elements[nm].value = val;
        }

        // validation for loan to value, two fields, pass values to step1
        if (nm == 'Mortgage_Size') {
          var oMortgageSize = document.forms[appFormName].elements['Mortgage_Size'];
          oMortgageSize.value = val;
        }

        if (nm == 'Property_Value') {
          var oPropertyvalue = document.forms[appFormName].elements['Property_Value'];
          oPropertyvalue.value = val;
        }
      }



//

      function ShowRedMessage(strText, strObjId, strObjValueId, strErrorHolderId) {
        var objTemp;
        var strCaption = '';
        var blTempTextField = true;
        var strNext = '';
        var strStep = '';
        var strAddBlur = '';
        var frm=document.forms[appFormName];
        ClearRedMessage(strErrorHolderId);

        if ((strObjValueId == 'Mortgage_Type') || (strObjValueId == 'ftb') || (strObjValueId == 'fp') || (strObjId == 'tdDOB') || (strObjId == 'tdAddress') || (strObjValueId == 'country')) {
          // show text box in error message
          blTempTextField = false;
        }

        if (strErrorHolderId == 'ErrorHolderStep3') {
          //strNext = 'NextValidationSubmit';
          strStep = 'Step3';
        } else {
          //strNext = 'NextValidationStep2();';
          strStep = '';
        }

        if (strObjValueId == 'Postcode') {
          strAddBlur = ' onblur=\"javascript: ClearAddressBox(); getBrokerFromIframe();\" ';
        }

        if (strObjValueId == 'Mortgage_Size') {
          strCaption = 'Mortgage Size:';
        }

        // #########################################################
        if (blTempTextField) {

          var strOnlyNumbers = " onkeypress=\"return isNumberKey(event);\" ";
          var strOnlyNumbersPaste = " onkeypress=\"return isNumberKeyPaste(event,this.value,'"+strObjValueId+"');\" ";

          if ((strObjValueId == 'Mortgage_Size') && (strStep == 'Step3')) {
            // ****************************************************
            // ************ LTV step 3 ****************************

            strCaption = 'Mortgage Size:';
            strObjId = 'Mortgage_Size';
            objTemp = 'x' + strObjId;
            strText = strText + "<br /> "+strCaption+"<input style='width:100px;position:relative;left:4px;' type='text' class='FormInputText' name='" + objTemp + "' id='" + objTemp + "' ";
            strText = strText + strOnlyNumbers + " onChange=\"pasteContent(this.value,'"+strObjId+"')\" />";

            strCaption = 'Property Value:';
            strObjId = 'Property_Value';
            objTemp = 'x' + strObjId;
            strText = strText + "<br /> "+strCaption+" <input style='width:100px;' type='text' class='FormInputText' name='" + objTemp + "' id='" + objTemp + "' ";
            strText = strText + strOnlyNumbers + " onChange=\"pasteContent(this.value,'"+strObjId+"')\" />";

            objTemp = 'xMortgage_Size';

            // ****************************************************
          } 
          else 
          {
            objTemp = 'x' + strObjId;
            strText = strText + " "+strCaption+" <input type='text' class='FormInputText' name='" + objTemp + "' id='" + objTemp + "' ";

            if ((strObjValueId == 'Mortgage_Size') || (strObjValueId == 'Property_Value')) {
              strText = strText + strOnlyNumbers;
            } 
            else 
            {
              strText = strText + " onkeyup=\"pasteContent(this.value,'"+strObjValueId+"')\" ";
            }

            strText = strText + " onChange=\"pasteContent(this.value,'"+strObjId+"');\" " + strAddBlur + " " + strNext + " />";
          }

        }
         
        var arr = frm.getElementsByTagName('DIV');
        for(i = 0; i < arr.length; i++){
          if (arr[i].id == strErrorHolderId) {
            arr[i].innerHTML = strText;
          }
        }

        var arr = frm.getElementsByTagName('TR');
        for(i = 0; i < arr.length; i++){
          if (arr[i].id == 'tr' + strErrorHolderId) {
            arr[i].style.display = '';
          }
        }


      if(typeof(objTemp) != 'undefined')
      {
	        if (blTempTextField && document.forms[appFormName].elements[objTemp]) 
	        {
	          frm.elements[objTemp].focus();
	        }
      }


      // ##############################################################################
      // hilite invalid field in red
      if ((strObjId == 'tdFp') || (strObjId == 'tdFtb')) 
      {
        setClassName(frm, 'TD', strObjId, 'FormRadioError'+strStep);
      } 
      else if ((strObjId == 'tdMortgage_Type') || (strObjId == 'tdDOB')) 
      {
        setClassName(frm, 'TD', strObjId, 'FormSelectError'+strStep);
      } 
      else if ((strObjId == 'tdAddress') || (strObjId == 'tdCountry')) 
      {
        // show address fields?
        setClassName(frm, 'TD', strObjId, 'FormInputTextError'+strStep);
      } 
      else 
      {
        document.forms[appFormName].elements[strObjId].className = 'FormInputTextError'+strStep;
      }

      }
//
      function setBadCreditMax(intMax) {
        var blRes = true;
        var bc = document.getElementById("bad_credit");
        bc.value = '0';

        for (var a=1;a<intMax;a++) {
          if (document.getElementById("bc"+a).checked) {
            bc.value = '1';
          }
        }
      }


      function setBadCredit() {
        var blRes = true;
        var bc = document.getElementById("bad_credit");

        bc.value = '0';

        for (var a=1;a<7;a++) {
          if (document.getElementById("bc"+a)) {
            if (document.getElementById("bc"+a).checked) {
              bc.value = '1';
            }
          }
        }
      }

      function ClearRedMessage(strErrorHolderId) {
        var arr = document.forms[appFormName].getElementsByTagName('DIV');
        for(i = 0; i < arr.length; i++){
          if (arr[i].id == strErrorHolderId) {
            obj = arr[i];
            obj.innerHTML = '';
          }
        }


        var arr = document.forms[appFormName].getElementsByTagName('TR');
        for(i = 0; i < arr.length; i++){
          if (arr[i].id == 'tr' + strErrorHolderId) {
            obj = arr[i];
            obj.style.display = 'none';
          }
        }
      }
      
      function setClassName(frm, tag, id, className)
      {
          var arr = frm.getElementsByTagName(tag);
          for(i = 0; i < arr.length; i++){
            if (arr[i].id == id) {
              arr[i].className = className;
            }
          }
      }


