/*	EKL   Einkaufslisten
 *	AS1-4 Artikelsuchen	
 *	LG    Login
 *	WK    Warenkorb
 *	DB    Direct-Bestellung
 *	AD    Artikeldetail
 *	SE    Schnellerfassung
 *	STA   Statistik
 *	OT    Order-Tracking
 *	KTO   Kontoauszug
 *	ES    EcoShop
 *	ESP   EcoShopPlus
 *	ESU   EcoShop Preisfile Upload
 *	LGT   Leergut
 *	IA    Eigene Artikelnummer
 *	USR   Benutzerverwaltung
 *	PG    Paperguide
 *	SNP   SchnäppchenShop
 *	EBC   ECatalog PreislistenVerwaltung
 *	PLA   PrivateLabel DSD
 */
 
var Portlet = {};

Portlet.reset = function() {
	new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=portlet.reset', {
		onSuccess: function() {
			document.location.reload();
		}
	});
};

Portlet.Updater = Class.create(Ajax.Updater, {
	updateContent: function(responseText) {
		var drag = null, container = this.container['success'].replace('content_', '');
		for (var i = 0, l = Draggables.drags.length; i < l; i++) {
			drag = Draggables.drags[i];
			if (drag.element.id == container) break;
		}
		
		if (drag) drag.resetHandle();
		
		var receiver = _(this.container[this.success() ? 'success' : 'failure']);
		
		receiver.innerHTML = responseText.stripScripts();
		if (this.options.evalScripts) {
			if (this.success()) {
				(function() {
					responseText.evalScripts();
					if (this.onComplete) this.onComplete.bind(this).defer();
					if (drag) drag.setHandle.bind(drag).curry('portlet_win_left').defer();
				}).bind(this).defer();
			} else {
				responseText.evalScripts.bind(responseText).defer();
				if (drag) drag.setHandle.bind(drag).curry('portlet_win_left').defer();
			}
		} else {
			if (this.success()) {
				if (this.onComplete) this.onComplete.bind(this).defer();
			}
			
			if (drag) drag.setHandle.bind(drag).curry('portlet_win_left').defer();
		}
	}
});

Portlet.StandardPortlet = {
	container: null,
	base_url: null,
	data: {},
	
	load: function(parameters, onComplete) {
		parameters = parameters || '';
		if (parameters.indexOf('t_' + this.container + '_Mode') === -1) {
			if (parameters) {
				parameters += '&t_' + this.container + '_Mode=';
			} else {
				parameters = 't_' + this.container + '_Mode=';
			}
			
			if (_('toggle_' + this.container) && _('toggle_' + this.container).src.indexOf('min') !== -1) {
				parameters += 'max';
			} else {
				parameters += 'min';
			}
		}
		
		if (!_('content_portlet_' + this.container)) {
			new Ajax.Request(this.base_url, {
				parameters: parameters,
				onSuccess: function(tp) {
					tp.responseText.evalScripts();
					(onComplete ? onComplete : P.emptyFunction).defer();
				}
			});
		} else {
			new Portlet.Updater('content_portlet_' + this.container, this.base_url, {
				parameters: parameters,
				evalScripts: true,
				onComplete: onComplete ? onComplete : P.emptyFunction
			});
		}
	},
	
	init: function(container, url) {
		this.container = container;
		this.base_url = url;
	},
	
	toggle: function(ev) {
		if (ev) Event.stop(ev);
		if (_('toggle_' + this.container).src.indexOf('min') === -1) {
			this.load('t_' + this.container + '_Mode=max', false);
			_A(_('portlet_col').getElementsByTagName('img')).each(function(img) {
				if (img.id.substr(0, 7) == 'toggle_') {
					if (img.src.indexOf('max') === -1) {
						Portlet[img.id.substr(7).toUpperCase()].toggle(ev);
					}
				}
			});
		} else {
			this.load('t_' + this.container + '_Mode=min', false);
		}
	},
	
	pin: function(ev) {
		if (ev) Event.stop(ev);
		var pos = Sortable.serialize('portlet_col').replace('portlet_col=', '');
		if (pos.trim() !== '') {
			new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=portlet.updatePos()&t_Pos=' + pos);
		}
		
		_toggle('pin_' + this.container);
		_toggle('del_' + this.container);
		//_toggle('del_tmp_' + this.container);
	},
	
	del: function(ev, tmp) {
		if (ev) Event.stop(ev);
		
		var pos = Sortable.serialize('portlet_col').replace('portlet_col=', '');
		if (pos.trim() !== '') {
			pos = ',' + pos + ',';
			pos = pos.replace(',' + this.container + ',', ',');
			pos = pos.replace(/^\,|\,$/, '');
			pos = pos.replace(/^\,|\,$/, '');
			new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=portlet.updatePos()&t_Pos=' + pos, {
				onSuccess: function() {
					if (tmp) {
						document.location.href = '/index.html';
					}
				}
			});
		}
		
		if (tmp) {
			//_toggle('del_' + this.container);
			//_toggle('pin_' + this.container);
			//_toggle('del_tmp_' + this.container);
		} else {
			var sel = _('portlet_selection');
			if (sel) {
				var element = _('portlet_' + this.container);
				_removeClassName('desc_portlet_' + this.container, 'dis');
				sel.appendChild(element);
				_hide(element);
				//Draggables.findByElement(element).options.constraint = false;
			} else {
				_remove('portlet_' + this.container);
			}
		}
	},
	
	startDrag: function(element, event) {
		element = _('portlet_' + this.container);
		if (element.parentNode.id == 'portlet_col') return;
		var d = Draggables.findByElement(element);
		if (!d) return false;
		
		element.fallback = true;
		body = __('body')[0];
		body.appendChild(element);
		element.style.top = Event.pointerY(event) - 14 + 'px';
		element.style.left = Event.pointerX(event) - 100 + 'px';
		_show(element);
		d.initDrag(event);
		d.delta = [0, 0];
		return true;
	},
	
	addBigTmp: function() {
		var copy = _('portlet_' + this.container);
		if (copy) {
			this.load('t_' + this.container + '_Mode=max', false);
			document.location.hash = 'portlet_' + this.container;
			return false;
		} else {
			var orig = _('portlet_col').getElementsByTagName('table')[0];
			copy = orig.cloneNode(true);
			var divs = copy.getElementsByTagName('td');
			for (var i = 0, l = divs.length; i < l; i++) {
				if (divs[i].id.substr(0, 8) == 'content_') {
					divs[i].id = 'content_portlet_' + this.container;
					break;
				}
			}
			
			copy.id = 'portlet_' + this.container;
		}
		_hide(copy);
		orig.parentNode.insertBefore(copy, orig);
		var pos = Sortable.serialize('portlet_col').replace('portlet_col=', '');
		Portlet[this.container.toUpperCase()].load('t_' + this.container + '_Mode=max', function() {
			document.location.hash = 'portlet_' + this.container;
			new FX.Highlight(__('#portlet_' + this.container + ' .portlet_inner')[0], {
				startColor: [36, 117, 108],
				endColor: [255, 255, 255]
			});
			new FX.Appear(copy);
		}.bind(this));
		Sortable.destroy('portlet_col');
		Sortable.create('portlet_col', {
			tag: 'table',
			handle: 'portlet_win_left',
			zindex: 60000,
			reverteffect: function(element, t, l) {
				element.style.left = Math.max(0, parseFloat(element.style.left || '0') - l) + 'px';
				element.style.top  = Math.max(0, parseFloat(element.style.top || '0') - t) + 'px';
			},
			onUpdate: function(el) {
				var pos = Sortable.serialize(el).replace('portlet_col=', '');
				if (pos.trim() !== '') {
					new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=portlet.updatePos()&t_Pos=' + pos);
					pos = pos.split(',');
					for (var i = 0, l = pos.length; i < l; i++) {
						if (_('pin_' + pos[i]) && _visible('pin_' + pos[i])) {
							_toggle('pin_' + pos[i]);
							_toggle('del_' + pos[i]);
						}
					}
				}
			}
		});
	},
	
	add: function(tmp) {
		var copy = _('portlet_' + this.container);
		if (copy) {
			var orig = _('portlet_col').getElementsByTagName('table')[0];
			var load = false;
		} else {
			var orig = _('portlet_col').getElementsByTagName('table')[0];
			var load = true;
			copy = orig.cloneNode(true);
			var divs = copy.getElementsByTagName('td');
			for (var i = 0, l = divs.length; i < l; i++) {
				if (divs[i].id.substr(0, 8) == 'content_') {
					divs[i].id = 'content_portlet_' + this.container;
					break;
				}
			}
			
			copy.id = 'portlet_' + this.container;
		}
		_hide(copy);
		orig.parentNode.insertBefore(copy, orig);
		var pos = Sortable.serialize('portlet_col').replace('portlet_col=', '');
		if (load) {
			if (tmp) {
				Portlet[this.container.toUpperCase()].load('', function() {
					new FX.Highlight(__('#portlet_' + this.container + ' .portlet_inner')[0], {
						startColor: [36, 117, 108],
						endColor: [255, 255, 255]
					});
					new FX.Appear(copy);
				}.bind(this));
			} else {
				Portlet[this.container.toUpperCase()].load('i2cms_i2p=portlet.updatePos()&t_Pos=' + pos, function() {
					new FX.Highlight(__('#portlet_' + this.container + ' .portlet_inner')[0], {
						startColor: [36, 117, 108],
						endColor: [255, 255, 255]
					});
					new FX.Appear(copy);
				}.bind(this));
			}
			Sortable.destroy('portlet_col');
			Sortable.create('portlet_col', {
				tag: 'table',
				handle: 'portlet_win_left',
				zindex: 60000,
				reverteffect: function(element, t, l) {
					element.style.left = Math.max(0, parseFloat(element.style.left || '0') - l) + 'px';
					element.style.top  = Math.max(0, parseFloat(element.style.top || '0') - t) + 'px';
				},
				onUpdate: function(el) {
					var pos = Sortable.serialize(el).replace('portlet_col=', '');
					if (pos.trim() !== '') {
						new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=portlet.updatePos()&t_Pos=' + pos);
						pos = pos.split(',');
						for (var i = 0, l = pos.length; i < l; i++) {
							if (_('pin_' + pos[i]) && _visible('pin_' + pos[i])) {
								_toggle('pin_' + pos[i]);
								_toggle('del_' + pos[i]);
							}
						}
					}
				}
			});
		} else {
			new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=portlet.updatePos()&t_Pos=' + pos);
			_addClassName('desc_portlet_' + this.container, 'dis');
			new FX.Highlight(__('#portlet_' + this.container + ' .portlet_inner')[0], {
				startColor: [36, 117, 108],
				endColor: [255, 255, 255]
			});
			new FX.Appear(copy);
			//Draggables.findByElement(copy).options.constraint = 'vertical';
			pos = pos.split(',');
			for (var i = 0, l = pos.length; i < l; i++) {
				if (_('pin_' + pos[i]) && _visible('pin_' + pos[i])) {
					_toggle('pin_' + pos[i]);
					_toggle('del_' + pos[i]);
				}
			}
		}
	}
};

