var amountIntervals = new Array();

var dragHandleX   = null;
var dragHandleY   = null;
var dragTriangleX = null;
var dragTriangleY = null;
var dragItem      = null;
var editMode      = false;
var startsiteAnimationInterval = null;
var skipNextSliderTick = false;
var skipNextFaderTick = false;
var startsiteFaderIndex = 0;


			self.jumpTo = function(index) {
				var currentTeaser = self.currentTeaser;

				var controls = $('#teaserFader .controls li');

				controls.get(currentTeaser).className = 'inactive';
				//controls.get(currentTeaser).removeClass('active');
				//controls.get(currentTeaser).addClass('inactive');
				controls.get(index).className = 'active';
				//controls.get(index).removeClass('inactive');
				//controls.get(index).addClass('active');

				self.teasers[currentTeaser].fadeOut(3000);
				self.teasers[currentTeaser].css('zIndex', '0');
				self.teasers[index].fadeIn(1000);
				self.teasers[index].css('zIndex', '1');

				self.currentTeaser = index;
			};

function showDetailOverlay() {
	showGlassPane();

	var detailOverlay = $('#detail-overlay');
	detailOverlay.css('left', Math.round(($(window).width() - detailOverlay.width()) / 2) + 'px');
	detailOverlay.css('top', Math.round(($(window).height() - detailOverlay.height()) / 2) + 'px');
	detailOverlay.fadeIn('fast');
}

function closeDetailOverlay() {
	hideGlassPane();

	var detailOverlay = $('#detail-overlay');
	detailOverlay.fadeOut('fast');
}

function showGlassPane() {
	var glassPane = $('#glass-pane');
	glassPane.css('height', $(document).height() + 'px');
	glassPane.fadeIn('fast');
}

function hideGlassPane() {
	var glassPane = $('#glass-pane');
	glassPane.css('height', $(document).height() + 'px');
	glassPane.fadeOut('fast');
}

function startsiteFaderTick() {
	if(skipNextFaderTick == true) {
		skipNextFaderTick = false;
	} else {
		var currentTeaser = startsiteFaderIndex;
		startsiteFaderIndex++;
		if(startsiteFaderIndex > 1) {
			startsiteFaderIndex = 0;
		}
		var nextTeaser = startsiteFaderIndex;


		var items = $('.smallTeaser .items a');

		items.eq(currentTeaser).fadeOut(3000);
		items.eq(currentTeaser).css('zIndex', '0');
		items.eq(nextTeaser).fadeIn(1000);
		items.eq(nextTeaser).css('zIndex', '1');
	}
}

function startsiteSliderTick() {
	if(skipNextSliderTick == true) {
		skipNextSliderTick = false;
	} else {
		if($('.bigTeaser .items').scrollLeft() >= 1200) {
			$('.bigTeaser .items').scrollLeft(0);
		}
		$('.bigTeaser .items').animate({
			scrollLeft : '+=610'
		}, 500);
	}
}

