/*
$Revision: 9386 $
$Workfile: js_formget.js $
$Author: rbussard $
$Modtime: 25 10 05 15:56 $ 
*/
function myobj(oname, ovalue){
	this.oname = oname;
	this.ovalue = ovalue;
}

function addtoarray(n,v){
	if (v.length > 0){
		for (var i = 0; i < aNames.length ; i++) {
			if (aNames[i].oname == n) {
				aNames[i].ovalue = aNames[i].ovalue + ',' + v;
				return true;
			} 
		}
		aNames[aNames.length] = new myobj(n,v);
		return false;
	}
	return false;
}

function sefformget(myform,stringin) {
	var f = document.forms[myform];
	var ln = f.elements.length;
	var str = '/' + stringin;
	aNames = new Array();
	
	for (var i = 0; i < ln; i++) {
		var e = f.elements[i];
		var t = e.type;
		var n = e.name;
		var v = e.value;

		if ((t == 'checkbox' || t=='radio') && (e.checked == true)) {
			addtoarray(n,v);
		} else if (t == 'text' || t == 'hidden' || t == 'textarea') {
			v = escape(v);
			v = v.replace(/\//g,'%2F');
			addtoarray(n,v);
		} else if (t == 'select-one' || t == 'select-multiple') {
			for (var j = 0; j < e.length; j++) {
				if (e.options[j].selected == true) {
					v = e.options[j].value;
					addtoarray(n,v);
				}
			}
		}
	}

	for (var i = 0; i < aNames.length ; i++) {
		str = str + '/' + aNames[i].oname + '/' + aNames[i].ovalue;
	}

	window.location = str;
	return false;
}

// NB use of encodeURI() means this should only be used from the admin area, probably.
function formget(myform,stringin) {

	var f = document.forms[myform];
	var ln = f.elements.length;
	var str = stringin;
	aNames = new Array();
	
	for (var i = 0; i < ln; i++) {
		var e = f.elements[i];
		var t = e.type;
		var n = e.name;
		var v = e.value;

		if ((t == 'checkbox' || t=='radio') && (e.checked == true)) {
			addtoarray(n,v);
		} else if (t == 'text' || t == 'hidden' || t == 'textarea') {
			v = encodeURI(v);
			//v = escape(v);
			v = v.replace(/\//g,'%2F');
			addtoarray(n,v);
		} else if (t == 'select-one' || t == 'select-multiple') {
			for (var j = 0; j < e.length; j++) {
				if (e.options[j].selected == true) {
					v = e.options[j].value;
					addtoarray(n,v);
				}
			}
		}
	}

	for (var i = 0; i < aNames.length ; i++) {
		str = str + '&' + aNames[i].oname + '=' + aNames[i].ovalue;
	}

	window.location = str;
	return false;
}

