/**
 * @$Author: dappel $
 * @$Source$
 * @$Revision: 21438 $ $Date: 2011-10-06 14:19:08 +0200 (Thu, 06 Oct 2011) $
 */
$(document).ready( function() {
		$.ajaxSetup({ contentType: "application/x-www-form-urlencoded; charset=utf-8" });

		var selectFormName = '';
		var selectFormValue = '';
		var messageDdHeight = '';

    /**
     * blurLock fix fuer newcustomer form
     */
    var blurLock = false;

	var loader = $('<div class="warten"><br />Bitte warten, Ihre Eingaben werden verarbeitet...<br /><br /><img src="' + sheego.imagePath + 'order/warten.gif" /><br /><br /></div>')
			.css('top','350px')
			.css('display','none')
			.appendTo("body");
	// Variablen fuer die overLay-Funktionalitaet
	generalformTop = parseInt($("#top").outerHeight({ margin: true })) + parseInt($("#nav").outerHeight({ margin: true })) + parseInt($("#banner").outerHeight({ margin: true }));
 	
	// image replacement for articles without an image
	$('img.articleImage').error(function(){
		$(this).attr('src', sheego.imagePlaceHolder);		
	});
	//addDAddress
	var addDAddress = $("#addDAddress").livequery(function() {
		$(this).validate({
			errorLabelContainer: $("p.error"),
			rules: {
				BasketForm_FirstName: {required: true},
				BasketForm_LastName: {required: true},
				BasketForm_Street: {required: true},
				BasketForm_Street2: {required: true},
				BasketForm_PostalCode: {required: true},
				BasketForm_City: {required: true}
			},
			messages: {
				BasketForm_FirstName: {required: '<strong>&nbsp;</strong>Dies ist eine Pflichtangabe'},
				BasketForm_LastName: {required: '<strong>&nbsp;</strong>Dies ist eine Pflichtangabe'},
				BasketForm_Street: {required: '<strong>&nbsp;</strong>Dies ist eine Pflichtangabe'},
				BasketForm_Street2: {required: '<strong>&nbsp;</strong>Dies ist eine Pflichtangabe'},
				BasketForm_PostalCode: {required: '<strong>&nbsp;</strong>Dies ist eine Pflichtangabe'},
				BasketForm_City: {required: '<strong>&nbsp;</strong>Dies ist eine Pflichtangabe'}
			}
		})
	});

	$("#addNewDAddress").livequery('submit', function(){
		var plic = ($("#ProductLineItemsCount").val()>1)?'#inserted':'_top';
		$("#BasketForm_Street").val(cleanUmlaute($("#BasketForm_Street").val()));
		$("#BasketForm_Street2").val(cleanHausnummer($("#BasketForm_Street2").val()));
		$("#BasketForm_City").val(cleanUmlaute($("#BasketForm_City").val()));
		$("#Title").val($("#anrede").val());
		if($("#AddressName").val()=="")
			$("#AddressName").val($("#BasketForm_FirstName").val() + ' ' + $("#BasketForm_LastName").val());
		$(this).ajaxSubmit({
			beforeSubmit: function(){
				loader.css('top', $("#innerOverlay").css('top')).css('display','block');
				$("#innerOverlay").css('display','none');
			},
			target: "#inserted",
			url: sheego.chooseDAddressUrl,
			contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
			success: function(){
				if(plic=='#inserted'){
					$("#changeaddress").ajaxSubmit({
								type: 'POST',
								target: '#inserted',
								url: sheego.commitAddressUrl,
								success: function(){
									$("#innerOverlay").css('display','block');
									loader.css('display','none');
								}
					});
					$("#innerOverlay").css('display','block');
					loader.css('display','none');
				}else{
					$("#changeaddress").submit();
					$("#innerOverlay").css('display','block');
					loader.css('display','none');
				}
			}
		});
		return false;
	});

	//customernumberLost
	var cnumberLost = $("#cnumberLost").livequery(function(){
		$(this).validate({
			errorLabelContainer: $("p.error"),
			rules: {
				BasketForm_Title: {required: true},
				BasketForm_FirstName: {required: true},
				BasketForm_LastName: {required: true},
				BasketForm_Street: {required: true},
				BasketForm_Street2: {required: true},
				BasketForm_PostalCode: {required: true},
				BasketForm_City: {required: true}
			},
			messages: {
				BasketForm_Title: {required: '<strong>&nbsp;</strong>Dies ist eine Pflichtangabe'},
				BasketForm_FirstName: {required: '<strong>&nbsp;</strong>Dies ist eine Pflichtangabe'},
				BasketForm_LastName: {required: '<strong>&nbsp;</strong>Dies ist eine Pflichtangabe'},
				BasketForm_Street: {required: '<strong>&nbsp;</strong>Dies ist eine Pflichtangabe'},
				BasketForm_Street2: {required: '<strong>&nbsp;</strong>Dies ist eine Pflichtangabe'},
				BasketForm_PostalCode: {required: '<strong>&nbsp;</strong>Dies ist eine Pflichtangabe'},
				BasketForm_City: {required: '<strong>&nbsp;</strong>Dies ist eine Pflichtangabe'}
			}

		})
	});
	var mailOrderConfirmation = $("#mailOrderConfirmation").livequery(function(){
		$(this).validate({
			errorLabelContainer: $("p.error"),
			rules: {
				BasketForm_Email: {required: true, email: true}
			},
			messages: {
				BasketForm_Email: {required: '<strong>&nbsp;</strong>Dies ist eine Pflichtangabe', email: '<strong>&nbsp;</strong>Bitte geben Sie eine g&uuml;ltige E-Mail-Adresse an'}
			}
		})
	});

	// Setzen des tabindex fuer den Bestellschein
	$("#articlesToOrder input[type='text']:first").focus();

	// Schliessen und Abbrechen Buttons fuer Overlayformulare
	$(".buttonFinish, .buttonCancel20, #buttonFinish").livequery('click', function(){
		if(selectFormName!='' && selectFormValue != ''){
			$(selectFormName).selectOptions(selectFormValue);
			selectFormName = '';
			selectFormValue = '';
		}
		overLayFinish();
		return false;
	});

	// Schliessen Button fuer overlayformulare
	$(".buttonClose, .buttonClose20, .buttonCloseNoStyle").livequery('click', function(){
		overLayFinish();
		return false;
	});

	// Direktbestellscheins,  bind blur-events to input elements
	bindValidateEvents();

	var itemInForm = false;
	// Validation des Artikel-Direktbestellscheins
	$(".orderSection .addToBasket").click(function(){
		if(doValidateAll("true")){
			// layer anzeigen und abschicken der Form wenn Validierung erfolgreich war
			overLay();
			$("#innerOverlay").css('top',generalformTop);
			$("#innerOverlay").css('left','15px');
			loader.css('top', $("#innerOverlay").css('top')).css('display','block');
			$("#directArticleOrders").submit();
		}
		return false;
	});

	// hinzufuegen
	$(".furtherArtOrder").livequery('click', addNewLine);

	// entfernen
	$("#articlesToOrder .delete").livequery('click', function(){
		// Zeile entfernen
		$(this).parent().parent().parent().remove();
		// Zeilennummer aktualisieren
		$("#articlesToOrder dd.artline").each(function(i){
			$(this).find("ul li.dt1").html('' + (i+1));
		});
		// Tabindex aktualisieren
		$("#articlesToOrder input[type='text']").each( function(c) {
				$(this).attr('tabindex', c + 1);
		});
		// Button um weitere Zeilen einzublenden
		$("a.furtherArtOrder").css('display','block');
		// Validierung der Eingaben
		doValidateAll();
		return false;
	});

	//Bestellschein
	$("#articlesToOrder dd:first").livequery(function(){
		$(this).css('border-top','4px solid #fff');
	});
	// abwechselnde Hintergrundfarbe fuer Warenkorbitems
	$(".orderSection.basket dl[class!='basketheader']:odd").addClass('bgDark');
	// letzter Warenkorbitem hat nur 1px border-bottom
	// $(".orderSection.basket dl[id!='voucher']:last").css('border-bottom', '1px solid #fff');

	//Formularlayer
	// Alle Buttons in geclontem Formular verschwinden lassen
	$("#inserted dl .button").livequery(function(){
		$(this).css('visibility', 'hidden');
	});
	$("#inserted dl.pAusgabeResult:last").livequery(function(){
		$(this).css('border-bottom', 'none');
	});

	// Artikel aendern - Step1
	$(".buttonChange").click(function(){
		var form = $(this).parent().parent().parent().parent().parent().parent();
		var thumb = $(this).parent().parent().children("li.thumbnail").html();
		var prevall = form.prevAll();
		var thisTopPos = generalformTop;
		$(prevall).each(function(){
			thisTopPos = thisTopPos + $(this).outerHeight({margin:true});
		})
		thisTopPos = thisTopPos + form.outerHeight({margin:true});

		$(form).ajaxSubmit({
			beforeSubmit: function(){
				overLay();
				$("#innerOverlay").css('top',thisTopPos-43);
				$("#innerOverlay").css('left','15px');
			},
			target: '#inserted',
			url: sheego.changeArticle,
			success: function(){
				$("#inserted dl .button").css('visibility', 'hidden');
				$("#inserted li.thumbnail").livequery(function(){
					$(this).html(thumb);
				});
				overLay_AdjustLayer();
				scrollIt($("#inserted"), 150);
			}
		});
		return false;
	});
//Artikel loeschen
$(".buttonDelete").click(function(){
		var form = $(this).parent().parent().parent().parent().parent().parent();
		$(form).ajaxSubmit({
			beforeSubmit: function(){
				overLay();loader.css('display','block');
			},
			url: sheego.removeArticle,
			success: function(){
					if (sheego.changeArticleLoc == '7')
						{location.href = sheego.Step7final}
					else
						{location.href = sheego.showBasket}
				}
		});
		return false;
	});

	$("#changeArticle").livequery('submit', function(){
		var quantity = parseInt($("#productQuantity").val());
		var maxQuantity = parseInt(sheego.CAmaxlength);
		if (quantity > maxQuantity){
			$('.topinfo').html('');
			$('.topinfo').html('<p class="error"><strong>Achtung:&nbsp;</strong>Der Artikel kann nicht in der angegebenen Menge bestellt werden.<br /> Bitte korrigieren Sie Ihre Eingabe.</p>');
		}else{
			$(this).ajaxSubmit({
				beforeSubmit: function(){
					$("#inserted").css('display','none');loader.css('display','block');
				},
				type: 'POST',
				url: sheego.BasketUrl,
				success: function(){
					if (sheego.changeArticleLoc == '7')
						{location.href = sheego.Step7final}
					else
						{location.href = sheego.showBasket}
				}
			});
		}
		return false;
	});


	$(".changeProperty").livequery('change', function(){
	    var that = $(this);
		$("#changeArticle").ajaxSubmit({
			beforeSubmit: function(){$("#inserted").css('display','none');loader.css('top', $("#innerOverlay").css('top')).css('display','block');},
			type: 'POST',
			data: { ProductRef: that.val() },
			url: sheego.changeArticleProperties,
			target: ".itemProperties",
			success: function(msg)
			{
			  $(".itemProperties").html(msg);
			  loader.css('display','none');
				$("#inserted").css('display','block');
			}
		});
	});


	//Gravurtext bestaetigen , wenn 2ter text eingegeben wurde, wird der 1te text in EngravingText_#LineItemID# geschrieben
	$("#et2").livequery('blur', function(){
		$("input[name^='EngravingText']").val($("#et1").val());
	});

	var gravurtext = $("#editGravur").livequery(function(){
		$(this).validate({
			submitHandler: function(){
			$("input[name^='EngravingText']").val($("#et1").val());
				$("#editGravur").ajaxSubmit({
					beforeSubmit: function(){
						$("#inserted").css('display','none');
						loader.css('top', $("#innerOverlay").css('top')).css('display','block');
					},
					type: 'GET',
					url: sheego.commitGravur,
					success: function(){
						location.href = sheego.showBasket;
					}
				});
			},

			rules: {
				et1: {
					gravur:true,
					maxlength:18
				},
				et2: {
					equalTo: '#et1'
				}
			},
			messages: {
				et1: {
					required:'<strong>&nbsp;</strong>Dies ist ein Pflichtfeld.',
					gravur:'<strong>&nbsp;</strong>Bitte verwenden Sie nur Gro&szlig;buchstaben, Zahlen und Leerzeichen. Umlaute bzw. Sonderzeichen sind nicht m&ouml;glich.',
					maxlength:'<strong>&nbsp;</strong>Bitte nicht mehr als 18 Zeichen eingeben.'
				},
				et2: {
					required:'<strong>&nbsp;</strong>Dies ist ein Pflichtfeld.',
					equalTo:'<strong>&nbsp;</strong>Die beiden Texteingaben stimmen leider nicht &uuml;berein. Bitte korrigieren Sie Ihre Eingabe, damit wir Ihren Wunsch erf&uuml;llen k&ouml;nnen.!'
				}
			}
		});
	});

	$(".buttonAddGravur").click(function(){
		var form = $(this).parent().parent().parent().parent().parent().parent();
		var prevall = form.prevAll();
		var thisTopPos = generalformTop;
		$(prevall).each(function(){
			thisTopPos = thisTopPos + $(this).outerHeight({margin:true});
		})
		thisTopPos = thisTopPos + form.outerHeight({margin:true});

		form.ajaxSubmit({
				beforeSubmit: function(){overLay();$("#innerOverlay").css('top',thisTopPos-70);$("#innerOverlay").css('left','15px'); $("#inserted dl .button").css('visibility', 'hidden'); loader.css('top', $("#innerOverlay").css('top')).css('display','block');},
				target: "#inserted",
				url: sheego.gravurUrl,
				success:function(){
					scrollIt($(this), 250);
					loader.css('display','none');
				}
			});
		return false;
	});

	$(".buttonEditGravur").click(function(){
		var form = $(this).parent().parent().parent().parent().parent().parent();
		var prevall = form.prevAll();
		var thisTopPos = generalformTop;
		$(prevall).each(function(){
			thisTopPos = thisTopPos + $(this).outerHeight({margin:true});
		})
		thisTopPos = thisTopPos + form.outerHeight({margin:true});

		form.ajaxSubmit({
				beforeSubmit: function(){overLay();$("#innerOverlay").css('top',thisTopPos-70);$("#innerOverlay").css('left','15px'); $("#inserted dl .button").css('visibility', 'hidden'); loader.css('top', $("#innerOverlay").css('top')).css('display','block');},
				target: "#inserted",
				url: sheego.gravurUrl,
				success:function(){
					scrollIt($(this), 250);
					loader.css('display','none');
				}
			});
		return false;
	});
	// Liefertermin aendern - step 5
	$(".changeDDate select").change(function(){
		selectFormName = '#' + $(this).attr('id');
		selectFormValue = "none";
		var plic = (parseInt($("#ProductLineItemsCount").text())>1)?'#inserted':'_top';
		var form = $(this).parent().parent().parent().parent().parent().parent();
		var deflist = $(this).parent().parent().parent().parent();
		var cloned = deflist.clone(true);
		var prevall = deflist.prevAll();
		var thisTopPos = generalformTop;
		$(prevall).each(function(){
			thisTopPos = thisTopPos + $(this).outerHeight({margin:true});
		});
		thisTopPos = thisTopPos + deflist.outerHeight({margin:true});
		var val = $(this).val();
		var pfad = 'sheego.' + $(this).val() + 'Url';
		if(val!='none'){
			form.ajaxSubmit({
				beforeSubmit: function(){
					overLay();
					$("#innerOverlay").css('top',thisTopPos-6);
					$("#innerOverlay").css('left','15px');
					loader.css('top', $("#innerOverlay").css('top')).css('display','block');
				},
				type: 'POST',
				target: '#inserted',
				url: eval(pfad),
				success: function(){
					overLay_AdjustLayer();
					scrollIt($("#inserted"), 600);
					if(val=="DEFAULT" || val=="Flag_24h"){
						if(plic=="#inserted"){
							if(val=="DEFAULT"){
								$("#changeservice").ajaxSubmit({
									type: 'POST',
									target: "#inserted",
									url: sheego.commitDefaultUrl,
									success: function(){
										loader.css('display','none');
									}
								});
							}else if(val=="Flag_24h"){
								$("#changeservice").ajaxSubmit({
									type: 'POST',
									target: "#inserted",
									url: sheego.commitFlag_24hUrl,
									success: function(){
										loader.css('display','none');
									}
								});
							}
						}else{
							$("#changeservice").submit();
						}
					}
					loader.css('display','none');
				}
			});
			$("#inserted").focus();
		}
		return false;
	});
// Zahlungsart aendern - step 6 - valuta
// igueder -->	beim click auf die chekcbox wird fuer das pli ein ueber ajaxrequest valuta gesetzt oder entfernt
		$(".orderSection .cbvaluta").change(function(){
		var pli_uuid= $(this).parents('form').attr('id');
		if ($(this).is(':checked')) {

		$(this).ajaxSubmit({
			beforeSubmit: function(){$("#inserted").css('display','none');overLay();loader.css('display','block');},
			type: 'POST',
			url: sheego.setValuta +'?GrantRespite_'+pli_uuid +'=1',
			success: function(){   location.href = sheego.step6;}
		});
		return false;

		} else {
		$(this).ajaxSubmit({
			beforeSubmit: function(){$("#inserted").css('display','none');overLay();loader.css('display','block');},
			type: 'POST',
			url: sheego.setValuta +'?GrantRespite_'+pli_uuid +'=0',
			success: function(){ location.href = sheego.step6;}
		});
		return false;
		}
	});

	$('#continue_step6').click(function(){
		$('#tempbasketstep6').submit();
	});

	// Zahlungsart aendern - step 6
	$("select.changePayment").change(function(){
		selectFormName = '#' + $(this).attr('id');
		selectFormValue = "none";

		var pli_uuid= $(this).parents('form').attr('id');
		var form	= 'form#' + pli_uuid;
		var deflist = $(this).parents('dl');

		var prevall = deflist.prevAll();
		var thisTopPos = generalformTop;
		$(prevall).each(function(){
			thisTopPos = thisTopPos + $(this).outerHeight({margin:true});
		});
		thisTopPos	= thisTopPos + deflist.outerHeight({margin:true});

		var pm_type	= $(this).val();

		if(pm_type!='default' && pm_type!='none'){

			var var_rates = 1;
			var var_pm = "PURCHASE_ON_ACCOUNT";
			var var_paymentMode = "Single";

			if (pm_type.indexOf("_POC_")	!= -1)		{var_pm = "PURCHASE_ON_ACCOUNT"};
			if (pm_type.indexOf("_COD_")	!= -1)		{var_pm = "CASH_ON_DELIVERY"};
			if (pm_type.indexOf("_CC_")		!= -1)		{var_pm = "CREDIT_CARD"};
			if (pm_type.indexOf("_PSD_")	!= -1)		{var_pm = "PERSONNEL_SALARY_DEDUCTION"};
			if (pm_type.indexOf("_PCOD_")	!= -1)		{var_pm = "PERSONNEL_CASH_ON_DELIVERY"};
			if (pm_type.indexOf("_PCOD")	!= -1)		{var_pm = "PERSONNEL_CASH_ON_DELIVERY_PACKET_ISSUE_AT_OV"};
			if (pm_type.indexOf("_TPCOD_")	!= -1)		{var_pm = "TEMP_PERSONNEL_CASH_ON_DELIVERY"};
			if (pm_type.indexOf("_TPCOD")	!= -1)		{var_pm = "TEMP_PERSONNEL_PACKET_ISSUE_AT_OV"};

			if (pm_type.indexOf("_1_")		!= -1) 		{var_rates = 1;};
			if (pm_type.indexOf("_3_")		!= -1) 		{var_rates = 3; var_paymentMode = "Installments";};
			if (pm_type.indexOf("_6_")		!= -1) 		{var_rates = 6; var_paymentMode = "Installments";};
			if (pm_type.indexOf("_9_")		!= -1) 		{var_rates = 9; var_paymentMode = "Installments";};
			if (pm_type.indexOf("_12_")		!= -1) 		{var_rates = 12; var_paymentMode = "Installments";};
			if (pm_type.indexOf("_18_")		!= -1) 		{var_rates = 18; var_paymentMode = "Installments";};
			if (pm_type.indexOf("_24_")		!= -1) 		{var_rates = 24; var_paymentMode = "Installments";};
			if (pm_type.indexOf("_36_")		!= -1) 		{var_rates = 36; var_paymentMode = "Installments";};
			if (pm_type.indexOf("_48_")		!= -1) 		{var_rates = 48; var_paymentMode = "Installments";};

			var pm_uuid = pm_type.split('+++')[1];

			$.ajax({
				type:			'POST',
				url:			sheego.changePayment,
				data:			'LineItemID='+pli_uuid+
								'&PaymentID='+pm_uuid+
								'&Rates='+var_rates+
								'&PaymentMode='+var_paymentMode+
								'&CallTyp=Single',
				beforeSend: function(){
					overLay();
					$("#innerOverlay").css('top',thisTopPos-56);
					$("#innerOverlay").css('left','15px');
					loader.css('top',$("#innerOverlay").css('top')).css('display','block');
				},
				success: function(html){
					$("#inserted").html(html);

					$('#changePaymentProxy').ajaxSubmit({
						target: '#inserted',
						success: function(){
							loader.css('display','none');
							overLay_AdjustLayer();
//							scrollIt($("#inserted"), 600);

							var radios = $('#assumePamentForAll .prod_pm_set');			/* get radios of products */

							$("#assumePamentForAll .info2 .radio").click(function(){
								var targetValue = $(this).val();
								jQuery.each(radios, function(i, val) {
									if ((this.value == targetValue) && (this.checked==false)) {
										this.checked=true;
									}
								});
							});

							$("#assumePamentForAll #submitPShop").click(function(){
								var selected_PMethod	= $('#LiPaymentMethod').val();
								var selected_PMode		= $('#LiPaymentMode').val();
								var selected_NumRates	= $('#LiNumberOfRates').val();

								jQuery.each(radios, function(i, val) {
									if ((this.value == "yes") && (this.checked==true)) {
										var fname = this.name;
										document.changePayment.elements["PaymentMethod_"+fname].value = selected_PMethod;
										document.changePayment.elements["PaymentMode_"+fname].value = selected_PMode;
										document.changePayment.elements["NumberOfRates_"+fname].value = selected_NumRates;
									}
								});
								$('#changePayment').ajaxSubmit({
									beforeSubmit: function(){
										overLay();
										$("#innerOverlay").css('top',thisTopPos-56);
										$("#innerOverlay").css('left','15px');
										loader.css('top',$("#innerOverlay").css('top')).css('display','block');
									},
									target: '#inserted',
									beforeSubmit: function(){
										$('#inserted').html('');
										loader.css('display','block');
									},
									success: function(){
										overLay_AdjustLayer();
//										scrollIt($("#inserted"), 600);
									}
								});
							});
						}
					});
					}
			});
		}
		return false;
	});

	// Lieferadresse aendern - Step4
	// Lieferanschrift hinzufuegen
	$(".changeDAddress select").change(function(){
		selectFormName = '#' + $(this).attr('id');
		selectFormValue = "none";
		var plic = (parseInt($("#ProductLineItemsCount").text())>1)?'#inserted':'_top';
		var form = $(this).parent().parent().parent().parent().parent().parent();
		var deflist = $(this).parent().parent().parent().parent();
		var cloned = deflist.clone(true);
		var prevall = form.prevAll();
		var thisTopPos = generalformTop;
		$(prevall).each(function(){
			thisTopPos = thisTopPos + $(this).outerHeight({margin:true});
		});
//		thisTopPos = thisTopPos + deflist.outerHeight({margin:true});
		var pid = deflist.attr('id');
		var formid = 'changeDeliveryOptions_' + pid;
		allPShops = {};

		if($(this).val()!='none'){
			var val = $(this).val();
			var pfad = 'sheego.' + $(this).val();
			overLay();
			$("#innerOverlay").css('top',thisTopPos-70);
			$("#innerOverlay").css('left','15px');
			loader.css('top', $("#innerOverlay").css('top')).css('display','block');
			form.ajaxSubmit({
				beforeSubmit: function(){
				},
				type: 'POST',
				target: '#inserted',
				url: eval(pfad),
				success: function(){
					if(val=='pShopSearch'){
						overLay_AdjustLayer();
						scrollIt($("#inserted"), 600);
//						var queryString = $(form).serialize();
						var targeturl = sheego.pShopSearchUrl + "?zip=" + $("#zipPshop").val() +  "&street=" + $("#streetPshop").val() +  "&city=" + $("#cityPshop").val() +  "&radius=" + $("#radius").val() +  "&jsoncallback=?";
						$.getJSON(targeturl,
							function(data){
								allPShops = data;
								allPShops.zip = $("#zipPshop").val();
								allPShops.street = $("#streetPshop").val();
								allPShops.city = $("#cityPshop").val();
								pSearchResults(allPShops, 1);
								$("#searchPShop").css('display','block');
								$("#shopSearchResult").css('display','block');
								loader.css('display','none');
							});
					}else if(val=="account" || val=="host" || val=="basket"){
						if(plic=="#inserted"){
							$("#changeaddress").ajaxSubmit({
								type: 'POST',
								target: "#inserted",
								url: sheego.commitAddressUrl,
								success: function(){
									loader.css('display','none');
								}
							});
						}else{
							$("#changeaddress").submit();
						}
					}
					loader.css('display','none');
				}
			});
			$("#inserted").focus();

			return false;
		}
	});

	var result = '';
	var allPShops =  '';
	$("#searchPShop").livequery('submit', function(){
		$(this).css('display','none');
		$("#shopSearchResult").css('display','none');
		loader.css('top', $("#innerOverlay").css('top')).css('display','block');
		var queryString = $("#searchPShop").serialize();
		var targeturl = sheego.pShopSearchUrl + "?" + queryString + "&jsoncallback=?";
		$.getJSON(targeturl,
			function(data){
				allPShops = data;
				allPShops.zip = $("#zip").val();
				allPShops.street = $("#street").val();
				allPShops.city = $("#city").val();
				pSearchResults(allPShops, 1);
				loader.css('display','none');
				$("#searchPShop").css('display','block');
				$("#shopSearchResult").css('display','block');
			});
		return false;
	});

	// popUp Paketshopsuche
	$("#popSearchPShop").livequery('submit', function(){
//		$(this).css('display','none');
		$("#popShopSearchResult").css('display','none');
		allPShops = {};
		overLay();
		loader.css({'top': '68px', 'left': '0px'}).css('display','block');
		var queryString = $("#popSearchPShop").serialize();
		var targeturl = sheego.pShopSearchUrl + "?" + queryString + "&jsoncallback=?";
		$.getJSON(targeturl,
			function(data){
				allPShops = data;
				allPShops.zip = $("#zip").val();
				allPShops.street = $("#street").val();
				allPShops.city = $("#city").val();
				popPSearchResults(allPShops, 1);
				loader.css('display','none');
//				$("#popSearchPShop").css('display','block');
				$("#popShopSearchResult").css('display','block');
				overLayFinish();
			});
		return false;
	});

	$("#popShopSearchResult #nextpage, #popShopSearchResult #prevpage, #popShopSearchResult .nextstep").livequery('click', function(){
		var round = $(this).attr('title');
		popPSearchResults(allPShops, round);
		return false;
	});

	$("#shopSearchResult #nextpage, #shopSearchResult #prevpage, #shopSearchResult .nextstep").livequery('click', function(){
		var round = $(this).attr('title');
		pSearchResults(allPShops, round);
		return false;
	});

	$("a.fake").livequery('click', function(){
		return false;
	});



	$(".buttonChoosePShop").livequery('click', function(){
		var form = $(this).parent().parent().parent().parent();
		var id = $(this).attr('id').substring(6);
		var plic = ($("#ps_ProductLineItemsCount").val()>1)?'#inserted':'_top';
//
		$("#ps_AddressShopId").val($('.psid' + id + ' .ps_id').text());
		$("#ps_LastName").val($('.psid' + id + ' .ps_name').text());
		$("#ps_FirstName").val($('.psid' + id + ' .ps_name3').text());
		$("#ps_Street").val($('.psid' + id + ' .ps_street').text());
		$("#ps_Street2").val($('.psid' + id + ' .ps_street2').text());
		$("#ps_City").val($('.psid' + id + ' .ps_city').text());
		$("#ps_PostalCode").val($('.psid' + id + ' .ps_zip').text());
//		$("#ps_ShopType").val($('.psid' + id + ' .ps_id').text());
		$("#ps_Region").val($('.psid' + id + ' .ps_id').text());
		$("#ps_AddressName").val($('.psid' + id + ' .ps_name').text());
		$("#ps_PhoneBusiness").val($('.psid' + id + ' .ps_prefix').text());
		$("#ps_PhoneBusinessDirect").val($('.psid' + id + ' .ps_phone').text());
		$("#ps_ShopNo").val($('.psid' + id + ' .ps_id').text());

		$("#choosedPShop").ajaxSubmit({
			beforeSubmit: function(){
				$(form).css('display', 'none');
				loader.css('top', $("#innerOverlay").css('top')).css('display','block');
				overLay_AdjustLayer();
				scrollIt($("#inserted"), 600);
			},
			target: '#inserted',
			url: sheego.choosePShopUrl,
			success: function(){
				if(plic=='#inserted'){
					$("#changeaddress").ajaxSubmit({
								type: 'POST',
								target: '#inserted',
								url: sheego.commitAddressUrl,
								success: function(){
									loader.css('display','none');
								}
					});
				}else{
					$("#changeaddress").submit();
				}
			}
		});
		return false;
	});

	$(".buttonChoosePAusgabe").livequery("click", function(){
		var form = $(this).parent().parent().parent().parent().parent();
		var plic = ($("#ProductLineItemsCount").val()>1)?'#inserted':'_top';

		$(form).ajaxSubmit({
			beforeSubmit: function() {
				// $(form).css('display', 'none');
				loader.css('top', $("#innerOverlay").css('top')).css('display','block');
				$("#inserted").css('display','none');
				},
			target: '#inserted',
			type: 'POST',
			url: sheego.choosePAusgabeUrl,
			contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
			success: function(){
				if(plic=='#inserted'){
					$("#changeaddress").ajaxSubmit({
								type: 'POST',
								target: '#inserted',
								url: sheego.commitAddressUrl,
								success: function(){
									$("#inserted").css('display','block');
									loader.css('display','none');
								}
					});
				}else{
					// $("#inserted").css('display','block');
					$("#changeaddress").submit();
				}
			}
//			success: function(){overLay_AdjustLayer(); scrollIt($("#inserted"), 600);loader.css('display','none');}
		});
		return false;
	});


	$(".buttonChoosePaketAusgabe").livequery("click", function(){
		var form = $(this).parent().parent().parent().parent().parent();
		var plic = ($("#ProductLineItemsCount").val()>1)?'#inserted':'_top';
		$("#changeaddressPausgabe").ajaxSubmit({
			beforeSubmit: function(){$(form).css('display', 'none'); loader.css('top', $("#innerOverlay").css('top')).css('display','block');},
			target: '#inserted',
			type: 'POST',
			url: sheego.choosePAusgabeUrl,
				success: function(){
				if(plic=='#inserted'){
					$("#changeaddress").ajaxSubmit({
								type: 'POST',
								target: '#inserted',
								url: sheego.commitAddressUrl,
								success: function(){
									loader.css('display','none');
								}
					});
				}else{
					$("#changeaddress").submit();
				}
			}
//			success: function(){overLay_AdjustLayer(); scrollIt($("#inserted"), 600);loader.css('display','none');}
		});
		return false;
	});


//--------------------------- Test Anfang ------------------------

	$(".buttonAddAddressMP").livequery('click', function(){
		var form = $(this).parent().parent().parent().parent().parent();
		var plic = ($("#ProductLineItemsCount").val()>1)?'#inserted':'_top';
			form.ajaxSubmit({
				beforeSubmit: function(){
					loader.css('top', $("#innerOverlay").css('top')).css('display','block');
			},
			type: 'POST',
			target: '#inserted',
			url: sheego.newDAddress,
			success: function(){

					$("#changeaddress").ajaxSubmit({
								type: 'POST',
								target: sheego.commitAddressTarget,
								url: sheego.commitAddressUrl,
								success: function(){
									loader.css('display','none');
								}
					});
					loader.css('display','none');
				}
			});
			$("#inserted").focus();

		return false;
	});

	$(".buttonAddAddressMP2").livequery('click', function(){

		var form = $(this).parent().parent().parent().parent().parent();
		var plic = ($("#ProductLineItemsCount").val()>1)?'#inserted':'_top';
			form.ajaxSubmit({
				beforeSubmit: function(){
					loader.css('top', $("#innerOverlay").css('top')).css('display','block');
			},
			type: 'POST',
			target: '#inserted',
			url: sheego.newDAddress +'&LineItemID='+myPID,
			success: function(){

					$("#changeaddress").ajaxSubmit({
								type: 'POST',
									target: '#inserted',
								url: sheego.commitAddressUrl,
								success: function(){
									loader.css('display','none');
								}
					});
					loader.css('display','none');
				}
			});
			$("#inserted").focus();

		return false;
	});




	$(".buttonAddressDelete").livequery('click', function(){
		var form = $(this).parent().parent().parent().parent().parent();
		var plic = ($("#ProductLineItemsCount").val()>1)?'#inserted':'_top';
			form.ajaxSubmit({
				beforeSubmit: function(){
					loader.css('top', $("#innerOverlay").css('top')).css('display','block');
					$("#innerOverlay").css('display','none');
				},
				type: 'POST',
				target: '#inserted',
				url: sheego.removeAddress,
				success: function(){
					$("#changeaddress").ajaxSubmit({
								type: 'POST',
								target: sheego.commitAddressTarget,
								url: sheego.selectDAddress,
								success: function(){
									$("#innerOverlay").css('display','block');
									loader.css('display','none');
								}
					});
					$("#innerOverlay").css('display','block');
					loader.css('display','none');
				}
			});
			$("#inserted").focus();

		return false;
	});

	$(".buttonChangeAddressMP").livequery('click', function(){
		var form = $(this).parent().parent().parent().parent().parent();
		var plic = ($("#ProductLineItemsCount").val()>1)?'#inserted':'_top';
			form.ajaxSubmit({
				beforeSubmit: function(){
					loader.css('top', $("#innerOverlay").css('top')).css('display','block');
					$("#innerOverlay").css('display','none');
				},
				type: 'POST',
				target: '#inserted',
				url: sheego.changeDAddress,
				contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
				success: function(){
					$("#changeaddress").ajaxSubmit({
								type: 'POST',
								target: sheego.commitAddressTarget,
								url: sheego.chooseDAddressUrl,
								success: function(){
									$("#innerOverlay").css('display','block');
									loader.css('display','none');
								}
					});
					$("#innerOverlay").css('display','block');
					loader.css('display','none');
				}
			});
			$("#inserted").focus();

		return false;
	});

	$(".buttonNewAddressMP").livequery('click', function(){
		var form = $(this).parent().parent().parent();
		var plic = ($("#ProductLineItemsCount").val()>1)?'#inserted':'_top';
			form.ajaxSubmit({
				beforeSubmit: function(){
					loader.css('top', $("#innerOverlay").css('top')).css('display','block');
					$("#innerOverlay").css('display','none');
				},
				type: 'POST',
				target: '#inserted',
				url: sheego.newDAddress+'&CallType2=neuPopup',
				success: function(){
					$("#changeaddress").ajaxSubmit({
								type: 'POST',
								target: sheego.commitAddressTarget,
								url: sheego.chooseDAddressUrl,
								success: function(){
									$("#innerOverlay").css('display','block');
									loader.css('display','none');
								}
					});
					$("#innerOverlay").css('display','block');
					loader.css('display','none');
				}
			});
			$("#inserted").focus();

		return false;
	});

// --- --- //

	$(".topageMP").livequery('click', function(){
		var nextpage = $(this).attr("name");
		$('#changePage').ajaxSubmit({
			target: '#inserted',
			url: sheego.selectDAddress + '&AddressPage='+ nextpage,
			success: function(){
				loader.css('display','none');
			}
		});
		$("#inserted").focus();
		return false;
	});

	$("#nextpageMP").livequery('click', function(){
		var page = $("input[name=nextpage]").val();
		$('#changePage').ajaxSubmit({
			target: '#inserted',
			url: sheego.selectDAddress + '&AddressPage='+ page,
			success: function(){
				loader.css('display','none');
			}
		});
		$("#inserted").focus();
		return false;
	});

	$("#prevpageMP").livequery('click', function(){
		var page = $("input[name=prevpage]").val();
		$('#changePage').ajaxSubmit({
			target: '#inserted',
			url: sheego.selectDAddress + '&AddressPage='+ page,
			success: function(){
				loader.css('display','none');
			}
		});
		$("#inserted").focus();
		return false;
	});

	$("#totalMP").livequery('click', function(){
		var page = $("input[name=totalpagecount]").val() - 1;
		$('#changePage').ajaxSubmit({
			target: '#inserted',
			url: sheego.selectDAddress + '&AddressPage='+ page,
			success: function(){
				loader.css('display','none');
			}
		});
		$("#inserted").focus();
		return false;
	});

	$("#firstpageMP").livequery('click', function(){
		var page = $("input[name=firstpage]").val();
		$('#changePage').ajaxSubmit({
			target: '#inserted',
			url: sheego.selectDAddress + '&AddressPage='+ page,
			success: function(){
				loader.css('display','none');
			}
		});
		$("#inserted").focus();
		return false;
	});



	$("#buttonAssumeTime").livequery("click", function(){
		var plic = ($("#ProductLineItemsCount").val()>1)?'#inserted':'_top';
		if(plic=="#inserted"){
			$("#changeservice").ajaxSubmit({
				beforeSubmit: function(){
					$("#changeservice").css('display', 'none');
					loader.css('top', $("#innerOverlay").css('top')).css('display','block');
				},
				url: sheego.chooseDTimeUrl,
				target: "#inserted",
				success: function(){
					overLay_AdjustLayer();
					scrollIt($("#inserted"), 600);
					loader.css('display','none');
				}
			});
		}else{
			$("#changeservice").ajaxSubmit({
				beforeSubmit: function(){
					$("#changeservice").css('display', 'none');
					loader.css('top', $("#innerOverlay").css('top')).css('display','block');
				},
				url: sheego.chooseDTimeUrl,
				success: function(){location.href = sheego.step5;}
			});
		}
		return false;
	});

	$("#buttonResetTime").livequery("click", function(){
		$("#desiredDDate").toggle();
		$("#desiredDTime").toggle();
		return false;
	});

	// Alle Radiobuttons fuer Lieferdatum uebernehmen umschalten
	$("#resumeDDateForAlly").livequery('click', function(){
		$("#assumeDDateForAll").livequery(function(){
			$(this).find("input[id^='assumeDateY']").each(function(i){
				$(this).attr('checked', 'checked');
			});
		});
	});
	$("#resumeDDateForAlln").livequery('click', function(){
		$("#assumeDDateForAll").livequery(function(){
			$(this).find("input[id^='assumeDateN']").each(function(i){
				$(this).attr('checked', 'checked');
			});
		});
	});
	//und hiddenfields der uebernommenen Waren/Lieferdaten onsubmit mit anderen Werten belegen:
	$("#assumeDDateForAll").livequery('submit', function(){
		$("#articleList").find("dl").each(function(){
			if($(this).find("input[id^='assumeDateY']:checked").size()>0){
				$(this).find("input[name^='DesiredDeliveryDate_']").each(function(){$(this).val($("#LiDesiredDeliveryDate").val());});
				$(this).find("input[name^='DesiredDeliveryTime_']").each(function(){$(this).val($("#LiDesiredDeliveryTime").val())});
			}
		});
	});

	// Alle Radiobuttons fuer Lieferadresse uebernehmen umschalten
	$("#resumeDAddressForAlly").livequery('click', function(){
		$("#formAssumeDAddressForAll").livequery(function(){
			$(this).find("input[id^='assumeAddressY']").each(function(i){
				$(this).attr('checked', 'checked');
			});
		});
	});
	$("#resumeDAddressForAlln").livequery('click', function(){
		$("#formAssumeDAddressForAll").livequery(function(){
			$(this).find("input[id^='assumeAddressN']").each(function(i){
				$(this).attr('checked', 'checked');
			});
		});
	});
	
	// Email vergessen (Neue Version 28.10.2010) - alte Version war falsch positioniert
	$(".layerMessageNoEmail").livequery('click', function(){
		var
			url = eval("sheego." + $(this).attr('id')),
			params = { };
		genericLayerCall(loader, url, params);
	});


	// Email vergessen - alte Version
	$(".layerMessage").livequery('click', function(){
		var deflist = $(this).parent().parent();
		var loginform = $("#login");
		var prevall = loginform.prevAll();
		var thisTopPos = generalformTop;
		$(prevall).each(function(){
			thisTopPos = thisTopPos + $(this).outerHeight({margin:true});
		});
		thisTopPos = thisTopPos + deflist.outerHeight({margin:true});
		overLay();
		var div = ($(this).attr('id')=='noEmail')?32:-14;
		$("#innerOverlay").css('top',thisTopPos-div);
		$("#innerOverlay").css('left','15px');
		var pfad = "sheego." +  $(this).attr('id');
		$("#inserted").load(eval(pfad),{},function(){
				// customize form in here
		});

		scrollIt($(this), 300);
		return false;
	});

	// Passwort vergessen - Layer Submit
	$(".buttonNoPassword").livequery('click',function(){
		$("form#passwordForgotten").ajaxSubmit({
				beforeSubmit: function(){
					loader.css('top', $("#innerOverlay").css('top')).css('display','block');
					$("#inserted").css('display','none');
				},
				target: "#inserted",
				url: sheego.noPasswordProcess,
				success: function(response){
					loader.css('display','none');
					$("#inserted").html(response);
					$("#inserted").css('display','block');
				}
			});
		return false;
	});

	// Kundennummer vergessen (Neue Version - 28.10.2010) - alte Version war falsch positioniert
	$(".layerMessageNoKnr").livequery('click', function(){
		var
		url = eval("sheego." + $(this).attr('id')),
		params = { };
		genericLayerCall(loader, url, params);
	});

	// Kundennummer vergessen - alte Version
	$(".layerMessageKnr").livequery('click', function(){
		var deflist = $(this).parent().parent();
		var loginform = $("#login");
		var prevall = loginform.prevAll();
		var thisTopPos = generalformTop;
		$(prevall).each(function(){
			thisTopPos = thisTopPos + $(this).outerHeight({margin:true});
		});
		thisTopPos = thisTopPos + deflist.outerHeight({margin:true});
		overLay();
		var div = ($(this).attr('id')=='noPassword')?32:-14;
		$("#innerOverlay").css('top',thisTopPos-div);
		$("#innerOverlay").css('left','15px');
		var pfad = "sheego." +  $(this).attr('id');
		$("#inserted").load(eval(pfad),{},function(){
				// customize form in here
		});
		scrollIt($(this), 300);
		return false;
	});

	//Formularfelder im Focus schwarz umranden
	$(".orderSection select, .orderSection input[type='text'], .orderSection input[type='password']").livequery('focus', function(){
		if($(this).hasClass('error'))
			$(this).css('border', '1px solid #ff0000');
		else
			$(this).css('border', '1px solid #040000');
	});
	//Formularfelder im Blur grau umranden
	$(".orderSection select, .orderSection input[type='text'], .orderSection input[type='password']").livequery('blur' ,function(){
		if($(this).hasClass('error'))
			$(this).css('border', '1px solid #ff0000');
		else
			$(this).css('border', '1px solid #999999');
	});

	// Ausfuellhinweise neukunde INPUT FELDER
	$(".orderSection input.advice").livequery('focus', function(){
		var p = "#" + $(this).attr('id') + "Message";
		var dd = $(this).parent();
		var input = $(this).parent().parent().parent().find(".inputwrap");
		var objID = $(this).attr('id');
		//Messagebox aus der XML befuellen
		$.ajax({
	    type: "GET",
	    url: sheego.ajaxXmlPath + objID+".xml",
	    dataType: "xml",
		  success: function(xmlData) {
				browseXML($("#"+ objID + "Message"), xmlData, true);
			}
	  });
		if($(p).hasClass('blow')){
			messageDdHeight = $(dd).height();
			$(input).css('display','none');
			if($(".extend").length > 0){
				$(input).css('bottom','5px');
				$(dd).height($(p).height());
			}
			else{
				$(input).css('bottom',$(p).height()+25-messageDdHeight);
				$(dd).height($(p).height()+20);
			}
			$(input).css('display','block');
		}
		$(p).css("display", "block");
	});
	$(".orderSection input.advice").livequery('blur' ,function(){
	  if(!blurLock)
	  {
  		var p = "#" + $(this).attr('id') + "Message";
  		var dd = $(this).parent();
  		var input = $(this).parent().parent().parent().find(".inputwrap");
  		$(p).css("display", "none");
  		if($(p).hasClass('blow')){
  			$(input).css('display','none');
  			$(input).css('bottom',5);
  			$(dd).height(messageDdHeight);
  			$(input).css('display','block');
  	  }
		}
	});

	// Springen zum naechsten Geburtstagsfeld Neukunde
	/*$('input[name=geburttag]').autotab({ target: $('input[name=geburtmonat]').select(), format: 'numeric' });
	$('input[name=geburtmonat]').autotab({ target: $('input[name=geburtjahr]').select(), format: 'numeric', previous: $('input[name=geburttag]') });
	$('input[name=geburtjahr]').autotab({ previous: $('input[name=geburtmonat]'), format: 'numeric' });
	*/
	// Input Handling fuer Eingabe des Geburtstags
	$("input.pass, input.passerror").focus(function() {
		var
			attribs = ['id', 'class', 'name', 'maxlength', 'tabindex'],
			newInput = '<input';
		// copy attributes defined above into new input element
		for (var i = 0; i < attribs.length; i++) {
			var srcAttrib = $(this).attr(attribs[i]);
			if (srcAttrib == '') continue;
			newInput += ' ' + attribs[i] + '="' + srcAttrib + '"';
		}
		// set the type to password
		newInput += ' type="password" />'
		prevNode = $(this).prev();
		// replace old text input by new password input
		$(this).remove();
		$(prevNode).after(newInput);
		// register an event listener for filtering and auto-tabbing
		// autotab plugin is not used as it results in focus processing problems
		$(prevNode).next().keyup(function() {
			// filter away all non-digit chars
		  $(this).attr('value', $(this).attr('value').replace(/\D/, ''));
			// jump to next input in DOM when input maxlength is reached
			if ($(this).attr('value').length == $(this).attr('maxlength')) {
				var nextInput = $(this).nextAll('input:first');
				if (nextInput.length) {
					nextInput.focus();
					$(this).css('border-color', '#999');
				}
			}
		});
		// set focus back to the manipulated input element
		$(prevNode).next().focus();
		$(prevNode).next().css('border-color', '#040000');
	});

	// Ausfuellhinweise neukunde SELECT FELDER
	$(".orderSection select.advice").livequery('focus', function(){
		var p = "#" + $(this).attr('id') + "Message";
		var dd = $(this).parent();
		var input = $(this).parent().parent().parent().find(".inputwrap");
		var objID = $(this).attr('id');
		//Messagebox aus der XML befuellen
		$.ajax({
	        type: "GET",
	        url: sheego.ajaxXmlPath + objID+".xml",
	        dataType: "xml",
			success: function(xmlData){
               browseXML($("#"+objID+"Message"), xmlData, true);
	        }
	    }); //ajax
		if($(p).hasClass('blow')){
			messageDdHeight = $(dd).height();
			$(input).css('display','none');
			$(input).css('bottom',$(p).height()+25-messageDdHeight);
			$(dd).height($(p).height()+20);
			$(input).css('display','block');
		}
		$(p).css("display", "block");
	});
	$(".orderSection select.advice").livequery('blur' ,function(){
		var p = "#" + $(this).attr('id') + "Message";
		var dd = $(this).parent();
		var input = $(this).parent().parent().parent().find(".inputwrap");
		if($(p).hasClass('blow')){
			$(input).css('display','none');
			$(input).css('bottom',5);
			$(dd).height(messageDdHeight);
			$(input).css('display','block');
		}
		$(p).css("display", "none");
	});

	// Unbekannt verzogen step2_adresse
	$('#change-SH').click(function(){
		$('#changeStrasseUndHausnummer').css('display', 'block');
		$('#changeStrasseUndHausnummer').css('visibility', 'visible');
	})
	$('#confirm-SH').click(function(){
		$('#changeStrasseUndHausnummer').css('display', 'none');
		$('#changeStrasseUndHausnummer').css('visibility', 'hidden');
	})
	$('#change-SH2').click(function(){
		$('#changeStrasseUndHausnummer2').css('display', 'block');
		$('#changeStrasseUndHausnummer2').css('visibility', 'visible');
	})
	$('#confirm-SH2').click(function(){
		$('#changeStrasseUndHausnummer2').css('display', 'none');
		$('#changeStrasseUndHausnummer2').css('visibility', 'hidden');
	})
	$('#change-PLZ').click(function(){
		$('#changePostleitzahl').css('display', 'block');
		$('#changePostleitzahl').css('visibility', 'visible');
	})
	$('#confirm-PLZ').click(function(){
		$('#changePostleitzahl').css('display', 'none');
		$('#changePostleitzahl').css('visibility', 'hidden');
	})
	$('#change-ORT').click(function(){
		$('#changeOrt').css('display', 'block');
		$('#changeOrt').css('visibility', 'visible');
	})
	$('#confirm-ORT').click(function(){
		$('#changeOrt').css('display', 'none');
		$('#changeOrt').css('visibility', 'hidden');
	})
	$('#change-EMAIL').click(function(){
		$('#changeEmail').css('display', 'block');
		$('#changeEmail').css('visibility', 'visible');
		$('strong.title4').css('display', 'block');
	})
	$('#confirm-EMAIL').click(function(){
		$('#changeEmail').css('display', 'none');
		$('#changeEmail').css('visibility', 'hidden');
		$('strong.title4').css('display', 'none');
	})
	// Einblenden des zweiten eMail Feldes beim verlassen des ersten eMail Feldes
	$("#nkAnmeldung #email").blur( function() {
		var val = $(this).attr("value");
		if(jQuery.trim(val).length > 0) {
			$("div.orderSection #verifyMail").css('display','block');
			$("div.orderSection #verifyMail input#email2").focus();
		}
	});

	// Einblenden des zweiten Passwort Feldes beim verlassen des ersten Passwort Feldes
	$("div.orderSection #passwort1").blur( function() {
		var val = $(this).attr("value");
		if(jQuery.trim(val).length > 0) {
			$("div.orderSection #verifyPassword").css('display','block');
			$("div.orderSection #verifyPassword input#passwort2").focus();
		}
	});

	// weitere Telefonnummern hinzufuegen
	$("#moreTel a").click(function(){
		if($("#tel2").css('display')=='none') {
			$("#tel2").css('display', 'block');
			$("#tel2").css('visibility', 'visible');
		}else if($("#tel3").css('display')=='none'){
			$("#tel3").css('display', 'block');
			$("#tel3").css('visibility', 'visible');
			$("#moreTel dd").html('&nbsp;');
		}
		return false;
	});

	// formstyling
	$(".orderSection h2:first:not(#catalogOrderHeadline)").css("margin", "0px 0px 5px 0px");
	$("#col1 h2").css("margin-top", "20px");
	$("#col1 h2:first").css("margin-top", "0px");

	$("td.ui-datepicker-week-end-cell:even").livequery(function(){
		$(this).css('color', '#000000');
	})

	// zahlpause unchecken, wenn andere zahlungsart ausgewaehlt wird.
	$('#lRechnung').click(function(){
		$("input#zahlpause").removeAttr("checked");
	});

	//Wunschtermin
	$("#datepicker").livequery(function(){
		$(this).datepicker({
			beforeShowDay: nationalDaysAndSundays,
			numberOfMonths: 2,
			stepMonths: 2,
			hideIfNoPrevNext: true,
			changeMonth: false,
			changeYear: false,
			monthNames: ['Januar','Februar','MÃ¤rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
			dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
			firstDay: 1,
			changeFirstDay: false,
			dateFormat: 'dd.mm.yy',
			minDate: '+2d',
			maxDate: sheego.maxDate,
			onSelect: assumeDate
		});
	});

	$(".toDay").livequery(function(){
		$(this).text(toDay());
	});
	$("input[name='selectTR']").livequery('click',function(){
		$("input#DesiredDeliveryTime").val($(this).val());
		$("#buttonAssumeTime").livequery(function(){
			$(this).css('display','block');
		});
	});
	// Wunschtermin zuende

	$("input#changeEmail").click(function(){
		if ($("#BasketForm_Email").attr('disabled')) {
			$("#BasketForm_Email").removeAttr('disabled').focus();
		}
		else {
			$("#BasketForm_Email").attr('disabled', 'true').blur();
		}
	});

	$("#articleList").livequery(function(){
		$(this).find("dl").css('border-top','1px solid #fff');
	})
	
	$("input[type='hidden']").css('display', 'none');

	$(".buttonLZA").click(function(){
		overLay();
		loader.css('top', $("#innerOverlay").css('top')).css('display','block');
		window.location.href = sheego.step3;
		return false;
	});

	$(".inputwrap input").livequery('mouseover', function(){
		$(this).parent().css('border','1px solid #b7b7b7');
	});
	$(".inputwrap input").livequery('mouseout', function(){
		$(this).parent().css('border','1px solid #c7c7c7');
	});
	$("a.button, a.button2").livequery('mouseover', function(){
		$(this).css('border','1px solid #b7b7b7');
	});
	$("a.button, a.button2").livequery('mouseout', function(){
		$(this).css('border','1px solid #c7c7c7');
	});

	// blur fix for newcustomer form
	// :TODO: refactor this for general event problems
	// idea: save the event-function, overwrite it and rebind the event-function
	$("a.button0").livequery('mouseover', function (){
	  blurLock = true;
  });

 	$("a.button0").livequery('mouseout', function (){
	  blurLock = false;
  });

	// von step1 auf step2, step2new und step3

	$('#gostep2').livequery('click', function(){
		gostep2();
	});

	$('#gostep2new').livequery('click', function(){
		gostep2new();
	});

	$('#gostep3').livequery('click', function(){
		gostep3();
	});


//$('#catAnfBut').livequery('click', function (){
//	overLay();loader.css('top','800px').css('display','block');
//});


$('#catAnfBut').click(function(event){
	var url = sheego.loaderTemplate;
	$.layer.getMessageBox(url, null, null, null, true);
});



/* Survey Layer START */
	// shows an layer on the placedorder-page which asks the customer to take part in a survey
	if (sheego.survey) {
		genericLayerCall(loader, sheego.surveyLayer, { });
	}

	// send Survey Layer
	$("#beginSurvey").livequery('click', function(){
		overLayFinish();
 		openPopUp("http://www.iqsn.de/L30/cawi/Titeltest_0810/Kundenumfragen/titeltest.php","Umfrage","730px","650px");
 		return false;
	});

/* Survey Layer END */


/* Start -  Landingpage fuer die 10 Euro Aktionen - 17312: Ausbau Versandkosten gratis + Einbau 10 euro + Armband */

//	nur 10 Euro und Zugabe...
 	
	var zugabeDiv = $('<div class="warten" style="padding:10px; top: 350px; display: none;"><p style="margin-bottom:10px;margin-left:10px;font-size:12px;text-align:left;">Der Gutschein sowie die gratis Zugabe wurden in den Warenkorb gelegt</p><p style="margin-left:10px;width:600px;font-size:12px;font-weight:normal;text-align:left;float:left !important;">Die gratis Zugabe wurde in Ihren Warenkorb gelegt und die 10 &euro; werden automatisch von Ihrer Rechnung abgezogen. Bitte beachten Sie, dass sich mindestens ein weiterer Artikel in Ihrem Warenkorb befinden muss, damit Sie den 10 &euro; Gutschein und die Zugabe erhalten.</p><div style="clear:both;font-size:0;line-height:0;">&nbsp;</div><a class="buttonAbsTopRight buttonFinish buttonCloseSchal" href="#"><span style="display:none;">Abbrechen</span></a><a class="buttonAbsBotRight buttonBack buttonCloseSchal" href="#"><span style="display:none;">Schliessen</span></a></div>')
	.appendTo("body");

	
//	nur 10 Euro...
/* 
	var zugabeDiv = $('<div class="warten" style="padding:10px; top: 350px; display: none;"><p style="margin-bottom:10px;margin-left:10px;font-size:12px;text-align:left;">10 Euro geschenkt!</p><p style="margin-left:10px;width:600px;font-size:12px;font-weight:normal;text-align:left;float:left !important;">Sie haben den Gutschein in Ihren Warenkorb gelegt. Die 10 Euro werden von Ihrer Rechnung abgezogen.<br />Viel Spa&szlig; beim Shoppen!</p><div style="clear:both;font-size:0;line-height:0;">&nbsp;</div><a class="buttonAbsTopRight buttonFinish buttonCloseSchal" href="#"><span style="display:none;">Abbrechen</span></a><a class="buttonAbsBotRight buttonBack buttonCloseSchal" href="#"><span style="display:none;">Schliessen</span></a></div>')
	.appendTo("body");
*/
/*	
//	 17635: 20% auf Wäsche und Bademode ...
	var zugabeDiv = $('<div class="warten" style="padding:10px; top: 350px; display: none;"><p style="margin-bottom:10px;margin-left:10px;font-size:12px;text-align:left;">20% auf Wäsche und Bademode</p><p style="margin-left:10px;width:600px;font-size:12px;font-weight:normal;text-align:left;float:left !important;">Die 20% Rabatt werden bei Ihrem Einkauf aus dem Wäsche- und Bademoden-Sortiment berücksichtigt.<br />Viel Spaß beim Shoppen!</p><div style="clear:both;font-size:0;line-height:0;">&nbsp;</div><a class="buttonAbsTopRight buttonFinish buttonCloseSchal" href="#"><span style="display:none;">Abbrechen</span></a><a class="buttonAbsBotRight buttonBack buttonCloseSchal" href="#"><span style="display:none;">Schliessen</span></a></div>')
	.appendTo("body");
*/
	var zugabeDivFailed = $('<div class="warten" style="padding: 10px; top: 350px; display: none;"><p style="margin-bottom:10px;margin-left:10px;font-size:12px;text-align:left;">Leider k&ouml;nnen wir den 10-Euro-Gutschein nicht f&uuml;r Sie einl&ouml;sen.</p><p style="margin-left:10px;width:600px;font-size:12px;font-weight:normal;text-align:left;float:left !important;">Bitte beachten Sie, dass der Gutschein nur ein Mal f&uuml;r Ihre erste Bestellung bei Sheego in Anspruch genommen werden kann.</p><div style="clear:both;font-size:0;line-height:0;">&nbsp;</div><a class="buttonAbsTopRight buttonFinish buttonCloseSchal" href="#"><span style="display:none;">Abbrechen</span></a><a class="buttonAbsBotRight buttonBack buttonCloseSchal" href="#"><span style="display:none;">Schliessen</span></a></div>')
	.appendTo("body");

	$('#AddLS2Basket').livequery('click', function (){
		overLay();
		loader.css('top','350px').css('display','block');
		$.ajax({
				url: sheego.AddBonus,
				//url: sheego.AddBonusAndArticle,
				success: function(data) {
					loader.css('display','none');
//					if (data == 'success') { 
						zugabeDiv.css('display','block');
//					}
//					else { 
//						zugabeDivFailed.css('display','block');
//					}
				}
		});
	});
/* Start -  Landingpage fuer die 10 Euro Aktionen Neukunden -   17681 Einbau 10 EURO + Plisseeschal Aktion  */
	$('#AddLS2BasketNk').livequery('click', function (){
		overLay();
		loader.css('top','350px').css('display','block');
		$.ajax({
				//url: sheego.AddBonusNk,
				url: sheego.AddBonusAndArticle,
				success: function(data) {
					loader.css('display','none');
//					if (data == 'success') { 
						zugabeDiv.css('display','block');
//					}
//					else { 
//						zugabeDivFailed.css('display','block');
//					}
				}
		});
	});


	var zugabeDivVC = $('<div class="warten" style="padding:10px; top: 350px; display: none;"><p style="margin-bottom:10px;margin-left:10px;font-size:12px;text-align:left;">10 Euro geschenkt!</p><p style="margin-left:10px;width:600px;font-size:12px;font-weight:normal;text-align:left;float:left !important;">Sie haben den Gutschein in Ihren Warenkorb gelegt. Die 10 Euro werden von Ihrer Rechnung abgezogen.<br />Viel Spa&szlig; beim Shoppen!</p><div style="clear:both;font-size:0;line-height:0;">&nbsp;</div><a class="buttonAbsTopRight buttonFinish buttonCloseSchal" href="#"><span style="display:none;">Abbrechen</span></a><a class="buttonAbsBotRight buttonBack buttonCloseSchal" href="#"><span style="display:none;">Schliessen</span></a></div>')
	.appendTo("body");
	
	$('#AddLS2BasketVC').livequery('click', function (){
		overLay();
		loader.css('top','350px').css('display','block');
		$.ajax({
				url: sheego.AddBonusGCODE,
				success: function(data) {
					loader.css('display','none');
					if (data == 'success') { 
						zugabeDivVC.css('display','block');
					}
					else { 
						zugabeDivFailed.css('display','block');
					}
				}
		});
	});
	
	
	// Versandkostenbefreiung - 17254: Ausbau 10Euro + Schal und Einbau Versandkosten gratis 	
	$('#AddLS2BasketVKB').livequery('click', function (){
		overLay();
		loader.css('top','350px').css('display','block');
		$.ajax({
				url: sheego.AddBonusGCODE,
				success: function(data) {
					loader.css('display','none');
					//if (data == 'success') { 
						zugabeDivVKB.css('display','block');
				//	}
				//	else { 
				//		zugabeDivVKBFailed.css('display','block');
				//	}
				}
		});
	});
	
	var zugabeDivVKB = $('<div class="warten" style="padding:10px; top: 350px; display: none;"><p style="margin-bottom:10px;margin-left:10px;font-size:12px;text-align:left;">Versandkosten geschenkt!</p><p style="margin-left:10px;width:600px;font-size:12px;font-weight:normal;text-align:left;float:left !important;">Sie haben den Gutschein in Ihren Warenkorb gelegt. Die Versandkosten werden von Ihrer Rechnung abgezogen.<br /> <br />Viel Spa&szlig; beim Shoppen!</p><div style="clear:both;font-size:0;line-height:0;">&nbsp;</div><a class="buttonAbsTopRight buttonFinish buttonCloseSchal" href="#"><span style="display:none;">Abbrechen</span></a><a class="buttonAbsBotRight buttonBack buttonCloseSchal" href="#"><span style="display:none;">Schliessen</span></a></div>')
	.appendTo("body");
	var zugabeDivVKBFailed = $('<div class="warten" style="padding: 10px; top: 350px; display: none;"><p style="margin-bottom:10px;margin-left:10px;font-size:12px;text-align:left;">Leider k&ouml;nnen wir den Versandkosten-Gutschein nicht f&uuml;r Sie einl&ouml;sen.</p><p style="margin-left:10px;width:600px;font-size:12px;font-weight:normal;text-align:left;float:left !important;">Bitte beachten Sie, dass der Gutschein nur ein Mal in Anspruch genommen werden kann.</p><div style="clear:both;font-size:0;line-height:0;">&nbsp;</div><a class="buttonAbsTopRight buttonFinish buttonCloseSchal" href="#"><span style="display:none;">Abbrechen</span></a><a class="buttonAbsBotRight buttonBack buttonCloseSchal" href="#"><span style="display:none;">Schliessen</span></a></div>')
	.appendTo("body");
	
	

$(".buttonCloseSchal").livequery('click', function(){
		overLayFinish();
		if (typeof(zugabeDiv) != 'undefined')
			zugabeDiv.css('display','none');
		if (typeof(zugabeDivNl) != 'undefined')
			zugabeDivNl.css('display','none');
		if (typeof(zugabeDivVC) != 'undefined')
			zugabeDivVC.css('display','none');
		if (typeof(zugabeDivFailed) != 'undefined')
			zugabeDivFailed.css('display','none');
		if (typeof(zugabeDivVKB) != 'undefined')
			zugabeDivVKB.css('display','none');
		if (typeof(zugabeDivVKBFailed) != 'undefined')
			zugabeDivVKBFailed.css('display','none');
		return false;
});

/* Ende -  Landingpage fuer die 10 Euro Aktionen */

/* Start - Landingpage mit indiv. Gutscheincode fÃ¼r Neukunden Adresszukauf tp 15204  */

var zugabeDivNl = $('<div class="warten" style="padding: 10px; top: 350px; display: none;"><p style="margin-bottom:10px;margin-left:10px;font-size:12px;text-align:left;">Die 10 &euro; Shopping-Geld wurden in den Warenkorb gelegt</p><p style="margin-left:10px;width:600px;font-size:12px;font-weight:normal;text-align:left;float:left !important;">Die 10 &euro; werden automatisch von Ihrer Rechnung abgezogen. Bitte beachten Sie, dass sich mindestens ein weiterer Artikel in Ihrem Warenkorb befinden muss, damit Sie den 10 &euro; Gutschein erhalten.</p><div style="clear:both;font-size:0;line-height:0;">&nbsp;</div><a class="buttonAbsTopRight buttonFinish buttonCloseSchal" href="#"><span style="display:none;">Abbrechen</span></a><a class="buttonAbsBotRight buttonBack buttonCloseSchal" href="#"><span style="display:none;">Schliessen</span></a></div>')
.appendTo("body");

/* Ende -  Landingpage mit indiv. Gutscheincode fuer Neukunden Adresszukauf T+ 15204  */

// Load data from XML file
function browseXML(targetObj, xmlData, isShowIcon) {
	var html;
	$("headline", xmlData).each(function() {
		clazz = (isShowIcon ? 'icon' : 'noIcon');
		html = '<strong class="' + clazz + '">' + $(this).text() + '</strong>';
	});
	$("text", xmlData).each(function() {
		html += $(this).text();
	});
	targetObj.html(html);
}

/*
	Prepariert die Formulare fuer das Senden als AJAX-Submit
	Ermoeglicht das Senden der Formulare mittels Return Taste
 */ 
$("#PasswordLogin, #LoginPassForm, #KontoAnschriftForm, #LieferAnschriftForm, #LoginMailForm, #PINLogin, " +
	"#passwordForgotten, #addressForm").livequery(function() {
	var form = $(this);
	// initialize ajax form
	form.ajaxForm();
	// check for return key and fire a click event on any submit class button 
	form.find('input').bind("keydown", function(e) {
		if (e.keyCode == 13) {
			form.find('.submit').click();
		}
	})
});

/* Kundenkonto - Generischer Layer Aufruf */
$(".AccountLeftNav, .buttonLoginMailChange, .buttonLoginMailAdd, .buttonLoginPassChange, " +
	".buttonLoginPassAdd, .buttonLoginMailPassAdd, .buttonInfoDienste, .buttonKAddress, " +
	".buttonContact, .buttonDAddress, .layerMessagePW").livequery('click', function() {
		var
			url = eval("sheego." + $(this).attr('id')),
			params = { };
		genericLayerCall(loader, url, params);
	}
);

/* Kundenkonto - Generischer Layer Submit */
$(".inputPassword, .inputPIN, .updateEmail, .updatePassword, .updateEmailPassword, .changeInfoServices, " + 
	".changeContactData, #changeAccountAddressProcess, #changeDeliveryAddressProcess, #createShippingAddressProcess, " +
	"#updateShippingAddressProcess").livequery('click', function() {
	var
		submitForm = "form#" + $(this).parents("#inserted").children("form").attr("id"),
		url = "sheego." + $(this).attr('id'),
		beforeSubmitHook = sheego.beforeSubmitHooks[$(this).attr('id')],
		successHook = sheego.successHooks[$(this).attr('id')];
		sheego.successHooks.loader = sheego.beforeSubmitHooks.loader = loader;
	$(submitForm).ajaxSubmit({
		beforeSubmit: beforeSubmitHook ? beforeSubmitHook : function() {
			loader.css('top', $("#innerOverlay").css('top')).css('display','block');
			$("#inserted").css('display','none');
		},
		dataType: "json",
		type: "POST",
		url: eval(url),
		success: function(json) {
			if (successHook) {
				successHook(json);
			} else {
				loader.css('display','none');
				if (json) {
					$.each(json, function() {
						$("#inserted").prepend('<div class="topinfo"><p class="error">' + this + '</p></div>');
						$("#inserted").css('display','block');
					});
				}
			}
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			//a_lert(textStatus + ': ' + errorThrown);
		}
	});
  return false;
});


// Kundenkonto - Passwort
$("#showPasswordInformation").livequery('click', function(){
	$("#passwordInformation").show();
});

// Kundenkonto - Lieferadresse hinzufuegen oder aktualisieren
$("#addShippingAddressButton").css('display', 'none');  // force a redraw to
$("#addShippingAddressButton").css('display', 'block'); // ship around IE7 bug
$("#addShippingAddressButton").livequery('click', function() {
	genericLayerCall(loader, sheego.addShippingAddress, { AddressID: '_blank' });
	return false;
});
$(".updateShippingAddressLink").click(function() {
	var id = $(this).attr('name');
	genericLayerCall(loader, sheego.addShippingAddress, { AddressID: id });
	return false;
});

// Kundenkonto - Stornierung einer Bestellung - Layer Call
$("#ShowCancelableOrdersButton").css('display', 'none');  // force a redraw to
$("#ShowCancelableOrdersButton").css('display', 'block'); // ship around IE7 bug
$("#ShowCancelableOrdersButton").click(function() {
	var checkedInputs = getCheckedInputsFromCancelableOrders();
	if (checkedInputs.length) {
		overLay();
		loader.css('display', 'block');
		$("#inserted").load(
			sheego.confirmCancelOrders, { },
			function() {
				loader.css('display', 'none');
				$("#inserted").css('left', '300px').css('width', '420px');
				$("#inserted").css('position', 'relative').css('display', 'block');
				copySelectedCancelableOrders(checkedInputs);
				overLay_AdjustLayer();
			}
		)
	}
	return false;
});

// Kundenkonto - Stornierung einer Bestellung - Layer Submit
$("#todaysOrdersDeleteButton").livequery('click', function(){
	loader.css('top', $("#innerOverlay").css('top'));
	loader.css('width', $("#col234").css('width'));
	loader.css('left', '214px');
	loader.css('display','block');
	$("#inserted").css('display','none');
	document.forms.CustomerDataCancelableOrders.submit();
});

/* Info and Error Icons START */
// > Show InfoBox on icon MouseOver event
$(".Info, .InfoNoMargin").livequery('mouseover', function() {
	var icon = this;
	$.ajax({
		type: "GET",
		url: sheego.ajaxXmlPath + $(icon).attr('id') + ".xml",
		dataType: "xml",
		success: function(xmlData) {
			displayInfoMessageBoxForIcon(icon, xmlData);
    }
  });
});

// > Show ErrorBox on icon MouseOver event
$(".InfoError, .InfoErrorNoMargin").livequery('mouseover', function() {
	displayErrorMessageBoxForIcon(this, sheego.iconMessages[$(this).attr('id')]);
});

// > Hide InfoBox on icon MouseOut event
$(".Info, .InfoNoMargin").livequery('mouseout', function() {
	hideMessageBoxes($('p.message'));
});

// > Hide ErrorBox on icon MouseOut event
$(".InfoError, .InfoErrorNoMargin").livequery('mouseout', function() {
	hideMessageBoxes($('p.errormessage'));
});

// > Hide InfoBox or ErrorBox when clicked
$("p.message, p.errormessage").livequery('click', function() {
	hideMessageBoxes($(this));
});

/* Info and Error Icons END */

/* Authentification Layer START */
// Show an Authentification Layer whenever advanced ACCESS rights are required
if (sheego.authLayer) {
	genericLayerCall(loader, sheego.inputPinOrPassword, { });
}
/* Authentification Layer END */

}); //end of the line (domready)

// =============================================================================

function genericLayerCall(loader, url, params) {
	hideMessageBoxes($("p.message, p.errormessage"));
	overLay();
	// Position der ersten Content Ueberschrift ermitteln
	var dl = $("#col234 h2:first");
	// Groesse und Position des Layers setzen
	$("#innerOverlay").css('top', (dl.offset() ? dl.offset().top : '347') + 'px'); // use generalformTop
	$("#innerOverlay").css('left', ($.browser.msie && $.browser.version == '6.0') ? '184px' : '214px');
	$("#innerOverlay").css('width', '582px');
	// Loader anzeigen
	loader.css({'width': '582px'}).css({'left':'214px'}).css('top', $("#innerOverlay").css('top')).css('display', 'block');
	// Content ersetzen
	if ($("#inserted").hasClass('col1234')) {
		$("#inserted").removeClass('col1234').addClass('col234');
	}
	$("#inserted").load(url, params, function() {
		$(this).css('display', 'block');
		overLay_AdjustLayer();
		scrollIt($("#inserted"), 800);
		loader.css('display', 'none');
	});
	return false;
}

// ShopWide - Error message container
sheego.iconMessages = { };

// Kundenkonto - Custom Ajax submit hooks
sheego.beforeSubmitHooks = { };

sheego.beforeSubmitHooks.changeAccountAddressProcess = 
		sheego.beforeSubmitHooks.changeDeliveryAddressProcess = function(fdata, form) {
	var
		formChanged = false,
		formElements = form.get(0).elements;
	for (var i = 0; i < formElements.length; i++) {
		if (formElements[i].name.substr(0,3) == 'Old') {
			// ignore element in case it is a starting value element
			continue;
		} else {
			var
				element = formElements[i],
				oldElement = formElements['Old' + element.name];
			// ignore element when no starting value element is available
			if (oldElement === undefined) continue;
			// set formChanged flag and break in case a changed element was found
			if (formChanged = element.value != oldElement.value) break;
		}
	}
	// when nothing was changed react as if the layer was cancelled
	if (! formChanged) {
		overLayFinish();
		sheego.successHooks.loader.css('display','none');
	}
	return formChanged;
}

// Kundenkonto - Custom Ajax success hooks
sheego.successHooks = { };

sheego.successHooks.checkPIN = sheego.successHooks.checkPassword = function(json) {
	if (json.result == 'success') {
		// check AuthRequestTrigger to continue to the initially requested page
		switch (json.authRequestTrigger) {
			case 'ViewCustomerData-AddEmail':
				overLayFinish();
				sheego.successHooks.loader.css('display','none');
				genericLayerCall(sheego.successHooks.loader, sheego.addEmail, { });
				break;
			case 'ViewCustomerData-AddPassword':
				overLayFinish();
				sheego.successHooks.loader.css('display','none');
				genericLayerCall(sheego.successHooks.loader, sheego.addPassword, { });
				break;
			case 'ViewCustomerData-ChangeEmail':
				overLayFinish();
				sheego.successHooks.loader.css('display','none');
				genericLayerCall(sheego.successHooks.loader, sheego.changeEmail, { });
				break;
			case 'ViewCustomerData-ChangePassword':
				overLayFinish();
				sheego.successHooks.loader.css('display','none');
				genericLayerCall(sheego.successHooks.loader, sheego.changePassword, { });
				break;
			case 'ViewCustomerData-AddEmailAndPassword':
				overLayFinish();
				sheego.successHooks.loader.css('display','none');
				genericLayerCall(sheego.successHooks.loader, sheego.addEmailAndPassword, { });
				break
			default:
				window.location.reload();
		}
	} else {
		sheego.successHooks.loader.css('display','none');
		// remove previous error message
		$("#PasswordLogin input[type=password], #PINLogin input[type=password]").css("border","1px solid red");
		$("#inserted").find('dl.errorBay').remove();
		// show current error message
		$("#inserted fieldset").prepend('<dl class="errorBay"><dd><p class="error">' + json.looseError + '</p></dd></dl>');
		$("#inserted").css('display','block');
	}
}

sheego.successHooks.changeInfoServicesProcess = function(json) {
	if (json.updateResult == 'success') {
		$('#infodienste table.myaccount').parent().load(
			sheego.changeInfoServicesParentUpdate,
			function() {
				overLayFinish();
				sheego.successHooks.loader.css('display','none');
			}
		)
	}
	else {
		sheego.successHooks.loader.css('display','none');
		// remove previous error notifications
		$("#inserted").find('dl.errorBay').remove();
		// insert current error notifications
		var errorText = '<b>Hinweis:</b> Bei der Aktualisierung Ihrer Infodienste ist ein Fehler aufgetreten.';
		$("#inserted fieldset.meinkonto").prepend('<dl class="errorBay"><dd><p class="error">' + errorText + '</p></dd></dl>');
		$("#inserted").css('display','block');
	}
}

sheego.successHooks.updateEmail = function(json) {
	if (json.updateEmail == 'success') {
		$('#anmeldedaten td.email').load(
			sheego.updateEmailParentUpdate,
			function() {
				overLayFinish();
				sheego.successHooks.loader.css('display','none');
			}
		)
		addEmailAndPasswordButton = $("#anmeldedaten #addEmailAndPassword"); 
		newButtonCode = addEmailAndPasswordButton.parent().html();
		addEmailAndPasswordButton.attr("id","changeEmail").removeClass("buttonLoginMailPassAdd").addClass("buttonLoginMailChange").css("bottom", "40px");
		addEmailAndPasswordButton.parent().after(newButtonCode);
		$("#anmeldedaten #addEmailAndPassword").attr("id","addPassword").removeClass("buttonLoginMailPassAdd").addClass("buttonLoginPassAdd").css("bottom", "0px").wrap(document.createElement("dd"));		

		$("#infodienste dd:first p").remove();
		$("#infodienste #addEmail").attr("id","changeInfoServices").removeClass("buttonLoginMailAdd").addClass("buttonInfoDienste");
		$("#anmeldedaten #addEmail").attr("id","changeEmail").removeClass("buttonLoginMailAdd").addClass("buttonLoginMailChange");
	}
	else {
		sheego.successHooks.loader.css('display','none');
		$("#inserted").css('display','block');
		// remove previous error notifications
		$("#LoginMailForm").find('img.InfoError').removeClass('InfoError').addClass('Info');
		$("#inserted").find('dl.errorBay').remove();
		// insert current error notifications
		var errorText = json.Failure ? json.Failure : '<b>Hinweis:</b> Bitte pr&uuml;fen Sie die eingegebene E-Mail-Adresse. ' + 
			'Diese muss in beiden Eingabefeldern &uuml;bereinstimmen.';
		$("#inserted fieldset.meinkonto").prepend('<dl class="errorBay"><dd><p class="error">' + errorText + '</p></dd></dl>');
		//$("#inserted input").css('border','1px solid red');
		// set error icons matching back end response
		if (json.invalidFields) {
			$.each(json.invalidFields, function (key, val) {
			  if (key == 'Tail') return;
				var errorField = $("#LoginMailForm [name='"+ key +"']");
				// select box is framed by a two level div container (trident workaround)
				(errorField.is('select')) && (errorField = errorField.parent().parent());
				// draw a big bad red frame around error field
				errorField.css('border-color', 'red');
				// look for according error icon and error message paragraph
				var messagePredecessor = errorField;
				while (! messagePredecessor.hasClass('messagePredecessor')) {
					messagePredecessor = messagePredecessor.parent();
				}
				var icon = messagePredecessor.siblings('img.Info');
				icon.removeClass('Info').addClass('InfoError');
				sheego.iconMessages[icon.attr('id')] = val;
			});
		}
	}
}

sheego.successHooks.updatePassword = function(json) {
	if (json.updatePassword == 'success') {
		$('#anmeldedaten td.password').load(
			sheego.updatePasswordParentUpdate,
			function() {
				overLayFinish();
				sheego.successHooks.loader.css('display','none');
			}
		)
		$("#anmeldedaten #addPassword").attr("id","changePassword").removeClass("buttonLoginPassAdd").addClass("buttonLoginPassChange");
	}
	else {
		sheego.successHooks.loader.css('display','none');
		$("#inserted").css('display','block');
		// remove previous error notifications
		$("#LoginPassForm").find('img.InfoError').removeClass('InfoError').addClass('Info');
		$("#inserted").find('dl.errorBay').remove();
		// insert current error notifications
		var errorText = json.Failure ? json.Failure :  '<b>Hinweis:</b> Bitte pr&uuml;fen Sie das eingegebene Passwort. ' +
			'Dieses muss in beiden Eingabefeldern &uuml;bereinstimmen und eine L&auml;nge von 6-12 Zeichen haben.';
		$("#inserted fieldset.meinkonto").prepend('<dl class="errorBay"><dd><p class="error">' + errorText + '</p></dd></dl>');
		//$("#inserted input").css('border','1px solid red');
		// set error icons matching back end response
		if (json.invalidFields) {
			$.each(json.invalidFields, function (key, val) {
			  if (key == 'Tail') return;
				var errorField = $("#LoginPassForm [name='"+ key +"']");
				// select box is framed by a two level div container (trident workaround)
				(errorField.is('select')) && (errorField = errorField.parent().parent());
				// draw a big bad red frame around error field
				errorField.css('border-color', 'red');
				// look for according error icon and error message paragraph
				var messagePredecessor = errorField;
				while (! messagePredecessor.hasClass('messagePredecessor')) {
					messagePredecessor = messagePredecessor.parent();
				}
				var icon = messagePredecessor.siblings('img.Info');
				icon.removeClass('Info').addClass('InfoError');
				sheego.iconMessages[icon.attr('id')] = val;
			});
		}
	}
}

sheego.successHooks.updateEmailPassword = function(json) {
	if (json.updateEmailPassword == 'success') {
		$('#anmeldedaten td.email').load(sheego.updateEmailParentUpdate);
		$('#anmeldedaten td.password').load(sheego.updatePasswordParentUpdate);
		overLayFinish();
		sheego.successHooks.loader.css('display','none');
		addEmailAndPasswordButton = $("#anmeldedaten #addEmailAndPassword"); 
		newButtonCode = addEmailAndPasswordButton.parent().html();
		addEmailAndPasswordButton.attr("id","changeEmail").removeClass("buttonLoginMailPassAdd").addClass("buttonLoginMailChange").css("bottom", "40px");
		addEmailAndPasswordButton.parent().after(newButtonCode);
		$("#anmeldedaten #addEmailAndPassword").attr("id","changePassword").removeClass("buttonLoginMailPassAdd").addClass("buttonLoginPassChange").css("bottom", "0px").wrap(document.createElement("dd"));		
		$("#infodienste dd:first p").remove();
		$("#infodienste #addEmail").attr("id","changeInfoServices").removeClass("buttonLoginMailAdd").addClass("buttonInfoDienste");	
	}
	else {
		// remove previous error notifications
		$("#inserted").find('dl.errorBay').remove();
		sheego.successHooks.loader.css('display','none');
		$("#inserted").css('display','block');
		// insert current error notifications
		if(json.Failure) {
			$("#inserted fieldset").prepend('<dl class="errorBay"><dd><p class="error">' + json.Failure + '</p></dd></dl>');
					
			if(json.Field == 'emailrepeat' || json.Field == 'forminvalid') {
				$("input[name*=email]").css('border','1px solid red');
			}
			else if	(json.Field == 'passwordrepeat' || json.Field == 'password') {
				$("input[name*=password]").css('border','1px solid red');
			}
		}	
		$("#inserted").css('display','block');
	}
}

sheego.successHooks.changeContactDataProcess = function(json) {
	if (json.validationResult == 'success') {
		$('#myaccount_data').load(
			sheego.changeContactDataParentUpdate,
			function() {
				overLayFinish();
				sheego.successHooks.loader.css('display','none');
			}
		)
	} else {
		sheego.successHooks.loader.css('display','none');
		$("#inserted").css('display','block');
		// remove previous error messages
		$("#LoginPassForm").find('img.InfoError').removeClass('InfoError').addClass('Info');
		$("#inserted").find('dl.errorBay').remove();
		// insert current error messages
		var errorText = '<b>Hinweis:</b> Bei der Pr&uuml;fung Ihrer Eingaben wurde ein Fehler festgestellt.';
		$("#inserted fieldset.meinkonto").prepend('<dl class="errorBay"><dd><p class="error">' + errorText + '</p></dd></dl>');
		// set error icons matching back end response
		if (json.invalidFields) {
			$.each(json.invalidFields, function (key, val) {
			  if (key == 'Tail') return;
				var errorField = $("#LoginPassForm [name='"+ key +"']");
				// select box is framed by a two level div container (trident workaround)
				(errorField.is('select')) && (errorField = errorField.parent().parent());
				// draw a big bad red frame around error field
				errorField.css('border-color', 'red');
				// look for according error icon and error message paragraph
				var messagePredecessor = errorField;
				while (! messagePredecessor.hasClass('messagePredecessor')) {
					messagePredecessor = messagePredecessor.parent();
				}
				var icon = messagePredecessor.siblings('img.Info');
				icon.removeClass('Info').addClass('InfoError');
				sheego.iconMessages[icon.attr('id')] = val;
			});
		}
	}
}

sheego.successHooks.changeAccountAddressProcess = function(json) {
	if (json.updateAccountResult == 'success') {
		$('#kontoanschrift .updatableDataContainer').load(
			sheego.changeAccountAddressUpdate,
			function() {
				overLayFinish();
				sheego.successHooks.loader.css('display','none');
			}
		)
	}
	else {
		// switch previous error icons back to info mode
		$("#KontoAnschriftForm").find('img.InfoError').removeClass('InfoError').addClass('Info');
		$("#inserted").find('dl.errorBay').remove();
		// insert current error notifications
		var errorText = '<b>Hinweis:</b> Bitte f&uuml;llen Sie auch die rotmarkierten Felder aus oder &uuml;berpr&uuml;fen Sie ihre Angaben.';
		$("#inserted fieldset.meinkonto").prepend('<dl class="errorBay"><dd><p class="error">' + errorText + '</p></dd></dl>');
		sheego.successHooks.loader.css('display','none');
		$("#inserted").css('display','block');
		// possibly set error icons matching back end response
		if (json.invalidFields) {
			$.each(json.invalidFields, function (key, val) {
			  if (key == 'Tail') return;
				var errorField = $("#KontoAnschriftForm [name='"+ key +"']");
				// select box is framed by a two level div container (trident workaround)
				(errorField.is('select')) && (errorField = errorField.parent().parent());
				// draw a big bad red frame around error field
				errorField.css('border-color', 'red');
				// look for according error icon and error message paragraph
				var messagePredecessor = errorField;
				while (! messagePredecessor.hasClass('messagePredecessor')) {
					messagePredecessor = messagePredecessor.parent();
				}
				var icon = messagePredecessor.siblings('img.Info');
				icon.removeClass('Info').addClass('InfoError');
				sheego.iconMessages[icon.attr('id')] = val;
			});
		}
	}
}

sheego.successHooks.changeDeliveryAddressProcess = function(json) {
	if (json.updateDeliveryResult == 'success') {
		$('#lieferanschrift .updatableDataContainer').load(
			sheego.changeDeliveryAddressUpdate,
			function() {
				overLayFinish();
				sheego.successHooks.loader.css('display','none');
			}
		)
	}
	else {
		// switch previous error icons back to info mode
		$("#LieferAnschriftForm").find('img.InfoError').removeClass('InfoError').addClass('Info');
		$("#inserted").find('dl.errorBay').remove();
		// insert current error notifications
		var errorText = '<b>Hinweis:</b> Bitte vervollst&auml;ndigen Sie Ihre Angaben.';
		$("#inserted fieldset.meinkonto").prepend('<dl class="errorBay"><dd><p class="error">' + errorText + '</p></dd></dl>');
		sheego.successHooks.loader.css('display','none');
		$("#inserted").css('display','block');
		// set error icons matching back end response
		if (json.invalidFields) {
			$.each(json.invalidFields, function (key, val) {
			  if (key == 'Tail') return;
				var errorField = $("#LieferAnschriftForm [name='"+ key +"']");
				// select box is framed by a two level div container (trident workaround)
				(errorField.is('select')) && (errorField = errorField.parent().parent());
				// draw a big bad red frame around error field
				errorField.css('border-color', 'red');
				// look for according error icon and error message paragraph
				var messagePredecessor = errorField;
				while (! messagePredecessor.hasClass('messagePredecessor')) {
					messagePredecessor = messagePredecessor.parent();
				}
				var icon = messagePredecessor.siblings('img.Info');
				icon.removeClass('Info').addClass('InfoError');
				sheego.iconMessages[icon.attr('id')] = val;
			});
		}
	}
}

sheego.successHooks.createShippingAddressProcess = function(json) {
	createOrUpdateShippingAddress(json);
}

sheego.successHooks.updateShippingAddressProcess = function(json) {
	createOrUpdateShippingAddress(json);
}

function createOrUpdateShippingAddress(json) {
	if (json.ERRORTEXT.length == 0) {
		var
			activeClusterUrl = $('.clusterSelector .realClusters .active a').attr('href'),
			params = { };
		if (activeClusterUrl) {
		  try {
				var clusterParam = activeClusterUrl.match(/Cluster=[A-Z]-[A-Z]/)[0];
				params = { Cluster: clusterParam.substring(clusterParam.length - 3) };
			}
			catch (e) {
			}
		}
		$('#addressBookPageWrapper').load(
			sheego.updateShippingAddressUpdate, params,
			function() {
				$(".updateShippingAddressLink").click(function() {
					var id = $(this).attr('name');
					genericLayerCall(sheego.successHooks.loader, sheego.addShippingAddress, { AddressID: id });
					return false;
				});
				overLayFinish();
				sheego.successHooks.loader.css('display','none');
			}
		)
	}
	else {
		// switch previous error icons back to info mode
		$("#addressForm").find('img.InfoError').removeClass('InfoError').addClass('Info');
		$("#inserted").find('dl.errorBay').remove();
		// insert current error notifications
		var errorText = '<b>Hinweis:</b> Bei der &Uuml;berpr&uuml;fung Ihrer Eingaben ist ein Fehler ' +
										'aufgetreten. Bitte pr&uuml;fen Sie die eingegebenen Daten.';
		$("#inserted fieldset.meinkonto").prepend('<dl class="errorBay"><dd><p class="error">' + errorText + '</p></dd></dl>');
		sheego.successHooks.loader.css('display','none');
		$("#inserted").css('display','block');
		// set error icon matching back end response
		var errorField = $("#addressForm [name='"+ json.ERROR_FieldName +"']");
		// draw a big bad red frame around error field
		errorField.css('border-color', 'red');
		// look for according error icon and error message paragraph
		var messagePredecessor = errorField;
		while (! messagePredecessor.hasClass('messagePredecessor')) {
			messagePredecessor = messagePredecessor.parent();
		}
		var icon = messagePredecessor.siblings('img.Info');
		icon.removeClass('Info').addClass('InfoError');
		sheego.iconMessages[icon.attr('id')] = json.ERRORTEXT;
	}
}

// Kundenkonto - Display of info and error message boxes
// > display info message box for the hovered icon
function displayInfoMessageBoxForIcon(icon, xmlMessageData) {
	// ensure all previously exposed message boxes are hidden
	hideMessageBoxes($('.message, .errorMessage'));
	var
		messageBoxId = $(icon).attr('id') + "Message",
		messageBox = $('#' + messageBoxId);
	// in case the info message box was not injected up to now
	if ($('#' + messageBoxId).size() == 0) {
		// create the message box and insert the message text
		$('body').append('<p id="' + messageBoxId + '" class="message" />');
		var messageBox = $('#' + messageBoxId);
		messageBox.html(createMessageFromXml(xmlMessageData, false));
		// now position and draw the message box
		drawMessageBoxBesideIcon(icon, messageBox);
	}
	// when already available simply expose the cached info box
	else {
		exposeMessageBoxes(messageBox);
	}
}

// > display error message box for the hovered icon
function displayErrorMessageBoxForIcon(icon, message) {
	// ensure all previously exposed message boxes are hidden
	hideMessageBoxes($('.message, .errorMessage'));
	var messageBoxId = $(icon).attr('id') + "ErrorMessage";
	// in case the error message box was not injected up to now
	if ($('#' + messageBoxId).size() == 0) {
		// create the message box and insert the message text
		$('body').append('<p id="' + messageBoxId + '" class="errormessage" />');
		var messageBox = $('#' + messageBoxId);
		messageBox.html(message);
		// now position and draw the message box
		drawMessageBoxBesideIcon(icon, messageBox)
	}
	// in case the error message paragraph is already available
	else {
		var messageBox = $('#' + messageBoxId);
		// update the message text as it can change between separate calls
		messageBox.html(message);
		// now position and draw the message box
		drawMessageBoxBesideIcon(icon, messageBox);
		// in case we got a static message defined in html we have to move it to the
		// bottom of the document body as all dynamically created messages are there
		if ($('#' + messageBoxId + '.static') != 0) {
			var staticMessages = $('#' + messageBoxId + '.static')
			staticMessages.removeClass('static');
			$('body').append(staticMessages.clone());
			staticMessages.remove();
		}
	}
}

// > helper function - positions and draws a given messageBox beside an icon
function drawMessageBoxBesideIcon(icon, messageBox) {
	var iconPos = determineAbsNodePos(icon);
	// first set the box visible to know its size for later calculations
	exposeMessageBoxes(messageBox);
	// calculate alternative box position in case content would flow below bottom
	// when the messages are part of a layer take the available height from the overlay
	var availHeight = ($('#overlay').css('display') == 'block') ? $('#overlay').height() : $('body').height();
	var margin = availHeight - (iconPos.top + messageBox.height() + 25);
	(margin < 0) && (iconPos.top += margin);
	// add icon width (23 px) and left margin (15px)
	iconPos.left += 38;
	// finally set the resulting position values for the message box
	messageBox.css('top',  iconPos.top + 'px');
	messageBox.css('left', iconPos.left + 'px');
}

// > helper function - simply exposes the given message box(es)
function exposeMessageBoxes(messageBox) {
	messageBox.show();
}

// > helper function - simply hides the given message box(es)
function hideMessageBoxes(messageBox) {
	messageBox.hide();
}

// > helper function - determines the absolute position of a DOM node
function determineAbsNodePos(node) {
	var left = 0; 
	var top = 0;
	do {
		top  += node.offsetTop;
		left += node.offsetLeft;
	} while (node = node.offsetParent);
	return {top: top, left: left};
}

// > helper function - parses xmlData and generates the content for a messageBox
function createMessageFromXml(xmlData, isShowIcon) {
	var message = '';
	$("headline", xmlData).each(function() {
		clazz = (isShowIcon ? 'icon' : 'noIcon');
		message = '<strong class="' + clazz + '">' + $(this).text() + '</strong>';
	});
	$("text", xmlData).each(function() {
		message += $(this).text();
	});
	return message;
}
// Kundenkonto - END

function errorhandling_do(){
	var errortext_ordernr = '';
	var errortext_size = '';
	$("#articlesToOrder dd.artline").each(function(i){
		// Zeilennummer
		var line = $(this).find(".dt1").html();
		// Zeilen ermitteln in denen eine fehlerhafte OrderNr eingegeben worden ist
		if($(this).find("input[name='OrderNr']").hasClass("errorOrderNr")){
			if(errortext_ordernr != ''){
				errortext_ordernr = errortext_ordernr +", ";
			}
			errortext_ordernr = errortext_ordernr + line;
		}
		// Zeilennummern ermitteln in denen eine falsche Groesse  eingegeben worden ist
		if($(this).find("input[name='Size']").hasClass("errorSize")){
			if(errortext_size != ''){
				errortext_size = errortext_size +", ";
			}
			errortext_size = errortext_size + line;
		}
	});

	if (errortext_ordernr != ""){
		$('.topinfo').append("<p class=\"error static\"><b>Achtung:&nbsp;</b>Die Artikelnummer in Zeile " + errortext_ordernr + " ist fehlerhaft</p>");
	}
	if (errortext_size != ""){
		$('.topinfo').append("<p class=\"error static\"><b>Achtung:&nbsp;</b>Die Gr&ouml;&szlig;enangabe in Zeile " + errortext_size + " ist fehlerhaft. Bitte klicken Sie <a href=\""+ sheego.doPopupHelpUrl + "\" class=\"popupOpener popHilfe\" style=\"color:red;\"><u>hier</u></a>.</p>");
	}
}

// Funktion wird einmal beim laden des Direktbestellscheins aufgerufen
// und wenn zusaetzliche Zeilen dem Direktbestellschein hinzugefuegt werden
function bindValidateEvents(){
	$("#directArticleOrders input[name='OrderNr']").blur(function(){
		doValidateAll();
	});

	$("#directArticleOrders input[name='Quantity']").blur(function(){
		doValidateAll();
	});
}

// Direktbestellschein, hinzufuegen von neuen Zeilen
function addNewLine(){
	$(".furtherArtOrder").expire('click');
	// Anzahl der dargestellten Zeilen
	var count = $("dd.artline").size();

	// neue Zeile laden
	$.get(
		sheego.addArticleLineUrl,
		// Nummer der neuen Zeile
		{artCount: (count+1)},
		function(data){
			// neue Zeile ueber dem Button einfuegen
			$(".furtherArtOrder").parent().before(data);
			// Button zum hinzufuegen von weiteren Zeilen ausblenden, sobald 25 sichtbar sind
			var count2 = $("dd.artline").size();
			if (count2 >= 25) {
				$("a.furtherArtOrder").css('display','none');
			}
			$(".furtherArtOrder").livequery('click', addNewLine);
			bindValidateEvents();
		}
	);
	return false;
}

// Direktbestellschein, validate all input fields
// ist 'heckItems = "true" , wird geprueft ob min. eine Bestellnummer eingegeben worden ist
function doValidateAll(checkItems) {
	// Flag, ob Formular valid ist
	var valid = true;
	// Flag, ob eine Bestellnummer im Formular eingegeben ist
	var itemInForm = false;

	// vor der Validierung die alten Fehlernachrichten entfernen
	// - nur Fehlernachrichten die nicht static sind werden entfernt
	// - Fehler die mit static angegeben sind kommen aus Pipeline
	$(".topinfo p.error:not(p.static)").remove();

	$("#directArticleOrders").find(".artline").each(function(i){
		var OrderNrField = $(this).find("input[name='OrderNr']");
		var QuantityField = $(this).find("input[name='Quantity']");

		// Leerzeichen entfernen an den Groessenfeldern
		$(this).find("input[name='Size']").val(jQuery.trim($(this).find("input[name='Size']").val()));

		var line = $(this).find(".dt1").html();

		// Eingabefeld fuer die OrderNr und das Quantity-Feld ueberpruefen
		if(doValidate(OrderNrField, line) && doValidate(QuantityField, line)){
			//test ob OrderNr != '' ist
			if($(OrderNrField).val()!=''){
				itemInForm = true;
			}
		}else{
			valid = false;
		}
	});

	if((checkItems != null && checkItems == "true") && !itemInForm && valid){
		$(".topinfo").append('<p class="error"><b>Achtung:</b> Bitte mindestens einen Artikel eingegeben.</p>');
	}

	if(valid && itemInForm){
		return true;
	}

	return false;
}

// Direktbestellschein, validate input
function doValidate(input, lineNr) {
	var lineStr = '';
	var valid = true;
	var message = '';
	var Fieldname = input.attr('name');
	input.val(jQuery.trim(input.val()));
	var Fieldvalue = input.val();
	if(lineNr!=''){
		lineStr = ' in Zeile ' + lineNr;
	}

	// OrderNr
	if(Fieldname=='OrderNr'){
		/**
		 * :TODO: entfernen nach Aktion
		 * Korrektur ausgelobter Artikel im Katalog
		 */
		if(Fieldvalue === '60065073') {
			input.val('80065073');
		}

		if(Fieldvalue=='A2487101' || Fieldvalue=='a2487101'){
			message = '<p class="error"><b>Achtung:</b> Die von Ihnen eingegebene Nummer <b>A2487101</b>'+lineStr+' ist Ihre pers&ouml;nliche Aktionsnummer.<br /> Bitte geben Sie diese f&uuml;r den Erhalt Ihres Longschals erst im 2. Schritt des Bestellvorgangs ein.</p>'
			valid = false;
		}
		if(Fieldvalue.length>0){
			// OrderNr auf laenge pruefen
			if(Fieldvalue.length<7 || Fieldvalue.length>8){
				message = message + '<p class="error"><b>Achtung:</b> Bitte nur 7-8 Zeichen f&uuml;r die Artikelnummer'+lineStr+' eingeben.</p>';
				valid = false;
			}
			// OrderNr auf Buchstaben und Zahlen pruefen
			if(Fieldvalue.search(/^\w+$/)==-1){
				message = message + '<p class="error"><b>Achtung:</b> Bitte nur Zahlen und Buchstaben f&uuml;r die Artikelnummer'+lineStr+' eingeben.</p>';
				valid = false;
			}
		}
	// Quantity pruefen
	}else if(Fieldname == 'Quantity'){
		if(Fieldvalue=='' || Fieldvalue=='0'){
			message = '<p class="error"><b>Achtung:</b> Bitte eine Anzahl eingeben'+lineStr+'.</p>';
			valid = false;
		}
	}

	$(".topinfo").append(message);
	if(valid && !$(input).hasClass('static')){
		$(input).removeClass('error');
	}else{
		$(input).addClass('error');
	}

	return valid;
}


/**Helper Functions
 */
function openPopUpDim(url, name, width, height) {
	var newwindow=window.open(url,name,'height=' + height + ',width=' + width);
	if (window.focus) {
		newwindow.focus();
	}
}

// Eventbinding-Block fuer Zahlungsarten
function popupPaymentDetails(){
 	var url = sheego.paymentDetailsPopup;
	
	if($('#payment_per_article_form').size()>0){ // Artikelansicht
		url = url + '?' + $('#payment_per_article_form').serialize();
	}else{ // Orderansicht
		url = url + '?' + $('#payment_per_order_form').serialize();
	}
	openPopUpDim(url, 'Zahlungsdetails', 700, 800);
}