$(document).ready(function() {
	//$('.bigTeaser .items').scrollLeft(600);
	startsiteAnimationInterval = window.setInterval(function() {
		startsiteSliderTick();
		startsiteFaderTick();
	}, 5000);

	$('.zoom').fancybox();

	$('.toggle-box').bind('click', function(e) {
		if($(this).hasClass('closed')) {
			$(this).find('.toggle-box-content').slideDown('fast');
			$(this).removeClass('closed');
		} else {
			$(this).find('.toggle-box-content').slideUp('fast');
			$(this).addClass('closed');
		}
	});

	$('.smallTeaser .items a').each(function(index) {
		if(index != 0) {
			$(this).hide();
			$(this).css('zIndex', '1');
		} else {
			$(this).show();
			$(this).css('zIndex', '0');
		}
	});

	$('.bigTeaser a.right').bind('click', function(e) {
		skipNextSliderTick = true;

		if($('.bigTeaser .items').scrollLeft() >= 1200) {
			$('.bigTeaser .items').scrollLeft(0);
		}

		$('.bigTeaser .items').animate({
			scrollLeft : '+=610'
		}, 500);

		e.preventDefault();
	});

	$('.bigTeaser a.left').bind('click', function(e) {
		skipNextSliderTick = true;

		if($('.bigTeaser .items').scrollLeft() == 0) {
			$('.bigTeaser .items').scrollLeft(1200);
		}

		$('.bigTeaser .items').animate({
			scrollLeft : '-=610'
		}, 500);

		e.preventDefault();
	});

	$('.tabs li a').bind('click', function(e) {
		$('.tabs li.active').removeClass('active');
		jQuery(e.target).parent().addClass('active');

		$('.tab-content li.active').removeClass('active');
		$('#' + e.target.href.split('#')[1]).addClass('active');

		e.target.blur();
		e.preventDefault();
	});

	var dummyOffset = $('#dummy-category').offset();
	$('#dummy-category .dragable').bind('mousedown', function(e) {
		if(editMode == true) {
			if(e.target.className == 'triangle') {
				dragItem = jQuery(e.target);

				var label = $(this).closest('.dragable');
				dragHandleX = e.pageX;
				dragHandleY = e.pageY;

				if(label.hasClass('left')) {
					dragTriangleX = 'left';
				}
				if(label.hasClass('right')) {
					dragTriangleX = 'right';
				}
				if(label.hasClass('up')) {
					dragTriangleY = 'up';
				}
				if(label.hasClass('down')) {
					dragTriangleY = 'down';
				}
			} else {
				dragItem = $(this).closest('.dragable');

				dragHandleX = e.layerX;
				dragHandleY = e.layerY;
			}

			e.preventDefault();
			return false;
		}
	});

	$('body').bind('mousemove', function(e) {
		if(dragItem) {
			if(!dragItem.hasClass('triangle')) {
				var posY = (e.pageY - dummyOffset.top - dragHandleY);
				var posX = (e.pageX - dummyOffset.left - dragHandleX);

				if(posY < 0) {
					posY = 0;
				}

				if(posX < 0) {
					posX = 0;
				}

				if(posX > 610 - dragItem.width()) {
					posX = 610 - dragItem.width();
				}

				if(posY > $('#dummy-category').height() - dragItem.height()) {
					posY = $('#dummy-category').height() - dragItem.height();
				}

				dragItem.css('top', posY + 'px');
				dragItem.css('left', posX + 'px');
			} else {
				var posY = e.pageY;
				var posX = e.pageX;

				var label = dragItem.closest('.dragable');
				var labelOffset = label.offset();
				
				if(dragTriangleX == 'left') {
					if(posX > (labelOffset.left + label.width() - 20)) {
						label.removeClass('left');
						label.addClass('right');
					} else {
						label.removeClass('right');
						label.addClass('left');
					}
				}
				if(dragTriangleX == 'right') {
					if(posX < (labelOffset.left + 20)) {
						label.removeClass('right');
						label.addClass('left');
					} else {
						label.removeClass('left');
						label.addClass('right');
					}
				}

				if(dragTriangleY == 'down') {
					if(posY < labelOffset.top) {
						label.removeClass('down');
						label.addClass('up');
					} else {
						label.removeClass('up');
						label.addClass('down');
					}
				}
			}
		}
	});

	$('body').bind('mouseup', function(e) {
		if(dragItem) {
			dragItem = null;
		}
	});

	$('#dummy-category a').bind('click', function(e) {
		if(editMode == true) {
			e.preventDefault();
			return false;
		}
	});
	
	// add email contact handler
	$('#contact-send-mail-form').bind('submit', function(e) {	
		$('#contact-send-mail-form .send').attr('disabled', 'disabled');

		var error = false;
		
		if($('#contact-send-mail-salutation').val() == 0) {
			$('#contact-send-mail-salutation').addClass('error');

			error = true;
		} else {
			$('#contact-send-mail-salutation').removeClass('error');
		}

		if($('#contact-send-mail-first-name').val().trim() == '') {
			$('#contact-send-mail-first-name').val('');
			$('#contact-send-mail-first-name').addClass('error');
			
			error = true;
		} else {
			$('#contact-send-mail-first-name').removeClass('error');
		}

		if($('#contact-send-mail-last-name').val().trim() == '') {
			$('#contact-send-mail-last-name').val('');
			$('#contact-send-mail-last-name').addClass('error');
			
			error = true;
		} else {
			$('#contact-send-mail-last-name').removeClass('error');
		}

		if($('#contact-send-mail-email').val().trim() == '') {
			$('#contact-send-mail-email').val('');
			$('#contact-send-mail-email').addClass('error');
			
			error = true;
		} else {
			$('#contact-send-mail-email').removeClass('error');
		}

		if($('#contact-send-mail-subject').val().trim() == '') {
			$('#contact-send-mail-subject').val('');
			$('#contact-send-mail-subject').addClass('error');
			
			error = true;
		} else {
			$('#contact-send-mail-subject').removeClass('error');
		}

		if($('#contact-send-mail-message').val().trim() == '') {
			$('#contact-send-mail-message').val('');
			$('#contact-send-mail-message').addClass('error');
			
			error = true;
		} else {
			$('#contact-send-mail-message').removeClass('error');
		}

		if(error == true) {
			alert('Bitte füllen Sie alle markkierten Felder aus.');
			$('#contact-send-mail-form .send').removeAttr('disabled');
		} else {
			$('#contact-send-mail-form fieldset').css({ opacity: 0.5 });
			var top  = Math.round(($('#contact-send-mail-form fieldset').height() - 48) / 2);
			var left = Math.round(($('#contact-send-mail-form fieldset').width() - 48) / 2) + 40;

			$('#contact-send-mail-form .progress-indicator').css('top', top + 'px');
			$('#contact-send-mail-form .progress-indicator').css('left', left + 'px');
			$('#contact-send-mail-form .progress-indicator').fadeIn('fast');

			$.get('/index.php?cl=wn_sendcontact', function(data) {
				//$('#searchResults').html(data);

				$('#contact-send-mail-form .progress-indicator').fadeOut('fast', function() {
					alert('Ihre Anfrage wurde erfolgreich weitergeleitet');
					$('#contact-send-mail-salutation').val(0);
					$('#contact-send-mail-first-name').val('');
					$('#contact-send-mail-last-name').val('');
					$('#contact-send-mail-company').val('');
					$('#contact-send-mail-email').val('');
					$('#contact-send-mail-phone').val('');
					$('#contact-send-mail-subject').val('');
					$('#contact-send-mail-message').val('');
					$('#contact-send-mail-form fieldset').css({ opacity: 1 });
					
					$('#contact-send-mail-form .send').removeAttr('disabled');
				});
			});
		}

		e.preventDefault();
		return false;
	});
	
	// add request callback handler
		$('#send-callback-request-form').bind('submit', function(e) {

		$('#send-callback-request-form .send').attr('disabled', 'disabled');

		var error = false;
		
		if($('#contact-send-callback-request-salutation').val() == 0) {
			$('#contact-send-callback-request-salutation').addClass('error');

			error = true;
		} else {
			$('#contact-send-callback-request-salutation').removeClass('error');
		}

		if($('#contact-send-callback-request-first-name').val().trim() == '') {
			$('#contact-send-callback-request-first-name').val('');
			$('#contact-send-callback-request-first-name').addClass('error');
			
			error = true;
		} else {
			$('#contact-send-callback-request-first-name').removeClass('error');
		}

		if($('#contact-send-callback-request-last-name').val().trim() == '') {
			$('#contact-send-callback-request-last-name').val('');
			$('#contact-send-callback-request-last-name').addClass('error');
			
			error = true;
		} else {
			$('#contact-send-callback-request-last-name').removeClass('error');
		}

		if($('#contact-send-callback-request-email').val().trim() == '') {
			$('#contact-send-callback-request-email').val('');
			$('#contact-send-callback-request-email').addClass('error');
			
			error = true;
		} else {
			$('#contact-send-callback-request-email').removeClass('error');
		}

		if($('#contact-send-callback-request-phone').val().trim() == '') {
			$('#contact-send-callback-request-phone').val('');
			$('#contact-send-callback-request-phone').addClass('error');
			
			error = true;
		} else {
			$('#contact-send-callback-request-phone').removeClass('error');
		}

		if($('#contact-send-callback-request-subject').val().trim() == '') {
			$('#contact-send-callback-request-subject').val('');
			$('#contact-send-callback-request-subject').addClass('error');
			
			error = true;
		} else {
			$('#contact-send-callback-request-subject').removeClass('error');
		}

		if($('#contact-send-callback-request-message').val().trim() == '') {
			$('#contact-send-callback-request-message').val('');
			$('#contact-send-callback-request-message').addClass('error');
			
			error = true;
		} else {
			$('#contact-send-callback-request-message').removeClass('error');
		}

		if(error == true) {
			alert('Bitte füllen Sie alle markkierten Felder aus.');
			$('#send-callback-request-form .send').removeAttr('disabled');
		} else {
			//alert('send');
			$('#send-callback-request-form fieldset').css({ opacity: 0.5 });

			var top  = Math.round(($('#send-callback-request-form fieldset').height() - 48) / 2);
			var left = Math.round(($('#send-callback-request-form fieldset').width() - 48) / 2) + 40;

			$('#send-callback-request-form .progress-indicator').css('top', top + 'px');
			$('#send-callback-request-form .progress-indicator').css('left', left + 'px');
			$('#send-callback-request-form .progress-indicator').fadeIn('fast');

			$.get('/index.php?cl=wn_sendcontact', function(data) {
				//$('#searchResults').html(data);

				$('#send-callback-request-form .progress-indicator').fadeOut('fast', function() {
					alert('Ihre Anfrage wurde erfolgreich weitergeleitet');

					$('#contact-send-callback-request-salutation').val(0);
					$('#contact-send-callback-request-first-name').val('');
					$('#contact-send-callback-request-last-name').val('');
					$('#contact-send-callback-request-company').val('');
					$('#contact-send-callback-request-email').val('');
					$('#contact-send-callback-request-time').val(0);
					$('#contact-send-callback-request-phone').val('');
					$('#contact-send-callback-request-subject').val('');
					$('#contact-send-callback-request-message').val('');

					$('#send-callback-request-form fieldset').css({ opacity: 1 });
					
					$('#send-callback-request-form .send').removeAttr('disabled');
				});
			});

		}

		e.preventDefault();
		return false;

	});

});

