function p(value) {
	alert(value);
}

function checkCookies() {
	var url = '/ajax/cookieCheck.php';
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			if($('cookieWarning')) {
				if(transport.responseText == 'cookieFailed') {
					new Effect.SlideDown('cookieWarning', { duration: 0.4 });
				} else {
					$('cookieWarning').hide();
				}
			}
		}
	});
}

function getPassword() {
	$('requestButton').hide();
	$('requestLoadingIndicator').show();
	$('email').disabled = true;

	var url = '/ajax/customer.php?action=requestPassword&email='+$('email').value;
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			$('requestButton').show();
			$('requestLoadingIndicator').hide();
			var response = transport.responseText.split('|');
			if(response[0] == 'false') {
				$('loginNote').removeClassName('ok');
				$('loginNote').addClassName('error');
				$('loginNote').update(unescape(response[1]));
				$('email').disabled = false;
			} else if(response[0].length == 0) {
				$('loginNote').removeClassName('ok');
				$('loginNote').addClassName('error');
				$('loginNote').update('Bei der Pr&uuml;fung ist ein Fehler aufgetreten!');
				$('email').disabled = false;
			} else {
				//login ok
				$('loginNote').removeClassName('error');
				$('loginNote').addClassName('ok');
				//$('loginNote').update(response[0]);
				$('accountLoginForm').update(response[1]);
			}
		}
	});
}

function loginAccount() {
	$('loginButton').hide();
	$('loginLoadingIndicator').show();

	$('email').disabled = true;
	$('passwort').disabled = true;

	if($('merkzettel')) {
		var merkzettel = '1';
	} else {
		var merkzettel = '';
	}

	var url = '/ajax/customer.php?action=login&email='+$('email').value+'&pw='+encodeURI($('passwort').value)+'&merkzettel='+merkzettel;
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			$('loginButton').show();
			$('loginLoadingIndicator').hide();
			var response = transport.responseText.split('|');
			if(response[0] == 'false') {
				$('loginNote').removeClassName('ok');
				$('loginNote').addClassName('error');
				$('loginNote').update(unescape(response[1]));
				$('email').disabled = false;
				$('passwort').disabled = false;
			} else if(response[0].length == 0) {
				$('loginNote').removeClassName('ok');
				$('loginNote').addClassName('error');
				$('loginNote').update('Bei der Pr&uuml;fung ist ein Fehler aufgetreten!');
				$('email').disabled = false;
				$('passwort').disabled = false;
			} else {
				//login ok
				$('loginNote').removeClassName('error');
				$('loginNote').addClassName('ok');
				$('loginNote').update(response[0]);
				window.location.href = response[1];
			}
		}
	});
}

caCheck = new createAccountCheck();

//###### Formcheck ###############
function createAccount() {
	$('createAccountButton').hide();
	$('checkAccountLoadingIndicator').show();

	caCheck.checkDone = false;

	caCheck.checkEmailSuccess = false;
	caCheck.checkPasswordSuccess = false;
	caCheck.checkNameSuccess = false;
	caCheck.checkStreetSuccess = false;
	caCheck.checkCitySuccess = false;
	caCheck.checkPLZSuccess = false;

	caCheck.checkEmailInProgress = true;
	caCheck.checkPasswordInProgress = true;
	caCheck.checkNameInProgress = true;
	caCheck.checkStreetInProgress = true;
	caCheck.checkCityInProgress = true;
	caCheck.checkPLZInProgress = true;

	//Felder deaktivieren
	$('emailNew').disabled = true ;
	$('passwortNew1').disabled = true;
	$('passwortNew2').disabled = true;
	$('nachname').disabled = true;
	$('vorname').disabled = true;
	$('strasse').disabled = true;
	$('ort').disabled = true;
	$('plzNew').disabled = true;
	$('landNew').disabled = true;
	$('telefon').disabled = true;
	$('fax').disabled = true;
	$('firmenname').disabled = true;
	$('ustid').disabled = true;

	caCheck.checkEmail($('emailNew').value);
	caCheck.checkPassword($('passwortNew1').value, $('passwortNew2').value);
	caCheck.checkName($('nachname').value, $('vorname').value);
	caCheck.checkStreet($('strasse').value);
	caCheck.checkCity($('ort').value);
	caCheck.checkPLZNew($('plzNew').value, $('landNew').value);
}
function createAccountCheck() {
	this.ajaxCheckURL = '/ajax/check.php';

	this.checkDone = false;

	this.checkEmail = checkEmail;
	this.checkPassword = checkPassword;
	this.checkName = checkName;
	this.checkStreet = checkStreet;
	this.checkCity = checkCity;
	this.checkPLZNew = checkPLZNew;

	this.checkAllFinished = checkAllFinished;
	this.createAccountViaAJAX = createAccountViaAJAX;
}

