function getForm(formid)
{
	var formobj = document.getElementById(formid);
	var fields = new Array();
	var form_len = formobj.elements.length;
	for (var x = 0; x < form_len; x++) {
	switch(formobj.elements[x].type) {
	   case 'select-one':
	
		fields[x] = encodeForm(formobj.elements[x].name)+'='+encodeForm(formobj.elements[x].options[formobj.elements[x].selectedIndex].value);
		break;
		case 'select-multiple':
		var obj = formobj.elements[x];
			for(var y=0; y < formobj.elements[x].options.length; y++) {
			   if(formobj.elements[x].options[y].selected) {
						if(formobj.elements[x].options[y].value == ''){
							fields[x] = encodeForm(formobj.elements[x].name)+'='+encodeForm(formobj.elements[x].options[y].text);
						} else {
							fields[x] = encodeForm(formobj.elements[x].name)+'='+encodeForm(formobj.elements[x].options[y].value);
						}
			   }
			}
		break;
		case 'radio':
			   if(formobj.elements[x].checked) {
					   fields[x] = encodeForm(formobj.elements[x].name)+'='+encodeForm(formobj.elements[x].value);
			   }
        break;
		case 'checkbox':
			if(formobj.elements[x].checked) {
				fields[x] = encodeForm(formobj.elements[x].name)+'='+encodeForm(formobj.elements[x].value);
			}
		break;
		default:
		// text, password, textarea, etc
		fields[x] = encodeForm(formobj.elements[x].name)+'='+encodeForm(formobj.elements[x].value);
		break;
	}
	}
	var new_qstring = '&' + fields.join('&');
	return new_qstring;
}

function encodeFormUtf8(wide) {
  var c, s;
  var enc = "";
  var i = 0;
  while(i<wide.length) {
    c= wide.charCodeAt(i++);
    // handle UTF-16 surrogates
    if (c>=0xDC00 && c<0xE000) continue;
    if (c>=0xD800 && c<0xDC00) {
      if (i>=wide.length) continue;
      s= wide.charCodeAt(i++);
      if (s<0xDC00 || c>=0xDE00) continue;
      c= ((c-0xD800)<<10)+(s-0xDC00)+0x10000;
    }
    // output value
    if (c<0x80) enc += String.fromCharCode(c);
    else if (c<0x800) enc += String.fromCharCode(0xC0+(c>>6),0x80+(c&0x3F));
    else if (c<0x10000) enc += String.fromCharCode(0xE0+(c>>12),0x80+(c>>6&0x3F),0x80+(c&0x3F));
    else enc += String.fromCharCode(0xF0+(c>>18),0x80+(c>>12&0x3F),0x80+(c>>6&0x3F),0x80+(c&0x3F));
  }
  return enc;
}

var hexchars = "0123456789ABCDEF";

function encodeFormtoHex(n) {
  return hexchars.charAt(n>>4)+hexchars.charAt(n & 0xF);
}

var okURIchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";

function encodeURIComponentNew(s) {
  var s = encodeFormUtf8(s);
  var c;
  var enc = "";
  for (var i= 0; i<s.length; i++) {
    if (okURIchars.indexOf(s.charAt(i))==-1)
      enc += "%"+encodeFormtoHex(s.charCodeAt(i));
    else
      enc += s.charAt(i);
  }
  return enc;
}

function encodeForm(fld)
{
	if (fld == "") return '';
	if (typeof encodeURIComponent == "function")
	{
		return encodeURIComponent(fld);
	}
	else 
	{
		return encodeURIComponentNew(fld);
	}
}