function toggleEditMode(object) {
	if(editMode == false) {
		editMode = true;
		object.innerHTML = 'Bearbeiten beenden';
	} else {
		editMode = false;
		object.innerHTML = 'Bearbeiten starten';
	}
}

function openToolBox() {
	$('#footer').removeClass('closed');
	$('#footer').addClass('open');

	$('#footer').animate({
		bottom: '+=88'
	}, 200, function() {});
	$('#content').css('marginBottom', '120px');
	
	return false;
}

function closeToolBox() {
	$('#footer').animate({
		bottom: '-=88'
	}, 200, function() {
		$('#footer').removeClass('open');
		$('#footer').addClass('closed');
	});
	$('#content').animate({
		marginBottom: '-=90'
	});
}

function toogleToolBox() {
	if(!$('#footer').hasClass('open')) {
		openToolBox();
	} else {
		closeToolBox();
	}
}

function searchKeyDown(event) {
	if(event.target.value.length > 1) {
		search();
	}
}

function search() {
	$('#searchTerm').addClass('loading');

	$.get('/index.php?cl=wn_ajaxsearch&searchparam=' + encodeURIComponent($('#searchTerm').val()) , function(data) {
		$('#searchResults').html(data);

		$('#searchExpanded').slideDown('fast');

		$('#searchTerm').removeClass('loading');
		$('#searchExpanded input').val($('#searchTerm').val());
		$('#searchExpanded input').get(0).focus();
		$('#search input').attr('id', '');
		$('#searchExpanded input').attr('id', 'searchTerm');
	});
}