function checkAllFinished() {

	if(this.checkEmailInProgress == false && this.checkPasswordInProgress == false && this.checkNameInProgress == false && this.checkStreetInProgress == false && this.checkCityInProgress == false && this.checkPLZInProgress == false) {
		//alle checks abgeschlossen!
		$('checkAccountLoadingIndicator').hide();
		$('createAccountButton').show();

		if(this.checkDone == false) {
			//prüfe ob alles ok ist, wenn ja dann account erstellen...
			if(this.checkEmailSuccess && this.checkPasswordSuccess && this.checkNameSuccess && this.checkStreetSuccess && this.checkCitySuccess && this.checkPLZSuccess) {
				this.checkDone = true;
				//$('createAccountButton').hide();
				$('createAccountLoadingIndicator').show();
				this.createAccountViaAJAX();
				return;
			}
		}

		//Felder aktivieren
		$('emailNew').disabled = false;
		$('passwortNew1').disabled = false;
		$('passwortNew2').disabled = false;
		$('nachname').disabled = false;
		$('vorname').disabled = false;
		$('strasse').disabled = false;
		$('ort').disabled = false;
		$('plzNew').disabled = false;
		$('landNew').disabled = false;
		$('telefon').disabled = false;
		$('fax').disabled = false;
		$('firmenname').disabled = false;
		$('ustid').disabled = false;
	}
}

function createAccountViaAJAX() {
	var url = 'ajax/customer.php?action=createAccount';
	if($F('herr')) {
		var anrede = 'Herr';
	} else {
		var anrede = 'Frau';
	}
	if($('newsletter').checked) {
		var newsletter = 'true';
	} else {
		var newsletter = '';
	}

	if($('merkzettel')) {
		var merkzettel = '1';
	} else {
		var merkzettel = '';
	}

	new Ajax.Request(url, {
		method: 'post',
		parameters: {
						email : encodeURIComponent($('emailNew').value),
						password : encodeURIComponent($('passwortNew1').value),
						anrede : anrede,
						vorname : encodeURIComponent($('vorname').value),
						nachname : encodeURIComponent($('nachname').value),
						telefon : encodeURIComponent($('telefon').value),
						fax : encodeURIComponent($('fax').value),
						firmenname : encodeURIComponent($('firmenname').value),
						ustid : encodeURIComponent($('ustid').value),
						strasse : encodeURIComponent($('strasse').value),
						plzNew : encodeURIComponent($('plzNew').value),
						ort : encodeURIComponent($('ort').value),
						land : encodeURIComponent($('landNew').value),
						newsletter : newsletter,
						merkzettel : merkzettel
					},
		onSuccess: function(transport) {
			var response = transport.responseText.split('|');
			alert(response[1]);
			window.location = response[3];
		}
	});
}

function checkEmail(email) {
	var url = this.ajaxCheckURL+'?action=checkEmail&email='+email;
	this.checkEmailInProgress = true;
	checkEmailSuccess = false;
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			caCheck.checkEmailInProgress = false;
			var response = transport.responseText.split('|');
			if(response[0] == 'false') {
				$('emailNote').removeClassName('ok');
				$('emailNote').addClassName('error');
				$('emailNote').update(response[1]);
			} else if(response[0].length == 0) {
				$('emailNote').removeClassName('ok');
				$('emailNote').addClassName('error');
				$('emailNote').update('Bei der Pr&uuml;fung ist ein Fehler aufgetreten!');
			} else {
				caCheck.checkEmailSuccess = true;
				$('emailNote').removeClassName('error');
				$('emailNote').addClassName('ok');
				$('emailNote').update(response[0]);
			}
			caCheck.checkAllFinished();
		}
	});
}

