$(document).ready(function() {
	/*
	 * LogoSlider
	 */
	$('div.logo_slider').cycle({
		pause: true,
		timeout: 4000,
		random: true
	});
	
	
	/*
	 * !----- SUPERfish & Co -------! 
	 */
	$('form input').mouseover(function(){
		$(this).toggleClass('sfHover');
	}).mouseout(function(){
		$(this).toggleClass('sfHover');
	});
	
	$('#nav').superfish();

	$('.twFormular li input').each(function(){
		$(this).addClass($(this).attr('type'));
	});

	// Parentselemente von .twActive mit twActive versehen
	$('ul#nav li.twActive').parents('li').addClass('twActive');
	
	
	/*
	 * Modul in einer Dialog-Box öffnen
	 */
	$('a.dialogBoxWithFormSubmit').click(function(){
		var href = $(this).attr('href');
		var ajax = 'ajaxHtml/ajax.php5';
		
		var hrefParts = href.split('?');
		var gets = hrefParts[1];
		
		var pathParts = hrefParts[0].split('/');
		var path = '';
		for(var i=0; i<pathParts.length - 2; i++) {
			path = path + pathParts[i] + '/';
		}
		path = path + ajax + '?' + gets;
		postData = 'url='+gets;
		
		$.ajax({
			type: 'POST',
			url: path,
			data: postData,
			dataType: 'html',
			success: function(ret){
				var div = $('<div />')
				.append(ret)
				.appendTo('body')
				.dialog({
					autoOpen: false,
					width: 550,
					modal: true,
					buttons: {
						'Speichern': function() {
							formSubmit('form.testForm');
							$(this).dialog('close');
						},
						'Abbrechen': function() {
							$(this).dialog('close');
						}
					}
				})
				.dialog('open');
			}
		});
		
		return false;
	});	
	
	
	/*
	 * Formular aus einer Dialog-Box heraus versenden
	 */
	function formSubmit(form) {
		var method = $(form).attr('method');
		var action = $(form).attr('action');
		
		var ajax = 'ajaxHtml/ajax.php5';
		
		var hrefParts = action.split('?');
		var gets = hrefParts[1];
		
		var pathParts = hrefParts[0].split('/');
		var path = '';
		for(var i=0; i<pathParts.length - 2; i++) {
			path = path + pathParts[i] + '/';
		}
		path = path + ajax + '?' + gets;
		postData = 'url='+gets+'&'+ $(form).serialize();
		
		$.ajax({
			type: method,
			url: path,
			data: postData,
			dataType: 'html',
			success: function(ret){
				var div = $('<div />')
				.append(ret)
				.appendTo('body')
				.dialog({
					autoOpen: false,
					width: 550,
					modal: true,
					buttons: {
						'Ok': function() {
							$(this).dialog('close');
						}
					}
				})
				.dialog('open');
			}
		});
		
		return false;
	}

	
	/*
	 * Tab-Reiter-Menü
	 */
	var urlMD5hash = $.md5(document.URL);
	$('div.tabedContent').tabs({
		cookie: {expires: 30, name: urlMD5hash}
	});
	
	
	/*
	 * Accordion
	 */
	$('div.accordion').accordion({
		header: 'h3',
		autoHeight: false
	});
	
	
	//hover states on the static widgets
	$('a.uiActionButton , ul.uiEditButtons li').hover(
		function() { $(this).addClass('ui-state-hover'); }, 
		function() { $(this).removeClass('ui-state-hover'); }
	);
	
	
	/*
	 * Submit-Buttons...
	 */
	$('input.noJsButton').remove();
	$('a.uiSubmitButton').css('display', 'inline')
	.click(function(){
		$(this).parents('form').submit();
		return false;
	});
	
	
	/*
	 * Removable
	 */
	function removeButton() {
		var spanTag = $('<span />')
		.addClass('ui-icon')
		.addClass('ui-icon-close');
		
		var aTag = $('<a />')
		.addClass('ui-state-default')
		.addClass('ui-corner-all')
		.addClass('uiActionButton')
		.append(spanTag)
		.append('l&ouml;schen')
		.css({
			'cursor': 'pointer'
		});
		
		var divTag = $('<div />')
		.css({
			'position': 'absolute',
			'top': 0,
			'right': 0
		})
		.append(aTag);
		
		aTag.hover(
			function(){$(this).toggleClass('ui-state-hover');}, 
			function(){$(this).toggleClass('ui-state-hover')}
		)
		.click(function(){
			$(this).parents('div.removeble').remove();
		});
	
		return divTag;
	}
	
	$('div.removeble').css({
		'border' : '2px solid #eee',
		'padding' : '10px 10px 0 10px',
		'margin-top' : '3px',
		'position': 'relative'
	}).append(removeButton());	

	/*
	 * Multiple
	 */
	function multButton() {
		var spanTag = $('<span />')
		.addClass('ui-icon')
		.addClass('ui-icon-plus');
		
		var aTag = $('<a />')
		.addClass('ui-state-default')
		.addClass('ui-corner-all')
		.addClass('uiActionButton')
		.append(spanTag)
		.append('Formular erweitern')
		.css({
			'cursor': 'pointer'
		});
		
		var divTag = $('<div />')
		.css({
			'position': 'relative',
			'padding' : '6px 0 7px 4px',
			'background': '#eee'
		}).
		append(aTag);
		
		aTag.hover(
			function(){$(this).toggleClass('ui-state-hover');}, 
			function(){$(this).toggleClass('ui-state-hover')}
		).click(function(){
			doMultiple($(this));
		});
	
		return divTag;
	}
	
	function doMultiple(obj) {
		var html = $('div.multiple:last').clone();
		obj.parent('div').remove()
		$('div.multiple:last').after(html);
		$('div.multiple:last').append(removeButton()).after(multButton());	
	}

	$('div.multiple:last').css({
		'border' : '2px solid #eee',
		'padding' : '10px 10px 0 10px',
		'margin-top' : '3px',
		'position': 'relative'
	}).after(multButton());

	/*
	 * Editor - Normal
	 */
	$('textarea.editor').tinymce({
		script_url : '../lib/tiny_mce/tiny_mce.js',
		theme : 'advanced',
		plugins : 'safari,pagebreak,table,inlinepopups,insertdatetime,preview,media,searchreplace,contextmenu,paste,directionality,fullscreen,noneditable,visualchars',
		theme_advanced_statusbar_location : "bottom",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_resizing : true,
				
		theme_advanced_buttons1 : 'newdocument,|,bold,italic,underline,strikethrough,|,forecolor,backcolor,|,bullist,numlist,|,outdent,indent,|,justifyleft,justifycenter,justifyright,justifyfull',
		theme_advanced_buttons2 : 'link,unlink,anchor,cleanup,help,code,|,fontselect,fontsizeselect,|,sub,sup,charmap',
		theme_advanced_buttons3 : 'tablecontrols,|,hr,removeformat,visualaid'
	});
	
	
	/*
	 * Editor - Small
	 */
	$('textarea.editorSmall').tinymce({
		script_url : '../lib/tiny_mce/tiny_mce.js',
		theme : 'advanced',
		theme_advanced_statusbar_location : "bottom",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_resizing : true,
				
		theme_advanced_buttons1 : 'newdocument,|,bold,italic,underline,strikethrough,|,bullist,numlist,|,outdent,indent',
		theme_advanced_buttons2 : '',
		theme_advanced_buttons3 : ''
	});
		
});
