/**
* Javascript
* JS: Base
*
* @author Heiko Pfefferkorn (i-fabrik GmbH)
* @copyright 2009 i-fabrik GmbH
* @version $Id: app.js,v 1.2 2009-07-31 11:07:14 heiko Exp $
*
*/


/*
Element - Implements
*/

Element.implement({

	/*
	Property: addClasses
		Mehreren CSS-Klassennamen, wenn noch nicht vorhanden, einem Element hinzufügen.

	Arguments:
		classField - Array; die hinzuzufügenden Klassennamen

	Example:
		<div id="myElement" class="testClass"></div>
		$('myElement').addClasses(['newClass', ['newClass2']]); //<div id="myElement" class="testClass newClass newClass2"></div>
	*/

	addClasses: function(classNames) {
		if(classNames.length > 0) {
			if(typeof(classNames) != 'object')
				classNames = [classNames];

			for(var i = 0; i < classNames.length; i++) {
				if(!this.hasClass(classNames[i]))
					this.className = (this.className + ' ' + classNames[i]).clean();
			}
		}

		return this;
	},

	/*
	Property: removeClasses
		Funktionsweise wie <Element.addClasses>, nur werden hier die betreffenden CSS-Klassenname  entfernt.
	*/

	removeClasses: function(classNames) {
		if(classNames.length > 0) {
			if(typeof(classNames) != 'object')
				classNames = [classNames];

			for(var i = 0; i < classNames.length; i++)
				this.className = this.className.replace(new RegExp('(^|\\s)' + classNames[i] + '(?:\\s|$)'), '$1').clean();
		}

		return this;
	}

});


/*
Element - Events
*/

// 'keyEnter'
Element.Events.pressEnter = {

	base     : 'keydown',
	condition: function(e) {
		return (e.key == 'enter');
	}

};

// 'keyDelete'
Element.Events.keyDelete = {

	base     : 'keydown',
	condition: function(e) {
		return (e.key == 'delete');
	}

};

// 'keyBackspace'
Element.Events.keyBackspace = {

	base     : 'keydown',
	condition: function(e) {
		return (e.key == 'backspace');
	}

};

/*
Site UI Init

Initialze base handling.
*/

var SiteUI_Path = '';
var SiteUI_Init = new Hash({

	headGallery: function() {
		if($defined($('show'))) {

			var data = {};

			if($(document.body).getProperty('id') == 'contact') {
				SiteUI_Path = '../';
			}

			var data = {
				'01.jpg': { caption: 'Amphibientour - Zu Land und zu Wasser' },
				'02.jpg': { caption: 'Amphibientour - Zu Land und zu Wasser' },
				'03.jpg': { caption: 'Amphibientour - Zu Land und zu Wasser' },
				'04.jpg': { caption: 'Amphibientour - Zu Land und zu Wasser' },
				'05.jpg': { caption: 'Amphibientour - Zu Land und zu Wasser' },
				'06.jpg': { caption: 'Amphibientour - Zu Land und zu Wasser' },
				'07.jpg': { caption: 'Amphibientour - Zu Land und zu Wasser' },
				'08.jpg': { caption: 'Amphibientour - Zu Land und zu Wasser' },
				'09.jpg': { caption: 'Amphibientour - Zu Land und zu Wasser' },
				'10.jpg': { caption: 'Amphibientour - Zu Land und zu Wasser' },
				'11.jpg': { caption: 'Amphibientour - Zu Land und zu Wasser' },
				'12.jpg': { caption: 'Amphibientour - Zu Land und zu Wasser' },
				'13.jpg': { caption: 'Amphibientour - Zu Land und zu Wasser' },
				'14.jpg': { caption: 'Amphibientour - Zu Land und zu Wasser' },
				'15.jpg': { caption: 'Amphibientour - Zu Land und zu Wasser' }
			};

			var myShow = new Slideshow('show', data, {
				controller: false,
				height    : 368,
				hu        : SiteUI_Path + 'img/',
				thumbnails: false,
				width     : 1000,
				delay     : 5000
			});

		}
	},

	movie: function() {
		if($defined($('videocontainer'))) {

			var s1 = new SWFObject(SiteUI_Path + 'mplayer.swf', 'ply', '350', '263', '9', '#ffffff');

			var mvars = 'file=' + SiteUI_Path + 'movie.flv' +
						 '&type=video' +
						 '&image=' + SiteUI_Path + 'img/platzhalter_video.jpg' +
						 '&bufferlength=20' +
						 'resizing=false' +
						 '&controlbar=bottom' +
						 '&stretching=fill' +
						 '&volume=50';
			s1.addParam('allowfullscreen',   'true');
			s1.addParam('allowscriptaccess', 'always');
			s1.addParam('flashvars',         mvars);
			s1.write('videocontainer');

		}
	}

});


window.addEvent('domready', SiteUI_Init.run.bind(SiteUI_Init));