function checkPassword(pw1, pw2) {
	var url = this.ajaxCheckURL+'?action=checkPassword&pw1='+pw1+'&pw2='+pw2;
	this.checkPasswordInProgress = true;
	this.checkPasswordSuccess = false;
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			caCheck.checkPasswordInProgress = false;
			var response = transport.responseText.split('|');
			if(response[0] == 'false') {
				$('passwordNote').removeClassName('ok');
				$('passwordNote').addClassName('error');
				$('passwordNote').update(response[1]);
			} else if(response[0].length == 0) {
				$('passwordNote').removeClassName('ok');
				$('passwordNote').addClassName('error');
				$('passwordNote').update('Bei der Pr&uuml;fung ist ein Fehler aufgetreten!');
			} else {
				caCheck.checkPasswordSuccess = true;
				$('passwordNote').removeClassName('error');
				$('passwordNote').addClassName('ok');
				$('passwordNote').update(response[0]);
			}
			caCheck.checkAllFinished();
		}
	});
}

function checkName(name, vorname) {
	var url = this.ajaxCheckURL+'?action=checkName&name='+name+'&vorname='+vorname;
	this.checkNameInProgress = true;
	this.checkNameSuccess = false;
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			caCheck.checkNameInProgress = false;
			var response = transport.responseText.split('|');
			if(response[0] == 'false') {
				$('nameNote').removeClassName('ok');
				$('nameNote').addClassName('error');
				$('nameNote').update(response[1]);
			} else if(response[0].length == 0) {
				$('nameNote').removeClassName('ok');
				$('nameNote').addClassName('error');
				$('nameNote').update('Bei der Pr&uuml;fung ist ein Fehler aufgetreten!');
			} else {
				caCheck.checkNameSuccess = true;
				$('nameNote').removeClassName('error');
				$('nameNote').addClassName('ok');
				$('nameNote').update(response[0]);
			}
			caCheck.checkAllFinished();
		}
	});
}

function checkStreet(street) {
	var url = this.ajaxCheckURL+'?action=checkStreet&street='+street;
	this.checkStreetInProgress = true;
	this.checkPLZSuccess = false;
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			caCheck.checkStreetInProgress = false;
			var response = transport.responseText.split('|');
			if(response[0] == 'false') {
				$('streetNote').removeClassName('ok');
				$('streetNote').addClassName('error');
				$('streetNote').update(response[1]);
			} else if(response[0].length == 0) {
				$('streetNote').removeClassName('ok');
				$('streetNote').addClassName('error');
				$('streetNote').update('Bei der Pr&uuml;fung ist ein Fehler aufgetreten!');
			} else {
				caCheck.checkStreetSuccess = true;
				$('streetNote').removeClassName('error');
				$('streetNote').addClassName('ok');
				$('streetNote').update(response[0]);
			}
			caCheck.checkAllFinished();
		}
	});
}

function checkCity(city) {
	var url = this.ajaxCheckURL+'?action=checkCity&city='+city;
	this.checkCityInProgress = true;
	this.checkCitySuccess = false;
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			caCheck.checkCityInProgress = false;
			var response = transport.responseText.split('|');
			if(response[0] == 'false') {
				$('cityNote').removeClassName('ok');
				$('cityNote').addClassName('error');
				$('cityNote').update(response[1]);
			} else if(response[0].length == 0) {
				$('cityNote').removeClassName('ok');
				$('cityNote').addClassName('error');
				$('cityNote').update('Bei der Pr&uuml;fung ist ein Fehler aufgetreten!');
			} else {
				caCheck.checkCitySuccess = true;
				$('cityNote').removeClassName('error');
				$('cityNote').addClassName('ok');
				$('cityNote').update(response[0]);
			}
			caCheck.checkAllFinished();
		}
	});
}

function checkPLZNew(plzNew, landNew) {
	var url = this.ajaxCheckURL+'?action=checkPLZNew&plz='+plzNew+'&land='+landNew;
	this.checkPLZInProgress = true;
	this.checkPLZSuccess = false;
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			caCheck.checkPLZInProgress = false;
			var response = transport.responseText.split('|');
			if(response[0] == 'false') {
				$('plzNote').removeClassName('ok');
				$('plzNote').addClassName('error');
				$('plzNote').update(response[1]);
			} else if(response[0].length == 0) {
				$('plzNote').removeClassName('ok');
				$('plzNote').addClassName('error');
				$('plzNote').update('Bei der Pr&uuml;fung ist ein Fehler aufgetreten!');
			} else {
				caCheck.checkPLZSuccess = true;
				$('plzNote').removeClassName('error');
				$('plzNote').addClassName('ok');
				$('plzNote').update(response[0]);
			}
			caCheck.checkAllFinished();
		}
	});
}
//################################

