Globals = {};

window.addEvent('domready', function(){

	Globals.noBookmarkMessage = 'Dieses Objekt befindet sich bereits auf ihrer Merkliste.';

 	// Elemente zur Merkliste hinzufügen
	//-------------------------------------------------------
	Globals.bookmarkListLink = $('bookmark-list-link');

	Globals.bookmark = function(type, id)
	{
		if (type != null && type != '' && id != null && id != '')
		{
			var bookmarks = JSON.decode(Cookie.read('wbg.bookmarks')) || [];

			var item = {
				type: type,
				id: id
			};

			var found = false;
			bookmarks.each(function(iItem){
				if (iItem.type == type && parseInt(iItem.id) == parseInt(id)) found = true;
			});
			if (found) {
				alert(Globals.noBookmarkMessage);
				return false;
			}

			alert('Das Objekt wurde auf die Merkliste gesetzt.');

			bookmarks.push(item);

			Globals.bookmarkListLink.set('text', bookmarks.length);

			Cookie.write('wbg.bookmarks', JSON.encode(bookmarks), {
				duration: (365 * 10),
				path: '/'
			});

			return true;
		}
		else
		{
			return false;
		}
	}

	var bookmarks = JSON.decode(Cookie.read('wbg.bookmarks')) || [];
	Globals.bookmarkListLink.set('text', bookmarks.length);

	// Wohnung bookmarken
	$$('a.leaflet').addEvent('click', function(e){
		e.stop();

		var type = this.get('href').match(/[a-zA-Z]{1,}(?=\-)/) + ''; // String convert ist wichtig!
		var id = parseInt(this.get('href').match(/[0-9]{1,}/)); // Int convert ist wichtig!

		if(Globals.bookmark(type, id)) this.setStyle('background-position', '0px -16px');
	});

	$$('a.leaflet').each(function(leaflet) {

		leaflet.set('title', 'Objekt auf den Merkzettel setzen.');

		var type = leaflet.get('href').match(/[a-zA-Z]{1,}(?=\-)/);
		var id = leaflet.get('href').match(/[0-9]{1,}/);

		var bookmarks = JSON.decode(Cookie.read('wbg.bookmarks')) || [];

		var found = false;
		bookmarks.each(function(iItem){
			if (iItem.type == type && parseInt(iItem.id) == parseInt(id)) found = true;
		});
		if (found) {
			leaflet.setStyle('background-position', '0px -16px');
			return;
		}
	});

	$$('.list_element').each(function(item){

		var element = item.getElements('.text');
		var link = item.getElement('.link');

		item.addEvents({
			'mouseenter': function(){
				element.tween('color', '#F00000');
			},
			'mouseleave': function(){
				element.tween('color', '#525252');
			},
			'click': function(){
				link.get('href').toURI().go();
			}
		});
	});

	// CMS Editor "title" Fix
	//-------------------------------------------------------
	$$('div#content div[id^=content]').each(function(el){ el.erase('title'); });
	//-------------------------------------------------------
});

Slimbox.scanPage = function scanPage() {

	Globals.popupImages = $$('.image');
	var allImgs = $$();

	Globals.popupImages.each(function(img_container) {
		var captionEl = img_container.getElements('div.template-low')[0];
		if($chk(captionEl) && captionEl.get('text').trim() == '')
			captionEl.destroy();
		else
			captionEl.setStyle('cursor', 'default');

		if (!!img_container.getElements('div.template-img')) {
			var img = img_container.getElements('div.template-img')[0].getElements('img')[0];

			img.set('morph', {
				duration: 'short'
			});
			img.addEvents({
				'mouseenter': function(){
					this.addClass('over');
					this.morph({
						'border-color': '#F00000'
					});
				},
				'mouseleave': function(){
					this.removeClass('over');
					this.morph({
						'border-color': '#525252'
					});
				}
			});

			img.store('container', img_container);

			allImgs.push(img);
		}
	});

	allImgs.slimbox({overlayOpacity: 0.95, counterText: 'Bild {x} von {y}'}, function(img) {
		img = img.retrieve('container');
		var captionEl = img.getChildren('div.template-low')[0];
		var caption = $chk(captionEl) ? captionEl.get('text') : '';
		var imgEl = img.getChildren('div.template-img')[0];
		var imgSrc = $chk(imgEl) && $chk(imgEl.getChildren('img[rel^=popup]')[0]) ? imgEl.getChildren('img[rel^=popup]')[0].get('rel').replace(/^popup\(/, '').replace(/\)$/, '') : '';

		return [
			imgSrc,
			caption
		];
	});
};
window.addEvent('domready', Slimbox.scanPage);

// FLV-Player laden
//-------------------------------------------------------
Globals.FlvPlayer = {};
Globals.FlvPlayer.scanPage = function() {

	var swf_file = 'swf/FLVPlayer.swf';

	if(Browser.Plugins.Flash.version < 9)
	{
		swf_file = 'swf/expressInstall.swf';
	}

	Globals.videos = $$('div.template-video span');

	Globals.videos.each(function(span){

		var flv = span.get('rel');
		var container = span.getParent();

		if (Browser.Plugins.Flash.version < 8) {
			container.empty().setStyles({
				'width': 690,
				'height': 300,
				'background': '#cccccc',
				'color': '#fff',
				'text-align': 'center',
				'line-height': 20
			}).set('html', 'Um das Video anzusehen, müssen Sie das Flash Player Plugin installiert haben!');
			return;
		}

		container.empty().setStyles({
			'width': 690,
			'height': 300,
			'background': 'url(grafiken/bg-flv-player.png) no-repeat'
		});

		new Swiff(swf_file, {
			'container': container,
			'width': 690,
			'height': 300,
			'params': {
				'wmode': 'transparent',
				'bgcolor': '#cccccc'
		    },
			'vars': {
				'src': flv
			},
			'callBacks': {
				'onStartLoading': function()
				{
					container.setStyle('background', 'none');
				}
			}
		});
	});
};
window.addEvent('domready', Globals.FlvPlayer.scanPage);
//-------------------------------------------------------

