
function ajax(action, data){
	var request = new Request({
		method : 'post',
		url : '/ajax_control.php',
		async : false,
		onSuccess : function(responseTree){
			result = responseTree;
		}
	});
	request.send('action='+action+(data?'&'+data:''));
	return(result);
}

function purify(data){
	data = data.replace(/&/g, 'amp;');
	data = data.replace(/%/g, 'perc;');
	return data;
}
function is_numeric(value){
	if ((isNaN(value)) || (value.length == 0))
		return 0;
	else
		return 1;
}
function imposeMaxLength(Object, MaxLen){
  return (Object.value.length <= MaxLen);
}

function default_check(str, def){
	if( str == def )
		return '';
	else
		return str;
}

function blank_check(str, def){
	if( str == '' )
		return def;
	else
		return str;
}

var SubnavTimer = false;
var ActiveSubnav = false;

function ShowSubnav(obj, id){
	
	disableSubnavTimer();
	
	var subnav = $('subnav-' + id);
	if( ActiveSubnav && ActiveSubnav != subnav ){
		ActiveSubnav.fade('out');
	}
	if( !subnav )
		return false;
	ActiveSubnav = subnav;
	
	if( !subnav.style.display || subnav.style.display=='none' ){
		subnav.style.display = 'block';
		subnav.set('opacity', 0);
	}
	
	subnav.fade('in');
	
	var obj = $(obj);
	
	subnav.addEvent('mouseleave', function(){ enableSubnavTimer(); });
	subnav.addEvent('mouseenter', function(){ disableSubnavTimer(); });
	obj.addEvent('mouseleave', function(e){ enableSubnavTimer(); });
}
function enableSubnavTimer(obj){
	$clear(SubnavTimer);
	SubnavTimer = hideSubnav.delay(1000, this);
}
function disableSubnavTimer(obj){
	$clear(SubnavTimer);
}
function hideSubnav(){
	if( ActiveSubnav )
		ActiveSubnav.fade('out');
}