Portlet.EKL = Object.extend(Object.clone(Portlet.StandardPortlet), {
	_createTO: null,
	_adding: false,
	
	call: function(url, onComplete) {
		new Ajax.Request('/shop/ajax/eklupdate/index.html?' + url, {
			onSuccess: function(tp) {
				tp.responseText.evalScripts();
				if (onComplete) onComplete.defer();
			}
		});
	},
	
	addArtikel: function(artnr, menge, EKLID, onComplete, noInfo) {
		if (this._adding) return false;
		this._adding = true;
		try {
			this.call('p_Action=addArtikel&t_ID=' + EKLID + '&t_ArtikelNr=' + artnr + '&t_Menge=' + menge, function() {
				if (!noInfo) {
					if (_('ekl_artpopup')._to) clearTimeout(_('ekl_artpopup')._to);
					_('ekl_art_nr').innerHTML = Portlet.EKL.data.ArtikelNr;
					_('ekl_art_bez').innerHTML = Portlet.EKL.data.Bez1 + (Portlet.EKL.data.Bez2 ? '<br />' + Portlet.EKL.data.Bez2 : '');
					_('ekl_art_img').src = Portlet.EKL.data.Img;
					_popup('ekl_artpopup', null, true);
					_('ekl_artpopup')._to = _popdown.curry('ekl_artpopup').delay(3);
				}
				
				if (onComplete) onComplete.curry(arguments)();
				Portlet.EKL._adding = false;
			});
		} catch (e) {
			Portlet.EKL._adding = false;
		}
	},
	
	addArtikelBulk: function(mengen, EKLID, onComplete) {
		this.call('p_Action=addArtikelBulk&t_ID=' + EKLID + '&' + mengen.join('&'), function() {
			if (Portlet.EKL._infoTO) clearTimeout(Portlet.EKL._infoTO);
			_('ekl_anzpos_added').innerHTML = Portlet.EKL.data.AnzPosAdded;
			_popup('ekl_infopopup', null, true);
			Portlet.EKL._infoTO = (function() {_popdown('ekl_infopopup');}).delay(3);
			if (onComplete) onComplete.curry(arguments)();
		});
	},
	
	deleteArtikel: function(artnr, EKLID, onComplete) {
		this.call('p_Action=deleteArtikel&t_ID=' + EKLID + '&t_ArtikelNr=' + artnr, onComplete);
	},
	
	clearArtikel: function(EKLID, onComplete) {
		this.call('p_Action=clearArtikel&t_ID=' + EKLID, onComplete);
	},
	
	checkAbnahme: function(EKLID, useEKL, onComplete) {
		_('abnahme_popup').setAttribute('src', '/shop/ajax/popupabnahmeverpflichtung/index.html?t_DataSource=ekl&t_ID=' + EKLID + '&t_UseEKL=' + (useEKL ? '1' : '0'));
		_popup('abnahme_popup', onComplete);
		return false;
	},
	
	addArtikelFromTL: function(artnr, menge, EKLID) {
		if (!EKLID) {
			this.callback = this.addArtikelFromTL.curry(artnr, menge);
			_popup('ekl_popup');
			return;
		}
		
		menge = parseInt(menge);
		if (isNaN(menge)) {
			menge = 1;
		} else {
			menge = Math.max(0, menge);
		}
		
		this.addArtikel(artnr, menge, EKLID);
		
		return false;
	},
	
	addArtikelBulkFromTL: function(EKLID) {
		if (!EKLID) {
			this.callback = this.addArtikelBulkFromTL;
			_popup('ekl_popup');
			return;
		}
		
		var mengen = [];
		_A(_('rows').rows).each(function(row) {
			var mf = row.getElementsByTagName('input');
			if (mf.length == 0) return;
			m = mf[0].value.trim();
			if (m == '' || isNaN(parseInt(m)) || parseInt(m) < 0) return;
			m = parseInt(m);
			mengen.push(mf[0].id + '=' + m);
		});
		
		if (mengen.length > 0) {
			this.addArtikelBulk(mengen, EKLID);
		}
		
		return false;
	},
	
	addArtikelBulkFromWK: function(EKLID) {
		if (!EKLID) {
			this.callback = this.addArtikelBulkFromWK;
			_popup('ekl_popup');
			return;
		}
		
		var mengen = [];
		_A(_('rows').rows).each(function(row) {
			var mf = row.getElementsByTagName('input');
			if (mf.length == 0) return;
			m = mf[0].value.trim();
			if (m == '' || isNaN(parseInt(m)) || parseInt(m) < 0) return;
			m = parseInt(m);
			mengen.push(mf[0].id + '=' + m);
		});
		
		if (mengen.length > 0) {
			this.addArtikelBulk(mengen, EKLID);
		}
		
		return false;
	},
	
	checkArtikelNr: function(artnr, focus) {
		if (artnr.trim() != '') {
			new Ajax.Request('/shop/ajax/artikelbezeichnung/index.html?t_ArtikelNr=' + artnr.trim(), {
				onSuccess: function(tp) {
					if (tp.responseText.trim() != '') {
						var bez = tp.responseText.trim();
						_('se_bez_EKL').innerHTML = bez.length > 40 ? bez.substr(0, 37) + '...' : bez;
						_hide('se_error_EKL');
						_hide('se_menge_EKL');
						_show('se_bez_EKL');
					} else {
						_hide('se_bez_EKL');
						_hide('se_menge_EKL');
						_show('se_error_EKL');
						if (focus) {
							_('t_ArtikelNr_EKL').focus();
							_('t_ArtikelNr_EKL').select();
						}
					}
				}
			});
		}
	},
	
	addArtikelFromEKL: function(EKLID) {
		if (!_visible('se_bez_EKL') && !_visible('se_menge_EKL')) {
			_('t_ArtikelNr_EKL').focus();
			_('t_ArtikelNr_EKL').select();
		} else {
			var artnr = _('t_ArtikelNr_EKL').value;
			var menge = parseInt(_('t_Menge_EKL').value);
			if (isNaN(menge) || menge < 1) {
				_show('se_menge_EKL');
				_hide('se_error_EKL');
				_hide('se_bez_EKL');
				_('t_Menge_EKL').focus();
				_('t_Menge_EKL').value = '';
				_('t_Menge_EKL').focus();
				return;
			}
			
			this.addArtikel(artnr, menge, EKLID, function() {
				if (_('row' + Portlet.EKL.data.PosNr)) {
					new Ajax.Updater('ekl_hidden', '/shop/ajax/eklzeile/index.html?t_ID=' + EKLID + '&t_PosNr=' + Portlet.EKL.data.PosNr, {
						onComplete: function() {
							Artikelzeile.replace(_('row' + Portlet.EKL.data.PosNr), _('hiddenbody'));
							_show('total');
							NiceTitle.update();
						}
					});
				} else {
					new Ajax.Updater('ekl_hidden', '/shop/ajax/eklzeile/index.html?t_ID=' + EKLID + '&t_PosNr=' + Portlet.EKL.data.PosNr, {
						onComplete: function() {
							Artikelzeile.add(_('hiddenbody'), _('rows'));
							_show('total');
							NiceTitle.update();
						}
					});
				}
				
				_('t_Menge_EKL').value = '';
				_('t_Menge_EKL').onblur();
				_('t_ArtikelNr_EKL').value = '';
				_('t_ArtikelNr_EKL').focus();
				_hide('se_bez_EKL');
			}.bind(this));
		}
		
		return false;
	},
	
	updateMengeFromEKL: function(artnr, menge, row, EKLID) {
		menge = parseInt(menge);
		if (isNaN(menge)) {
			menge = 1;
		} else {
			menge = Math.max(0, menge);
		}
		
		this.addArtikel(artnr, menge, EKLID, function() {
			var _row = row;
			if (Portlet.EKL.data.PosNr) {
				new Ajax.Updater('ekl_hidden', '/shop/ajax/eklzeile/index.html?t_ID=' + EKLID + '&t_PosNr=' + Portlet.EKL.data.PosNr, {
					onComplete: function() {
						var nrow = _('hiddenbody').rows[0];
						Artikelzeile.replace(_row, _('hiddenbody'));
						(function() {
							nrow.getElementsByTagName('input')[0].focus();
						}).defer();
						NiceTitle.update();
					}
				});
			} else {
				Artikelzeile.remove(_row);
				if (!_('rows').rows.length) {
					_hide('total');
				}
			}
		}.bind(this));
	},
	
	deleteArtikelFromEKL: function(artnr, row, EKLID) {
		this.deleteArtikel(artnr, EKLID, function(tp) {
			Artikelzeile.remove(row);
			if (!_('rows').rows.length) {
				_hide('total');
			}
		});
		
		return false;
	},
	
	clearArtikelFromEKL: function(EKLID) {
		this.clearArtikel(EKLID, (function(tp) {
			document.location.href = '/shop/ekl/detail/index.html?t_ID=' + EKLID;
		}));
		
		return false;
	},
	
	setField: function(field, EKLID) {
		if (field.type.toLowerCase() == 'radio') {
			var fields = document.getElementsByName(field.name);
			for (var i = 0, l = fields.length; i < l; i++) {
				if (fields[i].checked) {
					this.call('t_ID=' + EKLID + '&p_Action=setField&t_Name=' + fields[i].name.substr(2).encode() + '&t_Value=' + fields[i].value.encode());
					break;
				}
			}
		} else {
			this.call('t_ID=' + EKLID + '&p_Action=setField&t_Name=' + field.name.substr(2).encode() + '&t_Value=' + field.value.encode());
		}
	},
	
	setEKL: function(id) {
		_popdown('ekl_popup');
		if (this.callback) {
			this.callback.bind(this)(id);
			this.callback = null;
		}
	},
	
	_seTO: null,
	searchEKL: function() {
		clearTimeout(this._seTO);
		this._seTO = (function() {
			if (Indexer.search('ekl', _F('t_SearchEKL'), function(obj, found) {
				if (found) {
					_show(obj);
				} else {
					_hide(obj);
				}
			}) === 0) {
				_show('ekl_noresult');
			} else {
				_hide('ekl_noresult');
			}
		}).delay(0.01);
		
		return false;
	},
	
	createEKL: function(suffix) {
		suffix = suffix || '';
		if (_F('t_EKLName' + suffix).strip() == '') return false;
		if (!suffix) {
			new Ajax.Updater('ekl_content', '/shop/ajax/einkaufslisten/index.html?i2cms_i2p=ekl.createEKL()&t_EKLName=' + _F('t_EKLName' + suffix));
		} else {
			if (Portlet.EKL._createTO) clearTimeout(Portlet.EKL._createTO);
			this.call('p_Action=createEKL&t_EKLName=' + _F('t_EKLName' + suffix), function() {
				if (parseInt(Portlet.EKL.data.EKLID) == 0) {
					_show('ekl_error' + suffix);
				} else {
					_hide('ekl_error' + suffix);
					if (_('ekl_result')) {
						document.location.reload();
					} else {
						_('ekl_name').innerHTML = Portlet.EKL.data.EKLName;
						_popup('ekl_createpopup', null, true);
						Portlet.EKL._createTO = (function() {_popdown('ekl_createpopup');}).delay(3);
					}
				}
			});
		}
		
		return false;
	},
	
	deleteEKL: function(eklid, row) {
		new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=ekl.deleteEKL()&t_ID=' + eklid, {
			onSuccess: function() {
				_remove(row);
				Portlet.EKL.load();
				if (!_('rows').rows.length) {
					_show('ekl_noresult');
					_hide('ekl_result');
				}
			}
		});
	},
	
	setEKLAdress: function(eklid) {
		new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=ekl.setEKLAdress()&t_id=' + eklid +
						 '&t_anrede='   + _F('t_anrede').encode() + 
						 '&t_name1='    + _F('t_name1').encode() + 
						 '&t_name2='    + _F('t_name2').encode() + 
						 '&t_str1='     + _F('t_str1').encode() + 
						 '&t_str2='     + _F('t_str2').encode() + 
						 '&t_plz='      + _F('t_plz').encode() + 
						 '&t_ort='      + _F('t_ort').encode() + 
						 '&t_kommiss='  + _F('t_kommiss').encode() + 
						 '&t_izeichen=' + _F('t_izeichen').encode());
	},
	
	setPosTexte: function(artnr, EKLID) {
		new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=ekl.setPosTexte()&t_ID=' + EKLID + '&t_ArtikelNr=' + artnr +
						 '&t_PosText1=' + _F('t_PosText1').encode() + 
						 '&t_PosText2=' + _F('t_PosText2').encode() + 
						 '&t_PosText3=' + _F('t_PosText3').encode() + 
						 '&t_PosText4=' + _F('t_PosText4').encode() + 
						 '&t_PosText5=' + _F('t_PosText5').encode(), {
			onSuccess: function() {
				Portlet.EKL.addArtikel(artnr, _('t_Menge_' + artnr).value, EKLID, function() {
					if (_('row' + Portlet.EKL.data.PosNr)) {
						new Ajax.Updater('ekl_hidden', '/shop/ajax/eklzeile/index.html?t_ID=' + EKLID + '&t_PosNr=' + Portlet.EKL.data.PosNr, {
							onComplete: function() {
								Artikelzeile.replace(_('row' + Portlet.EKL.data.PosNr), _('hiddenbody'));
								_show('total');
								NiceTitle.update();
							}
						});
					} else {
						new Ajax.Updater('ekl_hidden', '/shop/ajax/eklzeile/index.html?t_ID=' + EKLID + '&t_PosNr=' + Portlet.EKL.data.PosNr, {
							onComplete: function() {
								Artikelzeile.add(_('hiddenbody'), _('rows'));
								_show('total');
								NiceTitle.update();
							}
						});
					}
				}, true);
			}
		});
		if ((_F('t_PosText1') + _F('t_PosText2') + _F('t_PosText3') + _F('t_PosText4') + _F('t_PosText5')).trim() != '') {
			var img = _('postextimg_' + artnr);
			if (img.src.indexOf('_on.') === -1) {
				img.src = img.src.replace('.gif', '_on.gif');
			}
		} else {
			var img = _('postextimg_' + artnr);
			if (img.src.indexOf('_on.') !== -1) {
				img.src = img.src.replace('_on.gif', '.gif');
			}
		}
	}
	
	
});

