/***********************************/
/* Klassen Funktionen */
/***********************************/
globalactions = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			dummy: '0'
		}, options ||
		{});

		if($('flowerfinderButton')) $('flowerfinderButton').observe('click', this.handleFlowerfinder.bind(this));
		if($('giftfinderButton')) $('giftfinderButton').observe('click', this.handleGiftfinder.bind(this));
		//$('searchform').observe('submit', this.dummyTest.bind(this));
		if($('suchebutton')) $('suchebutton').observe('click', function(){$('searchform').submit();}.bind(this));
		if($('searchtext')) $('searchtext').observe('click', this.clearSearchfield.bind(this));
		if($('searchtext')) $('searchtext').observe('blur', this.resetSearchfield.bind(this));
		
	},
	
	clearSearchfield: function(event){
		var text = event.findElement('input').value;
		if(text == 'Suche'){
			$('searchtext').value = '';
		}
	},
	
	resetSearchfield: function(event){
		var text = event.findElement('input').value;
		if(text == ''){
			$('searchtext').value = 'Suche';
		}
	},
	
	handleFlowerfinder: function(event){
		event.preventDefault();
		handleFilter('show');
	},
	
	handleGiftfinder: function(event){
		event.preventDefault();
		handleFinder('show');
	}
});

productactions = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			dummy: '0'
		}, options ||
		{});

		$$('ul.productlist li').each((function(section, index){
			section.observe('mouseover', this.handleDetailsButton.bind(this));
			section.observe('mouseout', this.handleDetailsButton.bind(this));
		}).bind(this));

		
	},

	loadImage: function(elem){
		var filepart = elem.split("_");
		var file = filepart[1];
		
		$(elem).src = '/onlineshop/images/products/250/' + file + '.png';
	},
	
	handleDetailsButton: function(event){
		var elem = event.findElement('li');
	
		if(event.type == 'mouseover'){
			$(elem.id + 'db').style.display = 'block';
		} else {
			$(elem.id + 'db').style.display = 'none';
		}
	}
});

shoppingcartab = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			dummy: '0'
		}, options ||
		{});

		$$('a.deleteWKitemLink').each((function(section, index){
			section.observe('click', this.deleteItem.bind(this));
		}).bind(this));

		$$('a.canceluploadlink').each((function(section, index){
			section.observe('click', this.changeUploadItem.bind(this));
		}).bind(this));		

	},

	deleteItem: function(event){
		event.preventDefault();
		var elem = event.findElement('a');
		var splitstring = elem.id.split('_');
		xajax_orderprocess_deleteWK(splitstring[1]);
	},
	
	changeUploadItem: function(event){
		event.preventDefault();
		
		if(confirm("Achtung: Wenn Sie fortfahren wird Ihr aktuelles Bild gelöscht. Möchten Sie dennoch fortfahren?") == true){
			var element = Event.element(event);
			window.location.href = element.href;
		}
	}
	
});


orderprocessactions= Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			dummy:''
		}, options ||
		{});
		var bLocked=false;
		
		if($('abform')) $('abform').observe('submit', this.handleorderprocess.bind(this));
		if($('abformsubmit')) $('abformsubmit').observe('dblclick', this.dummyfunc.bind(this));
		if($('abformsubmit')) $('abformsubmit').observe('click', this.handleorderprocess.bind(this));
		
	
		$$('input').each((function(section, index){
			section.observe('focus', this.clearTextError.bind(this));
		}).bind(this));
			
	},

	handleorderprocess: function(event){
		event.preventDefault();
		$('abformsubmit').stopObserving();  
		//try 
		//{
		 // if(!this.bLocked) {
    
		
		$$('p.error_field').each((function(section, index){
			section.innerHTML = '';
		}).bind(this));
		
		xajax.call('orderprocess_handleprocess', {
			parameters:[xajax.getFormValues('abform')],
			onComplete: (function(){
			//	this.bLocked = false;
			
		      if($('abformsubmit')) $('abformsubmit').observe('click', this.handleorderprocess.bind(this));
			}).bind(this)
		});
		//this.bLocked = true;
		 // }
		//}
		 // catch(e)
		 // {
		      
		  //}
		
	},
	
	clearTextError: function(event){
	    event.preventDefault();

		var element = event.element();
		if(element.hasClassName("error") == true){
			element.removeClassName("error");
			if($(element.id + '_label')) $(element.id + '_label').removeClassName("error");
		}
	    
	},
	
	dummyfunc: function(event){
	    event.preventDefault();
	    
	}
	
	
});


orderprocessrater = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			allowVote:0,
			productID:0
		}, options ||
		{});
		
		$$('#productRating li a').each((function(section, index){
           if(this.options.allowVote == 1){
                section.observe('mouseover', this.handlestarrating.bind(this));
                section.observe('mouseout', this.resetstarrating.bind(this));
                section.observe('click', this.rateproduct.bind(this));
           } else {
                section.observe('click', this.alreadyvoted.bind(this));
           }
		}).bind(this));
	},
	
	handlestarrating: function (event) {
		if(event) event.preventDefault();
        var link = event.findElement('a');
        var overstar = link.id.substr(0, 1);
        $$('#productRating li a').each((function(section, index){
            if(section.id.substr(0, 1) && section.id.substr(0, 1) <= overstar){
               section.setStyle({
                  background:'transparent url(/onlineshop/images/controls/controls_adv.png) -225px -1900px no-repeat'
                });
                $('raterDescription').innerHTML = section.title;
            } else {
                if(section.className == 'empty-rating'){
                    section.setStyle({
                      background:'transparent url(/onlineshop/images/controls/controls_adv.png) -225px -1850px no-repeat'
                    });
                }else if(section.className == 'current-rating'){
                    section.setStyle({
                      background:'transparent url(/onlineshop/images/controls/controls_adv.png) -225px -1875px no-repeat'
                    });
                }
            }
		}).bind(this));
    },

    resetstarrating: function (event) {
		if(event) event.preventDefault();
        var link = event.findElement('a');
        var overstar = link.id.substr(0, 1);
        $$('#productRating li a').each((function(section, index){
            if(section.className == 'empty-rating'){
                section.setStyle({
                  background:'transparent url(/onlineshop/images/controls/controls_adv.png) -225px -1850px no-repeat'
                });
            }else if(section.className == 'current-rating'){
                section.setStyle({
                  background:'transparent url(/onlineshop/images/controls/controls_adv.png) -225px -1875px no-repeat'
                });
            }
		}).bind(this));
        $('raterDescription').innerHTML = '&nbsp;';
    },

    rateproduct: function (event) {
		if(event) event.preventDefault();
        var link = event.findElement('a');
        var overstar = link.id.substr(0, 1);

        xajax.call('product_rateProduct', {
			parameters:[this.options.productID, overstar],
			onComplete: (function(){
                $$('#productRating li a').each((function(section, index){
                    section.observe('click', this.alreadyvoted.bind(this));
                }).bind(this));
			}).bind(this)
		});
    },

    alreadyvoted: function (event) {
		if(event) event.preventDefault();
        new alertwindow({color: 'Red', head: 'Produkt bereits bewertet.', body: 'Dieses Produkt haben Sie bereits bewertet. Eine Mehrfachbewertung ist nicht m&ouml;glich.'});
    }
});

orderprocesscalendar= Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			land: 1,
			date: '0000-00-00',
			dateb: '0000-00-00',
			product: '0000',
			shippingID: '',
			cartID: 0,
			getShippingMethods: 0
		}, options ||
		{});
		
		/* Klassenvariablen */
		this.step = this.options.step;
		this.date = this.options.date;
		this.dateb = this.options.dateb;
		this.months = new Array('Januar','Februar','M&auml;rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
		this.product = this.options.product;
		
		if($('land')) $('land').observe('change', this.landChange.bind(this));
        if($('getAdressbook')) $('getAdressbook').observe('click', this.showAdressBook.bind(this));
		
		if($('useAdressbookLink')) $('useAdressbookLink').observe('click', this.showAdressBook.bind(this));
		
		$$('#calendar0 tr td a').each((function(section, index){
			section.observe('click', this.setDate.bind(this));
		}).bind(this));

		$$('#calendar1 tr td a').each((function(section, index){
			section.observe('click', this.setDate.bind(this));
		}).bind(this));

		$(this.date).className = 'isselected';

		var dateparts = this.date.split("-");
		var day = dateparts[2];
		var month = this.months[parseInt(dateparts[1].replace("0", "")) - 1];
		var year = dateparts[0];

		if($('orderdate')) $('orderdate').value = this.date;

		if($('deliveryDate')) $('deliveryDate').innerHTML = day + '. ' + month + ' ' + year;

		if(this.options.getShippingMethods == 1){
			xajax.call('orderprocess_orderprocessGetShippingMethods', {
				parameters:[this.options.product, this.date, this.options.land, this.options.shippingID],
				onComplete: (function(){/*
					$$('#shippingTable tr td input.shipinput').each((function(section, index){
						section.observe('click', this.versandartclick.bind(this));
					}).bind(this));*/
				}).bind(this)
			});
		} else if(this.options.getShippingMethods == 2){
			xajax.call('orderprocess_orderprocessGetShippingMethods2', {
				parameters:[this.options.product, this.date, this.options.land, this.options.shippingID],
				onComplete: (function(){/*
					$$('#shippingTable tr td input.shipinput').each((function(section, index){
						section.observe('click', this.versandartclick.bind(this));
					}).bind(this));*/
				}).bind(this)
			});
		}

	},	
	
	landChange: function(event){
		var elem = event.findElement('select');
		this.options.land=elem.value;
		if($('land')) $('land').stopObserving();
		//xajax_order_setCalendarDate(this.product, this.date, elem.value, '');
		//xajax_order_doCalendar(this.product, this.date, elem.value, this.options.shippingID);
		xajax_order_orderprocessGetShippingMethods(this.options.product, this.options.date, elem.value);
		xajax_orderprocess_getKalender(this.options.product, elem.value);
	},
		
    showAdressBook: function(event){
		event.preventDefault();
		window.open('/onlineshop/static/adressbook.php?ab=1', 'adressbookwindow','menubar=0,resizable=1,width=360,height=300');
	},
	
	setDate: function(event, shippingID){

		event.preventDefault();
		var element = event.findElement('a');
		var product = this.options.product;
		var land = this.options.land;

		$$('#calendar0 tr td a').each((function(section, index){
			if(section.id == element.id) $(section.id).className = 'isselected';
			else $(section.id).className = '';
		}).bind(this));

		$$('#calendar1 tr td a').each((function(section, index){
			if(section.id == element.id) $(section.id).className = 'isselected';
			else $(section.id).className = '';
		}).bind(this));

		var dateparts = element.id.split("-");
		var day = dateparts[2];
		var month = this.months[parseInt(dateparts[1].replace("0", "")) - 1];
		var year = dateparts[0];

		$('orderdate').value = element.id;

		this.date = element.id;

		var shipconfirm = 0;

		$$('#shippingTable tr td input.shipinput').each((function(section, index){
			if (section.checked == true) {
				shipconfirm = section.value;
			}
		}).bind(this));

		if(shipconfirm == 0){
			shipconfirm = shippingID;
		}

		if(shipconfirm == 34){
			$('deliveryDate').innerHTML = $('specialID').value;
		}
		else $('deliveryDate').innerHTML = day + '. ' + month + ' ' + year;

		if(this.options.getShippingMethods == 1){
			xajax.call('orderprocess_orderprocessGetShippingMethods', {
				parameters:[this.options.product, this.date, this.options.land, shipconfirm],
				onComplete: (function(){/*
					$$('#shippingTable tr td input.shipinput').each((function(section, index){
						section.observe('click', this.versandartclick.bind(this));
					}).bind(this));*/
				}).bind(this)
			});
		} else if(this.options.getShippingMethods == 2){
			xajax.call('orderprocess_orderprocessGetShippingMethods2', {
				parameters:[this.options.product, this.date, this.options.land, this.options.shippingID],
				onComplete: (function(){/*
					$$('#shippingTable tr td input.shipinput').each((function(section, index){
						section.observe('click', this.versandartclick.bind(this));
					}).bind(this));*/
				}).bind(this)
			});
		}
	}
});


orderprocesscartcalendar = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			land: 1,
			date: '0000-00-00',
			wkItemID: 0,
			action: 0
		}, options ||
		{});
	
		/* Klassenvariablen */
		this.date = this.options.date;
		this.months = new Array('Januar','Februar','M&auml;rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
		
		$$('#calendar0 tr td a').each((function(section, index){
			section.observe('click', this.setDate.bind(this));
		}).bind(this));

		$$('#calendar1 tr td a').each((function(section, index){
			section.observe('click', this.setDate.bind(this));
		}).bind(this));

		/* Select given date */
		$(this.date).className = 'isselected';

		var dateparts = this.date.split("-");
		var day = dateparts[2];
		var month = this.months[parseInt(dateparts[1].replace("0", "")) - 1];
		var year = dateparts[0];

		//if($('orderdate')) $('orderdate').value = this.date;
		if($('deliveryDate_' + this.options.wkItemID)) $('deliveryDate_' + this.options.wkItemID).innerHTML = day + '. ' + month + ' ' + year;
	},	

	
	setDate: function(event, shippingID){

		event.preventDefault();
		var element = event.findElement('a');
		var product = this.options.product;
		var land = this.options.land;

		$$('#calendar0 tr td a').each((function(section, index){
			if(section.id == element.id) $(section.id).className = 'isselected';
			else $(section.id).className = '';
		}).bind(this));

		$$('#calendar1 tr td a').each((function(section, index){
			if(section.id == element.id) $(section.id).className = 'isselected';
			else $(section.id).className = '';
		}).bind(this));

		var dateparts = element.id.split("-");
		var day = dateparts[2];
		var month = this.months[parseInt(dateparts[1].replace("0", "")) - 1];
		var year = dateparts[0];

		//$('orderdate').value = element.id;

		this.date = element.id;

		var shipconfirm = 0;

		$$('#shippingTable tr td input.shipinput').each((function(section, index){
			if (section.checked == true) {
				shipconfirm = section.value;
			}
		}).bind(this));

		if(shipconfirm == 0){
			shipconfirm = shippingID;
		}

		if(shipconfirm == 34){
			if($('deliveryDate_' + this.options.wkItemID)) $('deliveryDate_' + this.options.wkItemID).innerHTML = $('specialID').value;
		}
		else if($('deliveryDate_' + this.options.wkItemID)) $('deliveryDate_' + this.options.wkItemID).innerHTML = day + '. ' + month + ' ' + year;
		
		if(this.options.action == 1){
			
			xajax.call('orderprocess_updateLieferdatum', {
				parameters:[this.date, this.options.wkItemID],
				onComplete: (function(){
					$('calendarContainer_' + this.options.wkItemID).innerHTML = '';
					$('calendarContainer_' + this.options.wkItemID).hide();
					new orderprocesscart();
				}).bind(this)
			});
		}
	}

});

