/**
 * ReMooz - Zoomer
 *
 *
 * Inspired by so many boxes and zooms
 *
 * @version		1.0
 *
 * @license		MIT-style license
 * @author		Harald Kirschner <mail [at] digitarald.de>
 * @copyright	Author
 */
var ReMooz = new Class({

	Implements: [Events, Options, Chain],

	options: {
		source: null,
		type: 'image',
		container: null,
		className: null,
		centered: false,
		dragging: true,
		closeOnClick: true,
		shadow: 'onOpen',
		resize: true,
		margin: 20,
		resizeFactor: 0.8,
		resizeLimit: false, // {x: 640, y: 640}
		fixedSize: false,
		hideSource: true,
		addClick: true,
		resizeOpacity: 1,
		resizeOptions: {},
		fxOptions: {},
		closer: true,
		destroy: false,
		onBuild: $empty,
		onLoad: $empty,
		onOpen: $empty,
		onOpenEnd: $empty,
		onClose: $empty,
		onCloseEnd: $empty,
		generateTitle: function(el) {
			var text = el.getProperty('title');
			if (!text) return false;
			var title = text.split(' :: ');
			var head = new Element('h6', {'html': title[0]});
			return (title[1]) ? [head, new Element('p', {'html': title[1]})] : head;
		}
	},

	initialize: function(element, options) {
		this.element = $(element);
		this.setOptions(options);
		this.options.source = this.options.source || this.element.getProperty('href') || this.element.getProperty('src');
		this.container = $(this.options.container) || this.element.ownerDocument;
		this.bound = {
			'click': function(e) {
				t

