function set_hinweis(aggr, text){
	document.getElementById('hinweis').style.left = document.getElementById('logo').offsetWidth;
	document.getElementById('hinweis').style.height = document.getElementById('image').offsetHeight-1;
	var paddingtop = document.getElementById('image').offsetHeight-20;
	document.getElementById('hinweis').style.visibility = aggr;
	if (text.length > 17) text = text.substring(0,17)+'...';
	document.getElementById('hinweis').innerHTML = '<div style="padding: '+paddingtop+'px 6px 3px 6px;white-space:nowrap;">'+text+'</div>';
}


selectRow = function (wich, id) {
	if (document.getElementById) {
		doc = document.getElementById(id);
		for(var i=0; i<doc.childNodes.length; i++) {
			if (doc && doc.childNodes[i].nodeName == 'TABLE') {
				doc.childNodes[i].className = "moduleRow";
				for(var j=0; j<doc.childNodes[i].childNodes[0].childNodes.length; j++) {
					if (doc.childNodes[i].childNodes[0].childNodes[j].nodeName == 'TR') doc.childNodes[i].childNodes[0].childNodes[j].className = "";
				}
			}			
		}
		wich.className = 'moduleRowSelected';
		if (wich.childNodes[0].childNodes[0].childNodes[0].childNodes[0]) wich.childNodes[0].childNodes[0].childNodes[0].childNodes[0].checked = true;
}}

getImagePopupLink = function (img, type) {
	return 'href="'+prod['popuplink']+'?pID='+prod['id']+'&imgID='+img+'&type='+type+'" target="_blank" onclick="popupImageWindow(\''+prod['popuplink']+'?pID='+prod['id']+'&imgID='+img+'&type='+type+'\'); return false;"';
}

getAllPrices = function () {
	lastprice = '1';
	var priceadd = '0';
	for (var check1=0; check1<options.length; check1++) {
		for (var check2=0; check2<options[check1].length; check2++) {
			if (option[options[check1][check2]][3] != '0') priceadd = '1';
		}
	}
	var allprice = parseFloat(prod['price']); 
	for (var i=0; i<document.forms.cart_quantity.elements.length; i++) {
		if (document.forms.cart_quantity.elements[i].name.indexOf("id[") != -1) {
			var thisoption = document.forms.cart_quantity.elements[i].value;
			allprice = option[thisoption] ? parseFloat(allprice+eval(option[thisoption][2]+parseFloat(option[thisoption][3]))) : allprice;
			if (!option[thisoption] && priceadd == '1') lastprice = '0';
		}
	}
	return allprice;
}

formatPrice = function (price) {
	price = parseFloat(price);
	price = price.toFixed(prod['currency'][5]);
	pricesplit = price.toString().split("."); 
	pricethousends = new Array();
	var pr = pricesplit[0].length; var count = 0;
	while (pr>0) {
		pricethousends[count] = (pr > 3) ? pricesplit[0].substr(pr-3,3) : pricesplit[0].substr(pr-pr,pr);
		pr = pr-3; count++;
	}
	price = pricethousends.reverse().join(prod['currency'][4])+prod['currency'][3]+pricesplit[1];
	price = '<span class="cursymbol">'+prod['currency'][1]+'</span> <span class="price">'+price+'</span> <span class="cursymbol">'+prod['currency'][2]+'</span>';
	return price;
}

changeOptions = function (parent, selfid, selfpid, element) {
	var string = ''; 
	var optionslist = new Array();
	for (var i=0; i<pd.length; i++) {
		if (selfid == pd[i][0] && selfpid == pd[i][1]) {
			var id = pd[i][0], pid = pd[i][1], name = pd[i][2]; 
			string += '<div class="trow"><div class="left">'+name+':</div><div class="right" style="margin-left:'+leftmargin+'px;"><select style="width:'+selectwidth+'px;" name="id['+id+'_'+pid+']" onchange="changeOptions(this.options[this.selectedIndex].value, '+id+', '+pid+', \'attr'+id+'_'+pid+'\');">';
			for (var o=0; o<pd[i][3].length; o++) { 
				var selected = '';
				var optionprice = (option[pd[i][3][o]][3] != '0') ? ' '+option[pd[i][3][o]][2]+' '+formatPrice(option[pd[i][3][o]][3]) : '';
				var optionitemnumber =  (option[pd[i][3][o]][4] != '') ? ' ('+option[pd[i][3][o]][4]+')' : '';
				if (option[pd[i][3][o]][0] == parent) { 
					var optimages = '', itemnumber = '';
					selected = "selected"; 
					var parents = option[pd[i][3][o]][5].split("|");
					if (parents == '') parents.length = 0;
					parents[-1] = option[pd[i][3][o]][0];
					for (var optionparents=-1; optionparents<parents.length; optionparents++) {
						if (itemnumber == '') itemnumber = option[parents[optionparents]][4];
						if (optimages == '') {
							for (var img=0; img<images[parents[optionparents]].length; img++) { 
								optimages += '<a '+getImagePopupLink(images[parents[optionparents]][img], 'optionimg')+'><img src="'+prod['imgfolder']+images[parents[optionparents]][img]+'" /></a><div class="spacer"></div>';
							}
						}
					}
					if (optimages == '') {
						optimages = '';
						for (var img=0;img<prod['images'].length; img++) {
							optimages += '<a '+getImagePopupLink(prod['images'][img],img==0?'itemimg':'moimg')+'><img src="'+prod['imgfolder']+prod['images'][img]+'" /></a><div class="spacer"></div>';
						}
					}
					if (itemnumber == '') itemnumber = prod['itemnumber'];
					//optionprice = '';
				}
				
				string += '<option value="'+option[pd[i][3][o]][0]+'" '+selected+'>'+option[pd[i][3][o]][1]+optionitemnumber+optionprice+'</option>';
			}
			string += '</select></div></div>';
			optionslist = getOptionsChilds (parent, optionslist);
			optionslist = optionslist.join("");
			if (document.getElementById(element)) document.getElementById(element).innerHTML = string+optionslist;
			if (document.getElementById('prodimages') && optimages != '') document.getElementById('prodimages').innerHTML = optimages;
			if (document.getElementById('itemnumber') && itemnumber != '') document.getElementById('itemnumber').innerHTML = itemnumber;
			
			var price = getAllPrices();
			var from = (lastprice == '1') ? '' : prod['from']+' ';
			if (document.getElementById('price') && price != '') document.getElementById('price').innerHTML = from+formatPrice(price);
			var vpe = price * (1 / prod['vpe'][1]);
			if (document.getElementById('vpe') && price != '') document.getElementById('vpe').innerHTML = formatPrice(vpe)+' '+prod['vpe'][0];
			break;
		}
	}
}

