/* =========================================================

// jquery.innerfade.js

// Datum: 2008-02-14

// Firma: Medienfreunde Hofmann & Baldes GbR

// Author: Torsten Baldes

// Mail: t.baldes@medienfreunde.com

// Web: http://medienfreunde.com

// based on the work of Matt Oakes http://portfolio.gizone.co.uk/applications/slideshow/

// and Ralf S. Engelschall http://trainofthoughts.org/

// ========================================================= */


(function($) {

	$.fn.innerfade = function(options) {

		return this.each(function() {   

			$.innerfade(this, options);

		});

	};


	$.innerfade = function(container, options) {

		var settings = {

				'animationtype':    'fade',

			'speed':            'normal',

			'type':             'sequence',

			'timeout':          2000,

			'containerheight':  'auto',

			'runningclass':     'innerfade',

			'children':         null

		};

		if (options)

			$.extend(settings, options);

		if (settings.children === null)

			var elements = $(container).children();

		else

			var elements = $(container).children(settings.children);

		if (elements.length > 1) {

			$(container).css('position', 'relative').css('height', settings.containerheight).addClass(settings.runningclass);

			for (var i = 0; i < elements.length; i++) {

				$(elements[i]).css('z-index', String(elements.length-i)).css('position', 'absolute').hide();

			};

			if (settings.type == "sequence") {

				setTimeout(function() {

					$.innerfade.next(elements, settings, 1, 0);

				}, settings.timeout);

				$(elements[0]).show();

			} else if (settings.type == "random") {

					var last = Math.floor ( Math.random () * ( elements.length ) );

				setTimeout(function() {

					do { 

												current = Math.floor ( Math.random ( ) * ( elements.length ) );

										} while (last == current );             

										$.innerfade.next(elements, settings, current, last);

				}, settings.timeout);

				$(elements[last]).show();

						} else if ( settings.type == 'random_start' ) {

								settings.type = 'sequence';

								var current = Math.floor ( Math.random () * ( elements.length ) );

								setTimeout(function(){

									$.innerfade.next(elements, settings, (current + 1) %  elements.length, current);

								}, settings.timeout);

								$(elements[current]).show();

						}	else {

							alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');

						}

				}

	};



	$.innerfade.next = function(elements, settings, current, last) {

		if (settings.animationtype == 'slide') {

			$(elements[last]).slideUp(settings.speed);

			$(elements[current]).slideDown(settings.speed);

		} else if (settings.animationtype == 'fade') {

			$(elements[last]).fadeOut(settings.speed);

			$(elements[current]).fadeIn(settings.speed, function() {

							removeFilter($(this)[0]);

						});

		} else

			alert('Innerfade-animationtype must either be \'slide\' or \'fade\'');

		if (settings.type == "sequence") {

			if ((current + 1) < elements.length) {

				current = current + 1;

				last = current - 1;

			} else {

				current = 0;

				last = elements.length - 1;

			}

		} else if (settings.type == "random") {

			last = current;

			while (current == last)

				current = Math.floor(Math.random() * elements.length);

		} else

			alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');

		setTimeout((function() {

			$.innerfade.next(elements, settings, current, last);

		}), settings.timeout);

	};



})(jQuery);



// **** remove Opacity-Filter in ie ****

function removeFilter(element) {

	if(element.style.removeAttribute){

		element.style.removeAttribute('filter');

	}

}

function mainmenu(){



$(" #navigation-main ul ").css({display: "none"}); // Opera Fix



$(" #navigation-main li").hover(function(){

		$(this).find('ul:first').css({visibility: "visible",display: "none"}).show(400);

		},function(){

		$(this).find('ul:first').css({visibility: "hidden"});

		});

}

