var dlog = {
	DIALOG_LINK_CLASS :'dialogLink',

	init : function() {
		var i;
		// check it's doable?
	if (!document.getElementById || !document.createTextNode) {
		return;
	}
	_log('dlog.init');
	var anchors = $$('a');
	for (i = 0; i < anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.hasClass(dlog.DIALOG_LINK_CLASS)) {
			dlog.processDialogLinks(anchor);
		}
	}
},
processDialogLinks : function(dialogLink) {
	var dialogLinkId = dialogLink.getAttribute('id');
	var discriminator = dialogLinkId.substring(0,4);
	_log("dlog:"+discriminator+":"+dialogLinkId);
	var dialogId = dialogLinkId.substring(5);
	
	if (discriminator == "show"){
		dialogLink.onclick = function(){dlog.showDialog(dialogId)};
	} else if (discriminator=="hide"){
		dialogLink.onclick = function(){dlog.hideDialog(dialogId)};
	} else {
		_log("unexpected:"+discriminator+"  ->"+dialogId+":"+dialogLinkId);
	}
	_log('done');
},

showDialog : function(dialogId) {
	var dialogE = $(dialogId);
	_log("showDialog:"+dialogE);
	dialogE.fade('hide');
	dialogE.setStyle('display','block');
	dialogE.fade('in');
},
hideDialog : function(dialogId) {
	var dialogE = $(dialogId);
	dialogE.fade('out');
},

addEvent : function(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	} else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	} else {
		elm['on' + evType] = fn;
	}
}
}
dlog.addEvent(window, 'load', dlog.init, false);