//shopping cart
function changePLZ() {
	var plz = $('plz').value;
	var land = $('country').value;
	var url = '/ajax/check.php?action=checkPLZNew&plz='+plz+'&land='+land;

	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			var response = transport.responseText.split('|');
			if(response[0] == 'false') {
				alert(
					response[1].str_replace(
						['&uuml;','&ouml;','&auml;','&szlig;'],
						['ü','ö','ä','ß']
					)
				);
			} else if(response[0].length == 0) {
				alert('Bei der Pr&uuml;fung ist ein Fehler aufgetreten!');
			} else {
				$('submitPLZ').submit();
			}
		}
	});
}

//#################### hilfsfunktionen ############################
String.prototype.str_replace=function(s,r)
{
  var t=this;
  var s=(typeof s=='string')?[s]:s;
  var r=(typeof r=='string')?[r]:r;
  for(var i=0;i<s.length;++i)
  {
    t=t.replace(new RegExp(s[i]),
                (typeof r[i]!='undefined')
                  ?r[i]
                  :''
               );
  }
  return t;
}

function str_replace(search, replace, string) {
	return string.split(search)[0] + replace + string.split(search)[1];
}

//################### NewsletterForm ########################
function showNewsletterForm() {
	if($('newsletterForm').getStyle('display') == 'none') {
		new Effect.SlideDown('newsletterForm', {afterFinish: function() {
			$('newsletterFormContent').setStyle({'visibility' : 'visible'});
			}
		});
	} else {
		$('newsletterFormContent').setStyle({'visibility' : 'hidden'});
		new Effect.SlideUp('newsletterForm', {afterFinish: function() {
				resetNewsletterForm();
			}
		});
	}
}
function resetNewsletterForm() {
	//Form wird in den Ausgangszustand bringen...
	$('newsletterInputContainer').show();
	$('newsletterLoadingIndicator').hide();
	$('newsletterStepOne').removeClassName('stepDone');
	$('newsletterStepOne').addClassName('stepToDo');
	$('newsletterStepTwo').removeClassName('stepDone');
	$('newsletterNotificationBox').update();
	$('newsletterNotificationBox').hide();
	$('newsletterInstructions').show();
	$('newsletterDeleteInstructions').show();
	$('newsletterEmail').value = '';
}
function addNewsletter() {
	$('newsletterInputContainer').hide();
	$('newsletterLoadingIndicator').show();

	var url = '/ajax/newsletter.php';
	new Ajax.Request(url, {
		method: 'post',
		parameters: {
			action	: 'addNewsletter',
			email 	: $('newsletterEmail').value
		},
		onSuccess: function(transport) {
			response = transport.responseText.split('|');
			if(response[0] == 'false') {
				$('newsletterInputContainer').show();
			} else if(response[0] == 'false2') {
				$('newsletterStepOne').removeClassName('stepToDo');
				$('newsletterStepOne').addClassName('stepDone');
				$('newsletterStepTwo').addClassName('stepDone');
			} else if(response[0] == 'ok') {
				$('newsletterStepOne').removeClassName('stepToDo');
				$('newsletterStepOne').addClassName('stepDone');
				$('newsletterStepTwo').addClassName('stepToDo');
				//etracker mitteilen, dass ein Newsletter angemeldet wurde
				ET_Event.eventStart('Newsletter', 'Newsletter%20extern', 'Newsletter%20Anmeldung', '');
			}

			$('newsletterNotificationBox').update(response[1]);
			$('newsletterNotificationBox').show();

			$('newsletterLoadingIndicator').hide();
		}
	});
}