Portlet.WK = Object.extend(Object.clone(Portlet.StandardPortlet), {
	_infoTO: null,
	_adding: false,
	
	addArtikel: function(artnr, menge, onComplete) {
		if (this._adding) return false;
		this._adding = true;
		try {
			this.load('p_Action=addArtikel&t_ArtikelNr=' + artnr + '&t_Menge=' + menge, function() {
				(onComplete ? onComplete : P.emptyFunction)();
				Portlet.WK._adding = false;
			});
		} catch (e) {
			Portlet.WK._adding = false;
		}
	},
	
	addArtikelBulk: function(mengen, onComplete) {
		this.load('p_Action=addArtikelBulk&' + mengen.join('&'), onComplete);
	},
	
	deleteArtikel: function(artnr, onComplete) {
		this.load('p_Action=deleteArtikel&t_ArtikelNr=' + artnr, onComplete);
	},
	
	clearArtikel: function(onComplete) {
		this.load('p_Action=clearArtikel', onComplete);
	},
	
	checkAbnahme: function(onComplete) {
		_('abnahme_popup').setAttribute('src', '/shop/ajax/popupabnahmeverpflichtung/index.html?t_DataSource=wk');
		_popup('abnahme_popup', onComplete);
		return false;
	},
	
	copyArtikelFromOT: function(aufnr) {
		if (Portlet.WK._infoTO) clearTimeout(Portlet.WK._infoTO);
		this.load('p_Action=copyArtikelFromOT&t_AufNr=' + aufnr, function() {
			_('wk_anzpos_added').innerHTML = Portlet.WK.data.AnzPosAdded;
			_popup('wk_infopopup', null, true);
			Portlet.WK._infoTO = (function() {_popdown('wk_infopopup');}).delay(3);
		});
	},
	
	addArtikelFromTL: function(artnr, menge) {
		menge = parseInt(menge);
		if (isNaN(menge)) {
			menge = 1;
		} else {
			menge = Math.max(0, menge);
		}
		
		this.addArtikel(artnr, menge, function(tp) {
			if (menge) {
				_show('inWK_' + artnr);
				_('inWKimg_' + artnr).src = _('inWKimg_' + artnr).src.replace('a.gif', '.gif');
				if (Portlet.WK.data.Abnahme == 'TRUE') {
					_('lager_' + artnr).src = '/images/content/lager_abn_s.gif';
				} else {
					if (Portlet.WK.data.Bestand >= menge) {
						_('lager_' + artnr).src = '/images/content/lager_ja_s.gif';
					} else if (Portlet.WK.data.Bestand > 0) {
						_('lager_' + artnr).src = '/images/content/lager_teil_s.gif';
					} else {
						_('lager_' + artnr).src = '/images/content/lager_teil_s.gif';
					}
				}
				_('t_Menge_' + artnr).value = menge;
				_('mengeWK_' + artnr).innerHTML = menge;
			} else {
				_hide('inWK_' + artnr);
				_('inWKimg_' + artnr).src = _('inWKimg_' + artnr).src.replace('.gif', 'a.gif');
				_('t_Menge_' + artnr).value = '';
			}
		});
		
		return false;
	},
	
	addArtikelFromEKL: function(artnr, menge) {
		menge = parseInt(menge);
		if (isNaN(menge)) {
			menge = 1;
		} else {
			menge = Math.max(0, menge);
		}
		
		this.addArtikel(artnr, menge, function(tp) {
			if (menge) {
				_show('inWK_' + artnr);
				_('inWKimg_' + artnr).src = _('inWKimg_' + artnr).src.replace('a.gif', '.gif');
				if (Portlet.WK.data.Abnahme == 'TRUE') {
					_('lager_' + artnr).src = '/images/content/lager_abn_s.gif';
				} else {
					if (Portlet.WK.data.Bestand >= menge) {
						_('lager_' + artnr).src = '/images/content/lager_ja_s.gif';
					} else if (Portlet.WK.data.Bestand > 0) {
						_('lager_' + artnr).src = '/images/content/lager_teil_s.gif';
					} else {
						_('lager_' + artnr).src = '/images/content/lager_teil_s.gif';
					}
				}
				//_('t_Menge_' + artnr).value = menge;
				_('mengeWK_' + artnr).innerHTML = menge;
			} else {
				_hide('inWK_' + artnr);
				_('inWKimg_' + artnr).src = _('inWKimg_' + artnr).src.replace('.gif', 'a.gif');
				//_('t_Menge_' + artnr).value = '';
			}
		});
		
		return false;
	},
	
	addArtikelFromAD: function(artnr, menge, close) {
		menge = parseInt(menge);
		if (isNaN(menge)) {
			menge = 1;
		} else {
			menge = Math.max(0, menge);
		}
		
		this.addArtikel(artnr, menge, function(tp) {
			if (menge) {
				_show('inWK_ad');
				_('inWKimg_ad').src = _('inWKimg_ad').src.replace('a.gif', '.gif');
				if (Portlet.WK.data.Abnahme == 'TRUE') {
					_('lager_ad').src = '/images/content/lager_abn_s.gif';
				} else {
					if (Portlet.WK.data.Bestand >= menge) {
						_('lager_ad').src = '/images/content/lager_ja_s.gif';
					} else if (Portlet.WK.data.Bestand > 0) {
						_('lager_ad').src = '/images/content/lager_teil_s.gif';
					} else {
						_('lager_ad').src = '/images/content/lager_teil_s.gif';
					}
				}
				_('t_Menge_ad').value = menge;
				_('mengeWK_ad').innerHTML = menge;
			} else {
				_hide('inWK_ad');
				_('inWKimg_ad').src = _('inWKimg_ad').src.replace('.gif', 'a.gif');
				_('t_Menge_ad').value = '';
			}
			
			if (_('inWK_' + artnr) && (_('tf_filter') || _('ekl_hidden'))) {
				if (menge) {
					_show('inWK_' + artnr);
					_('inWKimg_' + artnr).src = _('inWKimg_' + artnr).src.replace('a.gif', '.gif');
					if (Portlet.WK.data.Abnahme == 'TRUE') {
						_('lager_' + artnr).src = '/images/content/lager_abn_s.gif';
					} else {
						if (Portlet.WK.data.Bestand >= menge) {
							_('lager_' + artnr).src = '/images/content/lager_ja_s.gif';
						} else if (Portlet.WK.data.Bestand > 0) {
							_('lager_' + artnr).src = '/images/content/lager_teil_s.gif';
						} else {
							_('lager_' + artnr).src = '/images/content/lager_teil_s.gif';
						}
					}
					_('t_Menge_' + artnr).value = menge;
					_('mengeWK_' + artnr).innerHTML = menge;
					if (close) {
						Portlet.AD.hide();
						_('t_Suche_se').focus();
						_('t_Suche_se').select();
						_('t_Suche_se').value = '';
					}
				} else {
					_hide('inWK_' + artnr);
					_('inWKimg_' + artnr).src = _('inWKimg_' + artnr).src.replace('.gif', 'a.gif');
					_('t_Menge_' + artnr).value = '';
				}
			}
		});
		
		return false;
	},
	
	addArtikelBulkFromTL: function() {
		var mengen = [];
		_A(_('rows').rows).each(function(row) {
			var mf = row.getElementsByTagName('input');
			if (mf.length == 0) return;
			m = mf[0].value.trim();
			if (m == '' || isNaN(parseInt(m)) || parseInt(m) < 0) return;
			m = parseInt(m);
			mengen.push(mf[0].id + '=' + m);
		});
		
		if (mengen.length > 0) {
			this.addArtikelBulk(mengen, function(tp) {
				for (var i = 0, l = mengen.length; i < l; i++) {
					var m = mengen[i].split('=');
					var artnr = m[0].split('_')[2];
					m = parseInt(m[1]);
					if (m > 0) {
						_show('inWK_' + artnr);
						_('inWKimg_' + artnr).src = _('inWKimg_' + artnr).src.replace('a.gif', '.gif');
						if (Portlet.WK.data['Abnahme_' + artnr] == 'TRUE') {
							_('lager_' + artnr).src = '/images/content/lager_abn_s.gif';
						} else {
							if (Portlet.WK.data['Bestand_' + artnr] >= m) {
								_('lager_' + artnr).src = '/images/content/lager_ja_s.gif';
							} else if (Portlet.WK.data['Bestand_' + artnr] > 0) {
								_('lager_' + artnr).src = '/images/content/lager_teil_s.gif';
							} else {
								_('lager_' + artnr).src = '/images/content/lager_teil_s.gif';
							}
						}
						
						_('t_Menge_' + artnr).value = m;
						_('mengeWK_' + artnr).innerHTML = m;
					} else {
						_hide('inWK_' + artnr);
						_('inWKimg_' + artnr).src = _('inWKimg_' + artnr).src.replace('.gif', 'a.gif');
						_('t_Menge_' + artnr).value = '';
					}
				}
			});
		}
		
		return false;
	},
	
	addArtikelBulkFromEKL: function() {
		var mengen = [];
		_A(_('rows').rows).each(function(row) {
			var mf = row.getElementsByTagName('input');
			if (mf.length == 0) return;
			m = mf[0].value.trim();
			if (m == '' || isNaN(parseInt(m)) || parseInt(m) < 0) return;
			m = parseInt(m);
			mengen.push(mf[0].id + '=' + m);
		});
		
		if (mengen.length > 0) {
			this.addArtikelBulk(mengen, function(tp) {
				for (var i = 0, l = mengen.length; i < l; i++) {
					var m = mengen[i].split('=');
					var artnr = m[0].split('_')[2];
					m = parseInt(m[1]);
					if (m > 0) {
						_show('inWK_' + artnr);
						_('inWKimg_' + artnr).src = _('inWKimg_' + artnr).src.replace('a.gif', '.gif');
						if (Portlet.WK.data['Abnahme_' + artnr] == 'TRUE') {
							_('lager_' + artnr).src = '/images/content/lager_abn_s.gif';
						} else {
							if (Portlet.WK.data['Bestand_' + artnr] >= m) {
								_('lager_' + artnr).src = '/images/content/lager_ja_s.gif';
							} else if (Portlet.WK.data['Bestand_' + artnr] > 0) {
								_('lager_' + artnr).src = '/images/content/lager_teil_s.gif';
							} else {
								_('lager_' + artnr).src = '/images/content/lager_teil_s.gif';
							}
						}
						
						//_('t_Menge_' + artnr).value = m;
						_('mengeWK_' + artnr).innerHTML = m;
					} else {
						_hide('inWK_' + artnr);
						_('inWKimg_' + artnr).src = _('inWKimg_' + artnr).src.replace('.gif', 'a.gif');
						//_('t_Menge_' + artnr).value = '';
					}
				}
			});
		}
		
		return false;
	},
	
	checkArtikelNr: function(artnr, suffix, focus) {
		suffix = suffix || '';
		if (artnr.trim() != '') {
			new Ajax.Request('/shop/ajax/artikelbezeichnung/index.html?t_ArtikelNr=' + artnr.trim(), {
				onSuccess: function(tp) {
					if (tp.responseText.trim() != '') {
						var bez = tp.responseText.trim();
						_('se_bez' + suffix).innerHTML = bez.length > 40 ? bez.substr(0, 37) + '...' : bez;
						_hide('se_error' + suffix);
						_hide('se_menge' + suffix);
						_show('se_bez' + suffix);
					} else {
						_hide('se_bez' + suffix);
						_hide('se_menge' + suffix);
						_show('se_error' + suffix);
						if (focus) {
							_('t_ArtikelNr' + suffix).focus();
							_('t_ArtikelNr' + suffix).select();
						}
					}
				}
			});
		}
	},
	
	addArtikelFromWK: function(suffix) {
		suffix = suffix || '';
		if (!_visible('se_bez' + suffix) && !_visible('se_menge' + suffix)) {
			_('t_ArtikelNr' + suffix).focus();
			_('t_ArtikelNr' + suffix).select();
		} else {
			var artnr = _('t_ArtikelNr' + suffix).value;
			var menge = parseInt(_('t_Menge' + suffix).value);
			if (isNaN(menge) || menge < 1) {
				_show('se_menge' + suffix);
				_hide('se_error' + suffix);
				_hide('se_bez' + suffix);
				_('t_Menge' + suffix).focus();
				_('t_Menge' + suffix).value = '';
				_('t_Menge' + suffix).focus();
				return;
			}
			
			this.addArtikel(artnr, menge, function() {
				if (_('wk_hidden')) {
					if (_('row' + Portlet.WK.data.PosNr)) {
						new Ajax.Updater('wk_hidden', '/shop/ajax/wkzeile/index.html?t_PosNr=' + Portlet.WK.data.PosNr, {
							onComplete: function() {
								Artikelzeile.replace(_('row' + Portlet.WK.data.PosNr), _('hiddenbody'));
								_show('total');
								NiceTitle.update();
								clearTimeout(_('wk_artpopup')._to);
								_('wk_art_nr').innerHTML = Portlet.WK.data.ArtikelNr;
								_('wk_art_bez').innerHTML = Portlet.WK.data.Bez1 + (Portlet.WK.data.Bez2 ? '<br />' + Portlet.WK.data.Bez2 : '');
								_('wk_art_img').src = Portlet.WK.data.Img;
								_popup('wk_artpopup', null, true);
								_('wk_artpopup')._to = _popdown.curry('wk_artpopup').delay(3);
							}
						});
					} else {
						new Ajax.Updater('wk_hidden', '/shop/ajax/wkzeile/index.html?t_PosNr=' + Portlet.WK.data.PosNr, {
							onComplete: function() {
								Artikelzeile.add(_('hiddenbody'), _('rows'));
								_show('total');
								NiceTitle.update();
								clearTimeout(_('wk_artpopup')._to);
								_('wk_art_nr').innerHTML = Portlet.WK.data.ArtikelNr;
								_('wk_art_bez').innerHTML = Portlet.WK.data.Bez1 + (Portlet.WK.data.Bez2 ? '<br />' + Portlet.WK.data.Bez2 : '');
								_('wk_art_img').src = Portlet.WK.data.Img;
								_popup('wk_artpopup', null, true);
								_('wk_artpopup')._to = _popdown.curry('wk_artpopup').delay(3);
							}
						});
					}
				} else {
					clearTimeout(_('wk_artpopup')._to);
					_('wk_art_nr').innerHTML = Portlet.WK.data.ArtikelNr;
					_('wk_art_bez').innerHTML = Portlet.WK.data.Bez1 + (Portlet.WK.data.Bez2 ? '<br />' + Portlet.WK.data.Bez2 : '');
					_('wk_art_img').src = Portlet.WK.data.Img;
					_popup('wk_artpopup', null, true);
					_('wk_artpopup')._to = _popdown.curry('wk_artpopup').delay(3);
				}
				
				_('t_Menge' + suffix).value = '';
				_('t_Menge' + suffix).onblur();
				_('t_ArtikelNr' + suffix).value = '';
				_('t_ArtikelNr' + suffix).focus();
				_hide('se_bez' + suffix);
				_hide('se_error' + suffix);
				_hide('se_menge' + suffix);
				if (_('wk_total')) _('wk_total').innerHTML = Portlet.WK.data.TotalWarenwert;
				_('t_ArtikelNr' + suffix).value = '';
				_('t_ArtikelNr' + suffix).focus();
			}.bind(this));
		}
		
		return false;
	},
	
	updateMengeFromWK: function(artnr, menge, row) {
		menge = parseInt(menge);
		if (isNaN(menge)) {
			menge = 1;
		} else {
			menge = Math.max(0, menge);
		}
		
		this.addArtikel(artnr, menge, function() {
			var _row = row;
			if (Portlet.WK.data.PosNr) {
				new Ajax.Updater('wk_hidden', '/shop/ajax/wkzeile/index.html?t_PosNr=' + Portlet.WK.data.PosNr, {
					onComplete: function() {
						var nrow = _('hiddenbody').rows[0];
						Artikelzeile.replace(_row, _('hiddenbody'));
						(function() {
							nrow.getElementsByTagName('input')[0].focus();
						}).defer();
						NiceTitle.update();
					}
				});
			} else {
				Artikelzeile.remove(_row);
			}
			
			_('wk_total').innerHTML = Portlet.WK.data.TotalWarenwert;
			if (Portlet.WK.data.NumRows == 0) {
				_hide('total');
			}
		}.bind(this));
	},
	
	deleteArtikelFromTL: function(artnr) {
		this.deleteArtikel(artnr, function(tp) {
			_hide('inWK_' + artnr);
			_('t_Menge_' + artnr).value = '';
			_('inWKimg_' + artnr).src = _('inWKimg_' + artnr).src.replace('.gif', 'a.gif');
			_('postext_' + artnr).innerHTML = '';
		});
		
		return false;
	},
	
	deleteArtikelFromEKL: function(artnr) {
		this.deleteArtikel(artnr, function(tp) {
			_hide('inWK_' + artnr);
			//_('t_Menge_' + artnr).value = '';
			_('inWKimg_' + artnr).src = _('inWKimg_' + artnr).src.replace('.gif', 'a.gif');
		});
		
		return false;
	},
	
	deleteArtikelFromAD: function(artnr) {
		this.deleteArtikel(artnr, function(tp) {
			_hide('inWK_ad');
			_('t_Menge_ad').value = '';
			_('inWKimg_ad').src = _('inWKimg_ad').src.replace('.gif', 'a.gif');
			
			if (_('inWK_' + artnr) && (_('tf_filter') || _('ekl_hidden'))) {
				_hide('inWK_' + artnr);
				_('t_Menge_' + artnr).value = '';
				_('inWKimg_' + artnr).src = _('inWKimg_' + artnr).src.replace('.gif', 'a.gif');
			}
		});
		
		return false;
	},
	
	deleteArtikelFromWK: function(artnr, row) {
		this.deleteArtikel(artnr, function(tp) {
			Artikelzeile.remove(row);
			_('wk_total').innerHTML = Portlet.WK.data.TotalWarenwert;
			if (Portlet.WK.data.NumRows == 0) {
				_hide('total');
			}
		});
		
		return false;
	},
	
	clearArtikelFromWK: function() {
		this.clearArtikel((function(tp) {
			document.location.href = '/shop/warenkorb/index.html';
		}));
		
		return false;
	},
	
	setField: function(field) {
		if (_('best_total')) {
			var onComplete = function() {
				_('best_totalwarenwert').innerHTML = Portlet.WK.data.TotalWarenwert;
				_('best_totalversand').innerHTML = Portlet.WK.data.TotalVersand;
				_('best_totalmwst').innerHTML = Portlet.WK.data.TotalMWST;
				_('best_total').innerHTML = Portlet.WK.data.Total;
				_('best2_totalwarenwert').innerHTML = Portlet.WK.data.TotalWarenwert;
				_('best2_totalversand').innerHTML = Portlet.WK.data.TotalVersand;
				_('best2_totalmwst').innerHTML = Portlet.WK.data.TotalMWST;
				_('best2_total').innerHTML = Portlet.WK.data.Total;
			};
		} else {
			var onComplete = null;
		}
		
		if (field.type.toLowerCase() == 'radio') {
			var fields = document.getElementsByName(field.name);
			for (var i = 0, l = fields.length; i < l; i++) {
				if (fields[i].checked) {
					this.load('p_Action=setField&t_Name=' + fields[i].name.substr(2).encode() + '&t_Value=' + fields[i].value.encode(), onComplete);
					break;
				}
			}
		} else {
			this.load('p_Action=setField&t_Name=' + field.name.substr(2).encode() + '&t_Value=' + field.value.encode(), onComplete);
		}
	},
	
	setFields: function(fieldName, fieldValue) {
		if (_('best_total')) {
			var onComplete = function() {
				_('best_totalwarenwert').innerHTML = Portlet.WK.data.TotalWarenwert;
				_('best_totalversand').innerHTML = Portlet.WK.data.TotalVersand;
				_('best_totalmwst').innerHTML = Portlet.WK.data.TotalMWST;
				_('best_total').innerHTML = Portlet.WK.data.Total;
				_('best2_totalwarenwert').innerHTML = Portlet.WK.data.TotalWarenwert;
				_('best2_totalversand').innerHTML = Portlet.WK.data.TotalVersand;
				_('best2_totalmwst').innerHTML = Portlet.WK.data.TotalMWST;
				_('best2_total').innerHTML = Portlet.WK.data.Total;
			};
		} else {
			var onComplete = null;
		}
		
		fieldName = fieldName.join('§');
		fieldValue = fieldValue.join('§');
		this.load('p_Action=setField&t_Name=' + fieldName.encode() + '&t_Value=' + fieldValue.encode(), onComplete);
	},
	
	setPosTexte: function(artnr) {
		new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=wk.setPosTexte()&t_ArtikelNr=' + artnr +
						 '&t_PosText1=' + _F('t_PosText1').encode() + 
						 '&t_PosText2=' + _F('t_PosText2').encode() + 
						 '&t_PosText3=' + _F('t_PosText3').encode() + 
						 '&t_PosText4=' + _F('t_PosText4').encode() + 
						 '&t_PosText5=' + _F('t_PosText5').encode(), {
			onSuccess: function() {
				if (_F('t_PosText1').trim() != '') {
					var pt = _F('t_PosText1').trim()
					if (pt.length > 23) pt = pt.substr(0, 20) + '...';
					ptl = _F('t_PosText1').trim() + '\n' + _F('t_PosText2').trim() + '\n' + _F('t_PosText3').trim() + '\n' + _F('t_PosText4').trim() + '\n' + _F('t_PosText5').trim();
					ptl = ptl.trim().replace('\\n', '<br />');
					_('postext_' + artnr).innerHTML = '<span style="font-size:11px; color:#999999; border:1px solid #e6e6e6; padding:3px; cursor:pointer;" class="nice_title" title="' + ptl + '"><img src="/images/buttons/pos_stift.gif" />&nbsp;&nbsp;' + pt + '</span>';
				} else {
					_('postext_' + artnr).innerHTML = '';
				}
				var pos = _('t_Menge_' + artnr).parentNode.parentNode.id.substr(3);
				try {
					new Ajax.Updater('wk_hidden', '/shop/ajax/wkzeile/index.html?t_PosNr=' + pos, {
						onComplete: function() {
							Artikelzeile.replace(_('row' + pos), _('hiddenbody'));
							NiceTitle.update();
						}
					});
				} catch (e) {}
			}
		});
		if ((_F('t_PosText1') + _F('t_PosText2') + _F('t_PosText3') + _F('t_PosText4') + _F('t_PosText5')).trim() != '') {
			var img = _('postextimg_' + artnr);
			if (img.src.indexOf('_on.') === -1) {
				img.src = img.src.replace('.gif', '_on.gif');
			}
		} else {
			var img = _('postextimg_' + artnr);
			if (img.src.indexOf('_on.') !== -1) {
				img.src = img.src.replace('_on.gif', '.gif');
			}
		}
	},

	resetAdress: function(datasource) {
		new Ajax.Request('/shop/ajax/lieferadresse/index.html?t_AdrArt=' + datasource, {
			onSuccess: function(tp) {
				if (tp.responseText.trim() != '') {
					var data = tp.responseText.trim().split('§');
					
					_('LSAnrede').value   = data[1];
					_('LSName1').value    = data[2];
					_('LSName2').value    = data[3];
					_('LSStrasse1').value = data[4];
					_('LSStrasse2').value = data[5];
					_('LSPLZ').value      = data[6];
					_('LSOrt').value      = data[7];
					_('LSPLZOrt').value   = data[6] + ' ' + data[7];
					
					if (datasource == 'db') {
						Portlet.DB.setFields(['LSAnrede', 'LSName1', 'LSName2', 'LSStrasse1', 'LSStrasse2', 'LSPLZ', 'LSOrt'], data.slice(1, 8));
					} else {
						Portlet.WK.setFields(['LSAnrede', 'LSName1', 'LSName2', 'LSStrasse1', 'LSStrasse2', 'LSPLZ', 'LSOrt'], data.slice(1, 8));
					}
				}
			}
		});
	}
	
});