orderprocessadressbook = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			test: 1
		}, options ||
		{});
		
		if($('usePayerAdressLink')) $('usePayerAdressLink').observe('click', this.usePayerAdress.bind(this));

		$$('a.takeAdress').each((function(section, index){
			section.observe('click', this.takeAdress.bind(this));
		}).bind(this));
		
		$$('a.delAdrEntry').each((function(section, index){
			section.observe('click', this.delAdress.bind(this));
		}).bind(this));

	},

	takeAdress: function(event){
		event.preventDefault();
		var link = event.findElement('a');
		if($('lieferdaten_errors')) $('lieferdaten_errors').innerHTML = "";
		
		$$('fieldset.orderFieldset label').each((function(section, index){
			section.removeClassName('error');
		}).bind(this));
		
		$$('fieldset.orderFieldset input, fieldset.orderFieldset select').each((function(section, index){
			section.removeClassName('error');
		}).bind(this));
		
		xajax.call('order_useAdress', {
			parameters:[link.id.substr(2, link.id.length)],
			onComplete: (function(){
				$('abform').enable();
			}).bind(this)
		});
	},

	usePayerAdress: function(event){
		event.preventDefault();
		
		if($('lieferdaten_errors')) $('lieferdaten_errors').innerHTML = "";
		
		$$('fieldset.orderFieldset label').each((function(section, index){
			section.removeClassName('error');
		}).bind(this));
			
		xajax.call('order_usePayerAdress', {
			onComplete: (function(){

			}).bind(this)
		});
	},
	
	delAdress: function(event){
		event.preventDefault();
		var link = event.findElement('a');
		
		if(confirm("Wollen Sie die Adresse wirklich aus dem Adressbuch löschen?") == true){
			xajax.call('order_deleteAdress', {
				parameters:[link.id.substr(3, link.id.length)],
				onComplete: (function(){
					
					if($('usePayerAdressLink')) $('usePayerAdressLink').observe('click', this.usePayerAdress.bind(this));

					$$('a.takeAdress').each((function(section, index){
						section.observe('click', this.takeAdress.bind(this));
					}).bind(this));
					
					$$('a.delAdrEntry').each((function(section, index){
						section.observe('click', this.delAdress.bind(this));
					}).bind(this));

				}).bind(this)
			});
		}
	}
});

orderprocessslipknots = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			dummy: 0
		}, options ||
		{});
		
		$$('#slipknotlist li').each((function(section, index){
			section.observe('click', this.handleSlpinknot.bind(this));
		}).bind(this));
		
	},
	
	handleSlpinknot: function(event){
		var element = event.element();
		var namesplit = element.id.split('_');
		
		$$('div.slipknotdummy').each((function(section, index){
			if( section.id != 'sltextcontainer_' + namesplit[1]){
				section.hide();
			} 
		}).bind(this));
		
		if($('sltextcontainer_' + namesplit[1])) $('sltextcontainer_' + namesplit[1]).show();

	}

});

orderprocesssdone = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			dummy: 0
		}, options ||
		{});
		
//alert('test');
		$('befragungPopup').show();

		$('popupClose').observe('click', this.hidePopup.bind(this));
		
		$('befragungButton').observe('click', this.updateBefragung.bind(this));
		
		
	},
	
	hidePopup: function(event){
		$('befragungPopup').hide();
	},
	
	updateBefragung: function(event){
		event.preventDefault();
		xajax_orderprocess_updateBefragung(xajax.getFormValues('befragungForm'));
		$('befragungPopup').hide();
	}

});

orderprocesscards= Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			dummy: 0
		}, options ||
		{});

		$$('#greetinglist li input').each((function(section, index){
			section.observe('click', this.toggleTextView.bind(this));
		}).bind(this));
		
		this.checkGKLen();
		
		$('anrede').observe('focus', this.checkGKLen.bind(this));
		$('anrede').observe('change', this.checkGKLen.bind(this));
		$('anrede').observe('keydown', this.checkGKLen.bind(this));
		$('anrede').observe('keypress', this.checkGKLen.bind(this));
		$('anrede').observe('keyup', this.checkGKLen.bind(this));
		
		$('grusstext').observe('focus', this.checkGKLen.bind(this));
		$('grusstext').observe('change', this.checkGKLen.bind(this));
		$('grusstext').observe('keydown', this.checkGKLen.bind(this));
		$('grusstext').observe('keypress', this.checkGKLen.bind(this));
		$('grusstext').observe('keyup', this.checkGKLen.bind(this));
		
		$('grussformel').observe('focus', this.checkGKLen.bind(this));
		$('grussformel').observe('change', this.checkGKLen.bind(this));
		$('grussformel').observe('keydown', this.checkGKLen.bind(this));
		$('grussformel').observe('keypress', this.checkGKLen.bind(this));
		$('grussformel').observe('keyup', this.checkGKLen.bind(this));

	},
	
	toggleTextView: function(event){
		var elem = event.findElement('label');
		
		if(elem.id != 'nocardlabel'){
			$('cardFields').style.display = 'block';
		} else {
		 	$('cardFields').style.display = 'none';
		}
	},
	
	checkGKLen: function(event){
		var allowed = 400;
		var totalLength = $('anrede').value.length + $('grusstext').value.length + $('grussformel').value.length;
		$('cardTXTCounter').innerHTML = allowed - totalLength;

		if(totalLength >= allowed){
			if(event.type != "focus"){
				if (event.keyCode != 46 && event.keyCode != 8 && event.keyCode != 13) {
					event.preventDefault();
				}
			}
			$('cardTXTCounter').style.color = '#DB2122';
		} else {
			$('cardTXTCounter').style.color = '#666666';
		}
	},
	
	checkGKLenFlapo: function(event){
		var allowed = 400;
		var totalLength = $('anrede').value.length + $('grusstext').value.length + $('grussformel').value.length;
		$('cardTXTCounter').innerHTML = allowed - totalLength;

		if(totalLength >= allowed){
			if(event.type != "focus"){
				if (event.keyCode != 46 && event.keyCode != 8 && event.keyCode != 13) {
					event.preventDefault();
				}
			}
			$('cardTXTCounter').style.color = '#DB2122';
		} else {
			$('cardTXTCounter').style.color = '#666666';
		}
	}
	

});

orderprocessbundles = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			dummy: 0
		}, options ||
		{});

	}

});

orderprocesscart = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			dummy: 0
		}, options ||
		{});
		
		if($('shippingMethodsSelector') && $('shippingMethodsSelector').visible() === false) $('shippingMethodsSelector').show();
		
		$$('a.showCalendarButton').each((function(section, index){
			section.observe('click', this.showCalendar.bind(this));
		}).bind(this));
		
		$$('input[type=radio].shipinput').each((function(section, index){
			section.observe('click', this.setshippingmethod.bind(this));
		}).bind(this));

	},
	
			
	setshippingmethod: function(event){
		//event.preventDefault();
		
		var element = event.element();
		var namesplit = element.name.split('_');
		
		xajax.call('orderprocess_changeShippingMethod', {
			parameters:[element.value, namesplit[1]],
			onComplete: (function(){
				//Dummy
			}).bind(this)
		});
	},
	
	showCalendar: function(event){
		event.preventDefault();
		var element = event.element();
		var splitstring = element.id.split('_');
	
		if($('calendarContainer_' + splitstring[1]).visible() === false ){
			xajax.call("orderprocess_getCartKalender", {
				parameters:[splitstring[1]],
				onComplete: (function(){
				
					$$('input[type=radio].shipinput').each((function(section, index){
						section.stopObserving();
					}).bind(this));
					
					$$('a.showCalendarButton').each((function(section, index){
						section.stopObserving();
					}).bind(this));
					
					$('shippingMethodsSelector_' + splitstring[1]).hide();
					
				}).bind(this)
			});
		} else {
			$('calendarContainer_' + splitstring[1]).hide();
			
			$$('a.showCalendarButton').each((function(section, index){
				section.observe('click', this.showCalendar.bind(this));
			}).bind(this));
			
			$$('input[type=radio].shipinput').each((function(section, index){
				section.observe('click', this.setshippingmethod.bind(this));
			}).bind(this));
			
			$('shippingMethodsSelector_' + splitstring[1]).show();
			
		}
	}

});

orderprocesslogin = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			action: '',
			location: 'payment'
		}, options ||
		{});

		if($('paypalExoutButton')) $('paypalExoutButton').observe('click', this.paypalexout.bind(this));

		$$('input[type=radio].selectbutton').each((function(section, index){
			section.observe('click', this.showContent.bind(this));
		}).bind(this));
		
		if($('lost_pw')) $('lost_pw').observe('click', this.handleLostPW.bind(this));
		if($('sendLostPW')) $('sendLostPW').observe('click', this.sendLostPW.bind(this));
		
	},
	
	showContent: function(event){
		var elm = event.findElement('input').value;
		
		$$('input[type=radio].selectbutton').each((function(section, index){
			$(section.value + 'Content').hide();
			$(section.value + 'Header').className = 'orderHeader';
		}).bind(this));
		
		$(elm + 'Content').show();
		$(elm + 'Header').className = 'verticalHeader2';

	},
	
	handleLostPW: function(event){
		event.preventDefault();
		$('lostPW').toggle();

	},
	
	sendLostPW: function(event){
		event.preventDefault();
		
		xajax.call('payment_lostPassword', {
			parameters:[$('lostPW_email').value],
			onComplete: (function(){

			}).bind(this)
		});

	},
		
	paypalexout: function(event){
		event.preventDefault();
		window.location = '/onlineshop/includes/paypalExOut.php';
	},
	
	reseterror: function(event){
		event.preventDefault();
		
		if(Event.element(event).tagName == 'SELECT'){
			var elem = event.findElement('select');
		} else if(Event.element(event).tagName == 'INPUT'){
			var elem = event.findElement('input');
		}
		
		if(elem.id == 'strasse' || elem.id == 'hausnummer'){
			if($('str_no_error').visible() === true) $('str_no_error').style.display = 'none';
		} else if(elem.id == 'plz' || elem.id == 'ort'){
			if($('zip_city_error').visible() === true) $('zip_city_error').style.display = 'none';
		} else if(elem.id == 'telefon2'){
			if($('telefon_error').visible() === true) $('telefon_error').style.display = 'none';
		} else {
			if($(elem.id + '_error').visible() === true) $(elem.id + '_error').style.display = 'none';
		}
	}
});

orderprocesscoupon = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			dummy: 0
		}, options ||
		{});
		
		if($('couponsubmit')) $('couponsubmit').observe('click', this.processCoupon.bind(this));

	},
	
	processCoupon: function(event){
		event.preventDefault();
		
		if($('coupon')) $('coupon').removeClassName('error');
		
		if(event.type == 'click') $(event.findElement('a').id).blur();
		var element = $('coupon').value;
		xajax_orderprocess_processCoupon(element, 1, 1);
	}

});



orderprocesspaymentmethods= Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			dummy: 0
		}, options ||
		{});
		
		$$('#paymentMethodsContent input').each((function(section, index){
			section.observe('click', this.choosePayment.bind(this));
		}).bind(this));

		$$('#paymentMethodsContent a').each((function(section, index){
			if(section.className == 'paymentDelete') section.observe('click', this.deletePayment.bind(this));
		}).bind(this));
		
		$('chooseAnotherPaymentLink').observe('click', this.changePayment.bind(this));
	},
	
	choosePayment: function(event){
		event.preventDefault();
		var element = event.findElement('input');
		
		xajax.call('orderprocess_choosePayment', {
			parameters:[element.value],
			onComplete: (function(){
				if(element.value == 'paypal'){
                	//if($('gotoPayPalForm')) $('gotoPayPalForm').observe('submit', this.paypal.bind(this));
					//if($('gotoPayPalbutton')) $('gotoPayPalbutton').observe('click', this.paypal.bind(this));
				}
				$('paymentMethodsChooseOtherPaymentLink').style.display = 'block';

			}).bind(this)
		});

	},

	changePayment: function(event){
		event.preventDefault();
		$('paymentMethodsContentContainer').style.display = 'none';
		$('paymentMethodsContentSelected').innerHTML = '';

		$$('#paymentMethodsContent input').each((function(section, index){
			section.checked = '';
		}).bind(this));

		$('paymentMethodsContent').style.display = 'block';
		$('paymentMethodsChooseOtherPaymentLink').style.display = 'none';
	},

	deletePayment: function(event){
		event.preventDefault();
		var element = event.findElement('a');
		var splitstring = element.id.split('---');
		var delConfirm = confirm("Wollen Sie die gespeicherten Daten wirklich löschen?")

		if (delConfirm == true){
			$(splitstring[1]).remove();
			xajax_payment_deleteSavedPayment(splitstring[0]);
		}
	}
});

