function getMinHeight() {
	return Math.max(window.getScrollHeight(), window.getInnerHeight());
}

if (P.Browser.IE && !P.Browser.IE7) {
	var init = null;
	
	Event.bind(window, 'load', function() {
		init = (function() {
			var mcol = _('marketing_col');
			var cp = _('corp_pic');
			var content = _('content');
			var portlet_col = _('portlet_col');
			var footer_top = _('footer_top');
			var footer_top_min = _('footer_top');
			if (typeof footer_top_min == 'undefined' || !footer_top_min) footer_top_min = _('footer_top_min');
			var shadebg = _('shadebg');
			if (typeof shadebg == 'undefined' || !shadebg) shadebg = _('shadebg_min');
			var container = _('container');
			
			Event.bind(window, 'resize', function() {
				var h = getMinHeight() - 185;
				var cpo = cp ? cp.offsetHeight : 0;
				content.style.height = h + 'px';
				portlet_col.style.height = getMinHeight() - 185 + 'px';
				if (typeof shadebg != 'undefined' && shadebg) shadebg.style.height = getMinHeight() + 'px';
				if (typeof mcol != 'undefined' && mcol) mcol.style.height = getMinHeight() - 242 - cpo + 'px';
				if (typeof footer_top_min != 'undefined' && footer_top_min) footer_top_min.style.top = window.getInnerHeight() + window.getScrollTop() - 37 + 'px';
				var w = window.getInnerWidth();
				if (w < 1035) {
					if (typeof container != 'undefined' && container) container.style.width = '965px';
					if (typeof footer_top != 'undefined' && footer_top) footer_top.style.width = '963px';
					if (typeof shadebg != 'undefined' && shadebg && shadebg.id == 'shadebg') shadebg.style.left = '965px';
					if (typeof shadebg != 'undefined' && shadebg && shadebg.id == 'shadebg') shadebg.style.right = 'auto';
				} else if (w > 1360) {
					if (typeof container != 'undefined' && container) container.style.width = '1290px';
					if (typeof footer_top != 'undefined' && footer_top) footer_top.style.width = '1288px';
					if (typeof shadebg != 'undefined' && shadebg && shadebg.id == 'shadebg') shadebg.style.left = '1290px';
					if (typeof shadebg != 'undefined' && shadebg && shadebg.id == 'shadebg') shadebg.style.right = 'auto';
				} else {
					if (typeof container != 'undefined' && container) container.style.width = 'auto';
					if (typeof footer_top != 'undefined' && footer_top) footer_top.style.width = 'auto';
					if (typeof shadebg != 'undefined' && shadebg && shadebg.id == 'shadebg') shadebg.style.left = 'auto';
					if (typeof shadebg != 'undefined' && shadebg && shadebg.id == 'shadebg') shadebg.style.right = '40px';
				}
			});
			
			Event.bind(window, 'scroll', function() {
				if (typeof footer_top_min != 'undefined' && footer_top_min) footer_top_min.style.top = window.getInnerHeight() + window.getScrollTop() - 37 + 'px';
			});
			
			return function() {
				var h = getMinHeight();
				var cpo = cp ? cp.offsetHeight : 0;
				content.style.height = h - 185 + 'px';
				portlet_col.style.height = getMinHeight() - 185 + 'px';
				if (typeof shadebg != 'undefined' && shadebg) shadebg.style.height = getMinHeight() + 'px';
				if (typeof mcol != 'undefined' && mcol) mcol.style.height = Math.max(getMinHeight() - 242 - cpo, 0) + 'px';
				if (typeof footer_top_min != 'undefined' && footer_top_min) footer_top_min.style.top = window.getInnerHeight() + window.getScrollTop() - 37 + 'px';
				if (typeof footer_top != 'undefined' && footer_top) footer_top.style.bottom = '';
				if (typeof container != 'undefined' && container) {
					var w = window.getInnerWidth();
					if (w < 1035) {
						container.style.width = '965px';
					} else if (w > 1360) {
						container.style.width = '1290px';
					} else {
						container.style.width = 'auto';
					}
				}
				
				if (typeof footer_top != 'undefined' && footer_top) {
					var w = window.getInnerWidth();
					if (w < 1035) {
						footer_top.style.width = '963px';
					} else if (w > 1360) {
						footer_top.style.width = '1288px';
					} else {
						footer_top.style.width = 'auto';
					}
				}
				
				if (typeof shadebg != 'undefined' && shadebg && shadebg.id == 'shadebg') {
					var w = window.getInnerWidth();
					if (w < 1035) {
						shadebg.style.left = '965px';
						shadebg.style.right = 'auto';
					} else if (w > 1360) {
						shadebg.style.left = '1290px';
						shadebg.style.right = 'auto';
					} else {
						shadebg.style.left = 'auto';
						shadebg.style.right = '40px';
					}
				}
			}
		})();
		
		init();
		init.delay(0.2);
	});
} else {
	if (P.Browser.IE7) {
		Event.bind(window, 'load', function() {
			var mcol = _('marketing_col');
			var cp = _('corp_pic');
			var portlet_col = _('portlet_col');
			var footer_top = _('footer_top');
			var container = _('container');
			
			Event.bind(window, 'resize', function() {
				var cpo = cp ? cp.offsetHeight : 0;
				portlet_col.style.minHeight = getMinHeight() - 175 - cpo + 'px';
				if (mcol) mcol.style.minHeight = getMinHeight() - 232 - cpo + 'px';
				var w = window.getInnerWidth();
				if (w < 1035) {
					if (container) container.style.width = '965px';
					if (footer_top) footer_top.style.width = '963px';
				} else if (w > 1360) {
					if (container) container.style.width = '1290px';
					if (footer_top) footer_top.style.width = 'auto';
				} else {
					if (container) container.style.width = 'auto';
					if (footer_top) footer_top.style.width = 'auto';
				}
			});
			
			var cpo = cp ? cp.offsetHeight : 0;
			portlet_col.style.minHeight = getMinHeight() - 175 - cpo + 'px';
			if (mcol) mcol.style.minHeight = getMinHeight() - 232 - cpo + 'px';
			var w = window.getInnerWidth();
			if (w < 1035) {
				if (container) container.style.width = '965px';
				if (footer_top) footer_top.style.width = '963px';
			} else if (w > 1360) {
				if (container) container.style.width = '1290px';
				if (footer_top) footer_top.style.width = 'auto';
			} else {
				if (container) container.style.width = 'auto';
				if (footer_top) footer_top.style.width = 'auto';
			}
		});
	} else {
		Event.bind(window, 'load', function() {
			var mcol = _('marketing_col');
			var cp = _('corp_pic');
			var cpo = cp ? cp.offsetHeight : 0;
			if (_('portlet_col')) _('portlet_col').style.minHeight = getMinHeight() - 175 - cpo + 'px';
			if (mcol) mcol.style.minHeight = getMinHeight() - 232 - cpo + 'px';
		});
		
		Event.bind(window, 'resize', function() {
			var mcol = _('marketing_col');
			var cp = _('corp_pic');
			var cpo = cp ? cp.offsetHeight : 0;
			if (_('portlet_col')) _('portlet_col').style.minHeight = getMinHeight() - 175 - cpo + 'px';
			if (mcol) mcol.style.minHeight = getMinHeight() - 232 - cpo + 'px';
		});
	}
}

