
if(!CBus.Notification)
{
	CBus.error(
		'CBus.Notification.Styles.standard - '+
		'CBus.Notification was not loaded first, and we need that to load styles.'
	);
}

//make an anonymous function and run it to keep our precious global namespace pristine.
(function(){	
	//Preload the image resources from CSS that otherwise aren't preloaded
	var backgrounds = [
		'http://www.legalqb.com/cbus/images/successBackground.gif',
		'http://www.legalqb.com/cbus/images/warningBackground.gif',
		'http://www.legalqb.com/cbus/images/errorBackground.gif',
		'http://www.legalqb.com/cbus/images/notifyBackground.gif',
		'http://www.legalqb.com/cbus/images/wizardBackground.gif'
	];
	
	for(var i in backgrounds)
	{
		var IM = new Image();
		IM.src = backgrounds[i];
	}
	
	//Make the closebox
	var closeIcon = document.createElement('img');
	closeIcon.setAttribute('src','http://www.legalqb.com/cbus/images/close.png');
	closeIcon.setAttribute('width',11);
	closeIcon.setAttribute('height',11);
	
	//Making a style from a template
	var successStyle = new CBus.Notification.StyleTemplate();
	successStyle.buildTemplate();
	successStyle.template.image.setAttribute('src','http://www.legalqb.com/cbus/images/large_success.gif');
	successStyle.template.image.setAttribute('width',32);
	successStyle.template.image.setAttribute('height',32);
	YAHOO.util.Dom.addClass(successStyle.template.image, 'icon');
	YAHOO.util.Dom.addClass(successStyle.template.root, 'successNotification');
	successStyle.template.closeBox.appendChild(closeIcon.cloneNode(true));
	
	//Making a style from a template
	var errorStyle = new CBus.Notification.StyleTemplate();
	errorStyle.buildTemplate();
	errorStyle.template.image.setAttribute('src','http://www.legalqb.com/cbus/images/large_error.gif');
	errorStyle.template.image.setAttribute('width',32);
	errorStyle.template.image.setAttribute('height',32);
	YAHOO.util.Dom.addClass(errorStyle.template.image, 'icon');
	YAHOO.util.Dom.addClass(errorStyle.template.root, 'errorNotification');
	YAHOO.util.Dom.addClass(errorStyle.template.closeBox, 'closeBox');
	errorStyle.template.closeBox.appendChild(closeIcon.cloneNode(true));
	
	//Making a style from a template
	var warningStyle = new CBus.Notification.StyleTemplate();
	warningStyle.buildTemplate();
	warningStyle.template.image.setAttribute('src','http://www.legalqb.com/cbus/images/large_warning.gif');
	warningStyle.template.image.setAttribute('width',32);
	warningStyle.template.image.setAttribute('height',32);
	YAHOO.util.Dom.addClass(warningStyle.template.image, 'icon');
	YAHOO.util.Dom.addClass(warningStyle.template.root, 'warningNotification');
	warningStyle.template.closeBox.appendChild(closeIcon.cloneNode(true));
	
	//Making a style from a template
	var noticeStyle = new CBus.Notification.StyleTemplate();
	noticeStyle.buildTemplate();
	noticeStyle.template.image.setAttribute('src','http://www.legalqb.com/cbus/images/large_notification.gif');
	noticeStyle.template.image.setAttribute('width',32);
	noticeStyle.template.image.setAttribute('height',32);
	YAHOO.util.Dom.addClass(noticeStyle.template.image, 'icon');
	YAHOO.util.Dom.addClass(noticeStyle.template.root, 'noticeNotification');
	noticeStyle.template.closeBox.appendChild(closeIcon.cloneNode(true));
	
	//Making a style from a template
	var wizardStyle = new CBus.Notification.StyleTemplate();
	wizardStyle.buildTemplate();
	wizardStyle.template.image.setAttribute('src','http://www.legalqb.com/cbus/images/large_wizard.gif');
	wizardStyle.template.image.setAttribute('width',32);
	wizardStyle.template.image.setAttribute('height',32);
	YAHOO.util.Dom.addClass(wizardStyle.template.image, 'icon');
	YAHOO.util.Dom.addClass(wizardStyle.template.root, 'wizardNotification');
	wizardStyle.template.closeBox.appendChild(closeIcon.cloneNode(true));
	
	//Add styles to the Notification object
	CBus.Notification.addStyle('success', successStyle);
	CBus.Notification.addStyle('warning', warningStyle);
	CBus.Notification.addStyle('error', errorStyle);
	CBus.Notification.addStyle('notice', noticeStyle);
	CBus.Notification.addStyle('wizard', wizardStyle);
	// Debug takes on notice
	CBus.Notification.addStyle('debug', warningStyle);
}());