function valpopup (ID) {
	helpwindow=window.open('/onlineshop/static/help.php?ID='+ID, 'helpwindow','menubar=0,scrollbars=1,resizable=1,width=800,height=450');
	helpwindow.focus();
	return false;
}




orderprocesspaymentsender= Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			dummy: 0
		}, options ||
		{});
		
		$('adresschangebutton').observe('click', this.editUserData.bind(this));

	},
	
	editUserData: function(event){
		event.preventDefault();
		xajax.call("orderprocess_editUserData", {
		parameters: [1],
			onComplete: (function(){
				$('AdressChangeDataSubmit').observe('click', this.checkUserAdressChange.bind(this));
				$('AdressChangeDataBack').observe('click', this.restoreUserData.bind(this));
			}).bind(this)
		});
	},

	restoreUserData: function(event){
		event.preventDefault();
		xajax.call("orderprocess_restoreUserData", {
			onComplete: (function(){
				$('adresschangebutton').observe('click', this.editUserData.bind(this));
			}).bind(this)
		});
	},

	checkUserAdressChange: function(event){
		event.preventDefault();
		xajax.call("orderprocess_checkUserData", {
			parameters: [xajax.getFormValues('abform')],
			onComplete: (function(){
				$('adresschangebutton').observe('click', this.editUserData.bind(this));
			}).bind(this)
		});
	}

});

orderactions = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			step: '1',
			land: 1,
			date: '0000-00-00',
			dateb: '0000-00-00',
			product: '0000',
			shippingID: '',
			cartID: 0,
			action: '',
			labelID: '',
			katID:''
		}, options ||
		{});

		/* Klassenvariablen */
		this.step = this.options.step;
		this.date = this.options.date;
		this.dateb = this.options.dateb;
		this.months = new Array('Januar','Februar','M&auml;rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
		this.product = this.options.product;

		if(this.step == '1b')
		{
			if(this.options.product == '300'){

				$$('#calendar0 tr td a').each((function(section, index){
					section.observe('click', this.setDate.bind(this));
				}).bind(this));

				$$('#calendar1 tr td a').each((function(section, index){
					section.observe('click', this.setDate.bind(this));
				}).bind(this));

				$$('#calendarb0 tr td a').each((function(section, index){
					section.observe('click', this.setDateb.bind(this));
				}).bind(this));

				$$('#calendarb1 tr td a').each((function(section, index){
					section.observe('click', this.setDateb.bind(this));
				}).bind(this));

				$(this.date).className = 'isselected';
				$('b-'+this.dateb).className = 'isselected';
				var dateparts = this.date.split("-");
				var day = dateparts[2];
				var month = this.months[parseInt(dateparts[1]) -1];
				var year = dateparts[0];

				var datepartsb = this.dateb.split("-");
				var dayb = datepartsb[2];
				var monthb = this.months[parseInt(datepartsb[1]) -1];
				var yearb = datepartsb[0];

				if($('orderdate')) $('orderdate').value = this.date;
				if($('orderdateb')) $('orderdateb').value = 'b-' + this.dateb;

				$('deliveryDate').innerHTML = day + '. ' + month + ' ' + year;
				$('deliveryDateb').innerHTML = dayb + '. ' + monthb + ' ' + yearb;

				xajax_order_setCalendarDate(this.options.product, this.date, this.options.land, this.options.shippingID);

				$('shippingmethodAdviceText').observe('focus', this.checkLen.bind(this));
				$('shippingmethodAdviceText').observe('change', this.checkLen.bind(this));
				$('shippingmethodAdviceText').observe('keydown', this.checkLen.bind(this));
				$('shippingmethodAdviceText').observe('keypress', this.checkLen.bind(this));
				$('shippingmethodAdviceText').observe('keyup', this.checkLen.bind(this));

				$('grusstext').observe('focus', this.checkLenGruka.bind(this));
				$('grusstext').observe('change', this.checkLenGruka.bind(this));
				$('grusstext').observe('keydown', this.checkLenGruka.bind(this));
				$('grusstext').observe('keypress', this.checkLenGruka.bind(this));
				$('grusstext').observe('keyup', this.checkLenGruka.bind(this));
				$('orders1submit').observe('click', this.checkstep1.bind(this));
				$('bestellform').observe('submit', this.checkstep1.bind(this));

			}
			if(this.options.product == '1030'){
				$('orders1submit').observe('click', this.checkstep1.bind(this));
				$('bestellform1_1').observe('submit', this.checkstep1.bind(this));
				$('bestellform1_2').observe('submit', this.checkstep1.bind(this));
				$('productColumn').style.display = 'block';
			}
		}

		if(this.step == '1a'){
			if(this.options.product == '300'){
				//xajax_ausland_init(this.options.product, this.options.cartID);
			}
			if(this.options.product == '1030'){
				xajax_historia_init(this.options.product, 0, 0, 0, 0, this.options.cartID);
			}

		}

		if(this.step == '1'){

			$$('#calendar0 tr td a').each((function(section, index){
				section.observe('click', this.setDate.bind(this));
			}).bind(this));

			$$('#calendar1 tr td a').each((function(section, index){
				section.observe('click', this.setDate.bind(this));
			}).bind(this));

			$(this.date).className = 'isselected';

			var dateparts = this.date.split("-");
			var day = dateparts[2];
			var month = this.months[parseInt(dateparts[1].replace("0", "")) - 1];
			var year = dateparts[0];

			if($('orderdate')) $('orderdate').value = this.date;

			if($('deliveryDate')) $('deliveryDate').innerHTML = day + '. ' + month + ' ' + year;

			xajax.call('order_setCalendarDate', {
				parameters:[this.options.product, this.date, this.options.land, this.options.shippingID],
				onComplete: (function(){
				
					$$('#shippingTable tr td input.shipinput').each((function(section, index){
						section.observe('click', this.versandartclick.bind(this));
					}).bind(this));
					
				}).bind(this)
			});

			if($('shippingmethodAdviceText')) {
				$('shippingmethodAdviceText').observe('focus', this.checkLen.bind(this));
				$('shippingmethodAdviceText').observe('change', this.checkLen.bind(this));
				$('shippingmethodAdviceText').observe('keydown', this.checkLen.bind(this));
				$('shippingmethodAdviceText').observe('keypress', this.checkLen.bind(this));
				$('shippingmethodAdviceText').observe('keyup', this.checkLen.bind(this));
			}
			
			if($('getAdressbook')) $('getAdressbook').observe('click', this.showAdressBook.bind(this));
			if($('usePayerAdressLink')) $('usePayerAdressLink').observe('click', this.usePayerAdress.bind(this));
			if($('useAdressbookLink')) $('useAdressbookLink').observe('click', this.showAdressBook.bind(this));
			if($('orders1submit')) $('orders1submit').observe('click', this.checkstep1.bind(this));
			if($('bestellform')) $('bestellform').observe('submit', this.checkstep1.bind(this));
			if($('land')) $('land').observe('change', this.landChange.bind(this));
		}

		if (this.step == '2') {
			
			$$('#greetinglist li input').each((function(section, index){
				section.observe('click', this.toggleTextView.bind(this));
			}).bind(this));
			
			this.checkGKLen();
		
			$('anrede').observe('focus', this.checkGKLen.bind(this));
			$('anrede').observe('change', this.checkGKLen.bind(this));
			$('anrede').observe('keydown', this.checkGKLen.bind(this));
			$('anrede').observe('keypress', this.checkGKLen.bind(this));
			$('anrede').observe('keyup', this.checkGKLen.bind(this));
			
			$('grusstext').observe('focus', this.checkGKLen.bind(this));
			$('grusstext').observe('change', this.checkGKLen.bind(this));
			$('grusstext').observe('keydown', this.checkGKLen.bind(this));
			$('grusstext').observe('keypress', this.checkGKLen.bind(this));
			$('grusstext').observe('keyup', this.checkGKLen.bind(this));
			
			$('grussformel').observe('focus', this.checkGKLen.bind(this));
			$('grussformel').observe('change', this.checkGKLen.bind(this));
			$('grussformel').observe('keydown', this.checkGKLen.bind(this));
			$('grussformel').observe('keypress', this.checkGKLen.bind(this));
			$('grussformel').observe('keyup', this.checkGKLen.bind(this));
			
			
			if(this.options.katID =='7') {

                $('anrede').observe('focus', this.checkGKLenFlapo.bind(this));
                $('anrede').observe('change', this.checkGKLenFlapo.bind(this));
                $('anrede').observe('keydown', this.checkGKLenFlapo.bind(this));
                $('anrede').observe('keypress', this.checkGKLenFlapo.bind(this));
                $('anrede').observe('keyup', this.checkGKLenFlapo.bind(this));

                $('grusstext').observe('focus', this.checkGKLenFlapo.bind(this));
                $('grusstext').observe('change', this.checkGKLenFlapo.bind(this));
                $('grusstext').observe('keydown', this.checkGKLenFlapo.bind(this));
                $('grusstext').observe('keypress', this.checkGKLenFlapo.bind(this));
                $('grusstext').observe('keyup', this.checkGKLenFlapo.bind(this));

                $('grussformel').observe('focus', this.checkGKLenFlapo.bind(this));
                $('grussformel').observe('change', this.checkGKLenFlapo.bind(this));
                $('grussformel').observe('keydown', this.checkGKLenFlapo.bind(this));
                $('grussformel').observe('keypress', this.checkGKLenFlapo.bind(this));
                $('grussformel').observe('keyup', this.checkGKLenFlapo.bind(this));

                if($('orders2submit')) $('orders2submit').observe('click', this.checkstep2flapo.bind(this));
			} else {
	        	$('orders2submit').observe('click', this.submitCardForm.bind(this));
				$('cardform').observe('submit', this.submitCardForm.bind(this));
	        }
		}
	},
	
	toggleTextView: function(event){
		var elem = event.findElement('label');
		
		if(elem.id != 'nocardlabel'){
			$('cardFields').style.display = 'block';
		} else {
		 	$('cardFields').style.display = 'none';
		}
	},

	changeCalImg: function(event){
		var elem = event.findElement('input');
		
		xajax.call('jahreskalender_changeKalImg', {
			parameters:[elem.value, this.options.product]
		});
	},

	showAdressBook: function(event){
		event.preventDefault();
		window.open('/onlineshop/static/adressbook.php', 'adressbookwindow','menubar=0,resizable=1,width=360,height=300');
	},
	
	
	
	usePayerAdress: function(event){
		event.preventDefault();
		xajax.call('order_usePayerAdress', {
			onComplete: (function(){

			}).bind(this)
		});
	},

	versandartclick: function(event){
		var shippingID = event.findElement('input').value;

		if (shippingID == 34) {
			$('deliveryDate').innerHTML = $('specialID').value;
		} else {
			var shipping = $('orderdate').value;
			var dateparts = shipping.split("-");
			var day = dateparts[2];
			var month = this.months[parseInt(dateparts[1]) - 1];
			var year = dateparts[0];
			$('deliveryDate').innerHTML = day + '. ' + month + ' ' + year;
		}
	
	},

	setDate: function(event, shippingID){

		event.preventDefault();
		var element = event.findElement('a');
		var product = this.options.product;
		var land = this.options.land;

		$$('#calendar0 tr td a').each((function(section, index){
			if(section.id == element.id) $(section.id).className = 'isselected';
			else $(section.id).className = '';
		}).bind(this));

		$$('#calendar1 tr td a').each((function(section, index){
			if(section.id == element.id) $(section.id).className = 'isselected';
			else $(section.id).className = '';
		}).bind(this));

		var dateparts = element.id.split("-");
		var day = dateparts[2];
		var month = this.months[parseInt(dateparts[1].replace("0", "")) - 1];
		var year = dateparts[0];

		$('orderdate').value = element.id;

		this.date = element.id;

		var shipconfirm = 0;

		$$('#shippingTable tr td input.shipinput').each((function(section, index){
			if (section.checked == true) {
				shipconfirm = section.value;
			}
		}).bind(this));

		if(shipconfirm == 0){
			shipconfirm = shippingID;
		}

		if(shipconfirm == 34){
			$('deliveryDate').innerHTML = $('specialID').value;
		}
		else $('deliveryDate').innerHTML = day + '. ' + month + ' ' + year;

		xajax.call('order_setCalendarDate', {
			parameters:[this.options.product, this.date, this.options.land, shipconfirm],
			onComplete: (function(){
				$$('#shippingTable tr td input.shipinput').each((function(section, index){
					section.observe('click', this.versandartclick.bind(this));
				}).bind(this));
			}).bind(this)
		});
	},
	
	setDateb: function(event, shippingID){

		event.preventDefault();
		var element = event.findElement('a');
		var product = this.options.product;
		var land = this.options.land;

		$$('#calendarb0 tr td a').each((function(section, index){
			if(section.id == element.id) $(section.id).className = 'isselected';
			else $(section.id).className = '';
		}).bind(this));

		$$('#calendarb1 tr td a').each((function(section, index){
			if(section.id == element.id) $(section.id).className = 'isselected';
			else $(section.id).className = '';
		}).bind(this));

		var dateparts = element.id.split("-");
		var day = dateparts[3];
		var month = this.months[parseInt(dateparts[2]) -1];
		var year = dateparts[1];

		$('deliveryDateb').innerHTML = day + '. ' + month + ' ' + year;
		$('orderdateb').value = element.id;

		this.dateb = element.id;
	},

	checkLen: function(event){
		var elem = event.findElement('input');
		$('shippingmethodAdviceCounter').innerHTML = elem.maxLength - elem.value.length;
	},

	checkLenGruka: function(event){
		var elem = event.findElement('grusstext');
		$('grusstextCounter').innerHTML = 200 - $('grusstext').value.length;
		var totalLength=$('grusstext').value.length;
		if(totalLength >= 200){
			if(event.type != "focus"){
				if (event.keyCode != 46 && event.keyCode != 8 ) {
					event.preventDefault();
				}
			}
		}
	},
	
	checkLenOtsGrusstext: function(event){
		var elem = event.findElement('ots_grusstext');
		$('otsGrusstextCounter').innerHTML = 200 - $('ots_grusstext').value.length;
		var totalLength=$('ots_grusstext').value.length;
		if(totalLength >= 200){
			if(event.type != "focus"){
				if (event.keyCode != 46 && event.keyCode != 8 ) {
					event.preventDefault();
				}
			}
		}
	},
	
	landChange: function(event){
		var elem = event.findElement('select');
		//xajax_order_setCalendarDate(this.product, this.date, elem.value, '');

		if($('land')) $('land').stopObserving();
		
		xajax_order_updateCalendar(this.product, elem.value, this.options.cartID);

		//xajax_order_doCalendar(this.product, this.date, elem.value, this.options.shippingID);
		//xajax_order_orderProduct(this.product, elem.value, xajax.getFormValues('bestellform1_1'),xajax.getFormValues('bestellform1_2'), '1', '', , 1);
	},

	checkstep1: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		
		
        if($('orders1submit').className == 'buttonredinactive'){
           
        }else{
           $('orders1submit').className = 'buttonredinactive';
	        xajax_order_processOrderStep1static(xajax.getFormValues('bestellform'), this.options.cartID, this.options.action, this.product);
        }
	},

	checkstep2: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		xajax_order_processOrderStep2(xajax.getFormValues('bundleform'),xajax.getFormValues('grussform'), this.options.cartID, this.options.action);
	},
	
	checkstep2flapo: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		this.submitCardFormFlapo(event);
	},
	
	submitCardFormFlapo: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		this.cardID = 712;
		var text = $('anrede').value + $('grusstext').value + $('grussformel').value;

		if(text=='') {
			$('grusstext_error').style.display = 'block';
			scrollToAnker('grusstext_error_anker');
		
		}
		else {
		$('grusstext_error').style.display = 'none';
		//if(text.match("\\\\") || text.match("'") || text.match("\"") || text.match("~")){
		$('anrede').value.replace("\\\\", "");
		$('anrede').value.replace("'", "");
		$('anrede').value.replace("\"", "");
		$('anrede').value.replace("~", "");

		$('grusstext').value.replace("\\\\", "");
		$('grusstext').value.replace("'", "");
		$('grusstext').value.replace("\"", "");
		$('grusstext').value.replace("~", "");

		$('grussformel').value.replace("\\\\", "");
		$('grussformel').value.replace("'", "");
		$('grussformel').value.replace("\"", "");
		$('grussformel').value.replace("~", "");
		//}
		xajax.call('order_processOrderStep2static', {
				parameters:[xajax.getFormValues('cardform')],
				onComplete: (function(){

				}).bind(this)
			});
		}
	},

	submitCardForm: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		var text = $('anrede').value + $('grusstext').value + $('grussformel').value;
		
		var cardID = Form.getInputs('greetinglist','radio','greeting').find(function(radio) { return radio.checked; }).value;
		
		if(cardID != 1 && cardID != 0 && text=='') {
			$('grusstext_error').style.display = 'block';
			scrollToAnker('grusstext_error_anker');
		} else {
			$('grusstext_error').style.display = 'none';
		
			$('anrede').value.replace("\\\\", "");
			$('anrede').value.replace("'", "");
			$('anrede').value.replace("\"", "");
			$('anrede').value.replace("~", "");
	
			$('grusstext').value.replace("\\\\", "");
			$('grusstext').value.replace("'", "");
			$('grusstext').value.replace("\"", "");
			$('grusstext').value.replace("~", "");
	
			$('grussformel').value.replace("\\\\", "");
			$('grussformel').value.replace("'", "");
			$('grussformel').value.replace("\"", "");
			$('grussformel').value.replace("~", "");

			xajax.call('order_processOrderStep2static', {
				parameters:[xajax.getFormValues('cardform')],
				onComplete: (function(){

				}).bind(this)
			});

		}
	},


	checkGKLen: function(event){
		var allowed = 400;
		var totalLength = $('anrede').value.length + $('grusstext').value.length + $('grussformel').value.length;
		$('cardTXTCounter').innerHTML = allowed - totalLength;

		if(totalLength >= allowed){
			if(event.type != "focus"){
				if (event.keyCode != 46 && event.keyCode != 8 && event.keyCode != 13) {
					event.preventDefault();
				}
			}
			$('cardTXTCounter').style.color = '#DB2122';
		} else {
			$('cardTXTCounter').style.color = '#666666';
		}
	},
	
	checkGKLenFlapo: function(event){
		var allowed = 400;
		var totalLength = $('anrede').value.length + $('grusstext').value.length + $('grussformel').value.length;
		$('cardTXTCounter').innerHTML = allowed - totalLength;

		if(totalLength >= allowed){
			if(event.type != "focus"){
				if (event.keyCode != 46 && event.keyCode != 8 && event.keyCode != 13) {
					event.preventDefault();
				}
			}
			$('cardTXTCounter').style.color = '#DB2122';
		} else {
			$('cardTXTCounter').style.color = '#666666';
		}
	},
	
	showzitat: function(event){
		event.preventDefault();
		xajax_zitat_showzitat();
	}
});

