//var sRequestor  = oForm.REQUESTOR.value;
//alert(sRequestor);

var arrFlds2Browse =  [ ['!','id'],
                        ['Title','title'],
                        ['Name','firstname'],
                        ['Surname','lastname'],
                        ['Phone Number','phone'],
                        ['Occupation','occupation'],
                        ['Email','email']];
var iPageSize = 20;

var oGForm ; //global form reference
var sEpgName = "DGD"; //global epgName

function SubUserFormNew(oForm){
//    alert("submit");
    //if ((oForm.v_username.value != "") || (oForm.v_passCode.value != "")){
    if ( ((oForm.v_username.value != "") || (oForm.v_passCode.value != "") ) && (oForm.REQUESTOR.value != 'FARMMINDER' && oForm.REQUESTOR.value != 'STOREMANIFEST' && oForm.REQUESTOR.value != 'MSDS_AU' )){
        //check if user name already exist
        //and if email adress is already used
        jsrsPOST = '';
        var sFldDelimiter = "~^";

        if (oForm.v_email.value == ""){
            //if email is empty ignore the check
            var sEmail = "asas1212";
        }else{
            var sEmail = oForm.v_email.value;
        }

        //alert(oForm.v_passCode.value.length);
        //IS000124
        //var inValue  = oForm.v_username.value + sFldDelimiter + sEmail;
        //alert(IsFieldRequired('v_passCode'));
        var sPassCodeValue = ""
        switch (IsFieldRequired('v_passCode')){
            case '2':
                //required and lookup
                sPassCodeValue = oForm.v_passCode.value
                break;
            default:
                sPassCodeValue = "na";
                break;
        }

        var inValue  = oForm.v_username.value + sFldDelimiter + sEmail + sFldDelimiter + sPassCodeValue;
        //alert(inValue);
        var sRequestor  = oForm.REQUESTOR.value;
        jsrsExecute("/webservices/rmtCMSServer.asp", fCMSCallBack, "getRmt", Array(inValue, sRequestor, "checkUser_Name_Email"));
    }else{
        //precheck OK
        //alert(oForm);
        //AIF
        //SubUserForm(oForm);
        CheckCaptcha();

    }

}
function fCMSCallBack( returnstring ){
    //alert(returnstring);
    var bPreCheck = true;
    var sFldDelimiter = "~^";
	var myArray = returnstring.split(sFldDelimiter);

    showMessage("spMsgUsername","");
    //alert(myArray[0]);
    if (myArray[0] != "0"){
        bCanSubmit = false;
        bPreCheck = false;
        clearAllMessages();
        showMessage("spMsgUsername","User name already used");
    }

    showMessage("spMsgEmail","");
    if (myArray[1] != "0"){
        bCanSubmit = false;
        bPreCheck = false;
        clearAllMessages();
        showMessage("spMsgEmail","Email address already used");
    }
    //IS000124
    showMessage("spMsgPassCode","");
    //alert(myArray[2]);
    if (myArray[2] <= "0"){
        bCanSubmit = false;
        bPreCheck = false;
        clearAllMessages();
        showMessage("spMsgPassCode","Invalid Login Code used");
    }
    if ( bPreCheck ) {
        CheckCaptcha()
    }
    // AIF
 //   if ( bPreCheck ) {
  //      //precheck OK
  //      SubUserForm(document.forms.usernew);
  //  }
    //AIF
}
function SubUserFormNew_old(oForm){
//    alert("submit");
    if (oForm.v_username.value != ""){
        //check if user name already exist
        jsrsPOST = '';

        var inValue  = oForm.v_username.value;
        var sRequestor  = oForm.REQUESTOR.value;
        jsrsExecute("/webservices/rmtCMSServer.asp", fCMSCallBack, "getRmt", Array(inValue, sRequestor, "duplicateUserName"));
    }else{
        //precheck OK
        //alert(oForm);
        SubUserForm(oForm);
    }

}
function fCMSCallBack_olda( returnstring ){
    showMessage("spMsgUsername","");
    if (returnstring != "0"){
        bCanSubmit = false;
        clearAllMessages();
        showMessage("spMsgUsername","User name already used");
    }else{
        //precheck OK
        SubUserForm(document.forms.usernew);
    }
}
function toggleView(oButton){
//    alert(oButton.form.name);
    if (oButton.form.sViewType.value == 'card'){
        oButton.form.sViewType.value = 'grid';
        oButton.value = 'Card';
    }else{
        oButton.form.sViewType.value = 'card';
        oButton.value = 'Grid';
    }
    getPage(oButton);
}
function getPage(oButton){
    var oForm = oButton.form;
    jsrsPOST = '';


    var iPagePointer = oForm.iGoPage.value;

    //alert(oForm.iPageCount.value + "\t" + iPagePointer);

    if (parseInt(iPagePointer) > parseInt(oForm.iPageCount.value)) iPagePointer = oForm.iPageCount.value;
    if (parseInt(iPagePointer) < 1) iPagePointer = 1;
    oForm.iGoPage.value = iPagePointer;
/*
    if (oForm.rbSwSearch.checked){
      var inValue  = oForm.tbFilter.value + "^" + iPagePointer + "^" + iPageSize + ":";
      var sFlds = ""
      for (iFldPointer in arrFlds2Browse){
          sFlds += arrFlds2Browse[iFldPointer][1] + '^';
      }
      inValue += sFlds.substr(0,sFlds.length-1);
      inValue += ':';
      inValue += 'occupation='+ "'" +oForm.v_occupation.value+"'";
      alert(inValue);
      var sRequestor  = oForm.REQUESTOR.value;
      jsrsExecute("/webservices/rmtCMSServer.asp", fCMSPageCallBack, "getRmt", Array(inValue, sRequestor, "getAdvFilterPage"));
    }else{
*/
      var inValue  = oForm.tbFilter.value + "^" + iPagePointer + "^" + iPageSize + ":";
      var sFlds = ""
      for (iFldPointer in arrFlds2Browse){
          sFlds += arrFlds2Browse[iFldPointer][1] + '^';
      }
      inValue += sFlds.substr(0,sFlds.length-1) + ":";
      inValue += isDateFieldEmpty(oForm.tbDDFrom,'01') + "^";
      inValue += isDateFieldEmpty(oForm.tbMMFrom,'01') + "^";
      inValue += isDateFieldEmpty(oForm.tbYYFrom,'1901') + "^";

      inValue += isDateFieldEmpty(oForm.tbDDTo,'01') + "^";
      inValue += isDateFieldEmpty(oForm.tbMMTo,'01') + "^";
      inValue += isDateFieldEmpty(oForm.tbYYTo,'2099')+ ":";;
      //alert(inValue);
      var sRequestor  = oForm.REQUESTOR.value;
     //alert(sRequestor);

     jsrsExecute("/webservices/rmtCMSServer.asp", fCMSPageCallBack, "getRmt", Array(inValue, sRequestor, "getPage"));
     //alert(inValue);
/*
    }
*/

}
function getCVS(){
    var sURLParms = "?expType=csv";
    sURLParms += "&Filter=" + document.frmBrowse.tbFilter.value;
    sURLParms += "&sDDFrom=" + document.frmBrowse.tbDDFrom.value;
    sURLParms += "&sMMFrom=" + document.frmBrowse.tbMMFrom.value;
    sURLParms += "&sYYFrom=" + document.frmBrowse.tbYYFrom.value;
    sURLParms += "&sDDTo=" + document.frmBrowse.tbDDTo.value;
    sURLParms += "&sMMTo=" + document.frmBrowse.tbMMTo.value;
    sURLParms += "&sYYTo=" + document.frmBrowse.tbYYTo.value;
    window.location = '/edit/csvExport.asp' + sURLParms;
}
function isDateFieldEmpty(oFld,sDfltValue){
    var sRet = '';
    if (oFld.value.length > 0){
        sRet = oFld.value;
    }else{
        sRet = sDfltValue;
        //oFld.value = sDfltValue;
    }
    return sRet;
}
function initPage(oButton){
    //alert(oButton.id);
    //var oForm = oButton.form;
    var oForm = oButton;
    //alert(oForm);

    jsrsPOST = '';

    var iPagePointer = 1;

    var inValue  = "" + "^" + iPagePointer + "^" + iPageSize + ":";
    var sFlds = ""
    for (iFldPointer in arrFlds2Browse){
        sFlds += arrFlds2Browse[iFldPointer][1] + '^';
    }
    inValue += sFlds.substr(0,sFlds.length-1) + ":";
    inValue += '^^^^^';
    //alert(inValue);
    //var sRequestor  = '';
    var sRequestor  = oForm.REQUESTOR.value;
    //alert(sRequestor);

    jsrsExecute("/webservices/rmtCMSServer.asp", fCMSPageCallBack, "getRmt", Array(inValue, sRequestor, "getPage"));

}
function fCMSPageCallBack( returnstring ){
    //alert( returnstring );
    var sRet = "";
	var myArray = returnstring.split(":");
	//alert(myArray.length);

   	var arrFlds = myArray[0].split("^");
    var iPageSize   = arrFlds[0];
    var iPageCount  = arrFlds[1];
    var iRecCount   = arrFlds[3];
    document.frmBrowse.iPageCount.value = iPageCount;
    var iCurrPage = arrFlds[2]; // AbsolutePage

    sRet = '<table border=0 cellpadding=2 cellspacing=1 width="100%" class=grid>';
	sRet += "<tr>"
    sRet += '<td nowrap>';

    if (iRecCount > 0 ){
      var iEndRange = (iCurrPage * iPageSize);
      if (iEndRange > iRecCount) iEndRange = iRecCount;

      sRet += 'Viewing ' + ((iPageSize * (iCurrPage -1)) + 1) + ' - ' + iEndRange + ' of ' + iRecCount;
    }else{
      sRet += 'No records found! ';
    }
    sRet += "</td>";
	sRet += "</tr>";
    sRet += '</table>';
    sRet += '<table border=0 cellpadding=2 cellspacing=1 width="100%" class=grid>';
    switch (document.frmBrowse.sViewType.value){
        case 'card':
        	for (i = 1; i < myArray.length-1; i++){

        		var arrFlds = myArray[i].split("^");
            	for (j = 0; j < arrFlds.length; j++){
                    if (arrFlds2Browse[j][0] != '!'){
                        sRet += '<tr class="himiddle">';
                        sRet += '<td width="10%" nowrap><b>';
                        sRet += arrFlds2Browse[j][0];
                        sRet += "</b>&nbsp;&nbsp;</td>";
                        sRet += "<td>";
                        switch (arrFlds2Browse[j][1]){
                            case 'firstname':
                                sRet += '<a href="/default.asp?V_DOC_ID=' + document.frmBrowse.iDtlDocID.value + '&myUserID=' + arrFlds[0] +'">'+ arrFlds[j] +'</a>';
                                break;
                            case 'email':
                                   sRet += '<a href="mailto:' + arrFlds[j] +'">'+ arrFlds[j] +'</a>';
                                break;
                            default:
                                sRet += arrFlds[j];
                            break;
                        }
                        sRet += "</td>";
                        sRet += "</tr>";
                    }
                }
            	sRet += "<tr><td colspan=2>&nbsp</td></tr>"
        	}

            sRet += "</table>";
            break;
        default:
        	sRet += "<tr class=top>"
            for (iFldPointer in arrFlds2Browse){
                if (arrFlds2Browse[iFldPointer][0] != '!'){
                    sRet += '<td>' + arrFlds2Browse[iFldPointer][0] + '</td>';
                }
            }
            /*
            sRet += "<td>Title</td>"
        	sRet += "<td>Name</td>"
        	sRet += "<td>Surname</td>"
        	sRet += "<td>Occupation</td>"
        	sRet += "<td>Email</td>"
            */
        	sRet += "</tr>"


        	for (i = 1; i < myArray.length-1; i++){

                sRet += '<tr class="himiddle">';
        		var arrFlds = myArray[i].split("^");
            	for (j = 0; j < arrFlds.length; j++){
                    if (arrFlds2Browse[j][0] != '!'){
                        sRet += "<td>";
                        switch (arrFlds2Browse[j][1]){
                            case 'firstname':
                                //sRet += '<a href="/default.asp?V_DOC_ID=' + document.frmBrowse.iDtlDocID.value + '&myUserID=' + arrFlds[0] +'">'+ arrFlds[j] +'</a>';
                                sRet += '<a href="default.asp?V_DOC_ID=' + document.frmBrowse.iDtlDocID.value + '&myUserID=' + arrFlds[0] +'">'+ arrFlds[j] +'</a>';
                                break;
                            case 'email':
                                   sRet += '<a href="mailto:' + arrFlds[j] +'">'+ arrFlds[j] +'</a>';
                                break;
                            default:
                                sRet += arrFlds[j];
                            break;
                        }
                        sRet += "</td>";
                    }
                }
                sRet += "</tr>";
        	}
            sRet += "</table>";
            break;
    }
    //alert(sRet);
    //prompt('ok',sRet);
   document.getElementById('divContent').innerHTML = sRet;
    sRet = '<table border=0 cellpadding=2 cellspacing=1 width="100%" class=grid>';
	//sRet += '<tr class=top>'
	sRet += '<tr>'
	sRet += '<td nowrap>'
	if (iPageCount == 1 && iCurrPage == 1){
    }else{
		switch (iPageCount - iCurrPage){
			case 0:
				//last page
				sRet += '<input type="button" onClick="go2Page(this);" id="btnGoFirst" name="btnGoFirst" value="&lt;&lt;" class="bbuttonNarrow">';
				sRet += '<input type="button" onClick="go2Page(this);" id="btnGoPrev" name="btnGoPrev" value="&lt;" class="bbuttonNarrow">';
				sRet += '<input type="button" onClick="go2Page(this);" id="btnGoNext" name="btnGoNext" value="&gt;" class="bbuttonNarrow" disabled>';
				sRet += '<input type="button" onClick="go2Page(this);" id="btnGoLast" name="btnGoLast" value="&gt;&gt;" class="bbuttonNarrow" disabled>';
                break;
			case (iPageCount -1):
				sRet += '<input type="button" onClick="go2Page(this);" id="btnGoFirst" name="btnGoFirst" value="&lt;&lt;" class="bbuttonNarrow" disabled>';
				sRet += '<input type="button" onClick="go2Page(this);" id="btnGoPrev" name="btnGoPrev" value="&lt;" class="bbuttonNarrow" disabled>';
				sRet += '<input type="button" onClick="go2Page(this);" id="btnGoNext" name="btnGoNext" value="&gt;" class="bbuttonNarrow">';
				sRet += '<input type="button" onClick="go2Page(this);" id="btnGoLast" name="btnGoLast" value="&gt;&gt;" class="bbuttonNarrow">';
                break;
			default:
				sRet += '<input type="button" onClick="go2Page(this);" id="btnGoFirst" name="btnGoFirst" value="&lt;&lt;" class="bbuttonNarrow">';
				sRet += '<input type="button" onClick="go2Page(this);" id="btnGoPrev" name="btnGoPrev" value="&lt;" class="bbuttonNarrow">';
				sRet += '<input type="button" onClick="go2Page(this);" id="btnGoNext" name="btnGoNext" value="&gt;" class="bbuttonNarrow">';
				sRet += '<input type="button" onClick="go2Page(this);" id="btnGoLast" name="btnGoLast" value="&gt;&gt;" class="bbuttonNarrow">';
                break;
         }
	}
	sRet += '&nbsp; Page:' + iCurrPage + '/' + iPageCount;
	sRet += '</td>'
	sRet += '<td width="70%">&nbsp;</td>'
	sRet += '<td>'
	sRet += '<input type="text" name="tbPage" id="tbPage" size="2" value="'+ iCurrPage +'" onchange="updatePagePointer(this);">';
	sRet += '<input type="button" id="btnGoPage" name="btnGoPage" onClick="getPage(this);" value="Go">';
	sRet += '</td>'
    sRet += '</tr>';
    sRet += '</table>';
   document.getElementById('divNavigation').innerHTML = sRet;
}