function switchProductImage(e, id, url) {
	$('#productThumbnails .active').removeClass('active');
	$('#articlePicture_' + id).addClass('active');
	oxid.image('product_img', url);
	e.preventDefault();
	return false;
}

function openCartLayer() {
	//$('#menu' + id).fadeIn('fast');
	$('#topCartLayer').slideDown('fast');
}

function closeCartLayer() {
	//$('#menu' + id).fadeIn('fast');
	$('#topCartLayer').fadeOut('fast');
}

function openMenu(id) {
	//$('#menu' + id).fadeIn('fast');
	$('#menu' + id).slideDown('fast');
}

function closeMenu(id) {
	$('#menu' + id).fadeOut('fast');
	//$('#menu' + id).slideDown('fast');
}

function increaseAmount(fieldId, doSubmit) {
	if(fieldId) {
		document.getElementById(fieldId).value = parseInt(checkAmount(document.getElementById(fieldId))) + 1;

		if(doSubmit == true) {
			if(amountIntervals[fieldId]) {
				window.clearInterval(amountIntervals[fieldId]);
			}
			amountIntervals[fieldId] = window.setInterval(function() {
				jQuery(document.getElementById(fieldId)).closest('form').submit();
				window.clearInterval(amountIntervals[fieldId]);
			}, 500);
		}
	} else {
		$('.amount-input').val(checkAmount() + 1);
	}
}