function removeNewsletter() {
	$('newsletterInputContainer').hide();
	$('newsletterLoadingIndicator').show();

	var url = '/ajax/newsletter.php';
	new Ajax.Request(url, {
		method: 'post',
		parameters: {
			action	: 'removeNewsletter',
			email 	: $('newsletterEmail').value
		},
		onSuccess: function(transport) {
			response = transport.responseText.split('|');
			if(response[0] == 'false') {
				$('newsletterInputContainer').show();
			} else if(response[0] == 'ok') {
				$('newsletterInstructions').hide();
				$('newsletterDeleteInstructions').hide();
				//etracker mitteilen, dass ein Newsletter abgemeldet wurde
				ET_Event.eventStart('Newsletter', 'Newsletter%20extern', 'Newsletter%20Abmeldung', '');
			}

			$('newsletterNotificationBox').update(response[1]);
			$('newsletterNotificationBox').show();

			$('newsletterLoadingIndicator').hide();
		}
	});
}
//###########################################################

//### Produkt options ####
function markOptionsPulldown() {
	setTimeout('addOptionsPulldownMarker()', 1);
	setTimeout('deleteOptionsPulldownMarker()', 200);
	setTimeout('addOptionsPulldownMarker()', 400);
	setTimeout('deleteOptionsPulldownMarker()', 600);
	setTimeout('addOptionsPulldownMarker()', 800);
	setTimeout('deleteOptionsPulldownMarker()', 1000);
	setTimeout('addOptionsPulldownMarker()', 1200);
	setTimeout('deleteOptionsPulldownMarker()', 1400);
	setTimeout('addOptionsPulldownMarker()', 1600);
	setTimeout('deleteOptionsPulldownMarker()', 1800);
}

function addOptionsPulldownMarker() {
	optionPulldown = $$('.optionsPulldown');
	for(i = 0; i < optionPulldown.length; i++) {
		$(optionPulldown[i]).setStyle({background : '#FAC878'});
	}
}

function deleteOptionsPulldownMarker() {
	optionPulldown = $$('.optionsPulldown');
	for(i = 0; i < optionPulldown.length; i++) {
		$(optionPulldown[i]).setStyle({background : 'transparent'});
	}
}

function markDetailsLink() {
	setTimeout('addDetailsLinkMarker()', 1);
	setTimeout('deleteDetailsLinkMarker()', 200);
	setTimeout('addDetailsLinkMarker()', 400);
	setTimeout('deleteDetailsLinkMarker()', 600);
	setTimeout('addDetailsLinkMarker()', 800);
	setTimeout('deleteDetailsLinkMarker()', 1000);
	setTimeout('addDetailsLinkMarker()', 1200);
	setTimeout('deleteDetailsLinkMarker()', 1400);
	setTimeout('addDetailsLinkMarker()', 1600);
	setTimeout('deleteDetailsLinkMarker()', 1800);
}

function addDetailsLinkMarker() {
	optionPulldown = $$('.detailsLink');
	for(i = 0; i < optionPulldown.length; i++) {
		$(optionPulldown[i]).setStyle({background : '#FAC878'});
	}
}

function deleteDetailsLinkMarker() {
	optionPulldown = $$('.detailsLink');
	for(i = 0; i < optionPulldown.length; i++) {
		$(optionPulldown[i]).setStyle({background : 'transparent'});
	}
}
//##########################

//### Buttons die beim drücken das Bild wechseln, müssen als css Klasse "pushButton" haben und werden automatisch initialisiert ###
function initPushButtons() {
	var buttons = $$('.pushButton');
	for(i = 0; i < buttons.length; i++) {
		$(buttons[i]).observe('mousedown', pushButtonDown);
		$(buttons[i]).observe('mouseup', pushButtonUp);
		$(buttons[i]).observe('mouseout', pushButtonUp);
	}
}

function pushButtonDown(event) {
	var element = event.element();
	if(!element.src.match('_down.png')) {
		element.src = element.src.split('.png')[0]+'_down.png';
	}
}
function pushButtonUp(event) {
	var element = event.element();
	if(element.src.match('_down.png')) {
		element.src = element.src.split('_down.png')[0]+'.png';
	}
}
//##########################


function toggleKategoryMenu(obj) {
	if($(obj).next().getStyle('display') == 'block') {
		new Effect.Fade($(obj).next(), {duration: 0.2});
		$(obj).down().down().src = '/images/icons/arrow_expand.png';
	} else {
		new Effect.Appear($(obj).next(), {duration: 0.2});
		$(obj).down().down().src = '/images/icons/arrow_collapse.png';
	}
}

//### Anfrage ##############
function productAnfrage() {
	new Effect.ScrollTo('anfrageContainer');
	new Effect.Appear('anfrageFormularContainer');
}