function go2Page(oFld){
    //alert(oFld.form.iGoPage.value);
    switch (oFld.id){
        case 'btnGoFirst':
            oFld.form.iGoPage.value = 1;
            break;
        case 'btnGoPrev':
            oFld.form.iGoPage.value--;
            break;
        case 'btnGoNext':
            oFld.form.iGoPage.value++;
            break;
        case 'btnGoLast':
            oFld.form.iGoPage.value = oFld.form.iPageCount.value;
            break;
    }
    //alert(oFld.form.iGoPage.value);
    getPage(oFld);
}
function updatePagePointer(oFld){
    oFld.form.iGoPage.value = oFld.value;
}
function clearAllMessages(){
//    alert("clear");
    var sTmp = "";
    for (var dd in document.elements){
         sTmp += dd + "\n";
        if (document.elements[dd].name.indexOf('spMsg') != -1){
    		//document.getElementById(sMsgObj).innerHTML = sMsgText;
            sTmp += document.elements[dd] + "\n";
            document.elements[dd].innerHTML = "";
        }
    }
//    alert(sTmp);
}
function SubUserForm(oForm){
    //alert(oForm.name);
	var bCanSubmit = true;

    //alert(IsFieldRequired('v_passCode'));
    //alert(bCanSubmit);

	showMessage("spMsgForename","");
    if (IsFieldRequired('v_forename') == 1){
    	if (oForm.v_forename.value == ""){
    		bCanSubmit = false;
    		showMessage("spMsgForename","First name is missing");
    	}
    }

	showMessage("spMsgSurname","");
    if (IsFieldRequired('v_surname') == 1){
	if (oForm.v_surname.value == ""){
		bCanSubmit = false;
		showMessage("spMsgSurname","Last name is missing");
	}
    }

   if (oForm.name == "usernew"){
      showMessage("spMsgUsername","");
      if (IsFieldRequired('v_username') == 1){
      if (oForm.v_username.value == ""){
          bCanSubmit = false;
          showMessage("spMsgUsername","User name is missing");
      }
      }
   }

	showMessage("spMsgEmail","");
    if (IsFieldRequired('v_email') == 1){
	if (oForm.v_email.value == ""){
		bCanSubmit = false;
		showMessage("spMsgEmail","Email address is missing");
	}else{
		//check email
		var R = new RegExp(/^[\w\.-]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]+$/);
		var OK = R.test(oForm.v_email.value);
		if (!OK){
			bCanSubmit = false;
			showMessage("spMsgEmail","Mask validation failed for Email address");
		}
	}
    }

	showMessage("spMsgPassword","");
    if (IsFieldRequired('v_password') == 1){
	if (oForm.v_password.value == ""){
		bCanSubmit = false;
		showMessage("spMsgPassword","Password is missing");
	}else{
		//check Password
		var oField = oForm.v_password;
		if (!(isPassword(oField))){
			bCanSubmit = false;
			//showMessage("spMsgPassword","Password must be at least 8 characters, no more than 20 characters, and must include at least one upper case letter, one lower case letter, and one number.");
			showMessage("spMsgPassword","Password must be at least 6 characters, no more than 20 characters.");

		}
	}
    }
	showMessage("spMsgCPassword","");
    if (IsFieldRequired('v_cpassword') == 1){
	if (oForm.v_cpassword.value == ""){
		bCanSubmit = false;
		showMessage("spMsgCPassword","Confirmation Password is missing");
	}else{
		//check CPassword
		if (oForm.v_password.value != oForm.v_cpassword.value){
			bCanSubmit = false;
			showMessage("spMsgCPassword","Passwords do not match, please try again.");
		}
	}
    }

	showMessage("spMsgCompany","");
    if (IsFieldRequired('v_Company') == 1){
	if (oForm.v_Company.value == ""){
		bCanSubmit = false;
		showMessage("spMsgCompany","Company / Business name is missing");
	}
    }
    //IS000119
    //IS000124