function decreaseAmount(fieldId, doSubmit) {
	if(fieldId) {
		var amount = parseInt(checkAmount(document.getElementById(fieldId)));

		if(amount > 1) {
			document.getElementById(fieldId).value = amount - 1;
		}

		if(doSubmit == true) {
			if(amountIntervals[fieldId]) {
				window.clearInterval(amountIntervals[fieldId]);
			}
			amountIntervals[fieldId] = window.setInterval(function() {
				jQuery(document.getElementById(fieldId)).closest('form').submit();
				window.clearInterval(amountIntervals[fieldId]);
			}, 500);
		}
	} else {
		var amount = checkAmount();
		if(amount > 1) {
			$('.amount-input').val(amount - 1);
		}
	}
}

function checkAmount(object, doSubmit) {
	if(object) {
		var amount = object.value;
	} else {
		var amount = parseInt($('.amount-input').val());
	}

	if(!amount) {
		return 0;
	}

	if(amount < 1) {
		amount = 1;
	}
	if(amount > 999) {
		amount = 999;
	}

	if(object) {
		object.value = amount;
	} else {
		$('.amount-input').val(amount);
	}

	if(doSubmit == true) {
		if(object) {
			jQuery(object).closest('form').submit();
		} else {
			
		}
	}

	return amount;
}

function showCurrencyMenu() {
	$('#selectCurrency').show();
}

var hidePhoneLayerTimeout = null;

function showPhoneLayer() {
	if(hidePhoneLayerTimeout) {
		window.clearInterval(hidePhoneLayerTimeout);
		hidePhoneLayerTimeout = null;
	}

	$('#menu2').slideDown('fast');
}

function hidePhoneLayer() {
	if(hidePhoneLayerTimeout) {
		window.clearInterval(hidePhoneLayerTimeout);
		hidePhoneLayerTimeout = null;
	}

	hidePhoneLayerTimeout = window.setTimeout(function() {
		$('#menu2').fadeOut('fast');
	}, 500);
}

function updateDeliveryCosts() {
	var country = $('#delivery-cost-country-select').val();
	
	$('#delivery-cost-display .costs:visible').fadeOut('fast', function() {
		var id = 'delivery-costs-' + country;

		//document.getElementById(id).style.display = 'block';
		jQuery(document.getElementById(id)).fadeIn('fast');
	});
}

function showRecommendOverlay() {
	var glassPane = $('#wnGlassPane');
	glassPane.css('opacity', '0.5');
	glassPane.fadeIn('fast', function() {
		$('.recommend-email').css('top', Math.round(($(window).height() - $('.recommend-email').height()) / 2) + 'px');
		$('.recommend-email').css('left', Math.round(($(window).width() - $('.recommend-email').width()) / 2) + 'px');
		$('.recommend-email').fadeIn('fast', function() {
		});
	});
}

function hideRecommendOverlay() {
	$('.recommend-email').fadeOut('fast', function() {
		$('#wnGlassPane').fadeOut('fast');
	});
}
