CART_ADD_URL = '/shop/cart/add/'
AJAX_NOTICE = null
AJAX_NOTICE_FADE_SPEED = 3000

$(function() {

	$('#nav2-tabs').each(function() {
		var ul = $(document.createElement('ul'))
		ul.attr('id', 'nav2')
		var tabs = $(this).children('.tab')
		tabs.each(function(i) {
			var label = $($(this).children('.tab-label')[0]).remove()
			var li = $(document.createElement('li'))
			ul.append(li)
			var a = $(document.createElement('a'))
			a.text(label.text())
			a.attr('href', '#')
			a.click(function() {
				selectTab(i)
				return false
			})
			li.append(a)
			// links from text to tab
			var name = label.children('a').attr('name')
			if (name) {
				$('a[href="#' + name + '"]').each(function() {
					$(this).click(function() {
						selectTab(i)
						return false
					})
				})
			}
		})
		function selectTab(i) {
			ul.children().removeClass('selected')
			tabs.hide()
			$(tabs[i]).show()
			$(ul.children()[i]).addClass('selected')
		}
		selectTab(0)
		$(this).prepend(ul)
	})

	$('#teasers').each(function() {
		var teasers = $(this)
		teasers.scrollable({
			next: '#teaser-next',
			prev: '#teaser-prev',
			circular: true
		}).navigator({
			navi: '#teaser-switcher'
		}).autoscroll({
			interval: 5000
		})
		var api = teasers.data('scrollable')
		$('#teaser-switcher a').click(function() {
			api.stop()
		})
		api.begin()
	})

	$('#specials-scrollable').scrollable({
		next: '#specials-next',
		prev: '#specials-prev',
		circular: true
	})

	$('#sidebar-filters form').each(function() {
		var form = $(this)
		form.find('input').remove()
		form.children('select').change(function() {
			form.submit()
		})
	})

	$('#article-list .article-item').each(function() {
		var tr = $(this)
		tr.css('cursor', 'pointer')
		tr.click(function() {
			location.href = tr.find('a').attr('href')
		})
	})

	$('#article-images a').fancybox()

	$('#categories a[href=/shop/group/angebote/]').each(function() {
		$(this).append('<div id="reduziert"></div>')
	})

	function add_article(article_id, quantity) {
		var request = {
			'id': article_id,
			'quantity': quantity,
			'json': true
		}
		show_ajax_notice('Lege Artikel in Warenkorb ...', 'loading')
		function on_success(data, textStatus, request) {
			$('.cart-empty').hide()
			$('.cart-non-empty').show()
			$('.cart-article-count').text(data['article_count'])
			$('.cart-price').text(data['price'])
			show_ajax_notice('Artikel in Warenkorb gelegt', 'success')
			hide_ajax_notice(AJAX_NOTICE_FADE_SPEED)
		}
		function on_error(request, textStatus, errorThrown) {
			show_ajax_notice('Es ist ein Fehler aufgetreten', 'error')
			hide_ajax_notice(AJAX_NOTICE_FADE_SPEED)
			console.log(request, textStatus, errorThrown)
		}
		$.ajax({
			type: 'POST',
			url: CART_ADD_URL,
			data: request,
			success: on_success,
			error: on_error,
			dataType: 'json'
		})
	}

	function show_ajax_notice(text, clazz) {
		hide_ajax_notice()
		AJAX_NOTICE = $('<div id="ajax-notice"></div>')
		AJAX_NOTICE.addClass(clazz)
		AJAX_NOTICE.text(text)
		AJAX_NOTICE.appendTo($('body'))
		AJAX_NOTICE.css({
			'position': 'fixed',
			'left': '50%',
			'top': '50%',
			'margin-left': '-' + AJAX_NOTICE.width()/2 + 'px',
			'margin-top': '-' + AJAX_NOTICE.height()/2 + 'px'
		})
	}

	function hide_ajax_notice(speed) {
		var my_AJAX_NOTICE = AJAX_NOTICE 
		AJAX_NOTICE = null
		if (my_AJAX_NOTICE != null) {
			if (speed != null) {
				my_AJAX_NOTICE.fadeOut(speed, function() {
					my_AJAX_NOTICE.remove()
				})
			} else {
				my_AJAX_NOTICE.remove()
			}
		}
	}

	$('.add-article input[type=image]').click(function() {
		var form = $(this).parent('form')
		var article_id_input = form.children('input[name=id]')
		var article_id = article_id_input.val()
		var quantity_input = form.children('input[name=quantity]')
		var quantity = 1
		if (quantity_input.length > 0) {
			quantity = quantity_input.val()
		}
		add_article(article_id, quantity)
		return false
	})

	$('#shoutbox').each(function() {
		var form = $(this)
		form.children('.field').each(function() {
			var label = $(this).children('label')
			label.remove()
			var input = $(this).children(':input')
			input.val(label.text())
			input.data('blank', true)
			input.focus(function() {
				if (input.val() == label.text()) {
					input.val('')
					input.data('blank', false)
				}
			})
			input.blur(function() {
				if (input.val() == '') {
					input.val(label.text())
					input.data('blank', true)
				}
			})
		})
		form.submit(function() {
			var blank = false
			form.find('.field :input').each(function() {
				if ($(this).data('blank')) {
					blank = true
				}
			})
			if (blank) {
				alert('Bitte alle Felder ausfüllen.')
				return false;
			}
			terms = form.find('#shoutbox-terms :input').is(':checked')
			if (!terms) {
				alert('Bitte stimmen Sie der Veröffentlichung ihres Beitrages zu.')
				return false;
			}
			return true;
		})
	})

	$('#search-input').each(function() {
		var label_text = 'Suchbegriff eingeben'
		var input = $(this)
		if (input.val() == '') {
			input.val(label_text)
			input.data('blank', true)
		}
		input.focus(function() {
			if (input.val() == label_text) {
				input.val('')
				input.data('blank', false)
			}
		})
		input.blur(function() {
			if (input.val() == '') {
				input.val(label_text)
				input.data('blank', true)
			}
		})
	})
	$('#search').submit(function() {
		var input = $('#search-input')
		if (input.data('blank')) {
			input.val('')
		}
	})

})