//alert(bCanSubmit);

	showMessage("spMsgPassCode","");
    if (IsFieldRequired('v_passCode') >= 1){
	if (oForm.v_passCode.value == ""){
		bCanSubmit = false;
		showMessage("spMsgPassCode","Login Code is missing");
	}

    }
	showMessage("spMsgUsername","");
    if (IsFieldRequired('v_username') == 1){
	if (oForm.v_username.value == ""){
		bCanSubmit = false;
		showMessage("spMsgUsername","User Name is missing");
	}
    }


   showMessage("spMsgTitle","");
    if (IsFieldRequired('v_title') == 1){
	if (oForm.v_title.value == ""){
		bCanSubmit = false;
		showMessage("spMsgTitle","Title is missing");
	}
    }

	showMessage("spMsgJobTitle","");
    if (IsFieldRequired('v_jobtitle') == 1){
	if (oForm.v_jobtitle.value == ""){
		bCanSubmit = false;
		showMessage("spMsgJobTitle","Job title is missing");
	}
    }

	showMessage("spMsgSendInfo","");
    if (IsFieldRequired('v_sendinfo') == 1){
    var selectValue = oForm.v_sendinfo.options[oForm.v_sendinfo.selectedIndex].text;
	if (selectValue == ""){
		bCanSubmit = false;
		showMessage("spMsgSendInfo","This field is required");
	}
    }

	showMessage("spMsgPhoneNumber","");
    if (IsFieldRequired('v_phonenumber') == 1){
	if (oForm.v_phonenumber.value == ""){
		bCanSubmit = false;
		showMessage("spMsgPhoneNumber","Phone number is missing");
	}
    }

	showMessage("spMsgFaxNumber","");
    if (IsFieldRequired('v_faxnumber') == 1){
	if (oForm.v_faxnumber.value == ""){
		bCanSubmit = false;
		showMessage("spMsgFaxNumber","Fax number is missing");
	}
    }

   	showMessage("spMsgMobileNumber","");
    if (IsFieldRequired('v_mobilenumber') == 1){
	if (oForm.v_mobilenumber.value == ""){
		bCanSubmit = false;
		showMessage("spMsgMobileNumber","Mobile number is missing");
	}
    }

   	showMessage("spMsgPostAddress","");
    if (IsFieldRequired('v_postaddress') == 1){
	if (oForm.v_postaddress.value == ""){
		bCanSubmit = false;
		showMessage("spMsgPostAddress","Postal address is missing");
	}
    }

   	showMessage("spMsgTown","");
    if (IsFieldRequired('v_town') == 1){
	if (oForm.v_town.value == ""){
		bCanSubmit = false;
		showMessage("spMsgTown","Town is missing");
	}
    }
   	showMessage("spMsgState","");
    if (IsFieldRequired('v_state') == 1){
    	if (oForm.v_state.value == ""){
    		bCanSubmit = false;
    		showMessage("spMsgState","State name is missing");
    	}
    }

   	showMessage("spMsgPostCode","");
    if (IsFieldRequired('v_postcode') == 1){
	if (oForm.v_postcode.value == ""){
		bCanSubmit = false;
		showMessage("spMsgPostCode","Post code is missing");
	}
    }

   	showMessage("spMsgCountry","");
    if (IsFieldRequired('v_country') == 1){
	if (oForm.v_country.value == ""){
		bCanSubmit = false;
		showMessage("spMsgCountry","Country is missing");
	}
    }

    if (IsFieldRequired('v_occupation') == 1){
     	showMessage("spMsgOccupation","");
      	if (oForm.v_occupation.value == ""){
      		bCanSubmit = false;
      		showMessage("spMsgOccupation","Please select one of the options");
      	}

      var oRb = oForm.rbOccupation
      var sRet = "";
      for (ii=0;ii<oRb.length; ii++){
  //       sRet += oRb[ii].value + "\t" + oRb[ii].checked + "\n";
         if (oRb[ii].value.indexOf('Turf M') != -1){
              if (oRb[ii].checked){
               //additional check for turf managers
                  if (IsFieldRequired('v_cbdescbus') == 1){
                 //check business
                  var oCb = oForm.cbDescBus
                  var bChecked = false;
                  for (jj=0;jj<oCb.length; ++jj){
                    //sRet += oCb[jj].checked + "\t" + oCb[jj].value + "\n";
                    if (oCb[jj].value.indexOf('Other') != -1){
                        //uncheck if "other" field is empty
                        if (oForm.v_descbus.value == ""){
                            oCb[jj].checked = false;
                        }else{
                            oCb[jj].checked = true;
                        }
                    }
                    if (oCb[jj].checked){
                        bChecked = true;
                    }
                  }
             		showMessage("spMsgDescBus","");
              	if (!bChecked){
              		bCanSubmit = false;
              		showMessage("spMsgDescBus","Please select one of the options");
              	}
                  } //field required

                  if (IsFieldRequired('v_cbgrass') == 1){
                 //check grass
                  var oCb = oForm.cbGrass
                  var bChecked = false;
                  for (jj=0;jj<oCb.length; ++jj){
    //              sRet += oCb[jj].checked + "\t" + oCb[jj].value + "\n";
                    if (oCb[jj].value.indexOf('Other') != -1){
                        //uncheck if "other" field is empty
                        if (oForm.v_grass.value == ""){
                            oCb[jj].checked = false;
                        }else{
                            oCb[jj].checked = true;
                        }
                    }
                    if (oCb[jj].checked){
                        bChecked = true;
                    }
                  }
             		showMessage("spMsgGrass","");
              	if (!bChecked){
              		bCanSubmit = false;
              		showMessage("spMsgGrass","Please select one of the options");
              	}
                  }//field required
             }
         }

      }
   }


   //check post
    if (IsFieldRequired('v_cbpost') == 1){
    var oCb = oForm.cbPost
    var bChecked = false;
    for (jj=0;jj<oCb.length; ++jj){
      //sRet += oCb[jj].checked + "\t" + oCb[jj].value + "\n";
      if (oCb[jj].checked){
          bChecked = true;
      }
    }
	showMessage("spMsgPost","");
	if (!bChecked){
		bCanSubmit = false;
		showMessage("spMsgPost","Please select one of the options");
	}
    }
   //check html
    if (IsFieldRequired('v_html') == 1){
      var oCb = oForm.cbHtml
      var bChecked = false;
      for (jj=0;jj<oCb.length; ++jj){
        //sRet += oCb[jj].checked + "\t" + oCb[jj].value + "\n";
        if (oCb[jj].checked){
            bChecked = true;
            }
          }
      	showMessage("spMsgHtml","");
  	    if (!bChecked){
  		bCanSubmit = false;
  		showMessage("spMsgHtml","Please select one of the options");
  	}
    }

   if (oForm.name == "usernew"){
      if (IsFieldRequired('v_agreetc') == 1){
       //check Ts and Cs
        var oCb = oForm.cbAgreeTC
        var bChecked = false;
    	showMessage("spMsgAgreeTC","");
    	if (!oForm.cbAgreeTC.checked){
    		bCanSubmit = false;
    		showMessage("spMsgAgreeTC","You must agree with the T&C to register!");
    	}
        }
    }
    //alert(sRet);
