// shortcuts
var $ = YAHOO.util.Dom.get;
var $D = YAHOO.util.Dom;
var $E = YAHOO.util.Event;

YAHOO.namespace("p3g");
YAHOO.namespace("p3g.util");

YAHOO.p3g.logReader = null;
YAHOO.p3g.logWriter = null;

YAHOO.util.Event.onDOMReady (function() {
	YAHOO.p3g.logReader = new YAHOO.widget.LogReader(null, {fontSize:"105%", verboseOutput: false});
 	YAHOO.p3g.logWriter = new YAHOO.widget.LogWriter("p3g");
 	YAHOO.p3g.logReader.hide();
});		

YAHOO.p3g.getLogger = function() {
	return YAHOO.p3g.logWriter;
}

YAHOO.p3g.log = function(msg, category) {
	if (arguments.length < 2) category = "p3g";
  YAHOO.p3g.getLogger().log(msg, category);
}

/**
 * Toggles the Javascript logger's display.
 */
YAHOO.p3g.showHideLogger = function() {
	var disp = YAHOO.p3g.logReader._elContainer.style.display;
	if (disp == '' || disp == 'block') {
		YAHOO.p3g.logReader.hide();
	} else {
		YAHOO.p3g.logReader.show();
	}
}

YAHOO.p3g.util.popup = function(link, name, w, h, options) {
	var l = 0;
	var t = 0;
	var maximize = !w || !h;
	if (screen && w && h) {
		l = (screen.width - w) / 2;
		t = (screen.height - h) / 2;
	}
	if (!options) {
		options = "directories=0,location=0,menubar=0,status=0,titlebar=0,toolbar=0,resizable=1,scrollbars=1";
	}
	var win = window.open(link, name, options + ",top=" + t + ",left=" + l + ",width=" + w + ",height=" + h);
	if(win) {
		win.focus();
		if (maximize) {
			win.resizeTo(screen.width, screen.height);
		}
	} else {
		alert('You have to allow popup for this site');
	}
	return win;
}

YAHOO.p3g.util.visible = function(elementId) {
	return YAHOO.util.Dom.get(elementId).style.display != 'none';
}

YAHOO.p3g.util.toggle = function(elementId) {
	if(YAHOO.p3g.util.visible(elementId)) {
		YAHOO.p3g.util.hide(elementId);
	} else {
		YAHOO.p3g.util.show(elementId);
	}
}

YAHOO.p3g.util.hide = function(elementId) {
	YAHOO.util.Dom.get(elementId).style.display = 'none';
}

YAHOO.p3g.util.show = function(elementId) {
	YAHOO.util.Dom.get(elementId).style.display = '';
}

/**
 * Tooltips
 */
YAHOO.namespace("p3g.util.tooltip");

YAHOO.p3g.util.tooltip.contextElements  = [];

YAHOO.p3g.util.tooltip.add = function(contextId) {
	YAHOO.p3g.util.tooltip.contextElements[YAHOO.p3g.util.tooltip.contextElements.length] = contextId;
}

YAHOO.p3g.util.tooltip.createAll = function() {
	if(YAHOO.p3g.util.tooltip.contextElements.length > 0) {
		YAHOO.p3g.util.tooltip.tt = new YAHOO.widget.Tooltip("tt", 
			{ context: YAHOO.p3g.util.tooltip.contextElements, autodismissdelay: 15000 } );
	}
}
/*
YAHOO.p3g.util.tooltip.init = function() {
	var loader = new YAHOO.util.YUILoader();
	loader.insert({
		require: ["container"],
		filter: "DEBUG",
		base: YAHOO.p3g.util.getAppRoot() + '/javascript/yui/',
		onSuccess: YAHOO.p3g.util.tooltip.createAll
	});
}
*/
YAHOO.util.Event.addListener(window, "load", YAHOO.p3g.util.tooltip.createAll);