Portlet.DB = Object.extend(Object.clone(Portlet.StandardPortlet), {
	base_url: '/shop/ajax/dbupdate/index.html',
	container: 'db',
	_infoTO: null,
	_adding: false,
	
	addArtikel: function(artnr, menge, onComplete) {
		if (this._adding) return false;
		this._adding = true;
		try {
			this.load('p_Action=addArtikel&t_ArtikelNr=' + artnr + '&t_Menge=' + menge, function() {
				onComplete();
				Portlet.DB._adding = false;
			});
		} catch (e) {
			Portlet.DB._adding = false;
		}
	},
	
	addArtikelBulk: function(mengen, onComplete) {
		this.load('p_Action=addArtikelBulk&' + mengen.join('&'), onComplete);
	},
	
	deleteArtikel: function(artnr, onComplete) {
		this.load('p_Action=deleteArtikel&t_ArtikelNr=' + artnr, onComplete);
	},
	
	clearArtikel: function(onComplete) {
		this.load('p_Action=clearArtikel', onComplete);
	},
	
	checkAbnahme: function(onComplete) {
		_('abnahme_popup').setAttribute('src', '/shop/ajax/popupabnahmeverpflichtung/index.html?t_DataSource=db');
		_popup('abnahme_popup', onComplete);
		return false;
	},
	
	checkArtikelNr: function(artnr, suffix, focus) {
		suffix = suffix || '';
		if (artnr.trim() != '') {
			new Ajax.Request('/shop/ajax/artikelbezeichnung/index.html?t_ArtikelNr=' + artnr.trim(), {
				onSuccess: function(tp) {
					if (tp.responseText.trim() != '') {
						var bez = tp.responseText.trim();
						_('se_bez' + suffix).innerHTML = bez.length > 40 ? bez.substr(0, 37) + '...' : bez;
						_hide('se_error' + suffix);
						_hide('se_menge' + suffix);
						_show('se_bez' + suffix);
					} else {
						_hide('se_bez' + suffix);
						_hide('se_menge' + suffix);
						_show('se_error' + suffix);
						if (focus) {
							_('t_ArtikelNr' + suffix).focus();
							_('t_ArtikelNr' + suffix).select();
						}
					}
				}
			});
		}
	},
	
	addArtikelFromDB: function(suffix) {
		suffix = suffix || '';
		if (!_visible('se_bez' + suffix) && !_visible('se_menge' + suffix)) {
			_('t_ArtikelNr' + suffix).focus();
			_('t_ArtikelNr' + suffix).select();
		} else {
			var artnr = _('t_ArtikelNr' + suffix).value;
			var menge = parseInt(_('t_Menge' + suffix).value);
			if (isNaN(menge) || menge < 1) {
				_show('se_menge' + suffix);
				_hide('se_error' + suffix);
				_hide('se_bez' + suffix);
				_('t_Menge' + suffix).focus();
				_('t_Menge' + suffix).select();
				return;
			}
			
			this.addArtikel(artnr, menge, function() {
				if (_('db_hidden')) {
					if (_('row' + Portlet.DB.data.PosNr)) {
						new Ajax.Updater('db_hidden', '/shop/ajax/dbzeile/index.html?t_PosNr=' + Portlet.DB.data.PosNr, {
							onComplete: function() {
								Artikelzeile.replace(_('row' + Portlet.DB.data.PosNr), _('hiddenbody'));
								_show('total');
								clearTimeout(_('db_artpopup')._to);
								_('db_art_nr').innerHTML = Portlet.DB.data.ArtikelNr;
								_('db_art_bez').innerHTML = Portlet.DB.data.Bez1 + (Portlet.DB.data.Bez2 ? '<br />' + Portlet.DB.data.Bez2 : '');
								_('db_art_img').src = Portlet.DB.data.Img;
								_popup('db_artpopup', null, true);
								_('db_artpopup')._to = _popdown.curry('db_artpopup').delay(3);
								NiceTitle.update();
							}
						});
					} else {
						new Ajax.Updater('db_hidden', '/shop/ajax/dbzeile/index.html?t_PosNr=' + Portlet.DB.data.PosNr, {
							onComplete: function() {
								Artikelzeile.add(_('hiddenbody'), _('rows'));
								_show('total');
								clearTimeout(_('db_artpopup')._to);
								_('db_art_nr').innerHTML = Portlet.DB.data.ArtikelNr;
								_('db_art_bez').innerHTML = Portlet.DB.data.Bez1 + (Portlet.DB.data.Bez2 ? '<br />' + Portlet.DB.data.Bez2 : '');
								_('db_art_img').src = Portlet.DB.data.Img;
								_popup('db_artpopup', null, true);
								_('db_artpopup')._to = _popdown.curry('db_artpopup').delay(3);
								NiceTitle.update();
							}
						});
					}
				} else {
					clearTimeout(_('db_artpopup')._to);
					_('db_art_nr').innerHTML = Portlet.DB.data.ArtikelNr;
					_('db_art_bez').innerHTML = Portlet.DB.data.Bez1 + (Portlet.DB.data.Bez2 ? '<br />' + Portlet.DB.data.Bez2 : '');
					_('db_art_img').src = Portlet.DB.data.Img;
					_popup('db_artpopup', null, true);
					_('db_artpopup')._to = _popdown.curry('db_artpopup').delay(3);
				}
				
				_('t_Menge' + suffix).value = '';
				_('t_Menge' + suffix).onblur();
				_('t_ArtikelNr' + suffix).value = '';
				_('t_ArtikelNr' + suffix).focus();
				_hide('se_bez' + suffix);
				_hide('se_error' + suffix);
				_hide('se_menge' + suffix);
				
				_('best_totalwarenwert').innerHTML = Portlet.DB.data.TotalWarenwert;
				_('best_totalversand').innerHTML = Portlet.DB.data.TotalVersand;
				_('best_totalmwst').innerHTML = Portlet.DB.data.TotalMWST;
				_('best_total').innerHTML = Portlet.DB.data.Total;
				_('best2_totalwarenwert').innerHTML = Portlet.DB.data.TotalWarenwert;
				_('best2_totalversand').innerHTML = Portlet.DB.data.TotalVersand;
				_('best2_totalmwst').innerHTML = Portlet.DB.data.TotalMWST;
				_('best2_total').innerHTML = Portlet.DB.data.Total;
				
				if (Portlet.DB.data.NumRows == 0) {
					_hide('total');
				} else {
					_show('total');
				}
			}.bind(this));
		}
		
		return false;
	},
	
	updateMengeFromDB: function(artnr, menge, row) {
		menge = parseInt(menge);
		if (isNaN(menge)) {
			menge = 1;
		} else {
			menge = Math.max(0, menge);
		}
		
		this.addArtikel(artnr, menge, function() {
			var _row = row;
			if (Portlet.DB.data.PosNr) {
				new Ajax.Updater('db_hidden', '/shop/ajax/dbzeile/index.html?t_PosNr=' + Portlet.DB.data.PosNr, {
					onComplete: function() {
						var nrow = _('hiddenbody').rows[0];
						Artikelzeile.replace(_row, _('hiddenbody'));
						(function() {
							nrow.getElementsByTagName('input')[0].focus();
						}).defer();
						NiceTitle.update();
					}
				});
			} else {
				Artikelzeile.remove(_row);
			}
			
			_('best_totalwarenwert').innerHTML = Portlet.DB.data.TotalWarenwert;
			_('best_totalversand').innerHTML = Portlet.DB.data.TotalVersand;
			_('best_totalmwst').innerHTML = Portlet.DB.data.TotalMWST;
			_('best_total').innerHTML = Portlet.DB.data.Total;
			_('best2_totalwarenwert').innerHTML = Portlet.DB.data.TotalWarenwert;
			_('best2_totalversand').innerHTML = Portlet.DB.data.TotalVersand;
			_('best2_totalmwst').innerHTML = Portlet.DB.data.TotalMWST;
			_('best2_total').innerHTML = Portlet.DB.data.Total;
			if (Portlet.DB.data.NumRows == 0) {
				_hide('total');
			} else {
				_show('total');
			}
		}.bind(this));
	},
	
	deleteArtikelFromDB: function(artnr, row) {
		this.deleteArtikel(artnr, function(tp) {
			Artikelzeile.remove(row);
			_('best_totalwarenwert').innerHTML = Portlet.DB.data.TotalWarenwert;
			_('best_totalversand').innerHTML = Portlet.DB.data.TotalVersand;
			_('best_totalmwst').innerHTML = Portlet.DB.data.TotalMWST;
			_('best_total').innerHTML = Portlet.DB.data.Total;
			_('best2_totalwarenwert').innerHTML = Portlet.DB.data.TotalWarenwert;
			_('best2_totalversand').innerHTML = Portlet.DB.data.TotalVersand;
			_('best2_totalmwst').innerHTML = Portlet.DB.data.TotalMWST;
			_('best2_total').innerHTML = Portlet.DB.data.Total;
			if (Portlet.DB.data.NumRows == 0) {
				_hide('total');
			} else {
				_show('total');
			}
		});
		
		return false;
	},
	
	clearArtikelFromDB: function() {
		this.clearArtikel((function(tp) {
			document.location.href = '/shop/warenkorb/index.html';
		}));
		
		return false;
	},
	
	setField: function(field) {
		if (_('best_total')) {
			var onComplete = function() {
				_('best_totalwarenwert').innerHTML = Portlet.DB.data.TotalWarenwert;
				_('best_totalversand').innerHTML = Portlet.DB.data.TotalVersand;
				_('best_totalmwst').innerHTML = Portlet.DB.data.TotalMWST;
				_('best_total').innerHTML = Portlet.DB.data.Total;
				_('best2_totalwarenwert').innerHTML = Portlet.DB.data.TotalWarenwert;
				_('best2_totalversand').innerHTML = Portlet.DB.data.TotalVersand;
				_('best2_totalmwst').innerHTML = Portlet.DB.data.TotalMWST;
				_('best2_total').innerHTML = Portlet.DB.data.Total;
			};
		} else {
			var onComplete = null;
		}
		
		if (field.type.toLowerCase() == 'radio') {
			var fields = document.getElementsByName(field.name);
			for (var i = 0, l = fields.length; i < l; i++) {
				if (fields[i].checked) {
					this.load('p_Action=setField&t_Name=' + fields[i].name.substr(2).encode() + '&t_Value=' + fields[i].value.encode(), onComplete);
					break;
				}
			}
		} else {
			this.load('p_Action=setField&t_Name=' + field.name.substr(2).encode() + '&t_Value=' + field.value.encode(), onComplete);
		}
	},
	
	setFields: function(fieldName, fieldValue) {
		if (_('best_total')) {
			var onComplete = function() {
				_('best_totalwarenwert').innerHTML = Portlet.DB.data.TotalWarenwert;
				_('best_totalversand').innerHTML = Portlet.DB.data.TotalVersand;
				_('best_totalmwst').innerHTML = Portlet.DB.data.TotalMWST;
				_('best_total').innerHTML = Portlet.DB.data.Total;
				_('best2_totalwarenwert').innerHTML = Portlet.DB.data.TotalWarenwert;
				_('best2_totalversand').innerHTML = Portlet.DB.data.TotalVersand;
				_('best2_totalmwst').innerHTML = Portlet.DB.data.TotalMWST;
				_('best2_total').innerHTML = Portlet.DB.data.Total;
			};
		} else {
			var onComplete = null;
		}
		
		fieldName = fieldName.join('§');
		fieldValue = fieldValue.join('§');
		this.load('p_Action=setField&t_Name=' + fieldName.encode() + '&t_Value=' + fieldValue.encode(), onComplete);
	},
	
	setPosTexte: function(artnr) {
		new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=db.setPosTexte()&t_ArtikelNr=' + artnr +
						 '&t_PosText1=' + _F('t_PosText1').encode() + 
						 '&t_PosText2=' + _F('t_PosText2').encode() + 
						 '&t_PosText3=' + _F('t_PosText3').encode() + 
						 '&t_PosText4=' + _F('t_PosText4').encode() + 
						 '&t_PosText5=' + _F('t_PosText5').encode());
		if ((_F('t_PosText1') + _F('t_PosText2') + _F('t_PosText3') + _F('t_PosText4') + _F('t_PosText5')).trim() != '') {
			var img = _('postextimg_' + artnr);
			if (img.src.indexOf('_on.') === -1) {
				img.src = img.src.replace('.gif', '_on.gif');
			}
		} else {
			var img = _('postextimg_' + artnr);
			if (img.src.indexOf('_on.') !== -1) {
				img.src = img.src.replace('_on.gif', '.gif');
			}
		}
	}
});

