var $aji=-1;
var $ajx='';
var $ajf='';

function gi(ctl){
	return document.getElementById(ctl);
}
function fi(ctl,frm){
	if(!frm){frm='frm_00';}
	return window.document.forms[frm].elements[ctl];
}
function frm_sub(frm,act){
	var form=window.document.forms[frm];
	form.action=act;
	form.submit();
}
function isnumeric(x){
	var RegExp = /^(-)?(\d*)(\.?)(\d*)$/; 
	var result = x.match(RegExp);
	return result;
}

function form_key(ev){
	var key;
	if(window.event){ //IE
		key=window.event.keyCode;
	}else{ //FF
		key=ev.which;     
	}
	if(key==13){
		return false;
	}else{
		return true;
	}
}

//ajax
function warning(tx){
	var targ=gi('warn')
	if(targ){
		if(tx=="!"){tx="... please wait ..."}
		targ.innerHTML=tx;
	}		
}
function ajax_reaction(rsp){
	rsp=rsp.replace(/[\n\r]+/g,''); //to handle FWall weirdness
	$ajx=''; //clear it
	warning('');
	//hourglass(false);
	var lead=rsp.substring(0,1);
  if(lead=='!'){ix='alert';}else{ix=$ajf?'ajf':$aji;}
	var g='';
	switch(ix){
		case 'ajf':eval($ajf);$ajf=false;break;
		case 'alert':alert(rsp.substring(1,rsp.length));break;
		case 'js_test':alert(rsp);break;
	}
}
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){
    alert ("Browser does not support HTTP Request");
    return;
  }else{
    return obj;
  } 
}
function ajax_fetch(url,dat){ 
	frm_busy();
  $ajo=set_ajax_object();
  $ajo.onreadystatechange=ajax_state;
  $ajo.open("GET",url+"?act="+$aji+$ajx+dat,true);
  $ajo.send(null);
}
function ajax_post(url,dat){
	frm_busy();
  $ajo=set_ajax_object();
  $ajo.onreadystatechange=ajax_state;
  $ajo.open('POST',url+"?act="+$aji+$ajx, true);
  $ajo.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  $ajo.setRequestHeader("Content-length", dat.length);
  $ajo.setRequestHeader("Connection", "close");
  $ajo.send(dat);
}
function frm_busy(){
	return false;
}