Event.bind(window, 'load', function() {
	if (_('t_Weblogin')) {
		try {
			_('t_Weblogin').focus();
		} catch (e) {}
	}
});

function _checkEnter(event, onEnter) {
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) {
		if (onEnter) onEnter();
		return true;
	}
	
	return false;
}

function _popdown(obj) {
	_hide(obj);
	_hide('spickel');
	_('soften').style.height = '10px';
	(function() {
		_hide('soften');
	}).delay(0.1);
	if (P.Browser.IE6) {
		var sel = document.getElementsByTagName('select');
		for (var i = 0, l = sel.length; i < l; i++) {
			if (typeof sel[i].origDisplay != 'undefined') {
				sel[i].style.display = sel[i].origDisplay;
			}
		}
	}
	
	return false;
}

function _popup(obj, callback, dontSoften) {
	obj = _(obj);
	_remove(obj);
	var soften = _('soften');
	soften.parentNode.appendChild(obj);
	var src = obj.getAttribute('src');
	if (obj.getAttribute('src')) {
		var target = obj.getAttribute('target');
		target = target ? _(target) : obj;
		new Ajax.Updater(target, src, {
			evalScripts: true,
			onComplete: function() {
				var _obj = obj;
				if (P.Browser.IE6) {
					var sel = document.getElementsByTagName('select');
					var innerSel = _A(target.getElementsByTagName('select'));
					for (var i = 0, l = sel.length; i < l; i++) {
						if (innerSel.indexOf(sel[i]) === -1) {
							sel[i].origDisplay = sel[i].style.display;
							_hide(sel[i]);
						}
					}
				}
				
				if (this.transport.responseText.trim() != '') {
					if (!dontSoften) {
						soften.style.height = window.getScrollHeight() + 'px';
						_show(soften);
					}
					
					_show(_obj);
					if (_hasClassName(obj, 'aligntop')) {
						obj.style.top = window.getScrollTop() + 20 + 'px';
					} else {
						obj.style.top = Math.max(0, (window.getInnerHeight() - obj.offsetHeight) / 2 + window.getScrollTop()) + 'px';
					}
					var inputs = obj.getElementsByTagName('input');
					if (inputs.length) (function() {
						try {
							this.focus();
						} catch (e) {}
					}).bind(inputs[0]).delay(0.1);
					
					if (callback) callback(true);
				} else {
					if (callback) callback(false);
				}
			}
		});
	} else {
		if (P.Browser.IE6) {
			var sel = document.getElementsByTagName('select');
			var innerSel = _A(obj.getElementsByTagName('select'));
			for (var i = 0, l = sel.length; i < l; i++) {
				if (innerSel.indexOf(sel[i]) === -1) {
					sel[i].origDisplay = sel[i].style.display;
					_hide(sel[i]);
				}
			}
		}
		
		if (!dontSoften) {
			soften.style.height = window.getScrollHeight() + 'px';
			_show(soften);
		}
		
		_show(obj);
		if (_hasClassName(obj, 'aligntop')) {
			obj.style.top = window.getScrollTop() + 20 + 'px';
		} else {
			obj.style.top = Math.max(0, (window.getInnerHeight() - obj.offsetHeight) / 2 + window.getScrollTop()) + 'px';
		}
		var inputs = obj.getElementsByTagName('input');
		if (inputs.length) (function() {
			try {
				this.focus();
			} catch (e) {}
		}).bind(inputs[0]).delay(0.1);
		if (callback) callback(true);
	}
}