Portlet.EXS = Object.extend(Object.clone(Portlet.StandardPortlet), {
	container: 'exs',
	
	setAction: function(action) {
		_('t_OArt').disabled = (action != 'searchOArtikelNr');
		_('t_Bez').disabled = (action != 'searchArtikelBez');
		_('t_UArt').disabled = (action != 'searchUArtikelNr');
		_('t_IArt').disabled = (action != 'searchIArtikelNr');
		_('t_EAN').disabled = (action != 'searchEAN');
		_('t_Action_2').value = action;
	},
	
	updateSelect: function(func, arg, target) {
		new Ajax.Updater(target, '/shop/ajax/wgmarke/index.html?t_Func=' + func + '&t_Arg=' + arg.encode());
	},
	
	_ecoguideVals: {},
	searchEcoguide: function(c, val) {
		var marke = _F('t_Hersteller_' + this.container);
		//if (val.length > 1 || marke.length > 1) {
		if (val.length > 2) {
			clearTimeout(this._ecoguideTO);
			var cont = _('ecoguide_popup');
			
			if (this._ecoguideVals['_' + marke] && this._ecoguideVals['_' + marke][val]) {
				var poselm = _('t_Produkt_' + this.container);
				var spickel = _('spickel');
				var p = Position.cumulativeOffset(poselm);
				var eg = _(cont);
				var st = window.getScrollTop();
				spickel.style.top = (p[1] + poselm.offsetHeight / 2) + 'px';
				spickel.style.left = p[0] + poselm.offsetWidth + 20 + 'px';
				var tmin = st - 30;
				var tmax = st + window.getInnerHeight() - 357 - 28;
				eg.style.top = Math.min(tmax, Math.max(p[1] - 174, Math.max(tmin, p[1] - 30))) + 'px';
				eg.style.left = p[0] + poselm.offsetWidth + 25 + 'px';
				_('ecoguide_content').innerHTML = this._ecoguideVals['_' + marke][val];
				_show(cont);
				_show(spickel);
			} else {
				this._ecoguideTO = setTimeout((function() {
					var poselm = _('t_Produkt_' + this.container);
					var spickel = _('spickel');
					new Ajax.Request('/web4system/web4.sh/WService=' + c + 'web4biz/search_wtbezidx.p?h=' + marke + '&w=' + val + '&p=' + this.container.toUpperCase(), {
						onSuccess: (function(tp) {
							if (!this._ecoguideVals['_' + marke]) this._ecoguideVals['_' + marke] = {};
							var obj = _('ecoguide_content');
							var ns = obj.nextSibling;
							var pn = obj.parentNode;
							pn.removeChild(obj);
							obj.innerHTML = this._ecoguideVals['_' + marke][val] = tp.responseText.trim() === '' ? '<div>' + _txt_keineGeraeteGefunden + '</div>' : tp.responseText;
							if (ns) {
								pn.insertBefore(obj, ns);
							} else {
								pn.appendChild(obj);
							}
							_show(cont);
							_show(spickel);
						}).bind(this)
					});
					
					var p = Position.cumulativeOffset(poselm);
					var eg = _(cont);
					var st = window.getScrollTop();
					spickel.style.top = (p[1] + poselm.offsetHeight / 2) + 'px';
					spickel.style.left = p[0] + poselm.offsetWidth + 20 + 'px';
					var tmin = st - 30;
					var tmax = st + window.getInnerHeight() - 357 - 28;
					eg.style.top = Math.min(tmax, Math.max(p[1] - 174, Math.max(tmin, p[1] - 30))) + 'px';
					eg.style.left = p[0] + poselm.offsetWidth + 25 + 'px';
				}).bind(this), 500);
			}
		} else {
			_hide('ecoguide_popup');
			_hide('spickel');
		}
	},
	
	searchModell: function(s) {
		document.location.href = '/shop/produktesuche/index.html?t_DataSource=as&t_Action=searchEcoguide&t_Hersteller=' + s.split('§')[0] + '&t_Modell=' + s.split('§')[1];
		return false;
	}
});