beeractions = Class.create({
	initialize: function(options){

            /* globale Optionen*/
            this.options = Object.extend({
                labelID: '',
                labelType: '0',
                productID: '',
                wkID: 0,
                upload: 0,
                legalTextURL:'',
				bleedColor:'', 
				bleedAlpha:'',
				redirectPath:'', 
				processPath:'', 
				src:'', 
				width:'', 
				height:'', 
				x:'', 
				y:'', 
				innerWidth:'', 
				innerHeight:'', 
				session:'',
				vectorSource:'',
				previewItemUrl:'',
				previewXposition:'',
				previewYposition:'',
				previewWidth:'',
				previewHeight:'',
				clipsXMLURL:'', 
				shapesXMLURL:''
            }, options ||
            {});

			if(this.options.upload == 1){
			
				if($('beerUploadButton')) $('beerUploadButton').observe('click', this.handleUploadButton.bind(this));
			
			} else {

	            if(!this.options.labelID || this.options.labelID == ''){
	                    var list = $$('#labellist li a');
	                    var first = list[0];
	                    this.labelID = first.id.substr(2, first.id.length);
	                    
	            } else {
	                    this.labelID = this.options.labelID;
	            }
	
	
	            //this.makeSubmit();
	            $('beersubmit').observe('click', this.changeLabel.bind(this));
	            $('beerform').observe('submit', this.changeLabel.bind(this));
	            $('BeerSubmitButton').observe('click', this.orderLabel.bind(this));
	            
	            //Picker-Buttons Observer
	            $$('#workbenchfields input.colorpicker').each((function(section, index){
	                    section.observe('click', this.showPicker.bind(this));
	            }).bind(this));
	
	            //Labelauswahl Observer
	            $$('#labellist li a').each((function(section, index){
	                    section.observe('click', this.selectLabel.bind(this));
	                    if(section.id == 'lb' + this.options.labelID){
	                            var img = section.childElements();
	                            $(img[0]).setStyle({
	                                    border: '1px solid #f00'
	                            });
	                    } else {
	                            var img = section.childElements();
	                            $(img[0]).setStyle({
	                                    border: '1px solid #fff'
	                            });
	                    }
	            }).bind(this));
	
	            //Picker-Buttons Observer
	            $$('#beerform table.pickerTable tbody td.pickerCell').each((function(section, index){
	                    section.observe('click', this.selectColor.bind(this));
	            }).bind(this));
	
	            //Picker-schliessen Observer
	            $$('#beerform a.cpCloseButton').each((function(section, index){
	                    section.observe('click', this.hidePicker.bind(this));
	            }).bind(this));

			}
            
        },
        
        handleUploadButton: function(event){
        	event.preventDefault();

        	var flashvars = {
				legalTextURL: this.options.legalTextURL,
				bleedColor: this.options.bleedColor, 
				bleedAlpha: this.options.bleedAlpha,
				redirectPath: this.options.redirectPath, 
				processPath: this.options.processPath, 
				src: this.options.src, 
				width: this.options.width, 
				height: this.options.height, 
				x: this.options.x, 
				y: this.options.y, 
				innerWidth: this.options.innerWidth, 
				innerHeight: this.options.innerHeight, 
				session: this.options.session,
				previewItemUrl: this.options.previewItemUrl,
				previewXposition: this.options.previewXposition,
				previewYposition: this.options.previewYposition,
				previewWidth: this.options.previewWidth,
				previewHeight: this.options.previewHeight,
				vectorSource: this.options.vectorSource,
				clipsXMLURL: this.options.clipsXMLURL ,
				shapesXMLURL: this.options.shapesXMLURL 
			};
							
			var params = {
				menu: 'false',
				scale: 'noScale'
			};
			
			//window.setTimeout(function() {
	 		swfobject.embedSWF('/onlineshop/flash/Main.swf', 'orderWindowContent', '985', '450', '10.0.0', '/onlineshop/flash/expressInstall.swf', flashvars, params); 
	 		//}, 1000);
	
			handleOverlays('show', 'overlay', '999', 'orderWindow');
        	if($('orderClose')) $('orderClose').observe('click', this.closeUpload.bind(this));
        
        },
        
        closeUpload: function(event){
        	event.preventDefault();
        	handleOverlays('hide', 'overlay', '999', 'orderWindow');
        },

		changeLabel: function(event){
            event.preventDefault();
            var error = 'no';

            $$('#beerform input').each((function(section, index){
                    if(section.type == 'text' ){
                            if(section.value == ''){
                                    $('bier_error' + section.id).innerHTML = 'Bitte geben Sie einen Text ein!';
                                    $('bier_error' + section.id).setStyle({
                                            display: 'block'
                                    });
                                    error = 'yes';
                            } else {
                                    $('bier_error' + section.id).innerHTML = '';
                                    $('bier_error' + section.id).setStyle({
                                            display: 'none'
                                    });
                            }
                    }
            }).bind(this));

            if(error == 'no'){
                    $('workbenchpreview').innerHTML = '';
                    //if($('BeerSubmitButton')) $('BeerSubmitButton').remove();
                    xajax_beer_changeLabelStatic(this.labelID, this.options.productID, this.options.wkID, xajax.getFormValues('beerform'));
            }
	},
	


	selectLabel: function(event){
		event.preventDefault();
		var link = event.findElement('a');

		var modified = 'no';

		$$('#beerform input').each((function(section, index){
			if((section.id.substr(0, 4) == 'text') && (section.value != $('default' + section.id).value)){
				modified = 'yes';
			}
		}).bind(this));

		if(modified == 'no'){
			var changeConfirm = true;
		} else {
			var changeConfirm = confirm("Wenn Sie das Motiv wechseln gehen Ihre Eingaben verloren. Wollen Sie das Motiv wechseln?")
		}

		if (changeConfirm == true){

			$$('#labellist li a').each((function(section, index){
				if(link.id == section.id){
					var img = section.childElements();
					$(img[0]).setStyle({
						border: '1px solid #f00'
					});
				} else {
					var img = section.childElements();
					$(img[0]).setStyle({
						border: '1px solid #fff'
					});
				}
			}).bind(this));

			$('workbenchpreview').innerHTML = '';
			//if($('BeerSubmitButton')) $('BeerSubmitButton').remove();
            xajax_beer_changeLabelStatic(link.id.substr(2, link.id.length), this.options.productID, this.options.wkID, xajax.getFormValues('beerform'), 1);
			//xajax_beer_changeLabel(link.id.substr(2, link.id.length), this.options.productID, this.options.wkID);
		}

	},

	orderLabel: function(event){
            event.preventDefault();
            if(event.type == 'click') $(event.findElement('a').id).blur();
            var error = 'no';

            $$('#beerform input').each((function(section, index){
                    if(section.type == 'text' ){
                            if(section.value == ''){
                                    $('bier_error' + section.id).innerHTML = 'Bitte geben Sie einen Text ein!';
                                    $('bier_error' + section.id).setStyle({
                                            display: 'block'
                                    });
                                    error = 'yes';
                            } else {
                                    $('bier_error' + section.id).innerHTML = '';
                                    $('bier_error' + section.id).setStyle({
                                            display: 'none'
                                    });
                            }
                    }
            }).bind(this));


            if(error == 'no'){

                var modified = 'yes';

                $$('#beerform input').each((function(section, index){
                        if((section.id.substr(0, 4) == 'text') && (section.value == $('default' + section.id).value)){
                                modified = 'no';
                        }
                }).bind(this));

                if(modified == 'no'){
                alert('Bitte geben Sie einen eigenen Text in die Textfelder ein!');
            } else {
                   xajax_beer_orderLabel($('beerlabelID').value, this.options.productID, this.options.wkID, xajax.getFormValues('beerform'), 1);
                    }
            }
	},

	makeSubmit: function(){
		this.span = new Element('span');
		this.span.innerHTML = "weiter";
		this.anker = new Element('a');
		this.anker.href = "#weiter";
		this.anker.id = "BeerSubmitButton";
		this.anker.className = "buttonred";
		this.anker.appendChild(this.span);
		this.anker.observe('click', this.orderLabel.bind(this));
		$('orderWindowContent').appendChild(this.anker);
	},

	showPicker: function(event){
		event.preventDefault();
		var input = event.findElement('input');
		$(input.value).show();
	},

	hidePicker: function(event){
		event.preventDefault();
		var input = event.findElement('a');
		$('colorpicker_' + input.id.substr(7, input.id.length)).hide();
	},

	selectColor: function(event){
		event.preventDefault();
		
		var input = event.findElement('td');
		var tr = input.parentNode;
		var tbody = tr.parentNode;
		var table = tbody.parentNode.id;

		var realid = tbody.parentNode.id.substr(6, tbody.parentNode.id.length);
		$('colorpicker_' + realid).hide();

		var bcolor = input.getStyle('backgroundColor');
		if(input.getStyle('backgroundColor').substr(0,2) == 'rgb'){
			$('fontcolor['+ realid +']').value = this.rgbConvert(input.getStyle('backgroundColor'));
		} else {
			$('fontcolor['+ realid +']').value = bcolor;
		}
		
		$('workbenchpreview').innerHTML = '';
		xajax_beer_changeLabelStatic(this.labelID, this.options.productID, this.options.wkID, xajax.getFormValues('beerform'));
	},

	rgbConvert: function(str) {
		str = str.replace(/rgb\(|\)/g, "").split(",");
		str[0] = parseInt(str[0], 10).toString(16).toLowerCase();
		str[1] = parseInt(str[1], 10).toString(16).toLowerCase();
		str[2] = parseInt(str[2], 10).toString(16).toLowerCase();
		str[0] = (str[0].length == 1) ? '0' + str[0] : str[0];
		str[1] = (str[1].length == 1) ? '0' + str[1] : str[1];
		str[2] = (str[2].length == 1) ? '0' + str[2] : str[2];
		return ('#' + str.join(""));
	}
});