//alert(bCanSubmit);
if (bCanSubmit == true) {
      if (IsFieldRequired('v_notification') == 1){
		//alert("OK to sub");
        if (oForm.hdnNotify.value == 1){
          //do channel subscriptions here via jsrs
  		    var sFields = "^";
  		    var sSelection = "^";
  		    var iChannelID = 0;
            var sChannelRec = "";
            var bUseNotifications = false;
            var sBlockDelimiter = "~!";
            var sRecDelimiter = "~:";
            var sFldDelimiter = "~^";
            if (typeof(oForm.cbNotifications) != 'undefined'){
              sChannelRec += 'Site=' + oForm.hdnChannelSite.value + sFldDelimiter;
              sChannelRec += 'FirstName=' + oForm.v_forename.value + sFldDelimiter;
              sChannelRec += 'LastName=' + oForm.v_surname.value + sFldDelimiter;
              sChannelRec += 'EmailAddress=' + oForm.v_email.value + sFldDelimiter;
              sChannelRec += 'Password=' + oForm.v_password.value + sFldDelimiter;
              //if (oForm.cbNotifications.checked){
              if (oForm.cbNotifications.value == 1){
                //since cbNotifications changed from checkbox to hidden
                bUseNotifications = true;
          		//alert("OK to sub  1");
                  if (oForm.CMSubscriberID.value > 0){
                      sChannelRec += 'CMSubscriberID=' + oForm.CMSubscriberID.value + sBlockDelimiter;
                  }else{
                      sChannelRec += 'CMSubscriberID=0' + sBlockDelimiter;
                  }
                  for(var ii=0;ii < oForm.elements.length;ii++){
      			    //form fields processing
                    var oFld = oForm.elements[ii];
      			  if (oFld.name.search(/cbChannel/i) == 0){
                      //is it channel field
         			  iChannelID = oFld.name.slice(9);
                      sChannelRec += 'ChannelID=' + iChannelID + sFldDelimiter;
                      if (oFld.checked){
                        //user selected the channel for notification
                        sChannelRec += 'Subscribed=1' + sFldDelimiter;
              			var objUseCrop  = eval("oForm.hdnCropMonitor"     + iChannelID.toString());
              			var objChannelType = eval("oForm.hdnChannelType"     + iChannelID.toString());
                        sChannelRec += 'ChannelType=' + objChannelType.value + sFldDelimiter;
                        var sSelection = "";

                            switch (objChannelType.value){
                            case '2':
                                //crop monitor
              					//channels marked for crop use
              					var objSelect = eval("oForm.SelectedList"     + iChannelID.toString());
              					for (jj=0;jj<objSelect.options.length;jj++){
              						sSelection += "^" + objSelect.options[jj].text;
              					}
                                sChannelRec += 'ChannelSelection=' + sSelection.substr(1) + sFldDelimiter;
                                sChannelRec += 'ChannelDocSelection=' + sFldDelimiter;
                              break;
                            case '3':
                                //document monitor
                                sSelection += getDocSelection(oForm);

                                sChannelRec += 'ChannelCropSelection=' + sFldDelimiter;
                                sChannelRec += 'ChannelDocSelection=' + sSelection.substr(1) + sFldDelimiter;
                              break;
                            case '4':
                                //crop and document monitor
              					//channels marked for crop use
              					var objSelect = eval("oForm.SelectedList"     + iChannelID.toString());
              					for (jj=0;jj<objSelect.options.length;jj++){
              						sSelection += "^" + objSelect.options[jj].text;
              					}
                                sChannelRec += 'ChannelCropSelection=' + sSelection.substr(1) + sFldDelimiter;

                                sSelection = "";
                                sSelection += getDocSelection(oForm,iChannelID);
                                //alert(sSelection);
                                sChannelRec += 'ChannelDocSelection=' + sSelection.substr(1) + sFldDelimiter;

                              break;
                            default:
                                sChannelRec += 'ChannelCropSelection=' + sFldDelimiter;
                                sChannelRec += 'ChannelDocSelection=' + sFldDelimiter;
                                break;
                            } // end switch

                			if (oForm.elements[ii].name.search(/hdnCrops/) == 0){
              				//reset data source fields to make form transfer faster
              				iChannelID = oFld.name.slice(8);
              				var objDataField = eval("oForm.hdnCrops" + iChannelID.toString());
              				objDataField.value = ""
                          }
                           // add promotion subscription
                        
                      }else{
                          //channel not subscribed
                          sChannelRec += 'Subscribed=0' + sFldDelimiter;
                          //sChannelRec += 'CropMonitor=0' + sFldDelimiter;
                          sChannelRec += 'Crops=0' + sFldDelimiter;
                          sChannelRec += 'ChannelCropSelection=' + sFldDelimiter;
                          sChannelRec += 'ChannelDocSelection=' + sFldDelimiter;
                      }//(oFld.checked) // (oFld.name.search(/cbChannel/i) == 0)
                        var oCBval =  document.getElementById("cbSubsPromo")
                        if (oCBval!= undefined){
                            if (oCBval.checked) sChannelRec += 'SubscribePromos=1' + sFldDelimiter;
                            else     sChannelRec += 'SubscribePromos=0' + sFldDelimiter;
                        }else sChannelRec += 'SubscribePromos=0' + sFldDelimiter;   
            
                        sChannelRec += sRecDelimiter;
                    }// (oFld.name.search(/cbChannel/i) == 0)
                  }//end for
              }else{
                  //alert("2");
                    sChannelRec += 'Subscribed=0' + sFldDelimiter;
                    //sChannelRec += 'CropMonitor=0' + sFldDelimiter;
                    sChannelRec += 'Crops=0' + sFldDelimiter;
                    sChannelRec += 'ChannelCropSelection=' + sFldDelimiter;
                    sChannelRec += 'ChannelDocSelection=' + sFldDelimiter;
                    sChannelRec += 'SubscribePromos=0' + sFldDelimiter;
              }//(oForm.cbNotifications.checked)

            } //typeof(oForm.cbNotifications) != 'undefined'){

        } //(oForm.hdnNotify.value == 1){

        if (bUseNotifications == true){
            oGForm = oForm; //store form reference for call back
            var inValue = sChannelRec;
            var sRequestor  = oForm.REQUESTOR.value;
            //prompt("",inValue);
            jsrsExecute("/webservices/rmtCMSServer.asp", fCMSChannelsCallBack, "getRmt", Array(inValue, sRequestor, "updateChannels"),false);
              // fCMSChannelsCallBack will submit CMS subscription part
        }else{
            //delete all subscriptions for CMS user
            oGForm = oForm; //store form reference for call back
            var inValue = oForm.CMSubscriberID.value;
            //alert(inValue);
            var sRequestor  = oForm.REQUESTOR.value;
            jsrsExecute("/webservices/rmtCMSServer.asp", fCMSDelChannelsCallBack, "getRmt", Array(inValue, sRequestor, "deleteSubscription"));
	        //oForm.submit();
        }

      }else{
	     oForm.submit();
      }//(IsFieldRequired('v_notification')
}//(bCanSubmit == true)
}
function getDocSelection(oForm,iChannelID){
    //IS000109
    var sReturn = "";
    var objLABEL = eval("oForm.cbLABEL" + iChannelID.toString());
    if ((dltypeof(objLABEL) != 'null') && (dltypeof(objLABEL) != 'undefined')){
        if (objLABEL.checked) sReturn += "^LABEL";
    }

    var objMSDS = eval("oForm.cbMSDS" + iChannelID.toString());
    if ((dltypeof(objMSDS) != 'null') && (dltypeof(objMSDS) != 'undefined')){
        if (objMSDS.checked) sReturn += "^MSDS";
    }

    var objDGD = eval("oForm.cbDGD" + iChannelID.toString());
    if ((dltypeof(objDGD) != 'null') && (dltypeof(objDGD) != 'undefined')){
        if (objDGD.checked) sReturn += "^DGD";
    }
    var objDOCOTHERS = eval("oForm.cbDOCOTHERS" + iChannelID.toString());
    if ((dltypeof(objDOCOTHERS) != 'null') && (dltypeof(objDOCOTHERS) != 'undefined')){
        if (objDOCOTHERS.checked) sReturn += "^DOCOTHERS";
    }
    return sReturn;
}
function fCMSChannelsCallBack( returnstring ){
    //alert("CMS1\n" + returnstring );
    var arrRet = returnstring.split("~!");
    oGForm.CMSubscriberID.value = arrRet[0];
    emptyCrops(oGForm);
    oGForm.submit();
}
function fCMSDelChannelsCallBack( returnstring ){
    //alert("CMS2\n" + returnstring );
    emptyCrops(oGForm);
    oGForm.submit();
}
function resetDontSendInfo(oFld){

    var oForm = oFld.form;
    if (oFld.checked){
        oForm.cbPost[5].checked=false;
    }
}
function resolveSendInfo(oFld){

    var oForm = oFld.form;
    if (oForm.cbPost[5].checked){
        oForm.cbPost[0].checked=false;
        oForm.cbPost[1].checked=false;
        oForm.cbPost[2].checked=false;
        oForm.cbPost[3].checked=false;
        oForm.cbPost[4].checked=false;
    }
}