var Artikelzeile = {
	remove: function(tr) {
		var rows = tr.parentNode.rows;
		var s = null;
		while (s = tr.nextSibling) {
			if (s.nodeType === 1) {
				if (!s.id) {
					_remove(s);
				} else {
					break;
				}
			} else {
				_remove(s);
			}
		}
		
		var i = tr.rowIndex;
		i = i - rows[0].rowIndex;
		_remove(tr);
		var pos = parseInt(tr.id.substr(3));
		if (rows.length) { 
			for (var i, l = rows.length; i < l; i++) {
				if (rows[i].id) rows[i].id = 'row' + pos++;
			}
		}
	},
	
	add: function(from, to, before) {
		var first = from.rows[0];
		if (before) {
			for (var i = 0, l = from.rows.length; i < l; i++) {
				to.insertBefore(from.rows[0], before);
			}
		} else {
			for (var i = 0, l = from.rows.length; i < l; i++) {
				to.appendChild(from.rows[0]);
			}
		}
		
		var s = first, pos = parseInt(first.id.substr(3));
		for (var i = s.rowIndex - s.parentNode.rows[0].rowIndex, l = to.rows.length; i < l; i++) {
			if (to.rows[i].id) to.rows[i].id = 'row' + pos++;
		}
	},
	
	replace: function(tr, from) {
		var i = tr.rowIndex;
		var to = tr.parentNode;
		i = i - to.rows[0].rowIndex;
		Artikelzeile.remove(tr);
		Artikelzeile.add(from, to, to.rows[i]);
	},
	
	showFlag: function(flag, img) {
		var p = Position.cumulativeOffset(img);
		flag = _(flag + '_mo');
		flag._last = img;
		clearTimeout(flag._to);
		flag.style.left = p[0] + 'px';
		flag.style.top = p[1] + 'px';
		_show(flag);
	}
};

