/*  Window.Growl, version 2.0: http://icebeat.bitacoras.com
 *  Daniel Mota aka IceBeat <daniel.mota@gmail.com>
 *	Updated to 1.2b2 by Paul Streise <paulstreise@gmail.com>
--------------------------------------------------------------------------*/
var Gr0wl = {};
var Growl = {};
Gr0wl.Base = new Class({
	
	options: {
		image: '/img/icon.png',
		title: 'Edited Window Growl',
		text: 'Moogrowl by Apfelkuh',
		duration: 2,
		sticky:false
	},
	
	initialize: function(image) {
		this.image = new Asset.image(image, { onload: this.create.bind(this) });
		return this.show.bind(this);
	},
	
	create: function(styles) {
		this.image.setStyles(
			{
				'position':'absolute',
				'dispaly':'none'
			}
			).setOpacity(0).injectInside(document.body);
		this.block = new Element('div').setStyles(
			$extend(
			{
				'position': 'absolute',
				'z-index':'999',
				'dispaly':'none',
				'color':'#fff',
				'font': '12px/14px "Trebuchet MS", Arial, Helvetica, Verdana, sans-serif'
			},
			styles.div)
			).setOpacity(0).injectInside(document.body);
		var im = new Element('img').setStyles(styles.img).injectInside(this.block);
		new Element('h3').setStyles(styles.h3).injectInside(this.block);
		new Element('p').setStyles(styles.p).injectInside(this.block);

	},
	
	show: function(options) {
		options = $merge(this.options, options);
		var elements = [this.image.clone(), this.block.clone()];
		elements.each(function(e, i) {
			e.injectInside(document.body);
			e.setStyles(options.position);
			if(i){
			   e.getFirst().setProperty('src', options.image).getNext().set('html',options.title).getNext().set('html',options.text);
			 }
		});
		

		new Fx.Elements(elements, {duration:400}).start({
			'0': { 'opacity': [0, .75] }, '1': { 'opacity': [0, 1] }
		});
		this.hide.delay(options.duration*1000, this, [elements]);
	},
	
	hide: function(elements) {
        var effect = { 'opacity': [.75,0] };
		var effects = new Fx.Elements(elements, {duration:400, onComplete: function() {
			this.elements[0].dispose();
			this.elements[1].empty().dispose();
		}}).start({'0': effect, '1': effect });
	}
	
});


Gr0wl.Smoke = new Class({
	Extends: Gr0wl.Base,
	create: function() {
		this.queue = [];
		this.parent({
			div:
				{
					'width':'298px',
					'height':'73px',
					'text-align':'left'	
				},
			img:
				{
					'float':'left',
					'margin':'12px'
				},
			h3:
				{
					'margin':'0',
					'padding':'10px 0px',
					'font-size':'13px',
					'font-family': "\"Trebuchet MS\",Arial,Tahoma,Sans"
				},
			
			p:
				{
					'margin':'0px 10px',
					'font-size':'12px',
					'padding':'0'	
				}
		});
	},
	
	show: function(options) {
		var last = this.queue.getLast();
		var something = window.getScrollTop().y;
		delta = window.getScrollTop()+10+(last*83);
		options.position = {'top':delta+'px', 'right':'10px', 'display':'block'};
		this.queue.push(last+1);
		this.parent(options);
	},
	
	hide: function(elements) {
		this.queue.shift();
		this.parent(elements);
	}
});	



/*
 *	Change url image
 *	Example:
	Growl.Smoke({
	title: 'Window.Growl By Daniel Mota',
	text: 'http://icebeat.bitacoras.com',
	image: 'growl.jpg',
	duration: 2
	});
*/
window.addEvent('domready',function() {
	Growl.Smoke = new Gr0wl.Smoke('/lib/moogrowl121/smoke.png');
    
});