function checkDescBusUpdate(oFld){
    //automatically set checked if "other" field in "best describe business" section is populated
    //alert(oFld.parent.name);
    var oForm = oFld.form;
    if (oFld.value.length > 0){
        oForm.cbDescBus[8].checked=true;
    }else{
        oForm.cbDescBus[8].checked=false;
    }
}
function showProps(oObj){
	//*
	xObj = oObj;
	//xObj = e
	strAa = ""
	for (aa in xObj){
		if (xObj[aa]){
		strAa += aa +'='+ xObj[aa]+ '\n';
		}
	}
	alert(strAa);
	//*/
}
function showSelection(oRButton){
    //showProps(oRButton.form.v_occupation);
    //alert(oRButton.form.name);
    var oForm = oRButton.form;
    if (oRButton.value.indexOf('Other') == -1){
        oForm.v_occupation.value = oRButton.value;
        if (oRButton.value.indexOf('Turf') != -1){
            document.getElementById('divTurf').style.display = 'inline';
        }else{
            document.getElementById('divTurf').style.display = 'none';
        }

    }else{
        document.getElementById('divTurf').style.display = 'none';
        oForm.v_occupation.value = '';
        oForm.v_occupation.focus();
    }
}
function showOccupation(oRButton){
    //showProps(oRButton.form.v_occupation);
    //alert(oRButton.form.name);
    var oForm = oRButton.form;
    if (oRButton.value.indexOf('Other') == -1){
        oForm.v_occupation.value = oRButton.value;
    }else{
        oForm.v_occupation.value = '';
        oForm.v_occupation.focus();
    }
}
function isPassword(oField){
	var bPassOK = false;
	if ((oField.value.length >= 6) && (oField.value.length <= 20)) {
		//alert("lenght ok");
		bPassOK = true;
	}
	if (!bPassOK){
		return(false);
	}else{
		return(true);
	}

}