var Navi = {
	_cache: {},
	
	hide: function(event) {
		if (event === true) {
			Event.unbind(document, 'click', Navi.hide);
			_hide('navi_layer');
			return;
		}
		
		var element = Event.element(event);
		var layer = _('navi_layer');
		if (element != layer && !_isParent(element, layer)) {
			Event.unbind(document, 'click', Navi.hide);
			_hide('navi_layer');
		}
		
		_A(_('tabbar').getElementsByTagName('li')).each(function(e) {
			if (_hasClassName(e, 'active')) _removeClassName(e, 'active');
		});
	},

	show: function(elem, contentpath) {
		if (_visible('navi_layer')) {
			Event.unbind(document, 'click', Navi.hide);
		}
		
		elem.blur();
		_A(elem.parentNode.parentNode.getElementsByTagName('li')).each(function(e) {
			if (_hasClassName(e, 'active')) _removeClassName(e, 'active');
		});
		_addClassName(elem.parentNode, 'active');
		var p = Position.cumulativeOffset(elem);
		var n = _('navi_layer');
		
		if (Navi._cache[contentpath]) {
			n.innerHTML = Navi._cache[contentpath];
			n.style.left = p[0] - 1 + 'px';
			_show(n);
			setTimeout(function() {
				Event.bind(document, 'click', Navi.hide);
			}, 100);
		} else {
			new Ajax.Request('/hidden/navilayer/index.html?t_Path=' + contentpath, {
				onSuccess: function(tp) {
					Navi._cache[contentpath] = tp.responseText;
					n.innerHTML = Navi._cache[contentpath];
					n.style.left = p[0] - 1 + 'px';
					_show(n);
					Event.bind(document, 'click', Navi.hide);
				}
			});
		}
	}
};

var NiceTitle = {
	_tto: null,
	_cache: {},
	
	reposition: function(t, p) {
		var mr = window.getInnerWidth() + window.getScrollLeft();
		if (p[0] + t.offsetWidth > mr) {
			p[0] = mr - t.offsetWidth;
		}
		t.style.left = p[0] + 'px';
		var mb = window.getInnerHeight() + window.getScrollTop();
		if (p[1] + t.offsetHeight > mb) {
			p[1] = p[1] - 40 - t.offsetHeight;
		}
		t.style.top = p[1] + 'px';
	},
	
	show: function(title, event) {
		var p = Event.pointer(event);
		var t = _('title');
		if (_visible(t)) return;
		if (NiceTitle._tto) clearTimeout(NiceTitle._tto);
		if (title.substr(0, 4) == 'url:' && !NiceTitle._cache[title]) {
			NiceTitle._cache[title] = true;
			var time = (new Date()).getTime();
			new Ajax.Request(title.substr(4), {
				onSuccess: function(tp) {
					if (NiceTitle._cache[title] === false) {
						NiceTitle._cache[title] = tp.responseText;
						return;
					}
					
					NiceTitle._cache[title] = tp.responseText;
					_('title_content').innerHTML = tp.responseText;
					t.style.left = p[0] + 'px';
					t.style.top  = p[1] + 'px';
					var now = (new Date()).getTime();
					if (!_visible('artikel_popup')) {
						if (now - time >= 400) {
							_show(t);
							NiceTitle.reposition(t, p);
						} else {
							NiceTitle._tto = (function() {
								_show(t);
								NiceTitle.reposition(t, p);
							}).delay((time + 400 - now) / 1000);
						}
					}
				}
			});
		} else {
			if (NiceTitle._cache[title] && title.substr(0, 4) == 'url:') {
				title = NiceTitle._cache[title];
				if (title === true) return false;
			}
			
			if (!_visible('artikel_popup') || _isParent(this, 'artikel_popup')) {
				NiceTitle._tto = (function() {
					_('title_content').innerHTML = title;
					t.style.left = p[0] + 'px';
					t.style.top  = p[1] + 'px';
					_show(t);
					NiceTitle.reposition(t, p);
				}).delay(0.4);
			}
		}
	},

	hide: function(title) {
		if (NiceTitle._cache[title] && NiceTitle._cache[title] === true) NiceTitle._cache[title] = false;
		if (NiceTitle._tto) clearTimeout(NiceTitle._tto);
		_hide('title');
	},

	update: function() {
		(function() {
			P.select('.nice_title').each(function(element) {
				if (element.title) {
					if (element.title.substr(0, 4) == 'url:' && NiceTitle._cache[element.title]) NiceTitle._cache[element.title] = null;
					Event.bind(element, 'mousemove', NiceTitle.show.bind(element).curry(element.title));
					Event.bind(element, 'mouseout', NiceTitle.hide.bind(element).curry(element.title));
					Event.bind(element, 'mousedown', NiceTitle.hide.bind(element).curry(element.title));
					element.title = '';
				}
			});
		}).defer();
	}
}

