/**
 ** Functions for YUI compatibilities
  */

/** YUI alias **/
var YuEvent = YAHOO.util.Event; // setup alias
var YuDom = YAHOO.util.Dom;

// init log reader
function loggerInit() {
	if(YAHOO.widget.LogReader && !window._logReader){
		var w = window.open("", (""+window.location.host).replace(/[^a-zA-Z0-9]/g,''), "resizable=yes,status=yes,menubar=no,location=no,scrollbars=yes,width=560,height=680");
		if (!w) {
			YAHOO.widget.Logger = null;
			return;
		}
		w.document.body.innerHTML = ''
			+	'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'
			+   '<html lang="en" dir="ltr" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><head><title>Yui.Logger</title>'
			+	'</head><body>'
			+	'<div id="logReader"></div>'
			+	'</body></html>'
		;
		var css = w.document.createElement('link');
		css.href = '/autocomplete/logger.css';
		css.rel = 'stylesheet';
		css.type = 'text/css';
		var header = w.document.getElementsByTagName('head');
		header[0].appendChild(css);
		w.document.title = 'Log: ' + window.location.host;
		var el = w.document.getElementById('logReader');
		window._logReader = new YAHOO.widget.LogReader(el);
		YAHOO.widget.Logger.disableFirebug();
		w = null;
		el = null;
	}
}

loggerInit();

var DBG = {
	println: function(message){
		YAHOO.log(message, 'DBG', 'DBG');
	}
};

// apply properties
YuDom.applyStyle = function(el, oProperty){
	for(var property in oProperty){
		YuDom.setStyle(el, property, oProperty[property]);
	}
};
// aProperty: string or array
YuDom.showStyle = function(el, aProperty){
	var o = {};
	if(aProperty.constructor == String){
		aProperty = [aProperty];
	}
	for(var i=0; i<aProperty.length; i++){
		var property = aProperty[i];
		o[property] = YuDom.getStyle(el, property);
	}
	YAHOO.log(JSON.stringify(o, true), 'debug', 'yui-compat.js');
};
// shortcut for YAHOO.log
var log = YAHOO.log;
if(!window.console)console={log:YAHOO.log};

if(YAHOO.widget && YAHOO.widget.Node){
	YAHOO.widget.Node.prototype.getDepth = function(){
		var node = this;
		var depth = 0;
		while(node && !node.isRoot()){
			depth++;
			node = node.parent;
		}
		return depth;
	};
	YAHOO.widget.Node.prototype.isChildOf1 = function(test){
		var node = this.parent;
		while(node){
			if(node==test) return true;
			node = node.parent;
		}
		return false;
	};
}