function isPassword_old(oField){
	var bPassOK = true;
	if ((oField.value.length >= 8) && (oField.value.length <= 20)) {
		//alert("lenght ok");
		var R = new RegExp(/^\w*(?=\w*[a-z])(?=\w*\d)(?=\w*[A-Z])\w*$/);
		var OK = R.test(oField.value);
		if (!OK){
			bPassOK = false;
		}
	}else{
		bPassOK = false;
	}
	if (!bPassOK){
		return(false);
	}else{
		return(true);
	}

}
function showMessage(sMsgObj, sMsgText){
	//alert(sMsgObj)
	//document.getElementById("spMsgForename").innerHTML = sMsgText;
    try{
	if (document.getElementById)
	{
		// IE only document.getElementById(sMsgObj).innerText = sMsgText;
		document.getElementById(sMsgObj).innerHTML = sMsgText;
	}
	else if (document.all)
	{
		document.all[sMsgObj].innerText = sMsgText;
	}
	else if (document.layers)
	{
		document.layers[sMsgObj].innerText = sMsgText;
	}
    }
    catch(e){}
}

function switchSearch(oCBox){
    //showProps(oRButton.form.v_occupation);
    //alert(oCBox.c);
    if (oCBox.checked){
        document.getElementById('divAdvFilter').style.display = 'inline';
    }else{
        document.getElementById('divAdvFilter').style.display = 'none';
    }
}
function populateForm(oForm){
	oForm.v_forename.value  = "fn " + oForm.v_test.value;
	oForm.v_surname.value   = "sn " + oForm.v_test.value;
	oForm.v_username.value  = "us " + oForm.v_test.value;
	oForm.v_email.value     = "em" + oForm.v_test.value + "@a.com.au";
//	oForm.v_password.value  = "ps" + oForm.v_test.value;
//	oForm.v_cpassword.value = "ps" + oForm.v_test.value;
	oForm.v_Company.value   = "co " + oForm.v_test.value;
	oForm.v_title.value     = "Mr " + oForm.v_test.value;
	oForm.v_jobtitle.value  = "jt " + oForm.v_test.value;
	oForm.v_sendinfo.selectedIndex = 1;

	oForm.v_phonenumber.value  = "pn " + oForm.v_test.value;
	oForm.v_phoneoption.selectedIndex = 1;
	oForm.v_faxnumber.value  = "fn " + oForm.v_test.value;
	oForm.v_faxoption.selectedIndex = 1;
   	oForm.v_mobilenumber.value  = "mn " + oForm.v_test.value;
   	oForm.v_postaddress.value  = "pa " + oForm.v_test.value;
	oForm.v_postaddressoption.selectedIndex = 1;

	oForm.v_town.value  = "tw " + oForm.v_test.value;
	oForm.v_state.value  = "st " + oForm.v_test.value;
   	oForm.v_postcode.value  = "pc " + oForm.v_test.value;
   	oForm.v_country.value  = "ct " + oForm.v_test.value;

/*
    var aa = oForm;
    var sStr = "";
    for (bb in aa){
        if (bb.indexOf("v_") == 0){
            sStr += bb + "\t\t:"+ oForm[bb].value + "\n";
        }
    }
    alert(sStr);
*/
//alert(oForm.v_cpassword.value);
}
function deleteUser(oButton){
    if (confirm("Please cofirm User Delete!")){
        oButton.form.ACTION.value = 'USER_DELETE';
        oButton.form.submit();
    }
}
function editUser(iDocID,iUserID){
    //alert('/default.asp?v_doc_id=' + iDocID + '&myUserID=' + iUserID);
    //window.location = '/default.asp?v_doc_id=' + iDocID + '&myUserID=' + iUserID;
    window.location = 'default.asp?v_doc_id=' + iDocID + '&myUserID=' + iUserID;
}

		var DisplayLength = 1024;		/* Maximum number of records to return from Database? */
		var allOptArrays = new Array(DisplayLength); /* keep additional product details */

		function filterOptions(objFilter,iChannelID){
			var objBtnAdd 	   = eval("objFilter.form.btnAdd" + iChannelID.toString());
			var objBtnRemove   = eval("objFilter.form.btnRemove" + iChannelID.toString());
			var objCrops   = eval("objFilter.form.hdnCrops"		+ iChannelID.toString());
			var objLstName = eval("objFilter.form.NameList"		+ iChannelID.toString());

			objLstName.length = 0;
			var myArray = objCrops.value.split(";");
			var iPointer = 0
			for (i = 0; i < myArray.length-1; i++)
			{
				var myOpt = new Option
				var optArray = myArray[i].split("^");
				allOptArrays[i] = optArray;

				if (optArray[1].toLowerCase().indexOf(objFilter.value.toLowerCase(),0) > -1){
					myOpt.value = optArray[0];
					myOpt.text  = optArray[1];

					objLstName.options[iPointer] = myOpt;
					iPointer++;
			    }
			}
			objBtnAdd.disabled = true;
			objBtnRemove.disabled = true;
		}
	function checkButtons(objList,iChannelID){
		//enable or disable form buttons for current situation

		var objBtnAdd 	   = eval("objList.form.btnAdd"       + iChannelID.toString());
		var objBtnRemove   = eval("objList.form.btnRemove"    + iChannelID.toString());
		var objBtnRemoveAll= eval("objList.form.btnRemoveAll" + iChannelID.toString());
		var objLstName     = eval("objList.form.NameList"     + iChannelID.toString());
		var objLstSelected = eval("objList.form.SelectedList" + iChannelID.toString());

		objBtnAdd.disabled		= true;
		objBtnRemove.disabled	= true;
		objBtnRemoveAll.disabled= true;


		//if (objList.length > 0 && (objList.selectedIndex > -1)){
		if (objList.length > 0){
			switch(objList.id.substr(0,4)){
				case 'Name':
					//enable add button
					if (objList.selectedIndex > -1){
						objBtnAdd.disabled = false;
					}
					objBtnRemove.disabled = true;
					break;
				case 'Sele':
					//enable remove button
					objBtnRemove.disabled = false;
					objBtnAdd.disabled = true;
					break;
			}
		}

		if (objLstSelected.length > 0){
			if (objLstSelected.options[0].value != "xyz"){
				objBtnRemoveAll.disabled = false;
			}
		}else{
			objBtnRemove.disabled = true;
		}

		if (objLstName.length <= 0){
			//disable Add button
			objBtnAdd.disabled = true;
		}

		if (objLstSelected.length <= 0){
			//disable remove button
			objBtnRemove.disabled = true;
			objBtnRemoveAll.disabled = true;
		}
	}
	function addSelection(oButton,iChannelID){
		//copy selected option from NameList to SelectedList

		var blnOptionExist = false;

		var objLstName     = eval("oButton.form.NameList"     + iChannelID.toString());
		var objLstSelected = eval("oButton.form.SelectedList" + iChannelID.toString());

		if (objLstName.selectedIndex > -1){
			var myOpt = new Option
			myOpt.value = objLstName.options[objLstName.selectedIndex].value;
			myOpt.text  = objLstName.options[objLstName.selectedIndex].text;
			myOpt.selected = true;

			//check if option is already there
			for (ii=0;ii<objLstSelected.length;ii++){
				if (objLstSelected.options[ii].value == myOpt.value){
					blnOptionExist = true;
					break;
				}
			}
			if (!blnOptionExist){
				//objLstSelected.options[selIndex] = myOpt;
				objLstSelected.options[objLstSelected.length] = myOpt;
				//selIndex++;
				checkButtons(objLstName,iChannelID);
			}
		}
	}
	function delAll(oButton,iChannelID){
		//remove all options from SelectedList

		var objLstSelected = eval("oButton.form.SelectedList" + iChannelID.toString());
		objLstSelected.length = 0;
		selIndex = 0;
		iSelCount = 0;

		checkButtons(objLstSelected,iChannelID);
	}

	function delSelection(oButton,iChannelID){
		//delete selected option from SelectedList

		var objLstSelected = eval("oButton.form.SelectedList" + iChannelID.toString());

		objLstSelected.options[objLstSelected.selectedIndex]= null;

		if (objLstSelected.length > 0){
			objLstSelected.selectedIndex= 0;
		}
		checkButtons(objLstSelected,iChannelID);
	}