getOptionsChilds = function (parent, optionslist) {
	var sort = 0;
	for (var i=0; i<pd.length; i++) {
		if (pd[i][1] == parent ) {
			var id = pd[i][0], pid = pd[i][1], name = pd[i][2];
			optionslist[sort] = new Array();
			optionslist[sort]['string'] = '<div id="attr'+id+'_'+pid+'">';
			optionslist[sort]['string'] += '<div class="trow"><div class="left">'+name+':</div><div class="right" style="margin-left:'+leftmargin+'px;"><select style="width:'+selectwidth+'px;" name="id['+id+'_'+pid+']" onchange="changeOptions(this.options[this.selectedIndex].value, '+id+', '+pid+', \'attr'+id+'_'+pid+'\');">';
			optionslist[sort]['string'] += '<option value="'+name+'?">'+name+'?</option>';
			for (var o=0; o<pd[i][3].length; o++) { 
				if (o==0) var first = option[pd[i][3][o]][0]; 
				var optionprice = (option[pd[i][3][o]][3] != '0') ? ' '+option[pd[i][3][o]][2]+' '+formatPrice(option[pd[i][3][o]][3]) : '';
				var itemnumber =  (option[pd[i][3][o]][4] != '') ? ' ('+option[pd[i][3][o]][4]+')' : '';
				optionslist[sort]['string'] += '<option value="'+option[pd[i][3][o]][0]+'">'+option[pd[i][3][o]][1]+itemnumber+optionprice+'</option>';
				options[sort]['images'] = '';
			}
			optionslist[sort]['string'] += '</select></div>';
			var childlist = '';
			
			optionslist[sort] = optionslist[sort]['string']+childlist+'</div>'+options[sort]['images']+'</div>';
			sort++;
		}
	}
	return optionslist;	
}

checkform = function () {
	var returnvalue = true;
	var string = '';
	for(var i=0; i<document.cart_quantity.elements.length; i++) {
		var val = '';
		if (document.cart_quantity.elements[i].name.indexOf("id[") != -1) {
			val = document.cart_quantity.elements[i].value;
    			if (val.indexOf("?") != -1) {
				string += 'Bitte '+val.replace(/\?/,'')+' wählen!\n';
				returnvalue = false;
			}
		}
	}
	if (document.cart_quantity.thistext) {
		if (document.cart_quantity.thistext.value.replace(/ /g,'') == '' && document.cart_quantity.text_quantity) {
			string += 'Bitte machen Sie eine Texteingabe!';
			returnvalue = false;
		}
	}
	if (string != '') alert (string);
	return returnvalue;
}


function windowHeight() {
	if (self.innerHeight) return self.innerHeight;
	else if (document.documentElement && document.documentElement.clientHeight) return document.documentElement.clientHeight;
	else if (document.body) return document.body.clientHeight;
}

function windowWidth() {
	if (self.innerWidth) return self.innerWidth;
	else if (document.documentElement && document.documentElement.clientWidth) return document.documentElement.clientWidth;
	else if (document.body) return document.body.clientWidth;
}

function windowScrollTop() {
	if (self.pageYOffset) return self.pageYOffset;
	else if (document.documentElement && document.documentElement.scrollTop) return document.documentElement.scrollTop;
	else if (document.body) return document.body.scrollTop;
}

function windowScrollLeft() {
	if (self.pageXOffset) return self.pageXOffset;
	else if (document.documentElement && document.documentElement.scrollLeft) return document.documentElement.scrollLeft;
	else if (document.body) return document.body.scrollLeft;
}


function ajaxInit(event) {
	if (document.getElementById) {
    		var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
		if (!document.getElementById('loader')) {
			var div = document.createElement('DIV');
			document.getElementsByTagName('body')[0].appendChild(div);
			div.id = 'loader';
		}
		if (event.type == 'change' || event.type == 'blur') {
			Y = windowHeight() / 2;
			X = windowWidth() / 2;
		}
		else {
			Y = event.clientY;
			X = event.clientX;
		}
    		document.getElementById('loader').style.top = Y-36+windowScrollTop()+'px';
    		document.getElementById('loader').style.left = X-16+windowScrollLeft()+'px';
    		document.getElementById('loader').style.visibility = 'visible';
		return x;
  	}
	return false;
}

function ajaxLoader(url, id, event) {
  var x = ajaxInit(event);
  if (x) {
    x.onreadystatechange = function() {
      if (x.readyState == 4 && x.status == 200) {
	xmldoc = x.responseText;
	document.getElementById(id).innerHTML = xmldoc;
	document.getElementById('loader').style.visibility = 'hidden';
      }
    }
    x.open("GET", url, true);
    x.send(null);
  }
}