var Indexer = {
	index: {},
	
	clear: function(context) {
		Indexer.index[context] = [];
	},
	
	add: function(context, id, string) {
		if (!Indexer.index[context]) {
			Indexer.index[context] = [[_(id), string.toLowerCase()]];
		} else {
			Indexer.index[context][Indexer.index[context].length] = [_(id), string.toLowerCase()];
		}
	},
	
	search: function(context, string, callback) {
		var index = Indexer.index[context];
		var count = 0;
		string = string.toLowerCase();
		for (var i = 0; (s = index[i]); i++) {
			if (s[1].indexOf(string) !== -1) {
				callback(s[0], true);
				count++;
			} else {
				callback(s[0], false);
			}
		}
		
		return count;
	}
}

Event.bind(document, 'dom:ready', NiceTitle.update);
Ajax.Responders.register({
	onComplete: NiceTitle.update
});

function evalPLZORT(plzort, plz, ort, choices) {
	plzort = _(plzort);
	plz = _(plz);
	ort = _(ort);
	choices = _(choices);
	
	plz.value = '';
	ort.value = '';
	
	var allitems = __('#' + choices.id + ' li');
	if (!allitems.length) {
		plzort.value = '';
	} else {
		var found = false;
		for (var i = 0; i < allitems.length; i++) {
			if (allitems[i].innerHTML == plzort.value) {
				found = true;
				break;
			}
		}
		
		if (!found) {
			var items = __('#' + choices.id + ' li.selected');
			if (items.length) {
				plzort.value = items[0].innerHTML;
			} else {
				if (allitems.length) {
					plzort.value = allitems[0].innerHTML;
				}
			}
		}
	}
	
	var _plzort = plzort.value.split(' ');
	if (_plzort.length > 1) {
		plz.value = _plzort[0];
		ort.value = plzort.value.substr(_plzort[0].length + 1);
	}
}

function evalPLZORT2(plzort, plz, ort, choices) {
	plzort = _(plzort);
	plz = _(plz);
	ort = _(ort);
	choices = _(choices);
	
	plz.value = '';
	ort.value = '';
	
	var allitems = __('#' + choices.id + ' li');
	if (allitems.length == 1) {
		plzort.value = allitems[0].innerHTML;
	}
	
	if (plzort.value.search(/^[0-9][0-9][0-9][0-9] /) == -1) {
		ort.value = plzort.value;
		plz.value = '';
	} else {
		ort.value = plzort.value.substr(5);
		plz.value = plzort.value.substr(0, 4);
	}
	
	choices.innerHTML = '';
}

// Rechnungsadresse Antrag

function _sendRGAntrag(){
	if((!_('t_Firma').value > ' ') || (!_('t_Strasse').value > ' ') || (!_('t_PLZ').value > ' ') || (!_('t_Ort').value > ' ') || (!_('t_Kontaktname').value > ' ')|| (!_('t_EmailAdr').value > ' ')){
		_show('alert_pf');
	}
	else{
		new Ajax.Request('/shop/ajax/rgantrag/index.html', {
			parameters: P.Form.serialize('changeRG'),
			onSuccess: function() {
				document.location.href = '/shop/benutzer/detail/index.html';
				_show();
			}
		});
	}
	
}

var _checkES_reload = false;

function _checkES() {
	new Ajax.Request('/shop/ajax/ecoshop/index.html', {
		onSuccess: function(tp) {
			if (tp.responseText.strip() > '0') {
				if (_('portlet_es')) {
					if (_checkES_reload) {
						Portlet.ES.load();
					} else {
						_checkES_reload = true;
					}
					_checkES.delay(60);
				} else {
					Portlet.ES.init('es', '/shop/hidden/portlets/es/index.html');
					Portlet.ES.add(true);
					_checkES.delay(60);
				}
			}
		}
	});
}

function loadFlash(flash, image) {
	if (FlashDetect.installed) {
		document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="718" height="255" align="" border="0">');
		document.write('<param name=movie value="' + flash + '">');
		document.write('<param name=quality value=high>');
		document.write('<param name="wmode" value="transparent">');
		document.write('<embed src="' + flash + '" width="718" height="255" border="0" align="" quality=high type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="transparent" />');
		document.write('<noembed><img src="' + image + '" width="718" height="255" border="0" /></noembed>');
		document.write('</object>');
	} else {
		document.write('<img src="' + image + '" width="718" height="255" border="0" />');
	}
}

setInterval(function() {
	new Ajax.Request('/shop/ajax/index.html');
}, 60000);