function WGuiFormToObject(name) {
	var frm=document.forms[name];
	var jsonobj={}
	for(i=0;i<frm.length;i++) {
		switch(frm[i].nodeName.toLowerCase()) {
			case 'textarea':
				jsonobj[frm[i].name]=frm[i].value;
			break;
			case 'select':
				jsonobj[frm[i].name]=frm[i].value;
			break;
			case 'input':
				switch(frm[i].type.toLowerCase()) {
					case 'text':
					case 'password':
					case 'hidden':
						jsonobj[frm[i].name]=frm[i].value;
					break;
					case 'radio':
						if (frm[i].checked==true) {
							jsonobj[frm[i].name]=frm[i].value;
						}
					break;
					case 'checkbox':
						if (frm[i].checked==true) {
							jsonobj[frm[i].name]=frm[i].value;
						} else {
							jsonobj[frm[i].name]='';
						}
					break;
				}
			break;
		}
	}
	return jsonobj;
}

function WGuiPostForm(obj) {

	if (arguments.length==2) args=arguments[1]; else args={};

	if (args.formName==null) {	//get form object
		var jqform = $(obj).parents('form');
		var form = jqform.get(0);
		args.formName=jqform.attr('id');
	} else var form = $('#'+args.formName).get(0);
	
	if (args.ajaxTarget==null) {	//get nearest ajax target
		args.ajaxTarget = $(obj).parents().filter(function(index){ return $(this).hasClass('ui-dialog-content') || $(this).hasClass('ajax');}).get(0);
	} else args.ajaxTarget = $('#'+args.ajaxTarget).get(0);
	
	var url=form.action;
	var data=WGuiFormToObject(args.formName);

	$.post(url, data, function (data) {$(args.ajaxTarget).html(data);});
}

