var $ajo,$aji='',$ajj='',$ajx=false,$ajxx=false,$aja=false;

function qjax(ix,pdat,msg,gdat){
	$aji=ix;
	if(msg){
		$ajx="alert(rsp)";
	}else{
		$ajx=ix+"('rsp',rsp)";
	}
	ajax_post('a_data.php',pdat,gdat);		
}
function ajax_reaction(rsp){
	if($ajxx){$ajx=$ajxx;$ajxx=false;};
	if($ajx){
		if(rsp.substring(0,1)=='!' && !$aja){
			hourglass(false);
			valert(rsp.substring(1,rsp.length));
		}else if(rsp=='%'){
			hourglass(false);
			if($prev_status && status!='03'){frm_status($prev_status);}
		}else{
			if($ajx!='%'){eval($ajx);}
			hourglass(false);
		}
		
	}else{
		valert('no reaction defined - call vuk immediately');
	}
	$aji='';$ajj='';$aja=false;
}
function jax_box(fnc,box,rsp){
	if(rsp){
		ge(box).value=rsp;
	}else{
		$aji=fnc;
		$ajx="jax_box(0,'"+box+"',rsp)";
		ajax_post('a_data.php',false);		
	}
}
function ajax_state(){ 
  if ($ajo.readyState==4 || $ajo.readyState=='complete'){ 
		ajax_reaction($ajo.responseText);
	}
} 
function set_ajax_object(){ 
  var obj=null;
  if (window.XMLHttpRequest){
    obj=new XMLHttpRequest();
  }else if (window.ActiveXObject){
    obj=new ActiveXObject('Microsoft.XMLHTTP');
  }
  if (obj==null){
    valert ('Browser does not support HTTP Request');
    return;
  }else{
    return obj;
  } 
}
function ajax_exec(func,tbl,arr){
	$aji='qq_exec';
	ajax_post('a_data.php',array_to_post(arr),'&func='+func+'&tbl='+tbl);		
}
function ajax_fetch(url,dat){ 
	hourglass(true);
  $ajo=set_ajax_object();
  $ajo.onreadystatechange=ajax_state;
  $ajo.open('GET',url+'?i='+$aji+'&j='+$ajj+'&'+dat,true);
  $ajo.send(null);
}
function ajax_post(url,pdat,gdat){
	if(!gdat){gdat='';}else{if(gdat.substring(0,1)!='&'){gdat='&'+gdat}}	
	hourglass(true);
  $ajo=set_ajax_object();
  $ajo.onreadystatechange=ajax_state;
  $ajo.open('POST',url+'?i='+$aji+'&j='+$ajj+gdat, true);
  $ajo.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  $ajo.setRequestHeader('Content-length', pdat.length);
  $ajo.setRequestHeader('Connection', 'close');
  $ajo.send(pdat);
}
