Event.observe(window, 'load', function() {
	window.imgs = []
	$$('img').each(function(e) {
		if((e.src + "").match(/off\./)) {
			var c = window.imgs.length
			window.imgs[c] = new Image();
			window.imgs[c].src = e.src.replace(/off\./, "on.");
			e.onmouseover = new Function("if(window.imgs["+c+"].complete)this.src=window.imgs["+c+"].src");
			e.onmouseout = new Function("this.src='" + e.src + "'");

		}
	})
})

function wopen(url,name,width,height,center,scrollbars){
	var x=0,y=0;
	if(center){
		x=(screen.availWidth-width)/2-12;
		y=(screen.availHeight-height)/2+23;
	}
	if(!width)
		width=screen.availWidth;
	if(!height)
		height=screen.availHeight;
	if(!scrollbars)
		scrollbars=0;
	var w=window.open(url,name,'width='+width+',height='+height+',left='+x+',top='+y+',scrollbars='+scrollbars+',resizable=1');
	if(w)
		w.focus();
}

ProductDetails = {
	show: function(uri) {
		$('DET_POPUP').firstChild.src = uri;
		$('DET_POPUP').show();
	},
	hide : function() {
		$('DET_POPUP').hide();
	}
}

Object.extend(Form, {
	toObject: function(form) {
		var result = {}
		Form.getElements(form).each(function(element) {
		    var method = element.tagName.toLowerCase();
		    var parameter = Form.Element.Serializers[method](element);
			if(parameter && parameter[1].length) {
				if(!result[element.name])
					result[element.name] = [];
				result[element.name] = result[element.name].concat(parameter[1])
			}
		})
		return result;
	},
	checkRequired: function(form) {
		var f = Form.toObject(form), c = 0;
		$A(Form.getElements(form)).each(function(e) {
			if(!e.name.match(/_$/)) return;
			var err = (typeof(f[e.name]) == "undefined") ? 1 : 0;
			Form.setErrorState(e, err);
			c += err;
		})
		return c == 0;
	},
	setErrorState: function(element, error) {
		if(!element.parentNode)
			return;
		if(error)
			Element.addClassName(element.parentNode, "form_err");
		else
			Element.removeClassName(element.parentNode, "form_err");
	}
})



Shop = {
	cart: [],

	hideDetails: function() {
		$$('.shopDetails').each(function(e) {
			e.hide();
		});
	},
	zoom: function(k) {
		Shop.hideDetails();
		$('SHOP_D_' + k).show();
	},
	add: function(k) {
		Shop.cart[k] = (Shop.cart[k] || 0) + 1;
		Shop.update();
		window.scroll(0, 0);
	},
	remove: function(k) {
		if(Shop.cart[k])
			Shop.cart[k]--;
		Shop.update();
	},
	update: function() {
		var list = [], cnt = 0;
		for(var k = 1; k < Shop.cart.length; k++) {
			cnt += Shop.cart[k] || 0;
			if(Shop.cart[k]) {
				list.push(
					"<div class='c1' onclick='Shop.remove(" + k + ")'></div>" +
					"<div class='c2'>" + Shop.names[k] + "</div>" +
					"<div class='c3'>" + Shop.cart[k] + "</div>" +
					"<div class='c4'></div>"
				)
			}
		}
		var t;
		switch(cnt) {
			case 0: t = "Der Warenkorb ist leer"; break;
			case 1: t = "1 Produkt im Warenkorb"; break;
			default: t = cnt + " Produkte im Warenkorb"; break;
		}
		$('BASKET_INFO').innerHTML = t;
		$('BASKET_LIST').innerHTML = list.join("\n");
		if(cnt) $('BASKET_CO').show(); else $('BASKET_CO').hide();
		return cnt;
	},
	showForm: function() {
		Shop.hideDetails();
		$('SHOP_FORM').show();
	},
	hideForm: function() {
		$('SHOP_FORM').hide();
	},
	prepareForm: function(form) {
		if(!Form.checkRequired(form))
			return false;
		var f = Form.toObject(form);
		if(!f.email_ || !f.email2_ || f.email_[0] != f.email2_[0] || !f.email_[0].match(/^\S+?@\S+$/)) {
			Form.setErrorState(form.email_, 1);
			Form.setErrorState(form.email2_, 1);
			return false;
		}
		var s = []
		for(var k = 1; k < Shop.cart.length; k++) {
			if(Shop.cart[k])
				s.push(Shop.names[k] + "=" + Shop.cart[k])
		}
		form.basket.value = s.join("==");
		return s.length > 0;
	}
}

//