function productAnfrageAbsenden() {
	if($('anfrageText').value.length == 0 ) {
		alert('Bitte geben Sie einen Text ein!');
		return false;
	}

	var url = '/ajax/check.php?action=checkEmail&noEmailInUseCheck=true&email='+$('anfrageEmail').value;
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			var response = transport.responseText.split('|');
			if(response[0] == 'false') {
				alert(response[1]);
			} else if(response[0].length == 0) {
				alert('Bei der Pr&uuml;fung ist ein Fehler aufgetreten!');
			} else {
				sendAnfrage();
			}
		}
	});
}

function sendAnfrage() {
	var text = escape($('anfrageText').value);
	var email = $('anfrageEmail').value;
	var productId = $('productId').value;
	var url = '/ajax/anfrage.php?action=anfrageSenden&email='+email+'&text='+text+'&productId='+productId;
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			$('anfrageText').value = '';
			new Effect.Fade('anfrageFormularContainer');
			alert('Vielen Dank!'+"\n"+'Ihre Anfrage wurde erfolgreich gesendet! Wir werden uns schnellst möglich bei Ihnen melden!');
		}
	});
}
//##########################

function gotoProductPage(url) {
	window.location.href = url;
}

//### Anfrage Versand sparen ##############
function versandSparenAnfrage() {
	new Effect.ScrollTo('versandSparenContainer');
	new Effect.Appear('versandSparenFormularContainer');
	$('versandSparenMenge').value = $('amountBuy').value;
}

function versandSparenAnfrageAbsenden() {
	if($('versandSparenDate').value.length == 0 ) {
		alert('Bitte geben Sie einen Wunschtermin an!');
		return false;
	}

	var url = '/ajax/check.php?action=checkEmail&noEmailInUseCheck=true&email='+$('versandSparenEmail').value;
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			var response = transport.responseText.split('|');
			if(response[0] == 'false') {
				alert(response[1]);
			} else if(response[0].length == 0) {
				alert('Bei der Pr&uuml;fung ist ein Fehler aufgetreten!');
			} else {
				sendVersandSparenAnfrage();
			}
		}
	});
}

function sendVersandSparenAnfrage() {
	var text = escape($('versandSparenText').value);
	var email = $('versandSparenEmail').value;
	var productId = $('productId').value;
	var datum = $('versandSparenDate').value;
	var menge = $('versandSparenMenge').value;
	var url = '/ajax/anfrage.php?action=versandSparenAnfrageSenden&email='+email+'&text='+text+'&productId='+productId+'&datum='+datum+'&menge='+menge;
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			$('anfrageText').value = '';
			new Effect.Fade('versandSparenFormularContainer');
			alert('Vielen Dank!'+"\n"+'Ihre Anfrage wurde erfolgreich gesendet! Wir werden uns schnellst möglich bei Ihnen melden!');
		}
	});
}
//##########################