$(document).ready(function() {

	$('input[title]').each(function() {
		if($(this).val() === '') {
			$(this).val($(this).attr('title'));	
		}	

		$(this).focus(function() {
			if($(this).val() == $(this).attr('title')) {
				$(this).val('').addClass('focused');	
			}
		});

		$(this).blur(function() {
			if($(this).val() === '') {
				$(this).val($(this).attr('title')).removeClass('focused');	
			}
		});

	});
	
	$('textarea').each(function() {
		if($(this).val() === '') {
			$(this).val($(this).attr('title'));	
		}

		$(this).focus(function() {
			if($(this).val() == $(this).attr('title')) {
				$(this).val('').addClass('focused');	
			}
		});

		$(this).blur(function() {

			if($(this).val() === '') {
				$(this).val($(this).attr('title')).removeClass('focused');	
			}
		});
	});

});

/**
 * TextAreaExpander plugin for jQuery
 * v1.0
 * Expands or contracts a textarea height depending on the
 * quatity of content entered by the user in the box.
 *
 * By Craig Buckler, Optimalworks.net
 *
 * As featured on SitePoint.com:
 * http://www.sitepoint.com/blogs/2009/07/29/build-auto-expanding-textarea-1/
 *
 * Please use as you wish at your own risk.
 */

/**
 * Usage:
 *
 * From JavaScript, use:
 *     $(<node>).TextAreaExpander(<minHeight>, <maxHeight>);
 *     where:
 *       <node> is the DOM node selector, e.g. "textarea"
 *       <minHeight> is the minimum textarea height in pixels (optional)
 *       <maxHeight> is the maximum textarea height in pixels (optional)
 *
 * Alternatively, in you HTML:
 *     Assign a class of "expand" to any <textarea> tag.
 *     e.g. <textarea name="textarea1" rows="3" cols="40" class="expand"></textarea>
 *
 *     Or assign a class of "expandMIN-MAX" to set the <textarea> minimum and maximum height.
 *     e.g. <textarea name="textarea1" rows="3" cols="40" class="expand50-200"></textarea>
 *     The textarea will use an appropriate height between 50 and 200 pixels.
 */

(function($) {

	// jQuery plugin definition
	$.fn.TextAreaExpander = function(minHeight, maxHeight) {

		var hCheck = !($.browser.msie || $.browser.opera);

		// resize a textarea
		function ResizeTextarea(e) {

			// event or initialize element?
			e = e.target || e;

			// find content length and box width
			var vlen = e.value.length, ewidth = e.offsetWidth;
			if (vlen != e.valLength || ewidth != e.boxWidth) {

				if (hCheck && (vlen < e.valLength || ewidth != e.boxWidth)) e.style.height = "0px";
				var h = Math.max(e.expandMin, Math.min(e.scrollHeight, e.expandMax));

				e.style.overflow = (e.scrollHeight > h ? "auto" : "hidden");
				e.style.height = h + "px";

				e.valLength = vlen;
				e.boxWidth = ewidth;
			}

			return true;
		};

		// initialize
		this.each(function() {

			// is a textarea?
			if (this.nodeName.toLowerCase() != "textarea") return;

			// set height restrictions
			var p = this.className.match(/expand(\d+)\-*(\d+)*/i);
			this.expandMin = minHeight || (p ? parseInt('0'+p[1], 10) : 0);
			this.expandMax = maxHeight || (p ? parseInt('0'+p[2], 10) : 99999);

			// initial resize
			ResizeTextarea(this);

			// zero vertical padding and add events
			if (!this.Initialized) {
				this.Initialized = true;
				$(this).css("padding-top", 0).css("padding-bottom", 0);
				$(this).bind("keyup", ResizeTextarea).bind("focus", ResizeTextarea);
			}
		});

		return this;
	};

})(jQuery);


// initialize all expanding textareas
jQuery(document).ready(function() {
	jQuery("textarea[class*=expand]").TextAreaExpander();
});




/* ------------------------------------------

	Functions

--------------------------------------------*/

$(document).ready(function() {

	$('ul#jquery-headers').innerfade({

	speed: 9000,

	timeout: 9000,

	type: 'sequence',

	containerheight: '250px'

	});

	mainmenu();

});