beeractionsab = Class.create({
	initialize: function(options){

            /* globale Optionen*/
            this.options = Object.extend({
                    labelID: '',
                    labelType: '0',
                    productID: '',
                    wkID: 0
            }, options ||
            {});

            if(!this.options.labelID || this.options.labelID == ''){
                    var list = $$('#labellist li a');
                    var first = list[0];
                    this.labelID = first.id.substr(2, first.id.length);
                    
            } else {
                    this.labelID = this.options.labelID;
            }


            $('beersubmit').observe('click', this.changeLabel.bind(this));
            $('abform').observe('submit', this.changeLabel.bind(this));

            //Picker-Buttons Observer
            $$('#workbenchfields input.colorpicker').each((function(section, index){
                    section.observe('click', this.showPicker.bind(this));
            }).bind(this));
 
            //Labelauswahl Observer
            $$('#labellist li a').each((function(section, index){
             
                    section.observe('click', this.selectLabel.bind(this));
                    if(section.id == 'lb' + this.options.labelID){
                            var img = section.childElements();
                            $(img[0]).setStyle({
                                    border: '1px solid #f00'
                            });
                    } else {
                            var img = section.childElements();
                            $(img[0]).setStyle({
                                    border: '1px solid #fff'
                            });
                    }
            }).bind(this));

            //Picker-Buttons Observer
            $$('#abform table.pickerTable tbody td.pickerCell').each((function(section, index){
                    section.observe('click', this.selectColor.bind(this));
            }).bind(this));

            //Picker-schliessen Observer
            $$('#abform a.cpCloseButton').each((function(section, index){
                    section.observe('click', this.hidePicker.bind(this));
            }).bind(this));

        },            	
    

	changeLabel: function(event){
            event.preventDefault();
            var error = 'no';
			$('perso_errors').innerHTML = '';
            $$('#abform input').each((function(section, index){
                    if(section.type == 'text' ){
                            if(section.value == ''){
                                 		
                                    $('perso_errors').innerHTML = 'Bitte geben Sie einen Text ein!';
                                    section.addClassName('error');
                                    error = 'yes';
                            } else {
                                    //$('perso_errors').innerHTML = '';
                                    section.removeClassName('error');
                            }
                    }
            }).bind(this));

            if(error == 'no'){
                    $('workbenchpreview').innerHTML = '';
                    //if($('BeerSubmitButton')) $('BeerSubmitButton').remove();
                    xajax_beer_changeLabelAB(this.labelID, this.options.productID, this.options.wkID, xajax.getFormValues('abform'));
            }
	},

	selectLabel: function(event){
		event.preventDefault();
		var link = event.findElement('a');

		var modified = 'no';

		$$('#abform input').each((function(section, index){
			if((section.id.substr(0, 4) == 'text') && (section.value != $('default' + section.id).value)){
				modified = 'yes';
			}
		}).bind(this));

		if(modified == 'no'){
			var changeConfirm = true;
		} else {
			var changeConfirm = confirm("Wenn Sie das Motiv wechseln gehen Ihre Eingaben verloren. Wollen Sie das Motiv wechseln?")
		}

		if (changeConfirm == true){

			$$('#labellist li a').each((function(section, index){
				if(link.id == section.id){
					var img = section.childElements();
					$(img[0]).setStyle({
						border: '1px solid #f00'
					});
				} else {
					var img = section.childElements();
					$(img[0]).setStyle({
						border: '1px solid #fff'
					});
				}
			}).bind(this));

			$('workbenchpreview').innerHTML = '';
			
			//Labelauswahl Observer
            $$('#labellist li a').each((function(section, index){
                    section.stopObserving();
            }).bind(this));
                                           
            xajax_beer_changeLabelAB(link.id.substr(2, link.id.length), this.options.productID, this.options.wkID, xajax.getFormValues('abform'), 1);
		}

	},

	orderLabel: function(event){
            event.preventDefault();
            if(event.type == 'click') $(event.findElement('a').id).blur();
            var error = 'no';

            $$('#abform input').each((function(section, index){
                    if(section.type == 'text' ){
                            if(section.value == ''){
                                    $('bier_error' + section.id).innerHTML = 'Bitte geben Sie einen Text ein!';
                                    $('bier_error' + section.id).setStyle({
                                            display: 'block'
                                    });
                                    error = 'yes';
                            } else {
                                    $('bier_error' + section.id).innerHTML = '';
                                    $('bier_error' + section.id).setStyle({
                                            display: 'none'
                                    });
                            }
                    }
            }).bind(this));


            if(error == 'no'){

                var modified = 'yes';

                $$('#abform input').each((function(section, index){
                        if((section.id.substr(0, 4) == 'text') && (section.value == $('default' + section.id).value)){
                                modified = 'no';
                        }
                }).bind(this));

                if(modified == 'no'){
                alert('Bitte geben Sie einen eigenen Text in die Textfelder ein!');
            } else {
                   xajax_beer_orderLabel($('beerlabelID').value, this.options.productID, this.options.wkID, xajax.getFormValues('abform'), 1);
                    }
            }
	},

	
	showPicker: function(event){
		event.preventDefault();
		var input = event.findElement('input');
		$(input.value).show();
	},

	hidePicker: function(event){
		event.preventDefault();
		var input = event.findElement('a');
		$('colorpicker_' + input.id.substr(7, input.id.length)).hide();
	},

	selectColor: function(event){
		event.preventDefault();
		
		var input = event.findElement('td');
		var tr = input.parentNode;
		var tbody = tr.parentNode;
		var table = tbody.parentNode.id;

		var realid = tbody.parentNode.id.substr(6, tbody.parentNode.id.length);
		$('colorpicker_' + realid).hide();

		var bcolor = input.getStyle('backgroundColor');
		if(input.getStyle('backgroundColor').substr(0,2) == 'rgb'){
			$('fontcolor['+ realid +']').value = this.rgbConvert(input.getStyle('backgroundColor'));
		} else {
			$('fontcolor['+ realid +']').value = bcolor;
		}
		
		$('workbenchpreview').innerHTML = '';
		xajax_beer_changeLabelStatic(this.labelID, this.options.productID, this.options.wkID, xajax.getFormValues('abform'));
	},

	rgbConvert: function(str) {
		str = str.replace(/rgb\(|\)/g, "").split(",");
		str[0] = parseInt(str[0], 10).toString(16).toLowerCase();
		str[1] = parseInt(str[1], 10).toString(16).toLowerCase();
		str[2] = parseInt(str[2], 10).toString(16).toLowerCase();
		str[0] = (str[0].length == 1) ? '0' + str[0] : str[0];
		str[1] = (str[1].length == 1) ? '0' + str[1] : str[1];
		str[2] = (str[2].length == 1) ? '0' + str[2] : str[2];
		return ('#' + str.join(""));
	}
});

bierkrugactions = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			labelID: '',
			productID: '',
			wkID: 0
		}, options ||
		{});

		if(!this.options.labelID || this.options.labelID == ''){
			var list = $$('#labellist li a');
			var first = list[0];
			this.labelID = first.id.substr(2, first.id.length);
		} else {
			this.labelID = this.options.labelID;
		}

		$('beersubmit').observe('click', this.changeLabel.bind(this));
		$('beerform').observe('submit', this.changeLabel.bind(this));

		$('persbierkrugsubmit').observe('click', this.submitBierkrug.bind(this));

		$('labellist').setStyle({
			width: ($$('#labellist li').length * 320) + 'px'
		});


		//Labelauswahl Observer
		$$('#labellist li a').each((function(section, index){
			section.observe('click', this.selectLabel.bind(this));
			if(section.id == 'lb' + this.options.labelID){
				var img = section.childElements();
				$(img[0]).setStyle({
					border: '1px solid #f00'
				});
			} else {
				var img = section.childElements();
				$(img[0]).setStyle({
					border: '1px solid #fff'
				});
			}
		}).bind(this));

	},

	changeLabel: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		var error = 'no';

		if($('bierkrugtext').value == ''){
			$('bier_errortext' ).innerHTML = 'Bitte geben Sie einen Text ein!';
			$('bier_errortext' ).setStyle({
				display: 'block'
			});
			error = 'yes';
		} else {
			$('bier_errortext' ).innerHTML = '';
			$('bier_errortext' ).setStyle({
				display: 'none'
			});
		}

		if(error == 'no'){
			$('workbenchpreview').innerHTML = '';
			xajax_bierkrug_changeLabel(this.labelID, this.options.productID, this.options.wkID, xajax.getFormValues('beerform'));
		}
	},

	selectLabel: function(event){
		event.preventDefault();
		var link = event.findElement('a');

		var modified = 'no';

		$$('#beerform input').each((function(section, index){
			if((section.id.substr(0, 4) == 'text') && (section.value != $('default' + section.id).value)){
				modified = 'yes';
			}
		}).bind(this));

		if(modified == 'no'){
			var changeConfirm = true;
		} else {
			var changeConfirm = confirm("Wenn Sie das Motiv wechseln gehen Ihre Eingaben verloren. Wollen Sie das Motiv wechseln?")
		}

		if (changeConfirm == true){

			$$('#labellist li a').each((function(section, index){
				if(link.id == section.id){
					var img = section.childElements();
					$(img[0]).setStyle({
						border: '1px solid #f00'
					});
				} else {
					var img = section.childElements();
					$(img[0]).setStyle({
						border: '1px solid #fff'
					});
				}
			}).bind(this));

			$('workbenchpreview').innerHTML = '';
			xajax_bierkrug_changeLabel(link.id.substr(2, link.id.length), this.options.productID);
		}
	},

	submitBierkrug: function(event){
		event.preventDefault();
		xajax_bierkrug_orderBierkrug($('beerlabelID').value, this.options.productID, this.options.wkID, $('bierkrugtext').value, 1);
	}
});

