function JS_ModalForm(obj_fp,fn_os) {
	var $frm = $('<form/>').attr({'method':'post','action':obj_fp['action'],'autocomplete':'off'});
	if (fn_os) {
		$frm.submit(function(){ return fn_os($frm.get(0),$.modal); });
	}
	if (obj_fp.hidden)
	for (var i=0;i<obj_fp.hidden.length;i++) {
		var $inp = $('<input/>').attr({'type':'hidden','name':obj_fp.hidden[i][0],'value':obj_fp.hidden[i][1]});
		$frm.append($inp);
	}
	var $tbl = $('<table/>');
	for (var i=0;i<obj_fp.fields.length;i++) {
		var $row = $('<tr/>');
		var str_type = obj_fp.fields[i][0];
		var str_titl = obj_fp.fields[i][1];
		var str_name = obj_fp.fields[i][2];
		if (str_type == 'text') {
			$row.append($('<td/>').append($('<label/>').attr({'for':str_name}).text(str_titl)));
			$row.append($('<td/>').append($('<input/>').attr({'id':str_name,'name':str_name,'value':obj_fp.fields[i][3]}).addClass('text')));
		} else
		if (str_type == 'drop') {
			$row.append($('<td/>').append($('<label/>').attr({'for':str_name}).text(str_titl)));
			var $sel = $('<select/>').attr({'id':str_name,'name':str_name});
			var arr_o = obj_fp.fields[i][3];
			for (var j=0;j<arr_o.length;j++) $sel.append($('<option/>').attr({'value':arr_o[j].v}).attr((arr_o[j].d)?{'selected':'selected'}:{}).text(arr_o[j].n));
			$row.append($('<td/>').append($sel));
		}
		$tbl.append($row);
	}
	$tbl.append($('<tr/>').addClass('buttons')
		.append($('<td/>').append($('<div/>').attr({'align': 'left'}).append($('<input/>').addClass('button').attr({'type':'button','value':'Cancel'}).click($.modal.close))))
		.append($('<td/>').append($('<div/>').attr({'align':'right'}).append($('<input/>').addClass('button').attr({'type':'submit','value':'Submit'}))))
	);
	$frm.append($tbl);
	var $div = $('<div/>')
		.attr('id','modal_form')
		.css({'display':'none','padding':'20px','background-color':'#fff','border':'2px solid #000'})
		.append($('<h2/>').text(obj_fp.title))
		.append($frm);
	$('body').append($div);
	$div.modal({overlayCss:{backgroundColor:'#000',cursor:'wait'}});
	$('#simplemodal-container table input').get(0).focus();
}
