function clear_form(f) {
	set_form_fields(f);
}

function set_form_fields(f, args) {

	var fnum;
	for (fnum = 0 ; fnum < f.elements.length ; fnum++) {

		var field = f.elements[fnum]
		var fname = field.name

      if (!args || !args[fname]) {
         // clear it out
         if (field.type=='text' || field.type=='textarea' || field.type=='hidden') {
            field.value='';
         } else if (field.type=='select-one' || field.type=='select-multiple') {
            field.selectedIndex=0;
         }
      } else {
         // set it to the value of args[fname]
         if (field.type=='text' || field.type=='textarea' || field.type=='hidden') {
            field.value=args[fname];
         } else if (field.type=='select-one' || (field.type=='select-multiple' && typeof(args[fname])=='string')) {
            for (var i=0 ; i<field.options.length ; i++) {
               field.options[i].selected=false;
               if (field.options[i].value==args[fname]) {
                  field.options[i].selected=true;
                  break;
               }
            }
         } else if (field.type=='select-multiple') {
            for (var i=0 ; i<field.options.length ; i++) {
               for (var j=0 ; j<args[fname].length ; j++) {
                  if (field.options[i].value==args[fname][j]) {
                     field.options[i].selected=true;
                     break;
                  }
               }
            }
         }
      }
   }
}