bierkrugactionsab = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			labelID: '',
			productID: '',
			wkID: 0
		}, options ||
		{});

		if(!this.options.labelID || this.options.labelID == ''){
			var list = $$('#labellist li a');
			var first = list[0];
			this.labelID = first.id.substr(2, first.id.length);
		} else {
			this.labelID = this.options.labelID;
		}

		if($('beersubmit')) $('beersubmit').stopObserving();
		if($('abform')) $('abform').stopObserving();
		
		$('beersubmit').observe('click', this.changeLabel.bind(this));
		$('abform').observe('submit', this.changeLabel.bind(this));

		//$('persbierkrugsubmit').observe('click', this.submitBierkrug.bind(this));

		$('labellist').setStyle({
			width: ($$('#labellist li').length * 320) + 'px'
		});


		//Labelauswahl Observer
		$$('#labellist li a').each((function(section, index){
		    if(section) section.stopObserving();
			section.observe('click', this.selectLabel.bind(this));
			if(section.id == 'lb' + this.options.labelID){
				var img = section.childElements();
				$(img[0]).setStyle({
					border: '1px solid #f00'
				});
			} else {
				var img = section.childElements();
				$(img[0]).setStyle({
					border: '1px solid #fff'
				});
			}
		}).bind(this));

	},

	changeLabel: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		var error = 'no';
		
		if($('bierkrugtext').value == ''){
			$('perso_errors').innerHTML = 'Bitte geben Sie einen Text ein!';
            $('bierkrugtext').addClassName('error');
            error = 'yes';
		} else {
			$('bierkrugtext').removeClassName('error');
			$('perso_errors').innerHTML = '';

		}

		if(error == 'no'){
			$('workbenchpreview').innerHTML = '';
			xajax_bierkrug_changeLabel(this.labelID, this.options.productID, this.options.wkID, xajax.getFormValues('abform'));
		}
	},

	selectLabel: function(event){
		event.preventDefault();
		var link = event.findElement('a');

		var modified = 'no';

		$$('#abform input').each((function(section, index){
			if((section.id.substr(0, 4) == 'text') && (section.value != $('default' + section.id).value)){
				modified = 'yes';
			}
		}).bind(this));

		if(modified == 'no'){
			var changeConfirm = true;
		} else {
			var changeConfirm = confirm("Wenn Sie das Motiv wechseln gehen Ihre Eingaben verloren. Wollen Sie das Motiv wechseln?")
		}

		if (changeConfirm == true){

			$$('#labellist li a').each((function(section, index){
				if(link.id == section.id){
					var img = section.childElements();
					$(img[0]).setStyle({
						border: '1px solid #f00'
					});
				} else {
					var img = section.childElements();
					$(img[0]).setStyle({
						border: '1px solid #fff'
					});
				}
			}).bind(this));

			$('workbenchpreview').innerHTML = '';
			xajax_bierkrug_changeLabel(link.id.substr(2, link.id.length), this.options.productID, this.options.wkID, xajax.getFormValues('abform'));
		}
	},

	submitBierkrug: function(event){
		event.preventDefault();
		xajax_bierkrug_orderBierkrug($('beerlabelID').value, this.options.productID, this.options.wkID, $('bierkrugtext').value, 1);
	}
});



tortenactions = Class.create({
	initialize: function(options){

        /* globale Optionen*/
        this.options = Object.extend({
        	productID: '',
        	cartID: 0
        }, options ||
        {});

       if($('CakeSubmitButton')) $('CakeSubmitButton').observe('click', this.orderPersoTorte.bind(this));
       
     },       


	orderPersoTorte: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		if ($('torten1').value == '') {
			$('torten1_errortext').style.display = 'none';
			
			if ($('torten1').value == '') {
				$('torten1_errortext').innerHTML = 'Bitte geben Sie einen Text ein';
				$('torten1_errortext').style.display = 'block';
			}
			
		}
		else if($('torten2') && $('torten2').value == '') {
			$('torten2_errortext').style.display = 'none';
			$('torten2_errortext').innerHTML = 'Bitte geben Sie einen Text ein';
			$('torten2_errortext').style.display = 'block';
			
			
		}
		
		else {
			xajax_persotorten_orderTorte(this.options.productID, xajax.getFormValues('persotorten_form'), this.options.cartID, 1);
		}
	}

});

teddyactions = Class.create({
	initialize: function(options){

        /* globale Optionen*/
        this.options = Object.extend({
        	productID: '',
        	cartID: 0
        }, options ||
        {});

       if($('TeddySubmitButton')) $('TeddySubmitButton').observe('click', this.orderPersoTeddy.bind(this));
       
     },       


	orderPersoTeddy: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		if ($('text1').value == '') {
			$('text1_errortext').style.display = 'none';
			
			if ($('text1').value == '') {
				$('text1_errortext').innerHTML = 'Bitte geben Sie einen Text ein';
				$('text1_errortext').style.display = 'block';
			}
			
		}
		if ($('text2').value == '') {
			$('text2_errortext').style.display = 'none';
			
			if ($('text2').value == '') {
				$('text2_errortext').innerHTML = 'Bitte geben Sie einen Text ein';
				$('text2_errortext').style.display = 'block';
			}
			
		}
		
		else {
			xajax_teddybaeren_orderTeddy(this.options.productID, xajax.getFormValues('persoteddy_form'), this.options.cartID, 1);
		}
	}

});

weinactionsab = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			productID: '',
			toptext: '',
			bottomtext: '',
			wkID: 0
		}, options ||
		{});

		
		/* toptext bottomtext */
		
		
		$('weinsubmit').observe('click', this.changeLabel.bind(this));
		


	},

	changeLabel: function(event){
		event.preventDefault();
		xajax_eigenerwein_init(this.options.productID, $('toptext').value, $('bottomtext').value, this.options.wkID, 1);
	}
});

weinactions = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			productID: '',
			toptext: '',
			bottomtext: '',
			wkID: 0
		}, options ||
		{});

		
		/* toptext bottomtext */
		
		
		$('weinsubmit').observe('click', this.changeLabel.bind(this));
		$('weinform').observe('submit', this.changeLabel.bind(this));
		$('persweinsubmit').observe('click', this.abschluss.bind(this));


	},

	changeLabel: function(event){
		event.preventDefault();
		xajax_eigenerwein_init(this.options.productID, $('toptext').value, $('bottomtext').value, this.options.wkID);
	},

	abschluss: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		
		$('toptext_errortext').style.display = 'none';
		if ($('toptext').value == '' || $('toptext').value == 'Mein eigener Text') {
				$('toptext_errortext').innerHTML = 'Bitte geben Sie einen Text ein';
				$('toptext_errortext').style.display = 'block';
			
		}
		else if ($('bottomtext').value == '' || $('bottomtext').value == 'Mein eigener Text') {
				$('bottomtext_errortext').innerHTML = 'Bitte geben Sie einen Text ein';
				$('bottomtext_errortext').style.display = 'block';
			
		}
		else 
		{
		    xajax_eigenerwein_orderLabel(this.options.productID, $('toptext').value, $('bottomtext').value, this.options.wkID, 1);
		}
	}
});

kalenderactions = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			productID: '',
			cartID: 0
		}, options ||
		{});



		var ots_set = $$('input:checked[type="radio"][name="ots_set"]').pluck('value');

		
		if(ots_set == 4){
			$('ots_bildtext').observe('focus', this.checkLenOtsBildtext2.bind(this));
			$('ots_bildtext').observe('change', this.checkLenOtsBildtext2.bind(this));
			$('ots_bildtext').observe('keydown', this.checkLenOtsBildtext2.bind(this));
			$('ots_bildtext').observe('keypress', this.checkLenOtsBildtext2.bind(this));
			$('ots_bildtext').observe('keyup', this.checkLenOtsBildtext2.bind(this));

			$('ots_bildtext2').observe('focus', this.checkLenOtsBildtext3.bind(this));
			$('ots_bildtext2').observe('change', this.checkLenOtsBildtext3.bind(this));
			$('ots_bildtext2').observe('keydown', this.checkLenOtsBildtext3.bind(this));
			$('ots_bildtext2').observe('keypress', this.checkLenOtsBildtext3.bind(this));
			$('ots_bildtext2').observe('keyup', this.checkLenOtsBildtext3.bind(this));
			
			$('otsBildtextCounter').innerHTML = 20 - $('ots_bildtext').value.length;
			
		} else {
			$('ots_bildtext').observe('focus', this.checkLenOtsBildtext.bind(this));
			$('ots_bildtext').observe('change', this.checkLenOtsBildtext.bind(this));
			$('ots_bildtext').observe('keydown', this.checkLenOtsBildtext.bind(this));
			$('ots_bildtext').observe('keypress', this.checkLenOtsBildtext.bind(this));
			$('ots_bildtext').observe('keyup', this.checkLenOtsBildtext.bind(this));
			
			$('otsBildtextCounter2').innerHTML = 20 - $('ots_bildtext2').value.length;
		}
		
		$('ots_grusstext').observe('focus', this.checkLenOtsGrusstext.bind(this));
		$('ots_grusstext').observe('change', this.checkLenOtsGrusstext.bind(this));
		$('ots_grusstext').observe('keydown', this.checkLenOtsGrusstext.bind(this));
		$('ots_grusstext').observe('keypress', this.checkLenOtsGrusstext.bind(this));
		$('ots_grusstext').observe('keyup', this.checkLenOtsGrusstext.bind(this));
		$('kalendervorschau').observe('click',this.makeKalenderPopup.bind(this));
		if($('perssubmit')) $('perssubmit').observe('click', this.orderKalender.bind(this));
		
		$$('#CalSelectFields label input').each((function(section, index){
			section.observe('click', this.changeCalImg.bind(this));
		}).bind(this));
		
	},
		
	checkLenOtsBildtext: function(event){
		var elem = event.findElement('ots_bildtext');
		$('otsBildtextCounter').innerHTML = 30 - $('ots_bildtext').value.length;
	},
	
	checkLenOtsBildtext2: function(event){
		var elem = event.findElement('ots_bildtext');
		$('otsBildtextCounter').innerHTML = 20 - $('ots_bildtext').value.length;
	},
	
	checkLenOtsBildtext3: function(event){
		var elem = event.findElement('ots_bildtext2');
		$('otsBildtextCounter2').innerHTML = 20 - $('ots_bildtext2').value.length;
	},
	
	checkLenOtsGrusstext: function(event){
		var elem = event.findElement('ots_grusstext');
		$('otsGrusstextCounter').innerHTML = 200 - $('ots_grusstext').value.length;
		var totalLength=$('ots_grusstext').value.length;
		if(totalLength >= 200){
			if(event.type != "focus"){
				if (event.keyCode != 46 && event.keyCode != 8 ) {
					event.preventDefault();
				}
			}
		}
	},
	
	makeKalenderPopup: function(event){
		event.preventDefault();
		var ots_set = $$('input:checked[type="radio"][name="ots_set"]').pluck('value');
		if(ots_set == '') ots_set=$('ots_set').value;
		if ($('ots_bildtext').value == '' || (ots_set == 4 && $('ots_bildtext2').value == '')){
			$('ots_errortext').style.display = 'none';
			$('ots_errortext2').style.display = 'none';
			if ($('ots_bildtext').value == '') {
				$('ots_errortext').innerHTML = 'Bitte geben Sie einen Text ein';
				$('ots_errortext').style.display = 'block';
			}
			if (ots_set == 4 && $('ots_bildtext2').value == '') {
				$('ots_errortext2').innerHTML = 'Bitte geben Sie einen Text ein';
				$('ots_errortext2').style.display = 'block';
			}
		} else {
			$('ots_errortext').style.display = 'none';
			$('ots_errortext2').style.display = 'none';
			
			var values = "&m=" + $('ots_startmonth').value + "&y=" + $('ots_startyear').value + "&t=" + escape(utf8_encode(unescape($('ots_bildtext').value))) + "&g=" + escape($('ots_grusstext').value) + "&set=" + ots_set;
			
			if (ots_set == 4){
				values = values + "&t2=" + escape(utf8_encode(unescape($('ots_bildtext2').value)))+"&set=4";
				Vorschau = window.open("/onlineshop/imageKalender.php?produkt_ID=" + $('productID').value + values, "Zweitfenster", "screenX=100,screenY=30,width=950,Height=600,scrollbars=yes,resizable=yes");
			}
			else
			{
				Vorschau = window.open("/onlineshop/imageKalender.php?produkt_ID=" + $('productID').value + values, "Zweitfenster", "screenX=100,screenY=30,width=540,Height=600,scrollbars=yes,resizable=yes");
			}
			
			Vorschau.focus();
		}
	},
	
	changeCalImg: function(event){
		var elem = event.findElement('input');
		
		xajax.call('jahreskalender_changeKalImg', {
			parameters:[elem.value, this.options.productID]
		});
	},
	
	orderKalender: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		var ots_set = $$('input:checked[type="radio"][name="ots_set"]').pluck('value');
		
		if ($('ots_bildtext').value == '' || (ots_set == 4 && $('ots_bildtext2').value == '')) {
			$('ots_errortext').style.display = 'none';
			$('ots_errortext2').style.display = 'none';
			if ($('ots_bildtext').value == '') {
				$('ots_errortext').innerHTML = 'Bitte geben Sie einen Text ein';
				$('ots_errortext').style.display = 'block';
			}
			if (ots_set == 4 && $('ots_bildtext2').value == '') {
				$('ots_errortext2').innerHTML = 'Bitte geben Sie einen Text ein';
				$('ots_errortext2').style.display = 'block';
			}
		} else {
			xajax_jahreskalender_orderKalender(this.options.productID, xajax.getFormValues('ots_form'), this.options.cartID, 1);
		}
	}

});