function objFormSchema(sName){
    this.name = sName;
    this.fields = new Array();
    this.fldCounter = 0;
    this.addField = fnAddField;
    this.listFields = fnListFields;
    this.getFldReqValue = fnGetFldReqValue;
}
function fnAddField(arrField){
    this.fields[this.fldCounter] = arrField;
    this.fldCounter++;
}
function fnListFields(){
    var sRet = "";
    for (var aa in this.fields){
        sRet += this.fields[aa].name + "\tvisible:" + this.fields[aa].visibility + "\trequired:" + this.fields[aa].required+ "\n";
        //sRet += aa + "\n";
    }
    alert(sRet);
}
function fnGetFldReqValue(sFldName){
    var iRet = 0;
    for (var aa in this.fields){
        if (this.fields[aa].name == sFldName){
            if (this.fields[aa].visibility == 0){
                //IS000124 if not visible cannot be required
                iRet = 0;
            }else{
                iRet = this.fields[aa].required;
            }
        }
    }
    return iRet;
}
function objField(sName, sAttributes){
	this.name  = sName;
    var arrAttr = sAttributes.split("^");
    var arrProp = arrAttr[0].split("=");
	this.visibility = arrProp[1];
    var arrProp = arrAttr[1].split("=");
	this.required = arrProp[1];
}
function IsFieldRequired(sFldName){
    //get required attribute for a field from formSchema
    return oFS.getFldReqValue(sFldName);
}
function disableChannel(oCB){
    var sChannelID = oCB.name.substr(9);
    var bChecked = oCB.checked;
    //alert(bChecked);
    var oForm = oCB.form;
    for(var ii=0;ii < oForm.elements.length;ii++){
         if (oForm.elements[ii].name != oCB.name){
            //ignore the initiator
           if (oForm.elements[ii].name.indexOf(sChannelID) != -1){
              //disable-enable fields for the channel
              if (bChecked)  {
                  //enable all except buttons
                   if (oForm.elements[ii].name.indexOf("btn") != 0){
                        oForm.elements[ii].disabled = false;
                   }
                   if (oForm.elements[ii].name.indexOf("cbCFilter") == 0){
                        oForm.elements[ii].checked = true;
                   }
                   if (oForm.elements[ii].name.indexOf("cbSFilter") == 0){
                        oForm.elements[ii].checked = false;
                   }
                   
              }else{
                   oForm.elements[ii].disabled = true;
              }
          }
          if (oForm.elements[ii].name.indexOf("SelectedList") == 0){
                //remove selected items
                oForm.elements[ii].length = 0;
                oForm.elements[ii].disabled = true;
           }
           if (oForm.elements[ii].name.indexOf("NameList") == 0){
                oForm.elements[ii].disabled = true;
           }
           if (oForm.elements[ii].name.indexOf("tbFilter") == 0){
                oForm.elements[ii].disabled = true;
           }
        }
    }
 }
 function disableCropMonitor(oCB){
    var sChannelID = oCB.name.substr(9);
    if (oCB.name.indexOf("cbCFilter") == 0){
        var bChecked = !(oCB.checked);
        if (oCB.checked) document.getElementById('cbSFilter'+sChannelID).checked = false;
        else return;
    }else{
        var bChecked = oCB.checked;
        document.getElementById('cbCFilter'+sChannelID).checked = false
    }    
    //alert(bChecked);
    var oForm = oCB.form;
    for(var ii=0; ii < oForm.elements.length; ii++){
         if (oForm.elements[ii].name != oCB.name){
            //ignore the initiator
           if (oForm.elements[ii].name.indexOf(sChannelID) != -1){
              //disable-enable fields for the channel
              if (bChecked)  {
                  //enable all except buttons
                   if (oForm.elements[ii].name.indexOf("btn") != 0){
                        oForm.elements[ii].disabled = false;
                   }
              }else{
                   if (oForm.elements[ii].name.indexOf("btn") == 0){
                        oForm.elements[ii].disabled = true;
                   }
                   if (oForm.elements[ii].name.indexOf("SelectedList") == 0){
                        //remove selected items
                        oForm.elements[ii].length = 0;
                        oForm.elements[ii].disabled = true;
                   }
                   if (oForm.elements[ii].name.indexOf("NameList") == 0){
                        oForm.elements[ii].disabled = true;
                   }
                   if (oForm.elements[ii].name.indexOf("tbFilter") == 0){
                        oForm.elements[ii].disabled = true;
                   }
              }
          }
        }
    }
 }