Portlet.AS = Object.extend(Object.clone(Portlet.StandardPortlet), {
	updateSelect: function(func, arg, target) {
		new Ajax.Updater(target, '/shop/ajax/wgmarke/index.html?t_Func=' + func + '&t_Arg=' + arg.encode());
	},
	
	_ecoguideVals: {},
	searchEcoguide: function(c, val) {
		var marke = _F('t_Hersteller_' + this.container);
		//if (val.length > 1 || marke.length > 1) {
		if (val.length > 1) {
			clearTimeout(this._ecoguideTO);
			var cont = _('ecoguide_popup');
			
			if (this._ecoguideVals['_' + marke] && this._ecoguideVals['_' + marke][val]) {
				var poselm = _('t_Produkt_' + this.container);
				var spickel = _('spickel');
				var p = Position.cumulativeOffset(poselm);
				var eg = _(cont);
				var st = window.getScrollTop();
				spickel.style.top = (p[1] + poselm.offsetHeight / 2) + 'px';
				spickel.style.left = '199px';
				var tmin = st - 30;
				var tmax = st + window.getInnerHeight() - 357 - 28;
				eg.style.top = Math.min(tmax, Math.max(p[1] - 174, Math.max(tmin, p[1] - 30))) + 'px';
				eg.style.left = '204px';
				_('ecoguide_content').innerHTML = this._ecoguideVals['_' + marke][val];
				_show(cont);
				_show(spickel);
			} else {
				this._ecoguideTO = setTimeout((function() {
					var poselm = _('t_Produkt_' + this.container);
					var spickel = _('spickel');
					new Ajax.Request('/web4system/web4.sh/WService=' + c + 'web4biz/search_wtbezidx.p?h=' + marke + '&w=' + val + '&p=' + this.container.toUpperCase(), {
						onSuccess: (function(tp) {
							if (!this._ecoguideVals['_' + marke]) this._ecoguideVals['_' + marke] = {};
							var obj = _('ecoguide_content');
							var ns = obj.nextSibling;
							var pn = obj.parentNode;
							pn.removeChild(obj);
							obj.innerHTML = this._ecoguideVals['_' + marke][val] = tp.responseText.trim() === '' ? '<div>' + _txt_keineGeraeteGefunden + '</div>' : tp.responseText.trim();
							if (ns) {
								pn.insertBefore(obj, ns);
							} else {
								pn.appendChild(obj);
							}
							_show(cont);
							_show(spickel);
						}).bind(this)
					});
					
					var p = Position.cumulativeOffset(poselm);
					var eg = _(cont);
					var st = window.getScrollTop();
					spickel.style.top = (p[1] + poselm.offsetHeight / 2) + 'px';
					spickel.style.left = '199px';
					var tmin = st - 30;
					var tmax = st + window.getInnerHeight() - 357 - 28;
					eg.style.top = Math.min(tmax, Math.max(p[1] - 174, Math.max(tmin, p[1] - 30))) + 'px';
					eg.style.left = '204px';
				}).bind(this), 500);
			}
		} else {
			_hide('ecoguide_popup');
			_hide('spickel');
		}
	},
	
	searchModell: function(s) {
		document.location.href = '/shop/produktesuche/index.html?t_DataSource=as&t_Action=searchEcoguide&t_PortletID=' + this.container + '&t_Hersteller=' + s.split('§')[0] + '&t_Modell=' + s.split('§')[1];
		return false;
	}
});