kalenderactionsab = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			productID: '',
			cartID: 0
		}, options ||
		{});

		/*
		if($('ots_set').value != 'undefined' && $('ots_set').value != ''){
			var ots_set = $('ots_set').value;
		} else{
			var ots_set = $$('input:checked[type="radio"][name="ots_set"]').pluck('value');
		}
		*/
		
		var ots_set = this.options.ots_set;
		
		if(ots_set == 4){
			$('ots_bildtext').observe('focus', this.checkLenOtsBildtext2.bind(this));
			$('ots_bildtext').observe('change', this.checkLenOtsBildtext2.bind(this));
			$('ots_bildtext').observe('keydown', this.checkLenOtsBildtext2.bind(this));
			$('ots_bildtext').observe('keypress', this.checkLenOtsBildtext2.bind(this));
			$('ots_bildtext').observe('keyup', this.checkLenOtsBildtext2.bind(this));

			$('ots_bildtext2').observe('focus', this.checkLenOtsBildtext3.bind(this));
			$('ots_bildtext2').observe('change', this.checkLenOtsBildtext3.bind(this));
			$('ots_bildtext2').observe('keydown', this.checkLenOtsBildtext3.bind(this));
			$('ots_bildtext2').observe('keypress', this.checkLenOtsBildtext3.bind(this));
			$('ots_bildtext2').observe('keyup', this.checkLenOtsBildtext3.bind(this));
			
			$('otsBildtextCounter').innerHTML = 20 - $('ots_bildtext').value.length;
			
		} else {
			$('ots_bildtext').observe('focus', this.checkLenOtsBildtext.bind(this));
			$('ots_bildtext').observe('change', this.checkLenOtsBildtext.bind(this));
			$('ots_bildtext').observe('keydown', this.checkLenOtsBildtext.bind(this));
			$('ots_bildtext').observe('keypress', this.checkLenOtsBildtext.bind(this));
			$('ots_bildtext').observe('keyup', this.checkLenOtsBildtext.bind(this));
			
			$('otsBildtextCounter2').innerHTML = 20 - $('ots_bildtext2').value.length;
		}
		
		$('ots_grusstext').observe('focus', this.checkLenOtsGrusstext.bind(this));
		$('ots_grusstext').observe('change', this.checkLenOtsGrusstext.bind(this));
		$('ots_grusstext').observe('keydown', this.checkLenOtsGrusstext.bind(this));
		$('ots_grusstext').observe('keypress', this.checkLenOtsGrusstext.bind(this));
		$('ots_grusstext').observe('keyup', this.checkLenOtsGrusstext.bind(this));
		$('kalendervorschau').observe('click',this.makeKalenderPopup.bind(this));
		//if($('perssubmit')) $('perssubmit').observe('click', this.orderKalender.bind(this));
		
		$$('#CalSelectFields div.jsdummy input').each((function(section, index){
			section.observe('click', this.changeCalImg.bind(this));
		}).bind(this));
		
	},
		
	checkLenOtsBildtext: function(event){
		var elem = event.findElement('ots_bildtext');
		$('otsBildtextCounter').innerHTML = 30 - $('ots_bildtext').value.length;
	},
	
	checkLenOtsBildtext2: function(event){
		var elem = event.findElement('ots_bildtext');
		$('otsBildtextCounter').innerHTML = 20 - $('ots_bildtext').value.length;
	},
	
	checkLenOtsBildtext3: function(event){
		var elem = event.findElement('ots_bildtext2');
		$('otsBildtextCounter2').innerHTML = 20 - $('ots_bildtext2').value.length;
	},
	
	checkLenOtsGrusstext: function(event){
		var elem = event.findElement('ots_grusstext');
		$('otsGrusstextCounter').innerHTML = 200 - $('ots_grusstext').value.length;
		var totalLength=$('ots_grusstext').value.length;
		if(totalLength >= 200){
			if(event.type != "focus"){
				if (event.keyCode != 46 && event.keyCode != 8 ) {
					event.preventDefault();
				}
			}
		}
	},
	
	makeKalenderPopup: function(event){
		event.preventDefault();
		var ots_set = $$('input:checked[type="radio"][name="ots_set"]').pluck('value');
		if(ots_set == '') ots_set=$('ots_set').value;
		if ($('ots_bildtext').value == '' || (ots_set == 4 && $('ots_bildtext2').value == '')){
			$('ots_errortext').style.display = 'none';
			$('ots_errortext2').style.display = 'none';
			if ($('ots_bildtext').value == '') {
				$('ots_errortext').innerHTML = 'Bitte geben Sie einen Text ein';
				$('ots_errortext').style.display = 'block';
			}
			if (ots_set == 4 && $('ots_bildtext2').value == '') {
				$('ots_errortext2').innerHTML = 'Bitte geben Sie einen Text ein';
				$('ots_errortext2').style.display = 'block';
			}
		} else {
			$('ots_errortext').style.display = 'none';
			$('ots_errortext2').style.display = 'none';
			
			var values = "&m=" + $('ots_startmonth').value + "&y=" + $('ots_startyear').value + "&t=" + escape(utf8_encode(unescape($('ots_bildtext').value))) + "&g=" + escape($('ots_grusstext').value) + "&set=" + ots_set;
			
			if (ots_set == 4){
				values = values + "&t2=" + escape(utf8_encode(unescape($('ots_bildtext2').value)))+"&set=4";
				Vorschau = window.open("/onlineshop/imageKalender.php?produkt_ID=" + $('productID').value + values, "Zweitfenster", "screenX=100,screenY=30,width=950,Height=600,scrollbars=yes,resizable=yes");
			}
			else
			{
				Vorschau = window.open("/onlineshop/imageKalender.php?produkt_ID=" + $('productID').value + values, "Zweitfenster", "screenX=100,screenY=30,width=540,Height=600,scrollbars=yes,resizable=yes");
			}
			
			Vorschau.focus();
		}
	},
	
	changeCalImg: function(event){
		var elem = event.findElement('input');
		
		xajax.call('jahreskalender_changeKalImg', {
			parameters:[elem.value, this.options.productID]
		});
	}

});

auslandactions = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			productID: '',
			land: '',
			auslandprod: '',
			wkID: 0
		}, options ||
		{});

		$('landselect').observe('change', this.changeland.bind(this));
		$('auslandsubmit').observe('click', this.submitausland.bind(this));

	},

	changeland: function(event){
		event.preventDefault();

		$('landselect').stopObserving();
		$('auslandsubmit').stopObserving();

		xajax_ausland_init(this.options.productID, this.options.wkID, $('landselect').value, this.options.auslandprod, 1);
	},

	submitausland: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		xajax_ausland_weiter(this.options.productID, this.options.wkID, xajax.getFormValues('auslandform'), 1);
	}
});

historiaactions = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			productID: '',
			land: '',
			tag: '',
			monat: '',
			jahr: '',
			wkID: 0
		}, options ||
		{});

		if($('historiasubmit'))$('historiasubmit').observe('click', this.handle.bind(this));
		if($('historiaform'))$('historiaform').observe('submit', this.handle.bind(this));
	/*
		if($('histperssubmit'))$('histperssubmit').observe('click', this.order.bind(this));
		if($('histperssubmit2'))$('histperssubmit2').observe('click', this.orderWk.bind(this));
	*/
	},

	handle: function(event){
		event.preventDefault();
		
		if($('todo').value == 'selectDate'){
			xajax_historia_init(this.options.productID, $('land').value, $('tag').value, $('monat').value, $('jahr').value, this.options.wkID);
		} else {
			xajax_historia_order(xajax.getFormValues('historiaform'), this.options.wkID, 1);
		}
		
	}
	
/*,
	order: function(event){
		event.preventDefault();
		
	},

	orderWk: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		xajax_historia_orderWk(xajax.getFormValues('historiaform'), this.options.wkID);
	}
*/

});

adventskalenderactions = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			labelID: '',
			productID: '',
			wkID: 0
		}, options ||
		{});

		if(!this.options.labelID || this.options.labelID == ''){
			var list = $$('#labellist li a');
			var first = list[0];
			this.labelID = first.id.substr(2, first.id.length);
		} else {
			this.labelID = this.options.labelID;
		}

		$('adventskalenderpreview').observe('click', this.changeLabel.bind(this));
		$('adventskalenderform').observe('submit', this.changeLabel.bind(this));
		$('adventskalendersubmit').observe('click', this.submitAdventskalender.bind(this));
	
		//Labelauswahl Observer
		$$('#labellist li a').each((function(section, index){
			section.observe('click', this.selectLabel.bind(this));
			if(section.id == 'lb' + this.options.labelID){
				var img = section.childElements();
				$(img[0]).setStyle({
					border: '2px solid #f00'
				});
			} else {
				var img = section.childElements();
				$(img[0]).setStyle({
					border: '2px solid #fff'
				});
			}
		}).bind(this));

	},

	changeLabel: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		var error = 'no';

		if($('adventskalendertext').value == ''){
			$('adventskalender_errortext' ).innerHTML = 'Bitte geben Sie einen Text ein!';
			$('adventskalender_errortext' ).setStyle({
				display: 'block'
			});
			error = 'yes';
		} else {
			$('adventskalender_errortext' ).innerHTML = '';
			$('adventskalender_errortext' ).setStyle({
				display: 'none'
			});
		}


		if(error == 'no'){
			var linkid = 'lb' + this.labelID;

			newWindow = window.open('/onlineshop/includes/o2s/adventskalender_v.php?text=' + escape($('adventskalendertext').value) + '&dsmset=' + $(linkid).name, 'Vorschaufenster','toolbar=0,location=0,scrollbars=0,directories=0,status=0,menubar=0,resizable=0,width=510,height=350');
			newWindow.window.focus();
			//xajax_adventskalender_genPreview($('adventskalendertext').value, $(linkid).name);
		}
	},

	selectLabel: function(event){
		event.preventDefault();
		var link = event.findElement('a');

		$$('#labellist li a').each((function(section, index){
			if(link.id == section.id){
				var img = section.childElements();
				$(img[0]).setStyle({
					border: '2px solid #f00'
				});
				
				this.labelID = section.id.substr(2, section.id.length);
				
			} else {
				var img = section.childElements();
				$(img[0]).setStyle({
					border: '2px solid #fff'
				});
			}
		}).bind(this));

	},

	submitAdventskalender: function(event){
		event.preventDefault();
		xajax_adventskalender_orderadventskalender(this.labelID, this.options.productID, this.options.wkID, $('adventskalendertext').value, 1);
	}
});


paymentactions = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			action: '',
			location: 'payment'
		}, options ||
		{});
		
		if (this.options.action == 'login') {
		
			if($('lost_pw')) $('lost_pw').observe('click', this.handleLostPW.bind(this));
			if($('orderlostPWsubmit')) $('orderlostPWsubmit').observe('click', this.sendLostPW.bind(this));
		
			if($('orderloginsubmit')) $('orderloginsubmit').observe('click', this.orderlogin.bind(this));
			if($('orderloginform')) $('orderloginform').observe('submit', this.orderlogin.bind(this));

			if($('getShippingAdress')) $('getShippingAdress').observe('click', this.getShippingAdress.bind(this));
			if($('registersubmit')) $('registersubmit').observe('click', this.register.bind(this));
			if($('registerform')) $('registerform').observe('submit', this.register.bind(this));

			if($('paypalExoutButton')) $('paypalExoutButton').observe('click', this.paypalexout.bind(this));
			
			$$('#orderloginform input, #registerform input, #registerform select').each((function(section, index){
				section.observe('focus', this.reseterror.bind(this));
			}).bind(this));
			
			$$('#orderloginform input, #registerform input, #registerform select').each((function(section, index){
				section.observe('focus', this.reseterror.bind(this));
			}).bind(this));
			
			$$('input[type=radio].selectbutton').each((function(section, index){
				section.observe('click', this.showContent.bind(this));
			}).bind(this));
			
		} else if(this.options.action == 'payment'){
		
			$('chooseAnotherPaymentLink').observe('click', this.changePayment.bind(this));
			/* abschliessen button*/
			$('paymentSubmitButton').observe('click', this.submitPayment.bind(this));
			/* Gutschein einloesen*/
			$('couponsubmit').observe('click', this.processCoupon.bind(this));
			/* Adresse Šndern */
			$('adresschangebutton').observe('click', this.editUserData.bind(this));
	
			$$('#paymentMethodsContent input').each((function(section, index){
				section.observe('click', this.choosePayment.bind(this));
			}).bind(this));
	
			$$('#paymentMethodsContent a').each((function(section, index){
				if(section.className == 'paymentDelete') section.observe('click', this.deletePayment.bind(this));
			}).bind(this));
			
		}
	},
	
	handleLostPW: function(event){
		event.preventDefault();
		$('lostPW').toggle();

	},
	
	sendLostPW: function(event){
		event.preventDefault();
		
		xajax.call('payment_lostPassword', {
			parameters:[$('lostPW_email').value],
			onComplete: (function(){
				$('lostPW').toggle();
			}).bind(this)
		});

	},
	
	getShippingAdress: function(){
		xajax.call('order_useDeliveryAdress', {
			onComplete: (function(){

			}).bind(this)
		});
	},
	
	showContent: function(event){
		var elm = event.findElement('input').value;
		
		$$('input[type=radio].selectbutton').each((function(section, index){
			$(section.value + 'Content').hide();
			$(section.value + 'Header').className = 'orderHeader';
		}).bind(this));
		
		$(elm + 'Content').show();
		$(elm + 'Header').className = 'verticalHeader2';

	},
		
	orderlogin: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		xajax_payment_loginstatic(xajax.getFormValues('orderloginform'), this.options.location);
	},
	
	register: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		xajax_payment_registerstatic(xajax.getFormValues('registerform'), this.options.location);
	},
	
	paypalexout: function(event){
		event.preventDefault();
		window.location = '/onlineshop/includes/paypalExOut.php';
	},
	
	reseterror: function(event){
		event.preventDefault();
		
		if(Event.element(event).tagName == 'SELECT'){
			var elem = event.findElement('select');
		} else if(Event.element(event).tagName == 'INPUT'){
			var elem = event.findElement('input');
		}
		
		if(elem.id == 'strasse' || elem.id == 'hausnummer'){
			if($('str_no_error').visible() === true) $('str_no_error').style.display = 'none';
		} else if(elem.id == 'plz' || elem.id == 'ort'){
			if($('zip_city_error').visible() === true) $('zip_city_error').style.display = 'none';
		} else if(elem.id == 'telefon2'){
			if($('telefon_error').visible() === true) $('telefon_error').style.display = 'none';
		} else {
			if($(elem.id + '_error').visible() === true) $(elem.id + '_error').style.display = 'none';
		}
	},
	
	processCoupon: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		var element = $('coupon').value;
		xajax_payment_processCoupon(element, 1);

	},
	
	choosePayment: function(event){
		event.preventDefault();
		var element = event.findElement('input');
		
		if($('paymentMethod_error').visible() === true) $('paymentMethod_error').hide();
/*
		if(element.value == 'sofortueberweisung'){
			xajax.call('payment_choosePayment', {
				parameters:[element.value],
				onComplete: (function(){
                    /*
					$('wizard').observe('submit', this.sofortueberweisung.bind(this));
					$('sofortueberweisungbutton').observe('click', this.sofortueberweisung.bind(this));
                    /
				}).bind(this)
			});
		} else if(element.value == 'paypal'){
			xajax.call('payment_choosePayment', {
				parameters:[element.value],
				onComplete: (function(){
					/*
                    $('gotoPayPalForm').observe('submit', this.paypal.bind(this));
					$('gotoPayPalbutton').observe('click', this.paypal.bind(this));
					/
				}).bind(this)
			});
		} else {
			xajax_payment_choosePayment(element.value);
		}
*/
		
		xajax.call('payment_choosePayment', {
			parameters:[element.value],
			onComplete: (function(){
				if(element.value == 'paypal'){
                	if($('gotoPayPalForm')) $('gotoPayPalForm').observe('submit', this.paypal.bind(this));
					if($('gotoPayPalbutton')) $('gotoPayPalbutton').observe('click', this.paypal.bind(this));
				}
			}).bind(this)
		});

	},

	changePayment: function(event){
		event.preventDefault();
		$('paymentMethodsContentContainer').style.display = 'none';
		$('paymentMethodsContentSelected').innerHTML = '';

		$$('#paymentMethodsContent input').each((function(section, index){
			section.checked = '';
		}).bind(this));

		$('paymentMethodsContent').style.display = 'block';
	},

	deletePayment: function(event){
		event.preventDefault();
		var element = event.findElement('a');
		var splitstring = element.id.split('---');
		var delConfirm = confirm("Wollen Sie die gespeicherten Daten wirklich lšschen?")

		if (delConfirm == true){
			$(splitstring[1]).remove();
			xajax_payment_deleteSavedPayment(splitstring[0]);
		}

	},

	submitPayment: function(event){
		event.preventDefault();
        if(event.type == 'click') $(event.findElement('a').id).blur();
        if($('paymentSubmitButton').className == 'paymentSubmitinactive'){
           alert('Die Transaktion wird bereits ausgef&uuml;hrt. Bitte aktualisieren Sie diese Seite nicht! Die Transkation wird automatisch abgeschlo&szlig;en. Je nach ausgew&auml;hlter Bezahlart kann der Prozess etwas Zeit in Anspruch nehmen.<br/><br/>Vielen Dank f&uuml;r Ihre Geduld.');
        }else{
            $('paymentSubmitButton').className = 'buttongrey';
            
            xajax_payment_finishPayment(xajax.getFormValues('payment_method_form'), $('conditions').checked, '', 1, xajax.getFormValues('payment_origin_form'));
        }
	},

	editUserData: function(event){
		event.preventDefault();
		xajax.call("payment_editUserData", {
		parameters: [1],
			onComplete: (function(){
				$('AdressChangeDataSubmit').observe('click', this.checkUserAdressChange.bind(this));
				$('AdressChangeDataBack').observe('click', this.restoreUserData.bind(this));
			}).bind(this)
		});
	},

	restoreUserData: function(event){
		event.preventDefault();
		xajax.call("payment_restoreUserData", {
			onComplete: (function(){
				$('adresschangebutton').observe('click', this.editUserData.bind(this));
			}).bind(this)
		});
	},

	checkUserAdressChange: function(event){
		event.preventDefault();
		xajax.call("payment_checkUserAdressChange", {
			parameters: [xajax.getFormValues('userform')],
			onComplete: (function(){
				if($('csc').value == "z"){
					this.restoreUserData(event);
				}
			}).bind(this)
		});
	},
	
	paypal: function(event){
		event.preventDefault();
       	$('gotoPayPalForm').submit();
	}
});


