function formData2QueryString(docForm, formatOpts, exclFlds) {//  alert("New lib1")  var opts = formatOpts || {};  var str = '';  var formElem;  var lastElemName = '';  var skipField;  var o;    for (i = 0; i < docForm.elements.length; i++) {    formElem = docForm.elements[i];    skipField = false;    try {    		if (exclFlds[0] != "") {    			for (ef = 0;ef < exclFlds.length; ef++) {    				if (formElem.name == exclFlds[ef]) {    					skipField = true;    					break;    				}	    			}    		}    }    catch (e) {}        if (skipField) continue;               switch (formElem.type) {      // Text fields, hidden form elements      case 'text':      case 'hidden':      case 'password':      case 'textarea':        str += formElem.name + '=' + encodeURI(formElem.value) + '&'        break;              case 'select-one'://if (formElem.name=="Title") alert("On title")		for (var k = 0, l = formElem.length; k < l; ++k){			if ((o = formElem.options[k]).selected)			str += formElem.name + '=' + encodeURI((o.value!="")?o.value:o.text) + '&'			//str += formElem.name + '=' + encodeURI(o.value) + '&'		}        break;              // Multi-option select      case 'select-multiple':        var isSet = false;        for(var j = 0; j < formElem.options.length; j++) {          var currOpt = formElem.options[j];          if(currOpt.selected) {            theVal = encodeURI((currOpt.value!="")?currOpt.value:currOpt.text);            if (opts.collapseMulti) {              if (isSet) {                str += ',' + theVal;              }              else {                str += formElem.name + '=' + theVal;                isSet = true;              }            }            else {              str += formElem.name + '=' + theVal + '&';            }          }        }        if (opts.collapseMulti) {          str += '&';        }        break;            // Radio buttons      case 'radio':        if (formElem.checked) {          str += formElem.name + '=' + encodeURI(formElem.value) + '&'        }        break;              // Checkboxes      case 'checkbox':        if (formElem.checked) {          // Collapse multi-select into comma-separated list          if (opts.collapseMulti && (formElem.name == lastElemName)) {            // Strip of end ampersand if there is one            if (str.lastIndexOf('&') == str.length-1) {              str = str.substr(0, str.length - 1);            }            // Append value as comma-delimited string            str += ',' + encodeURI(formElem.value);          }          else {            str += formElem.name + '=' + encodeURI(formElem.value);          }          str += '&';          lastElemName = formElem.name;        }        break;            }  }  // Remove trailing separator  str = str.substr(0, str.length - 1);  str = str.replace( "&=", "&");	//this is to resolve a screw up in Domino 8.5.1  return str;}