function SubmitForm(form){
if (!checkForm(form)){return false};
if (!PostRequest) {PostRequest = new HttpRequest()};	
if ((PostRequest.failed)||(!useAjax)) { // use html form submit
form.submit();
} else {	// use ajax form submit
//PostRequest.form = form;
//if (PostRequest.http_request.status!=0) {PostRequest.http_request.abort();}
PostRequest.processResponse = function() {

var fid = PostRequest.getFormId();
var resp = PostRequest.http_request.responseXML.documentElement;

var newbody = document.createElement('tbody');
newbody.id = 'r_body';
var rtable = document.getElementById('RTable'+fid);
//var oldbody = document.getElementById('r_body');
var oldbody = rtable.tBodies[rtable.tBodies.length-1];
//document.getElementById('status_div').innerHTML = 'len new = '+rtable.tBodies.length;

var divElm = document.createElement('DIV'); 
divElm.innerHTML = '<table>'+resp.getElementsByTagName('b')[0].firstChild.data+'</table>';
var Rows = divElm.getElementsByTagName('TABLE')[0].rows;
var RowsCount = Rows.length;
for (var i=0; i<=RowsCount; i++) { try { newbody.appendChild(Rows[0]); } catch (E) {} }
rtable.replaceChild(newbody, oldbody); 

document.getElementById('filter_stat'+fid).innerHTML = resp.getElementsByTagName('f')[0].firstChild.data; 

PostRequest.form.Page.value = resp.getElementsByTagName("page")[0].firstChild.data;
PostRequest.form.PageCount.value = resp.getElementsByTagName("pageCount")[0].firstChild.data;
document.getElementById('page_stat'+fid).innerHTML = 'Страница '+PostRequest.form.Page.value+' из '+PostRequest.form.PageCount.value;
document.getElementById('r_title'+fid).innerHTML = resp.getElementsByTagName('t')[0].firstChild.data; 
UpdateBtns(PostRequest.form);
};
PostRequest.errorResponse = function(status) {
document.getElementById('filter_stat'+PostRequest.getFormId()).innerHTML = 'HTTP Error '+status+'; '+PostRequest.http_request.statusText+'. Try to refresh page or clear filter'};

PostRequest.loadingResponse = function(state) {
if (state==1) {document.getElementById('filter_stat'+PostRequest.getFormId()).innerHTML = '<img align="absmiddle" src="img/indicator.gif"> Loading...';}
};

form.action = 'Datasets.asp?type='+form.type.value;
return PostRequest.postForm(form);
}}
	
function printForm(f){
var old_action=f.action;
f.target="_blank";
f.action='Rprint.asp';
if (!checkForm(f)){return false};
f.submit();
f.target="";
f.action=old_action;
}

function noenter() {return !(window.event && window.event.keyCode == 13)}

function ApplyFilter(f) {
f.Action.value=1;
SubmitForm(f)};

function selectFilter(v, s) {
var l=v.name.length;
eval('document.forms["'+v.form.name+'"].'+String(v.name).substring(1,l)+'.value="'+v.options[v.selectedIndex].text+'"');
if (s) {ApplyFilter(v.form)}
};

function keyhandler(form, Code) {
if (Code == 13) {
ApplyFilter(form);
return false; }
else return true;}

function UpdateBtn(btn, v){
btn.disabled = !v;
if (v) {btn.className=btn.name} else {btn.className=btn.name+'_dis'}
}

function UpdateBtns(f){
var p=parseInt(f.Page.value);
var c=parseInt(f.PageCount.value);
UpdateBtn(f.f_btn, (p>1));
UpdateBtn(f.p_btn, (p>1));
UpdateBtn(f.n_btn, (p<c));
UpdateBtn(f.l_btn, (p<c));
}

function MoveFirst(f) {MoveTo(f, 1)};
function MovePrev(f) {MoveTo(f, (parseInt(f.Page.value)-1))};
function MoveNext(f) {MoveTo(f, (parseInt(f.Page.value)+1))};
function MoveLast(f) {MoveTo(f, f.PageCount.value)};

function MoveTo(f, where){
f.Page.value=where;
f.Action.value=0;
SubmitForm(f);
}

function Sort(myform, value, dir) {
var f = document.forms[myform];
f.SortField.value=value;
f.SortDir.value=dir;
ApplyFilter(f);
}

function ClearFilter(myform) {
var n=0;
while (n!=myform.elements.length) {
if (myform.elements[n].id=='filter') {myform.elements[n].value='';}
if (myform.elements[n].id=='fcombo') {myform.elements[n].value=-1;}
n++;
}
ApplyFilter(myform);
}