accountactions = Class.create({
	initialize: function(options){
		/* globale Optionen*/
		this.options = Object.extend({
			action: '',
			location: 'payment'
		}, options ||
		{});
		
		$('userform').observe('submit', this.saveData.bind(this));
		$('adresschangebutton').observe('click', this.saveData.bind(this));
		
	},
	
	saveData: function(event){
		event.preventDefault();
		xajax.call("payment_register", {
			parameters: [xajax.getFormValues('userform'), 0, 1]
		});
	}
		
});

alertwindow = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			color: 'Red',
			head: 'Wichtiger Hinweis',
			body: 'Smile, you\'re on TV!',
			func: ''
		}, options ||
		{});
		alert(html_entity_decode(this.options.body));
	}
});

staticactions = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({
			foo: ''
		}, options ||
		{});

		$$('#staticContainer div.staticNav a.header').each((function(section, index){
			section.observe('click', this.toggleContent.bind(this));
		}).bind(this));
		
		if($('registersubmit')) $('registersubmit').observe('click', this.register.bind(this));
		if($('registerform'))	$('registerform').observe('submit', this.register.bind(this));
		
		if($('gamesubmit'))	$('gamesubmit').observe('click', this.gamesubmit.bind(this));
		if($('gspielform'))	$('gspielform').observe('submit', this.gamesubmit.bind(this));
	},
	
	toggleContent: function(event){
		event.preventDefault();
		
		var elm = event.findElement('a').id;
		var elmpart = elm.split("_");
		var cID = elmpart[0];

		$$('#staticContainer div.staticNav a.header').each((function(section, index){
		
			var lpart = section.id.split("_");
			var lID = lpart[0];
		
			$(lID + '_content').hide();
			$(lID + '_link').removeClassName('clicked');

		}).bind(this));

		$(cID + '_content').show();
		$(cID + '_link').addClassName('clicked');
	},
	
	register: function(event){
		event.preventDefault();
		xajax_b2b_register(xajax.getFormValues('registerform'));
	},
	
	gamesubmit: function(event){
		event.preventDefault();
        if(!$('email') || $('email').value==''){
           alert('Bitte geben Sie Ihre Emailadresse ein.');
        } else if(!$('code') || $('code').value==''){
            alert('Bitte geben Sie die Buchstaben-Kombination ein.');
        } else {
            xajax_gspiel_processGspiel(xajax.getFormValues('gspielform'), 1);
        }
    }
});

newsletteractions = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({

		}, options ||
		{});

		
		/* Hilfe-schliessen Button */
		$('nlsubmit').observe('click', this.submitNewsletter.bind(this));
		$('newsletterform').observe('submit', this.submitNewsletter.bind(this));

	},

	submitNewsletter: function(event){
		event.preventDefault();
		if(event.type == 'click') $(event.findElement('a').id).blur();
		xajax_newsletter_submitNewsletter(xajax.getFormValues('newsletterform'));
	}
});


helpactions = Class.create({
	initialize: function(options){

		/* globale Optionen*/
		this.options = Object.extend({

		}, options ||
		{});

		
		/* Hilfe-schliessen Button */
		$('feedbacksubmit').observe('click', this.submitFeedback.bind(this));
		if($('hfeedback')) $('hfeedback').observe('click', this.showFForm.bind(this));
		

	},

	showFForm: function(event){
		event.preventDefault();

		$('hfeedback_content').setStyle({
		      display: 'block'
        });
		
	
	},
	
	submitFeedback: function(event){
		event.preventDefault();
		
		if($('feedback').value == ""){
			alert('Bitte geben Sie eine Frage ein');
		} else if($('sender').value == ""){
			alert('Bitte geben Sie Ihre Emailadresse ein');
		} else {
			xajax.call("help_sendFeedback", {
			parameters:[$('feedback').value, $('sender').value],
			onComplete: (function(){

			}).bind(this)
		});
		}
	}
});

/***********************************/
/* Globale Funktionen */
/***********************************/

function handleFilter(state){
	if(state == 'show'){
		xajax.call('filter_makeFilter', {
		parameters: [getCurrentGroupID(), getCurrentSubID(), 1],
			onComplete: (function(){
				if($('navfiltercontent').visible() === false){
					$('navfiltercontent').style.display = 'block';
				}
				
				$('filtersubmit').observe('click', 
					function(event) {
						event.preventDefault();
						$('filterform').submit();
					}
				);
			}).bind(this)
		});
	} else {
		$('navfiltercontent').style.display = 'none';
		$('navfiltercontent').innerHTML = '';
	}
}

function handleFinder(state){
	if(state == 'show'){
		xajax.call('finder_makeFinder', {
		parameters: ['1'],
			onComplete: (function(){
				$('navfiltercontent').style.display = 'block';
				$('findersubmit').observe('click', 
					function(event) {
						event.preventDefault();
						$('finderform').submit();
					}
				);
			}).bind(this)

		});
	} else {
		$('navfiltercontent').style.display = 'none';
		$('navfiltercontent').innerHTML = '';
	}
}



function searchProduct(searchtext){

	if(searchtext == "Suche"){
		alert('Bitte geben Sie einen Suchtext ein.');
	} else {

		var groupID = getCurrentGroupID();

		xajax.call('search_getProductsByWordsStatic', {
			parameters:[searchtext, groupID],
			//onResponseDelay: loadingMessage('show'),
			onComplete: (function(){
				//loadingMessage('hide');
			}).bind(this)
		});
	}
}
	
function getCurrentGroupID(){
	var grouplist = $$('#main_navi li a');
	
	if(grouplist[0]){
		var groupID = grouplist[0].id;
	} else {
		var groupID = 'none';
	}
	
	

	$$('#main_navi li a').each((function(section, index){
		if(section.className.substr((section.className.length - 6), 6) == 'active'){
			groupID = section.id;
		}
	}).bind(this));

	return groupID;
}

function getCurrentSubID(){
	var subID = 0;

	$$('#subnavlist li a').each((function(section, index){
		if(section.className == 'active'){
			groupID = section.id.substr((section.id.length), 3);
		}
	}).bind(this));

	return subID;
}

function html_entity_decode(str){
	try {
		var tarea=document.createElement('textarea');
		tarea.innerHTML = str; return tarea.value;
		tarea.parentNode.removeChild(tarea);
	} catch(e) {
		//for IE add <div id="htmlconverter" style="display:none;"></div> to the page
		document.getElementById("htmlconverter").innerHTML = '<textarea id="innerConverter">' + str + '</textarea>';
		var content = document.getElementById("innerConverter").value;
		document.getElementById("htmlconverter").innerHTML = "";
		return content;
	}
}


function scrollToAnker(ankerID){
	$(ankerID).scrollIntoView();
}

function redirect_to (destination) {
  window.location.href = destination;
}

function track(){
	if(/^\d*$/.test($('referenznummer').value)){
		window.location.href = '/onlineshop/tracking/' + $('referenznummer').value;
	} else {
		alert('Das ist keine Trackingnummer!');
	}
}

function deleteAdressData(aID){
	var delConfirm = confirm("Wollen Sie die gespeicherten Daten wirklich aus dem Adressbuch entfernen?")

	if (delConfirm == true){
		xajax.call("myvalentins_deleteAdressFromBook", {
			parameters:[aID, 1]
		});
	}
}

function usezitat(zitat){
	if($('grusstext')) $('grusstext').value = $('grusstext').value + zitat;
	if($('gkGrusstext')) $('gkGrusstext').value = $('gkGrusstext').value + zitat;
}


function toggle_navitem(itemID){

	$$('ul.nav li ul').each((function(section, index){
		section.hide();
	}).bind(this));
	
	$(itemID).show();

}

function utf8_encode ( string ) {
	// http://kevin.vanzonneveld.net
	// +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
	// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)

	string = (string+'').replace(/\r\n/g, "\n").replace(/\r/g, "\n");

	var utftext = "";
	var start, end;
	var stringl = 0;

	start = end = 0;
	stringl = string.length;
	for (var n = 0; n < stringl; n++) {
		var c1 = string.charCodeAt(n);
		var enc = null;

		if (c1 < 128) {
			end++;
		} else if((c1 > 127) && (c1 < 2048)) {
			enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
		} else {
			enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
		}
		if (enc != null) {
			if (end > start) {
				utftext += string.substring(start, end);
			}
			utftext += enc;
			start = end = n+1;
		}
	}

	if (end > start) {
		utftext += string.substring(start, string.length);
	}

	return utftext;
}


function varDump(variable, maxDeep)
{
	var deep = 0;
	var maxDeep = maxDeep || 5;

	function fetch(object, parent)
	{
		var buffer = '';
		deep++;

		for (var i in object) {
			if (parent) {
				objectPath = parent + '.' + i;
			} else {
				objectPath = i;
			}

			buffer += objectPath + ' (' + typeof object[i] + ')';

			if (typeof object[i] == 'object') {
				buffer += "\n";
				if (deep < maxDeep) {
					buffer += fetch(object[i], objectPath);
				}
			} else if (typeof object[i] == 'function') {
				buffer += "\n";
			} else if (typeof object[i] == 'string') {
				buffer += ': "' + object[i] + "\"\n";
			} else {
				buffer += ': ' + object[i] + "\n";
			}
		}

		deep--;
		return buffer;
	}

	if (typeof variable == 'object') {
		return fetch(variable);
	}

	return '(' + typeof variable + '): ' + variable + "\n";
}


function handleOverlays(state, overlay, zindex, container){
	if (state == 'show') {
		if (zindex != '0') {
			$(overlay).setStyle({
				zIndex: zindex
			});
		}
		
		$(overlay).show();
		$(container).show();
		
	} else if(state == 'hide'){

		$(overlay).hide();
		$(container).hide();

	}
}