Portlet.AD = Object.extend(Object.clone(Portlet.StandardPortlet), {
	_tabCache: {},
	
	esc: function(ev) {
		if (Event.getKey(ev) == Event.KEY_ESC) Portlet.AD.hide();
	},
	
	show: function(artnr, tab, ref) {
		if (!ref) {
			ref = '';
		}
		
		Event.bind(document, 'keydown', Portlet.AD.esc);
		
		_('artikel_popup').setAttribute('src', '/shop/ajax/artikeldetail/index.html?t_ArtikelNr=' + artnr.encode() + '&t_ref=' + ref);
		_popup('artikel_popup', function() {
			_hide('title');
			if (tab) {
				Portlet.AD.loadTab(_(tab));
			} else {
				Portlet.AD.loadTab(_('tabs').getElementsByTagName('a')[0]);
			}
			
		});
	},
	
	hide: function() {
		Event.unbind(document, 'keydown', Portlet.AD.esc);
		_popdown('artikel_popup');
		return false;
	},
	
	generatePDF: function(artnr) {
		window.open('/shop/pdf/artikeldetail/index.html?t_ArtikelNr=' + artnr + '&t_PDF=1');
	},
	
	loadTab: function(tab, onComplete) {
		if (Portlet.AD._tabCache[tab.href]) {
			_('artikel_subcontent').innerHTML = Portlet.AD._tabCache[tab.href];
			NiceTitle.update();
			(onComplete ? onComplete : P.emptyFunction)();
		} else {
			new Ajax.Request(tab.href, {
				onSuccess: function(tp) {
					if (_hasClassName(tab, 'canCache')) {
						_('artikel_subcontent').innerHTML = Portlet.AD._tabCache[tab.href] = tp.responseText;
					} else {
						_('artikel_subcontent').innerHTML = tp.responseText;
					}
					
					/* Hier werden alle HTML-Elemente mit class="nice_title" neu initialisiert */
					NiceTitle.update();
					
					(onComplete ? onComplete : P.emptyFunction)();
				}
			});
		}
		
		_A(_('tabs').getElementsByTagName('a')).each(function(t) {
			if (t == tab) {
				t.parentNode.className = 'current';
			} else {
				t.parentNode.className = '';
			}
		});
		
		tab.blur();
	},
	
	toggleImage: function() {
		_toggle('AD_close');
		var img = _('image_AD');
		img.src = img.src.indexOf('/m/') === -1 ? img.src.replace('/b/', '/m/') : img.src.replace('/m/', '/b/');
		if (img.src.indexOf('/m/') === -1) {
			img.style.width = '600px';
			img.style.height = '400px';
			img.style.paddingTop = img.style.paddingBottom = '80px';
			img.style.paddingLeft = img.style.paddingRight = '69px';
			img.style.backgroundColor = '#FFF';
			_hide('maximize_AD');
			var t = _('minimize_AD');
			_show(t);
			t.style.position = 'absolute';
			t.style.marginLeft = 600 - t.offsetWidth + 69 + 69 - 5 + 'px';
			t.style.marginTop = 400 - t.offsetHeight + 80 + 80 - 5 + 'px';
			t.style.marginRight = '0px';
			t.style.marginBottom = '0px';
			t.style.cssFloat = '';
			Event.unbind(document, 'keydown', Portlet.AD.esc);
			Event.bind(document, 'keydown', Portlet.AD.toggleImage);
		} else {
			img.style.width = '224px';
			img.style.height = '201px';
			img.style.paddingTop = img.style.paddingBottom = '0px';
			img.style.paddingLeft = img.style.paddingRight = '0px';
			_show('maximize_AD');
			_hide('minimize_AD');
			Event.unbind(document, 'keydown', Portlet.AD.toggleImage);
			Event.bind(document, 'keydown', Portlet.AD.esc);
		}
	},
	
	setIArtikelNr : function(artikelnummer,iart) {
		new Ajax.Request('/shop/ajax/ia/index.html?t_override=FALSE&t_ArtikelNr=' + artikelnummer + '&t_iart=' + iart.encode(), {
		onSuccess: (function(tp) {
			var result = tp.responseText.trim();
			if (result != iart) {
				_('IArtikelNr_ad').innerHTML = result;
				_('t_IArtikelNr').value = result;
				_show('bereitsvorhanden');
				}
			else {
				if (_('IArtNr_' + artikelnummer)) {
					_('IArtNr_' + artikelnummer).innerHTML = iart.truncate(15);
				}
				
				_hide('bereitsvorhanden');
				_('IArtikelNr_ad').innerHTML = iart.truncate(15);
			};
			}).bind(this)
		});
	},	
	
	
	
	
	changeView: function (a){
		if (a == '2') {
			for (var i = 1; i <= 12; i++) {
				_hide('wert_' + i);
				_show('menge_' + i);
			}
			_hide('wert_total');
			_show('menge_total');
		} else {
			for (var i = 1; i <= 12; i++) {
				_show('wert_' + i);
				_hide('menge_' + i);
			}
			_show('wert_total');
			_hide('menge_total');
		}
	}	
	
});

Portlet.STA = Object.extend(Object.clone(Portlet.StandardPortlet), {
	stataufbereiten: function() {
		var lStatistikOK = true;
		if (_('t_Monat').value == -1) {
			lStatistikOK = false;
			_show('se_error_monat');
		} else {
			_hide('se_error_monat');
		}
		
		if (_('t_Jahr').value == -1) {
			lStatistikOK = false;
			_show('se_error_jahr');
		} else {
			_hide('se_error_jahr');
		}
		
		if (!lStatistikOK) return false;
		
		_submit('Statistikform');
	},
	
	updateSelect: function(func, arg, target) {
		new Ajax.Updater(target, '/shop/ajax/wgmarke/index.html?t_Func=' + func + '&t_Arg=' + arg.encode());
	}
});