function emptyCrops(oGForm){
    //remove crops to improve transfer speed
    var oForm = oGForm;
    for(var ii=0;ii < oForm.elements.length;ii++){
       if (oForm.elements[ii].name.indexOf("hdnCrops") == 0){
            oForm.elements[ii].value = "";
       }
    }
 }
//*****************************************
function dltypeof( vExpression )
{
	var sTypeOf = typeof vExpression;
	if( sTypeOf == "function" )
	{
		var sFunction = vExpression.toString();
		if( ( /^\/.*\/$/ ).test( sFunction ) )
		{
			return "regexp";
		}
		else if( ( /^\[object.*\]$/i ).test( sFunction ) )
		{
			sTypeOf = "object"
        }
	}
	if( sTypeOf != "object" )
	{
		return sTypeOf;
	}

	switch( vExpression )
	{
		case null:
			return "null";
		case window:
			return "window";
		case window.event:
			return "event";
	}

	if( window.event && ( event.type == vExpression.type ) )
	{
		return "event";
	}

	var fConstructor = vExpression.constructor;
    if( fConstructor != null )
	{
		switch( fConstructor )
		{
			case Array:
				sTypeOf = "array";
				break;
			case Date:
				return "date";
			case RegExp:
				return "regexp";
			case Object:
				sTypeOf = "jsobject";
				break;
			case ReferenceError:
				return "error";
			default:
				var sConstructor = fConstructor.toString();
				var aMatch = sConstructor.match( /\s*function (.*)\(/ );
				if( aMatch != null )
				{
					return aMatch[ 1 ];
				}

		}
	}

	var nNodeType = vExpression.nodeType;
	if( nNodeType != null )
	{
		switch( nNodeType )
		{
			case 1:
				if( vExpression.item == null )
				{
					return "domelement";
				}
				break;
			case 3:
				return "textnode";
		}
	}

	if( vExpression.toString != null )
	{
		var sExpression = vExpression.toString();
		var aMatch = sExpression.match( /^\[object (.*)\]$/i );
		if( aMatch != null )
		{
			var sMatch = aMatch[ 1 ];
			switch( sMatch.toLowerCase() )
			{
				case "event":
					return "event";
				case "math":
					return "math";
				case "error":
					return "error";
				case "mimetypearray":
					return "mimetypecollection";
				case "pluginarray":
					return "plugincollection";
				case "windowcollection":
					return "window";
				case "nodelist":
				case "htmlcollection":
				case "elementarray":
					return "domcollection";
			}
		}
	}

	if( vExpression.moveToBookmark && vExpression.moveToElementText )
	{
		return "textrange";
	}
	else if( vExpression.callee != null )
	{
		return "arguments";
	}
	else if( vExpression.item != null )
	{
		return "domcollection";
	}

	return sTypeOf;
}


function CheckCaptcha(){
    var challenge = Recaptcha.get_challenge()
    var response  = Recaptcha.get_response()
    var requestor  = document.getElementById("captcharequestor").value
    //alert(challenge)
    //alert(response)
    bPassed = true
    jsrsExecute("/cms_library/rmtCaptcha.asp", fcallbackCheckCaptcha, "checkCaptcha", Array(challenge, response,requestor),false);
}

function fcallbackCheckCaptcha(sReturn){
   // alert(sReturn)
	if (sReturn == 'true'){
        //document.getElementById("hdnstat").value  = sReturn
            SubUserForm(document.forms.usernew);

	}else{
       	Recaptcha.destroy();
		showRecaptcha('dynamic_recaptcha','clean')
    	alert('Please enter the correct Security Code')
		return false
	}
}


/** captcha*/
var sCaptchaKey, gForm
var bPassed = false
try{sCaptchaKey = document.getElementById("captchapublickKey").value}catch(e){}
if (sCaptchaKey != '' && sCaptchaKey != 'undefined' && sCaptchaKey != undefined)
    showRecaptcha('dynamic_recaptcha','clean')

function showRecaptcha(element, themeName) {
  var sKey = sCaptchaKey
//  if (sreq == 'CMS_PESTGENIE_AU')
//    alert(sCaptchaKey)
  Recaptcha.create(sKey, element, {
        theme: themeName,
        tabindex: 0,
        callback: Recaptcha.focus_response_field
  });
}


//*****************************************