//### Filter ###############
function initFilterSlider() {
	var sliders = $$('.filterSlider');

	for(var i=0; i<sliders.length; i++) {
		var sliderId = sliders[i].id;

		//slider Handles einblenden
		$(sliderId+'_minHandle').setStyle({'display' : 'block'});
		$(sliderId+'_maxHandle').setStyle({'display' : 'block'});

		var values = $(sliderId+'_values').value.split('_');
		for(j=0; j < values.length; j++) {
			values[j] = parseFloat(values[j]);
		}

		new Control.Slider($(sliderId).select('.filterHandle'), $(sliderId),  {
			range: $R(parseFloat($(sliderId+'_absoluteMin').value), parseFloat($(sliderId+'_absoluteMax').value)),
			sliderValue: [parseFloat($(sliderId+'_currentMin').value), parseFloat($(sliderId+'_currentMax').value)],
			restricted: true,
			sliderId: sliderId,
			values: values,
			onSlide: function(values) {
				$(this.sliderId+'_showCurrentMax').update(Math.round(values[1] * 10) / 10);
				$(this.sliderId+'_showCurrentMin').update(Math.round(values[0] * 10) / 10);

//				$(this.sliderId+'_showCurrentMin').absolutize();
				$(this.sliderId+'_minMarker').setStyle({'width' : ($(this.sliderId).down().positionedOffset()[0] + 13)+'px'});
				$(this.sliderId+'_maxMarker').setStyle({'width' : (200 - $(this.sliderId).down().next().positionedOffset()[0]-1)+'px'});

				$(this.sliderId+'_range').setStyle({'display' : 'block', 'left' : ($(this.sliderId).down().positionedOffset()[0] + 13)+'px', 'width' : (($(this.sliderId).down().next().positionedOffset()[0]-1) - ($(this.sliderId).down().positionedOffset()[0] + 11)) +'px'});
			},
			onChange: function(values) {
				$(this.sliderId+'_showCurrentMax').update(Math.round(values[1] * 10) / 10);
				$(this.sliderId+'_showCurrentMin').update(Math.round(values[0] * 10) / 10);

				//URL mit den entsprechenden Werten versehen
				var url = $(this.sliderId+'_url').value;
				url = str_replace('##MIN##', Math.round(values[0] * 10) / 10, url);
				url = str_replace('##MAX##', Math.round(values[1] * 10) / 10, url);

				//URL aufrufen
				document.location.href = url;
//				alert(url);
			}
		});

		//pfeile unter den handles einblenden und positionieren
		$(sliderId+'_minMarker').setStyle({'display' : 'block', 'width' : ($(sliderId).down().positionedOffset()[0] + 13)+'px'});
		$(sliderId+'_maxMarker').setStyle({'display' : 'block', 'width' : (200 - $(sliderId).down().next().positionedOffset()[0]-1)+'px'});

		$(sliderId+'_range').setStyle({'display' : 'block', 'left' : ($(sliderId).down().positionedOffset()[0] + 13)+'px', 'width' : (($(sliderId).down().next().positionedOffset()[0]-1) - ($(sliderId).down().positionedOffset()[0] + 11)) +'px'});
	}
}

function filterChangeItemsPerPage(obj) {
	var newProductsPerPage 	= parseInt($(obj).value);
	var currentPage 		= parseInt($('filterCurrentPage').value);
	var allItems 			= parseInt($('filterAllItems').value);
	//Wieviele Seiten gibt es maximal mit der neuen Anzahl an Produkten pro Seite?
	var maxPageNew 			= Math.ceil(allItems / newProductsPerPage);

	//Aktuelle Seite setzen, wenn die neue maximale Seitenzahl kleiner ist als die aktuell aufgerufene Seitenzahl, dann gehe zur neuen maximalen Seitenzahl
	if(currentPage > maxPageNew) {
		var url = str_replace('#PAGE#', maxPageNew, $('filterProductsPerPageWildcardURL').value);
	} else {
		var url = str_replace('#PAGE#', currentPage, $('filterProductsPerPageWildcardURL').value);
	}

	//ProductsPerPage Parameter setzen
	url = str_replace('#PPP#', $(obj).value, url);
	//URL aufrufen
	document.location.href = url;
}

function filterChangeSortorder(obj) {
	var url	= $('filterProductsCurrentURL').value;
	var mainParts = url.split('/');
	var parts = mainParts[mainParts.length-1].split('_');

	var url = parts[0]+'_'+$(obj).value;
	if(parts.length == 3) {
		url += '_'+parts[2];
	} else {
		url += '_'+parts[2]+'_'+parts[3];
	}

	var newURL = '';
	for(i = 0; i < mainParts.length -1; i++) {
		newURL += mainParts[i]+'/';
	}
	newURL += url;
	//URL aufrufen
//	alert(newURL);
	document.location.href = newURL;
}

function deleteSlideFilter(filterId, url) {
	url = str_replace('m'+filterId+'m##MIN##m##MAX##', '', url);
	url = str_replace('--', '-', url);
	url = str_replace('-_', '_', url);
	url = str_replace('_-', '_', url);
	document.location.href = url;
}
//##########################

function goToURL(url) {
	var urlParts = url.split('#~#');

	var finalURL = '';
	for(i = 0; i < urlParts.length; i++) {
		if(i == 0) {
			finalURL = urlParts[i];
		} else {
			finalURL += '/' + urlParts[i];
		}
	}
	document.location.href = finalURL;
}
function str_replace(search, replace, subject) {
	return subject.split(search).join(replace);
}

//#############################
var currentHover;
var endHover;
function hoverTopTab(id) {
	currentHover = id;

	if(endHover == id)
		endHover = null;

	setTimeout('hoverTopTabDone('+id+')', 200);
}