Portlet.AS1 = Object.extend(Object.clone(Portlet.AS), {});
Portlet.AS2 = Object.extend(Object.clone(Portlet.AS), {});
Portlet.AS3 = Object.extend(Object.clone(Portlet.AS), {});
Portlet.AS4 = Object.extend(Object.clone(Portlet.AS), {});
Portlet.SE  = Object.extend(Object.clone(Portlet.StandardPortlet), {});
Portlet.LG  = Object.extend(Object.clone(Portlet.StandardPortlet), {
	pwvergessen: function() {
		var email = _('t_PWVEmail').value;
		new Ajax.Request('/shop/ajax/pwvergessen/index.html?t_PWVEmail=' + email.encode(), {
			onSuccess: function(tp) {
				if (tp.responseText.trim() == '1') {
					_show('pwGesendet');
					_hide('pwBitteWarten');
					_hide('emailNichtGefunden');
					_hide('LoginGesperrt');
				} else {
					if (tp.responseText.trim() == '2') {
						_hide('pwGesendet');
						_hide('pwBitteWarten');
						_hide('emailNichtGefunden');
						_show('LoginGesperrt');
					} else {
					_hide('pwGesendet');
					_hide('pwBitteWarten');
					_show('emailNichtGefunden');
					_hide('LoginGesperrt');
					}
				}
			}
		});
		_hide('pwGesendet');
		_show('pwBitteWarten');
		_hide('emailNichtGefunden');
		_hide('LoginGesperrt');
	}
});
Portlet.OT  = Object.extend(Object.clone(Portlet.StandardPortlet), {});
Portlet.KTO = Object.extend(Object.clone(Portlet.StandardPortlet), {});
Portlet.EBC = Object.extend(Object.clone(Portlet.StandardPortlet), {});
Portlet.ESU = Object.extend(Object.clone(Portlet.StandardPortlet), {});
Portlet.ESP = Object.extend(Object.clone(Portlet.StandardPortlet), {});
Portlet.PLA = Object.extend(Object.clone(Portlet.StandardPortlet), {
	deleteBild: function(bild, a) {
		var row = _findParent(a, 'tr');
//		console.log(row);
		new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=pla.deleteBild(' + bild + ')', {
			onSuccess: function() {
				Portlet.PLA.load();
				_remove(row);
				if (!_('rows').rows.length) {
					_show('bilder_noresult');
					_hide('bilder_result');
				}
			}
		});
	},

	setField: function(field) {
		var onComplete = null;
		this.load('p_Action=setField&t_Name=' + field.name.substr(2).encode() + '&t_Value=' + field.value.encode(), onComplete);
	},
	
	setFields: function(fieldName, fieldValue) {
		var onComplete = null;
		
		fieldName = fieldName.join('§');
		fieldValue = fieldValue.join('§');
		this.load('p_Action=setField&t_Name=' + fieldName.encode() + '&t_Value=' + fieldValue.encode(), onComplete);
	},
	
	resetAdress: function(datasource) {
		new Ajax.Request('/shop/ajax/lieferadresse/index.html?t_AdrArt=' + datasource, {
			onSuccess: function(tp) {
				if (tp.responseText.trim() != '') {
					var data = tp.responseText.trim().split('§');
					
					_('LSAnrede').value   = data[1];
					_('LSName1').value    = data[2];
					_('LSName2').value    = data[3];
					_('LSStrasse1').value = data[4];
					_('LSStrasse2').value = data[5];
					_('LSPLZ').value      = data[6];
					_('LSOrt').value      = data[7];
					_('LSPLZOrt').value   = data[6] + ' ' + data[7];
					
					Portlet.PLA.setFields(['LSAnrede', 'LSName1', 'LSName2', 'LSStrasse1', 'LSStrasse2', 'LSPLZ', 'LSOrt'], data.slice(1, 8));
				}
			}
		});
	},
	
	generatePDF: function() {
		window.open('/shop/pdf/pla_bestaetigung/index.html?t_PDF=1');
	}
});
Portlet.LGT = Object.extend(Object.clone(Portlet.StandardPortlet), {});

Portlet.ES  = Object.extend(Object.clone(Portlet.StandardPortlet), {	
		checkAbnahme: function(ESID, useEKL, onComplete) {
		_('abnahme_popup').setAttribute('src', '/shop/ajax/popupabnahmeverpflichtung/index.html?t_DataSource=es&t_ID=' + ESID + '&t_Create=1');
		_popup('abnahme_popup', onComplete);
		return false;
	}
});

Portlet.SNP = Object.extend(Object.clone(Portlet.StandardPortlet), {
	updateSelect: function(func, arg, target) {
		new Ajax.Updater(target, '/shop/ajax/wgmarke/index.html?t_P=snp&t_Func=' + func + '&t_Arg=' + arg.encode());
	}
});

Portlet.IA  = Object.extend(Object.clone(Portlet.StandardPortlet), {
	DeleteIArtikel : function(artikelnummer) {
		new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=artikel.checkIArtikelNr('+ artikelnummer + ')&t_override=TRUE');
		_('text_' + artikelnummer).value = '';
	},
	
	
	
	SetIArtikelNr : function(artikelnummer,iart) {
		new Ajax.Request('/shop/ajax/ia/index.html?t_override=TRUE&t_ArtikelNr=' + artikelnummer + '&t_iart=' + iart.encode(), {
			onSuccess: function(tp) {
				var result = tp.responseText.trim();
				if (result != iart) {
					_('text_' + artikelnummer).value  = result;
					_show('rowError_' + artikelnummer);
					}
				else {
					_removeClassName(_('text_' + artikelnummer), 'invalid');
					_hide('rowError_' + artikelnummer);
				};
			}.bind(this)
		});
	}
});

Portlet.PG  = Object.extend(Object.clone(Portlet.StandardPortlet), {

	callMerkmal : function(merkmal) {
		
		new Ajax.Request('/shop/ajax/paperguide/eigenschaften/index.html?t_Merkmal=' + merkmal, {
			onSuccess: (function(tp) {
				_('pg_eigenschaften_box').innerHTML = tp.responseText;
				_('pg_eigenschaften_box').setAttribute('merkmal', merkmal);
			
				_A(_('pg_merkmal_box').getElementsByTagName('div')).each(function(div) {
					if (div.id.substr(0, 7) == 'merkmal') {
						if (div.id == 'merkmal' + merkmal) {
							_firstDescendant(div).className = 'btn_pg1_left on';
							_firstDescendant(_firstDescendant(div)).className = 'btn_pg1_right on';
						} else {
							_firstDescendant(div).className = 'btn_pg1_left';
							_firstDescendant(_firstDescendant(div)).className = 'btn_pg1_right';
						}
					}
				});		
				
			}).bind(this)
		});
	
	},	

	addSelection : function(merkmal, eigenschaft) {
		
		new Ajax.Request('/shop/ajax/paperguide/selection/index.html?i2cms_i2p=paperguide.addSelection()&t_Merkmal=' + merkmal + '&t_eigenschaft=' + eigenschaft, {
			onSuccess: (function(tp) {
				_('pg_selection_box').innerHTML = tp.responseText;
				
				_A(_('pg_eigenschaften_box').getElementsByTagName('div')).each(function(div) {
					if (div.id.substr(0, 11) == 'eigenschaft') {
						if (div.id == 'eigenschaft' + eigenschaft) {
							div.className = 'btn_pg2 on';
						} else {
							div.className = 'btn_pg2';
						}
					}
				});	
				
			}).bind(this)
		});
	
	},
	
	removeSelection : function(merkmal) {
		
		new Ajax.Request('/shop/ajax/paperguide/selection/index.html?i2cms_i2p=paperguide.removeSelection()&t_Merkmal=' + merkmal, {
			onSuccess: (function(tp) {
				_('pg_selection_box').innerHTML = tp.responseText;
				
				_A(_('pg_eigenschaften_box').getElementsByTagName('div')).each(function(div) {
					if (div.id.substr(0, 11) == 'eigenschaft') {
						div.className = 'btn_pg2';
					}
				});
				
			}).bind(this)
		});
	
	},
	
	resetSelection : function() {
		new Ajax.Request('/shop/ajax/paperguide/selection/index.html?i2cms_i2p=paperguide.resetSelection()', {
			onSuccess: (function(tp) {
				_('pg_selection_box').innerHTML = tp.responseText;
				this.callMerkmal('00');
			}).bind(this)
		});
	},
	
	loadSelection : function() {
		new Ajax.Request('/shop/ajax/paperguide/selection/index.html?i2cms_i2p=paperguide.resetSelection()', {
			onSuccess: (function(tp) {
				_('pg_selection_box').innerHTML = tp.responseText;
			}).bind(this)
		});
	}
	
});

Portlet.USR = Object.extend(Object.clone(Portlet.StandardPortlet), {
	setLSAdress: function(AdressNr, onSuccess) {
		var defaultAdr = _F('t_defaultadr');
		new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=adress.saveLS()&t_AdressNr=' + AdressNr + 
						 '&t_action='   + _F('t_action') + 
						 '&t_anrede='   + _F('t_anrede').encode() + 
						 '&t_name1='    + _F('t_name1').encode() + 
						 '&t_name2='    + _F('t_name2').encode() + 
						 '&t_strasse1=' + _F('t_str1').encode() + 
						 '&t_strasse2=' + _F('t_str2').encode() + 
						 '&t_plz='      + _F('t_plz').encode() + 
						 '&t_ort='      + _F('t_ort').encode() +
						 '&t_weblogin=' + _F('t_weblogin').encode() +
						 '&t_defaultadr=' + defaultAdr, {
			onSuccess: onSuccess ? onSuccess : P.emptyFunction
		});
						 
		if (defaultAdr == '1') {
			_show('defaultAdrID');
		}	else {
			_hide('defaultAdrID');
		}				 
	},
	
	setUSRData: function(weblogin) {
		new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=benutzer.setUserData()' + '&t_weblogin=' + weblogin +
						 '&t_anrede='     + _F('t_anrede').encode() + 
						 '&t_vorname='    + _F('t_vorname').encode() + 
						 '&t_name='       + _F('t_name').encode() + 
						 '&t_emailadr='   + _F('t_emailadr').encode() + 
						 '&t_telefon='    + _F('t_telefon').encode() + 
						 '&t_sprache='    + _F('t_sprache') + 
						 '&t_funktion='   + _F('t_funktion') +
						 '&t_abteilung='  + _F('t_abteilung') +
						 '&t_mitEmail='   + _F('t_mitEmail') +
						 '&t_NewsLetter=' + _F('t_NewsLetter'), {
			onSuccess: function() {
				document.location.href = '/shop/benutzer/detail/index.html?t_weblogin=' + weblogin;
			}
		});
	},
	
	setDelUSR: function(weblogin) {
		new Ajax.Request('/shop/ajax/index.html?i2cms_i2p=benutzer.deleteUser()' + '&t_weblogin=' + weblogin);
	}
	
});

Portlet.BB = Object.extend(Object.clone(Portlet.StandardPortlet), {
	generatePDF: function() {
		window.open('/shop/pdf/bestellbestaet/index.html?t_PDF=1');
	}
});

Portlet._screenshotTO = null;
Portlet._showScreenshot = function(ev, img) {
	clearTimeout(Portlet._screenshotTO);
	
	var j = _('portlet_img');
	
	if (!j || !_visible(j)) {
		Portlet._screenshotTO = (function(ev, img) {
			var i = _('portlet_img');
			i.style.left = Event.pointerX(ev) + 10 + 'px';
			i.style.top  = Event.pointerY(ev) + 10 + 'px';
			i.src = '/images/layout/portlets/' + img;
			_show(i);
		}).curry(ev, img).delay(0.5);
		
		var i = new Image();
		i.src = '/images/layout/portlets/' + img;
	}
	
	if (!j) {
		var j = _('container').parentNode.appendChild(document.createElement('img'));
		j.id = 'portlet_img';
		j.style.position = 'absolute';
		j.style.zIndex = '60000';
		j.style.border = '0px none';
	}
};

Portlet._hideScreenshot = function() {
	clearTimeout(Portlet._screenshotTO);
	var j = _('portlet_img');
	if (j) _hide(j);
};
