
window.flylib =  {

getElementsByClass: function(searchClass,node,tag) {
    var classElements = new Array();
        if ( node == null )
                node = document;
        if ( tag == null )
                tag = '*';
        var els = node.getElementsByTagName(tag);
        var elsLen = els.length;
        var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
        for (i = 0, j = 0; i < elsLen; i++) {
                if ( pattern.test(els[i].className) ) {
                        classElements[j] = els[i];
                        j++;
                }
        }
        return classElements;
},

initAjaxReq: function(message){
clearTimeout(window.timer);
$('flymessage').innerHTML = message;
$('flymessage').appendChild(image1);
fleegix.fx.blindDown($('flymessage'),{
	duration: 50,
	doBeforeStart: function(){
		fleegix.css.addClass($('flymessage'), 'warning');
	},
	doAfterFinish: function(){
		fleegix.css.addClass($('flymessage'), 'show');
		image1.style.display = '';
	}
}
);
},

removeAjaxNotif: function(){
	//We don't remove errors.
	var className = 'error';
	var retest = new RegExp("(^|\\s)" + className + "(\\s|$)");
	if( retest.test($('flymessage').className)){
	return;
	}
	//We are are ok, bring it up.
	fleegix.fx.blindUp($('flymessage'),
	{
	doBeforeStart: function(){$('flymessage').innerHTML = '';},
	doAfterFinish: function(){$('flymessage').className = '';}}
	);
},

showMessage: function(message, type){
	var classnme = type.toLowerCase();
	$('flymessage').innerHTML = message;
	$('flymessage').className = '';
	fleegix.css.addClass($('flymessage'), classnme);
	//In error messages, make a close.
	var retest = new RegExp("(^|\\s)error(\\s|$)");
	if( retest.test($('flymessage').className)){
		//$('flymessage').appendChild($text('[X]'));
		return;
	}
	window.timer = setTimeout(window.flylib.removeAjaxNotif, 4000);
	return;
	fleegix.fx.blindDown($('flymessage'), {
	doBeforeStart: function(){
		fleegix.css.addClass($('flymessage'), classnme);
	},
	doAfterFinish: function(){
		fleegix.css.addClass($('flymessage'), 'show');
		var className = 'error';
		var retest = new RegExp("(^|\\s)" + className + "(\\s|$)");
		if( retest.test($('flymessage').className)){ return; }
		setTimeout( "fleegix.fx.blindUp($('flymessage'), { doBeforeStart: function(){$('flymessage').innerHTML = '';}, doAfterFinish: function(){$('flymessage').className = ''}})", 4000);
	}
	});
},

logout: function(){
	fleegix.xhr.send({
		url: 'index.php?c=auth&m=logout',
		async: false,
		handleAll: function(s){
			eval("var resp = ("+s+")");
			if(resp.type === 'OK'){
				if(file = fleegix.uri.getParam('f', fleegix.uri.getQuery(document.location.href))){
					document.location.href = file;
				} else {
					document.location.reload(true);
				}
			}
		}
	});
},

popupDialog: function(url, width, height)
{
 var width  = width || 300;
 var height = height || 200;
 var left   = (screen.width  - width)/2;
 var top    = (screen.height - height)/2;
 var params = 'width='+width+', height='+height;
 params += ', top='+top+', left='+left;
 params += ', directories=no';
 params += ', location=no';
 params += ', menubar=no';
 params += ', resizable=no';
 params += ', scrollbars=no';
 params += ', status=no';
 params += ', toolbar=no';
 newwin=window.open(url,'windowname5', params);
 if (window.focus) {newwin.focus()}
 return false;
},

getActiveStyleSheet: function() {
var i, a;
 for(i=0; (a = document.getElementsByTagName("link")); i++) {
  if(a.getAttribute("rel").indexOf("style") != -1
  && a.getAttribute("title")
  && !a.disabled) return a.getAttribute("title");
  }
  return null;
}



}


//Preload image
image1 = new Image();
image1.style.display = 'none';
image1.align = 'top';
image1.src = "source/app/sources/images/ajax-loader-tiny.gif";