function hoverTopTabDone(id) {
	if(currentHover == id) {
		$$('.menuHover').each(function(item) {
			$(item).hide();
		});
		$$('.menuTab').each(function(item) {
			$(item).removeClassName('top_menu_tab_hover');
		});

		ie_apply_zindex('top_menu_tab_'+id, 20);
		$('top_menu_tab_content_'+id).show();
		$('top_menu_tab_'+id).addClassName('top_menu_tab_hover');

		//Auf Produktseiten die next/prev Produkt link-Leiste nach hinten wenn das Menü sichtbar ist
		if($('productNextPrevContainer')) {
			$('productNextPrevContainer').setStyle({'visibility' : 'hidden'});
		}
	}
}

function hoverEndTopTab(id) {
	if(currentHover == id)
		currentHover = null;

	endHover = id;
	setTimeout('hoverEndTopTabDone('+id+')', 200);
}

function hoverEndTopTabDone(id) {
	if(endHover == id) {
		$('top_menu_tab_content_'+id).hide();
		$('top_menu_tab_'+id).removeClassName('top_menu_tab_hover');
		endHover = null;
	}

	//Auf Produktseiten die next/prev Produkt link-Leiste wieder nach vorne wenn das Menü deaktiviert wird
	if($('productNextPrevContainer')) {
		$('productNextPrevContainer').setStyle({'visibility' : 'visible'});
	}
}

//#############################

//#############################
//z-index hack for IE
var iaz_preserved_elements = [];
var iaz_preserved_zindexes = [];

function ie_apply_zindex(element_id, zindex, context_id) {
   // default values
   if (undefined == zindex) { zindex = 1; }
   var context = (undefined == context_id ? $(context_id) : $(document.body));
   var element = $(element_id);

   // undo past ie_apply_zindex()
   for (i = iaz_preserved_elements.length-1; i >= 0; i--) {
      iaz_preserved_elements[i].setStyle({'z-index': iaz_preserved_zindexes[i]});
   }
   iaz_preserved_elements = [];
   iaz_preserved_zindexes = [];

   // find relative-positioned ancestors of element within context
   element.ancestors().each(
      function(ancestor) {
         if ('relative' == ancestor.getStyle('position')) {
            // preserve ancestor's current z-index
            iaz_preserved_elements.push(ancestor);
            iaz_preserved_zindexes.push( ancestor.getStyle('z-index') );

            // apply z-index to ancestor
            ancestor.setStyle({'z-index': zindex});
         }
         if (ancestor == context) { throw $break; }
      }
   );
}
//#############################

function toggleAttributeContainer(obj) {
	if(windowMode == 'full') {
		var movement = 65;
	} else {
		var movement = 85;
	}

	if($(obj).positionedOffset()[1] > 160) {
		new Effect.MoveBy(obj, (movement * -1), 0, {duration: 1, transition:Effect.Transitions.sinoidal, queue: { position: 'end', scope: $(obj).id, limit: 1}});
		$('mehrAttribute_'+$(obj).id.split('_')[1]).hide();
		$('wenigerAttribute_'+$(obj).id.split('_')[1]).show();
	} else 	if($(obj).positionedOffset()[1] < 200) {
		new Effect.MoveBy(obj, movement, 0, {duration: 1, transition:Effect.Transitions.sinoidal, queue: { position: 'end', scope: $(obj).id, limit: 1}});
		$('wenigerAttribute_'+$(obj).id.split('_')[1]).hide();
		$('mehrAttribute_'+$(obj).id.split('_')[1]).show();
	}

}

function hideAttributeContainer(obj) {
	if($(obj).positionedOffset()[1] < 220) {
		new Effect.MoveBy(obj, 100, 0, {duration: 1, transition:Effect.Transitions.sinoidal, queue: { position: 'end', scope: $(obj).id, limit: 1}})
	}
}

function checkLogin() {
	url = '/ajax/check.php?action=checkLogin';
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			if(transport.responseText == 1) {
				$('logoutLink').show();
			}
		}
	});
}

function showFlagSelector() {
	ie_apply_zindex('layer', 200);
	$('layer').scrollTo();
	$('layer').show();
	$('flagSelectorList').show();
}

function hideFlagSelector() {
	$('layer').hide();
	$('flagSelectorList').hide();
}
