function _GDU(f) {
	var s = '';
	var e = getFormElements(f);
	for (var i = 0; i < e.length; i++)
		if ((e[i].tagName.toLowerCase() == 'input' && (e[i].type == 'text' || e[i].type == 'password' || e[i].type == 'hidden')) || e[i].tagName.toLowerCase() == 'textarea' || (e[i].tagName.toLowerCase() == 'select' && !e[i].multiple))
			s += '&' + encodeURIComponent(e[i].name) + '=' + encodeURIComponent(e[i].value);
		else if (e[i].tagName.toLowerCase() == 'select' && e[i].multiple) {
			for (var j = 0; j < e[i].options.length; j++)
				if (e[i].options[j].selected)
					s += '&' + encodeURIComponent(e[i].name) + '=' + encodeURIComponent(e[i].options[j].value);
		}
		else if (e[i].tagName.toLowerCase() == 'input' && e[i].type == 'checkbox')
			s += '&' + encodeURI(e[i].name).replace(/&/g, '%26') + '=' + (e[i].checked?1:0);
		else if (e[i].tagName.toLowerCase() == 'input' && e[i].type == 'radio' && e[i].checked)
			s += '&' + encodeURI(e[i].name).replace(/&/g, '%26') + '=' + encodeURIComponent(e[i].value);
	return s.substr(1);
}

function getFormElements(f) {
	var ret = [];
	var e = f.getElementsByTagName('input');
	for (var i = 0; i < e.length; i++)
		ret.push(e[i]);
	var e = f.getElementsByTagName('textarea');
	for (var i = 0; i < e.length; i++)
		ret.push(e[i]);
	var e = f.getElementsByTagName('select');
	for (var i = 0; i < e.length; i++)
		ret.push(e[i]);
	return ret;
}
