var onLoadActions = new Array();
var onResizeActions = new Array();

// for onResizeActions to know xhen execute 
// if the page has been already reloaded to
// avoid reload n times
var alreadyReloaded = false;


function openWindow(url,name,w,h,bResizable,bScrollable,bStatus) {
    if (typeof(bResizable) == "undefined")   bResizable = true;
    if (typeof(bScrollable) == "undefined")  bScrollable = false;
    var left = (screen.width-w)/2;
    var top = (screen.height-h)/2 ;
    var params = "status="+(bStatus ? "1" : "0")+",toolbar=0,menubar=0,scrollbars="+(bScrollable ? "1" : "0");
    params += ",resizable="+(bResizable ? "1" : "0")+",width="+w+",height="+h;
    params += ",left="+left+",top="+top;
    return window.open(url,name,params);    
}

function getAccessory(name, def) {
    var value = null;
    if (name.charAt(0) == '*') {
	value = accessories[name.substr(1)];
	if (value != null) {	
	    while(accessories[value] != null) {
		value = accessories[value];
	    }	
	}
    }
    else {
	value = accessories[name];
    }
    return value != null ? value : def;
}

function executeLoadActions() {
    alreadyReloaded = false;
    var i;
    if(!isDiffusion) {
	document.body.oncontextmenu = rClick;
	document.body.onclick = showNode;
	document.body.onkeydown = keyUp;
    }
    for(i=0;i < onLoadActions.length;i++) {
	var action = onLoadActions[i];
	if(typeof(action) == "function") {
	    action();
	}
    }
}

function addLoadAction(action) {
    onLoadActions[onLoadActions.length] = action;
    if(window.document.body != null) {
	window.document.body.onload = executeLoadActions;
    }
}

function executeResizeActions() {
    var i;
    for(i=0;i < onResizeActions.length;i++) {
	var action = onResizeActions[i];
	if(typeof(action) == "function") {
	    action();
	}
    }
}

function addResizeActions(action) {
    onResizeActions[onResizeActions.length] = action;
}

window.onresize = executeResizeActions;
