/**
 * returns data from html formular [..] by http://www.easy-coding.de
 * 
 * @param form		object		reference to form element (e.g. <form onsubmit="getFormData(this)" [..]>)
 * @param asArray 	boolean		default is false, set true to return as array, set false to return GET string
 * @return 		string|object	returns the formdata as specified in parameter 'asArray'
 */
function getFormData(form, asArray) {
	var ret;

	var add = function(n, v) {
		if(asArray) {
			if(ret == null) ret = new Array();
			ret[n] = escape(v);
		} else {
			ret = (ret == null ? '' : ret+'&') + n +'='+ escape(v);
		}
	};



	for(var i=0; i<form.elements.length; i++) {
		var el = form.elements[i];

		var type = (el.type || '');


		if(type.match(/^(text|hidden|textarea)$/i) || (type.match(/^(radio|checkbox)$/i) && el.checked)) {
			add(el.name, el.value);

		} else if(el.nodeName.match(/^select$/i)) {

			for(var j=0; j<el.options.length; j++) {

				if(el.options[j].selected) {

					add(el.name, el.options[j].value);

				}
			}

		} else if(el.nodeName.match(/^textarea$/i)) {
			add(el.name, el.value);
		}

	}

	return ret != null ? ret : (asArray ? new Array() : '');

}

