
	// creates an XMLHttpRequest instance
	function createXMLHttpRequestObject() {
		var xmlHttp; // xmlHttp will store the reference to the XMLHttpRequest object
		try { // try to instantiate the native XMLHttpRequest object
		  xmlHttp = new XMLHttpRequest(); // create an XMLHttpRequest object
		} catch(e) {
		  try { // assume IE6 or older
		    xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
		  } catch(e) { }
		}
		if (!xmlHttp) { // return the created object or display an error message
		  alert("Error creating the XMLHttpRequest object.");
		} else {
		  return xmlHttp;
		}
	}
	
	// Common generic AJAX function
	function ajaxc(url, vars, pos) {

		var request =  new createXMLHttpRequestObject();
		request.open("POST", url, true);
		request.setRequestHeader("Content-Type",
				                     "application/x-www-form-urlencoded");
	 
		request.onreadystatechange = function() {
			var done = 4, ok = 200;
			if (request.readyState == done && request.status == ok) {
				if (request.responseText && pos != "") {
				  document.getElementById(pos).innerHTML = request.responseText;
				}
			}
		};
		request.send(vars);
	}
	
	// Encodes values for URLs
	function urlencode(string) {
		string = encodeURIComponent(string);
		return string.replace(/~/g,'%7E').replace(/%20/g,'+');
	}
	
	function urldecode(string) {
		return decodeURIComponent(string.replace(/\+/g, '%20'));
	}

	// Open centered popup window
	function OpenCentered(psUrl, psName, piWidth, piHeight, psFlags) {
		var iX=(screen.width-piWidth-20)/2;
		var iY=(screen.height-piHeight-30)/2;
		open(psUrl, psName, 'width=' + piWidth + ',height=' + piHeight + ',scrollbars=1,left=' + iX + ',top=' + iY +  ',screenX=' + iX + ',screenY=' + iY + psFlags);
	}

	function setStyleByClass(t,c,p,v) {
		var elements;
		if(t == '*') {
			// '*' not supported by IE/Win 5.5 and below
			elements = (ie) ? document.all : document.getElementsByTagName('*');
		} else {
			elements = document.getElementsByTagName(t);
		}
		for(var i = 0; i < elements.length; i++){
			var node = elements.item(i);
			for(var j = 0; j < node.attributes.length; j++) {
				if(node.attributes.item(j).nodeName == 'class') {
					if(node.attributes.item(j).nodeValue == c) {
						eval('node.style.' + p + " = '" +v + "'");
					}
				}
			}
		}
	}
	
	function numbersonly(e) {
		// https://developer.mozilla.org/en/DOM/Event/UIEvent/KeyEvent
		var unicode = e.charCode? e.charCode : e.keyCode;
		var allow = ".8.37.39.46.48.49.50.51.52.53.54.55.56.57."; // allowed characters
		if(allow.search("." + unicode + ".") >= 0) {
			return true;
		} else {
			return false;
		}
	}
	
		
	function SUDHANG_carrito(val) {
		if(val == 1) {
			document.getElementById("carrito_part").style.display = "none";
			document.getElementById("carrito_full").style.display = "block";
		} else {
			document.getElementById("carrito_part").style.display = "block";
			document.getElementById("carrito_full").style.display = "none";
		}
		ajaxc("http://www.suedhang.com/_srv/ajax.carrito_display.php", "val=" + val, "");
	}
	
	function SUDHANG_visibleregions(country, reset) {
		var options = document.getElementById("options_" + country).innerHTML;
		options = urldecode(options)
		options = '<select id="region" onchange="SUDHANG_filter(10, 1)">' + options + '</select>';
		document.getElementById("region_write").innerHTML = options;
		if(reset == 1) {
			document.getElementById("region").value = 0;
		}
	}
	
	function SUDHANG_paging(top_category, page) {
		document.getElementById("page").value = page;
		SUDHANG_filter(top_category, page);
	}
	
	function SUDHANG_clearul() {
		document.getElementById("tc25").style.textDecoration = "none";
		document.getElementById("tc20").style.textDecoration = "none";
		document.getElementById("tc48").style.textDecoration = "none";
	}
	
	function SUDHANG_clearwf(top_category) {
		SUDHANG_clearul();
		document.getElementById("red").value = "red_0";
		document.getElementById("rose").value = "rose_0";
		document.getElementById("white").value = "white_0";
		document.getElementById("sparkling").value = "sparkling_0";
		document.getElementById("type").value = 0;
		if(top_category != 10) {
			document.getElementById("country").value = 0;
			document.getElementById("region").value = 0;
			document.getElementById("grocePrice").value = 0;
			SUDHANG_visibleregions(0, 1);
		}
	}
	
	function SUDHANG_filter_type(id, val) {
		SUDHANG_clearwf(10);
		document.getElementById(id).value = val;
		document.getElementById("type").value = val;
		SUDHANG_filter(10, 1);
	}
	
	function SUDHANG_filter(top_category, setpage) {
		var post = "top_category=" + top_category;
		if(setpage > 0) {
			document.getElementById("page").value = setpage;
		}
		if(top_category != 10) {
			SUDHANG_clearwf(top_category);
			try { document.getElementById("tc" + top_category).style.textDecoration = "underline"; } catch(err) {}
		} else {
			SUDHANG_clearul();
		}
		if(top_category != 0) {
			document.getElementById("search").value = "";
		}
		post += "&country=" + document.getElementById("country").value;
		post += "&region=" + document.getElementById("region").value;
		post += "&grocePrice=" + document.getElementById("grocePrice").value;
		post += "&type=" + document.getElementById("type").value;
		post += "&search=" + document.getElementById("search").value;
		post += "&page=" + document.getElementById("page").value;
		post += "&uri=" + location.href;
		ajaxc("http://www.suedhang.com/_srv/ajax.product_list.php", post, "principal");
	}
	
	function SUDHANG_stock(sku, stk, mode) {
		var post = "mode=" + mode;
		if(sku > 0) {
			var qty = document.getElementById("buy_" + sku).value;
			if(qty >= 0 && qty != "") {
				if(qty > stk) {
					/*alert("Es sind nur " + stk + " Produkte im Lager vorhanden. Bitte geben Sie eine andere Anzahl Produkte ein.");*/
					alert("Die Bestellmenge überschreitet den aktuellen Lagerbestand. Bitte die Bestellmenge reduzieren oder uns kontaktieren. Danke.");
					document.getElementById("buy_" + sku).value = "";
				} else {
					post += "&sku=" + sku + "&qty=" + qty;
					try { SUDHANG_carrito(1); } catch(err) {}
				}
			}
		}
		ajaxc("http://www.suedhang.com/_srv/ajax.warenkorb.php", post, "carrito");
	}
	
	function SUDHANG_gmap(op) {
		if(op == 1) {
			document.getElementById("mapa_amp").style.display="block"; 
			document.getElementById("prod_amp").style.display="none"; 
			document.getElementById("mapa").style.display="none";
		} else {
			document.getElementById("mapa_amp").style.display="none"; 
			document.getElementById("prod_amp").style.display="block"; 
			document.getElementById("mapa").style.display="block";
		}
	}
	
	function SUDHANG_lieferart(id, val) {
		document.getElementById("lieferart1").checked = false;
		document.getElementById("lieferart2").checked = false;
		document.getElementById("lieferart3").checked = false;
		document.getElementById("lieferart").value = val;
		document.getElementById(id).checked = true;
	}
	
	function SUDHANG_orderform(usr) {
		ajaxc("http://www.suedhang.com/_srv/ajax.orderform.php", "usr=" + usr, "orderform");
	}
	
	function SUDHANG_fetchusr() {
		var login_usr = document.getElementById("login_usr").value;
		var login_pwd = document.getElementById("login_pwd").value;
		var post = "usr=" + urlencode(login_usr) + "&pwd=" + urlencode(login_pwd);
		ajaxc("http://www.suedhang.com/_srv/ajax.fetchusr.php", post, "fetchusr");
	}
	
	function SUDHANG_placeorder() {
		var post = 'order=' + urlencode(document.getElementById("order").value);
		post += "&vorname=" + urlencode(document.getElementById("vorname").value);
		post += "&vorname_invoice=" + urlencode(document.getElementById("vorname_invoice").value);
		post += "&nachname=" + urlencode(document.getElementById("nachname").value);
		post += "&nachname_invoice=" + urlencode(document.getElementById("nachname_invoice").value);
		post += "&strasse=" + urlencode(document.getElementById("strasse").value);
		post += "&strasse_invoice=" + urlencode(document.getElementById("strasse_invoice").value);
		post += "&plzort=" + urlencode(document.getElementById("plzort").value);
		post += "&plzort_invoice=" + urlencode(document.getElementById("plzort_invoice").value);
		post += "&telefon=" + urlencode(document.getElementById("telefon").value);
		post += "&telefon_invoice=" + urlencode(document.getElementById("telefon_invoice").value);
		post += "&email=" + urlencode(document.getElementById("email").value);
		post += "&email_invoice=" + urlencode(document.getElementById("email_invoice").value);
		post += '&lieferart=' + urlencode(document.getElementById("lieferart").value);
		post += '&kommentar=' + urlencode(document.getElementById("kommentar").value);
		post += '&usr=' + urlencode(document.getElementById("usr").value);
		post += '&pwd=' + urlencode(document.getElementById("pwd").value);
		post += '&pwd_confirm=' + urlencode(document.getElementById("pwd_confirm").value);
		post += '&kleingedruckte=' + urlencode(document.getElementById("kleingedruckte").checked);
		ajaxc("http://www.suedhang.com/_srv/ajax.placeorder.php", post, "orderresult");
	}
	

	function setOpacity(eID, opacityLevel) {
		var eStyle = document.getElementById(eID).style;
		eStyle.opacity = opacityLevel / 100;
		eStyle.filter = 'alpha(opacity='+opacityLevel+')';
	}

	function fade(eID, startOpacity, stopOpacity, duration) {
		var speed = Math.round(duration / 100);
		var timer = 0;
		if (startOpacity < stopOpacity){ // fade in
		    for (var i=startOpacity; i<=stopOpacity; i++) {
		        setTimeout("setOpacity('"+eID+"',"+i+")", timer * speed);
		        timer++;
		    } return;
		}
		for (var i=startOpacity; i>=stopOpacity; i--) { // fade out
		    setTimeout("setOpacity('"+eID+"',"+i+")", timer * speed);
		    timer++;
		}
	}

	var fadeTime = 300;
	
	function SUDHANG_home_images_effect(start) {
		fade("hi1", 100, 0, fadeTime);
		fade("hi2", 0, 100, fadeTime);
		setTimeout("SUDHANG_home_images(" + start + ")", fadeTime);
	}
	
	function SUDHANG_home_images(start) {
		var arr = document.getElementById("home_images").value.split(',');
		var next = start + 1;
		if(arr[next] == undefined) {
			next = 0;
		}
		document.getElementById("hi1").src = arr[start];
		setOpacity("hi1",100);
		setOpacity("hi2",0);
		document.getElementById("hi2").src = arr[next];
		setTimeout("SUDHANG_home_images_effect(" + next + ")", 3000);
	}
	
	
	

