jQuery.noConflict();

jQuery(document).ready(function($) {
	
	// colorbox
	$('a[rel="gallery"]').colorbox({
		innerWidth:600,
		innerHeight:400
	});
	
	// image slideshows
	if ($('.gallery').length) {
		$('.gallery').each(function(index) {
			(function($galery) {
				var $slideshow = $('.main ul', $galery[0]);
				var $list_items = $('> li', $slideshow[0]);
				
				if ($list_items.length > 1) {
					var width = $list_items.length * 540;
					var current_image_index = 0;

					$slideshow.width(width).wrap('<div class="scroller"></div>');
					$galery.append('<div id="controls_'+index+'" class="controls"><a href="#" class="prev inactive">&larr;</a> <ul class="anchors"></ul> <a href="#" class="next">&rarr;</a></div>');

					var $anchors = $('.anchors', $galery[0]);

					$list_items.each(function(index) {
						var id = $(this).attr('id');
						$anchors.append('<li><a href="#'+id+'">' + index + '</a></li>');
					});

					var $anchor_links = $('>li',$anchors[0]);
					$anchor_links.first().addClass('active');

					var $scroller = $('.scroller', $galery[0]);
					$scroller.serialScroll({
						// lazy: true,
						jump: true,
						lock: false,
						stop: true,
						items: 'li',
						prev: '#controls_'+index+' .prev',
						next: '#controls_'+index+' .next',
						duration: 500,
						start: 0,
						constant: false,
						cycle: false,
						onBefore:function( e, elem, $pane, $items, pos ){
							e.preventDefault();
							current_image_index = pos;
							$scroller.trigger('setSettings',[{
								offset: -($pane.width() - $(elem).width())/2
							}]);
							$items.removeClass('active');
							$(elem).addClass('active');
							$anchor_links.removeClass('active');
							$($anchor_links[pos], $galery[0]).addClass('active');
							$('.controls a', $galery[0]).removeClass('inactive');
							if (pos <= 0) {
								$('.prev', $galery[0]).addClass('inactive');
							};
							if (pos >= $items.length - 1) {
								$('.next', $galery[0]).addClass('inactive');
							};
						}
					});

					$anchor_links.click(function(e) {
						e.preventDefault();
						var index = $anchor_links.index(this);
						$scroller.trigger( 'goto', [index]);
					});
				};
			}($(this)));
		});
	};

	// artist info form
	if ($('#kuenstlerinfo').length) {
		(function($form) {
			var $image_fieldset = $('fieldset.images', $form[0]);
			var $image_inputs = $image_fieldset.find('div');
			var image_triples = [];

			$image_fieldset.append('<ul class="image_triple_action first"><li class="add"><a title="Bild hinzufügen" href="#">+</a></li><li class="remove"><a title="Bild entfernen" href="#">-</a></li></ul>');
			
			$image_inputs.each(function(i, el) {
				var i_over_3 = Math.floor(i / 3);
				if (!image_triples[i_over_3]) image_triples[i_over_3] = $();
				image_triples[i_over_3] = image_triples[i_over_3].add(el);
			});
			
			$.each(image_triples, function(i, $tr) {
				$tr.wrapAll('<div class="image_triple pos_'+i+'"></div>');
			});
			
			$('.image_triple_action .add a', $image_fieldset[0]).click(function(e) {
				e.preventDefault();
				$('.image_triple:hidden:first', $image_fieldset[0]).show();
				$(this).closest('ul').removeClass('first');
				if ($('.image_triple:hidden', $image_fieldset[0]).length == 0) {
					$(this).closest('ul').addClass('last');
				};
			});
			$('.image_triple_action .remove a', $image_fieldset[0]).click(function(e) {
				e.preventDefault();
				$('.image_triple:visible:last', $image_fieldset[0]).hide().find('input').val('');
				$(this).closest('ul').removeClass('last');
				if ($('.image_triple:visible', $image_fieldset[0]).length == 1) {
					$(this).closest('ul').addClass('first');
				};
			});

			var $repeatable_fieldsets = $('fieldset.repeatable', $form[0]);
			$repeatable_fieldsets.wrapAll('<div class="repeatables"></div>');
			$($repeatable_fieldsets[0]).before('<ul class="fieldset_action first"><li class="add"><a title="Abschnitt hinzufügen" href="#">+</a></li><li title="Abschnitt entfernen" class="remove"><a href="#">-</a></li></ul>');
			
			$('.fieldset_action .add a', $form[0]).click(function(e) {
				e.preventDefault();
				$('.repeatable:hidden:first', $form[0]).show();
				$(this).closest('ul').removeClass('first');
				if ($('.repeatable:hidden', $form[0]).length == 0) {
					$(this).closest('ul').addClass('last');
				};
			});
			$('.fieldset_action .remove a', $form[0]).click(function(e) {
				e.preventDefault();
				$('.repeatable:visible:last', $form[0]).hide().find('input').val('');
				$(this).closest('ul').removeClass('last');
				if ($('.repeatable:visible', $form[0]).length == 1) {
					$(this).closest('ul').addClass('first');
				};
			});
			
			$repeatable_fieldsets.each(function(index) {
				var $this = $(this);
				var $legend = $('legend', this);
				var $title = $('input.title', this);
				var $periods = $title.parent().nextAll('div');
				var pairs = [];
				
				$legend.text(function(i,text){
					return text + ' ' + (index+1);
				});

				$this.addClass('pos_'+index).append('<ul class="pair_action first"><li class="add"><a title="Zeitraum hinzufügen" href="#">+</a></li><li class="remove"><a title="Zeitraum entfernen" href="#">-</a></li></ul>');
				
				$periods.each(function(i, el) {
					var i_over_2 = Math.floor(i / 2);
					if (!pairs[i_over_2]) pairs[i_over_2] = $();
					pairs[i_over_2] = pairs[i_over_2].add(el);
				});
				
				$.each(pairs, function(i, $p) {
					$p.wrapAll('<div class="pair pos_'+i+'"></div>');
				});
				
				$('.pair_action .add a', this).click(function(e) {
					e.preventDefault();
					$('.pair:hidden:first', $this).show();
					$(this).closest('ul').removeClass('first');
					if ($('.pair:hidden', $this).length == 0) {
						$(this).closest('ul').addClass('last');
					};
				});
				$('.pair_action .remove a', this).click(function(e) {
					e.preventDefault();
					$('.pair:visible:last', $this).hide().find('input').val('');
					$(this).closest('ul').removeClass('last');
					if ($('.pair:visible', $this).length == 1) {
						$(this).closest('ul').addClass('first');
					};
				});
			});
			
			$('input[value!=""]', $form[0]).closest('div.pair:hidden, div.image_triple:hidden, fieldset.repeatable:hidden').show();
		}($('#kuenstlerinfo')));
	};

	if ($('.powermail_all_table').length) {
		(function($form) {
		$("tr:contains('Attached file')").css("display", "none");
		}($('.powermail_all_table')));
	};
});

