	// define buildUp Methods for StandAloneElements
	function createLine(){
		myLine = new clsObject("OrderBody")
			myLine.LinePos						=	xmlOHeader.childNodes.length;
			myLine.ProductNo					=	"";
			myLine.Name							=	"";
			myLine.Description					=	"";
			myLine.PriceUserEntry				=	"";
			myLine.PriceUnit					=	"1";
			myLine.MinOrder						=	"1";
			myLine.QuantityUnit					=	"";
			myLine.QuantityAmount				=	"1";
			myLine.TaxClass						=	"0";
			myLine.TaxRate						=	"0";
			myLine.TaxAmountLineTotalLC			=	"0";
			myLine.TaxAmountLineTotalSC			=	"0";
			myLine.DiscountRate					=	"0";
			myLine.DiscountNetSingleUnitLC		=	"0";
			myLine.DiscountGrossSingleUnitLC	=	"0";
			myLine.DiscountNetLineTotalLC		=	"0";
			myLine.DiscountGrossLineTotalLC		=	"0";
			myLine.DiscountNetSingleUnitSC		=	"0";
			myLine.DiscountGrossSingleUnitSC	=	"0";
			myLine.DiscountNetLineTotalSC		=	"0";
			myLine.DiscountGrossLineTotalSC		=	"0";
			myLine.PriceNetSingleUnitLC			=	"0";
			myLine.PriceGrossSingleUnitLC		=	"0";
			myLine.PriceNetLineTotalLC			=	"0";
			myLine.PriceGrossLineTotalLC		=	"0";
			myLine.PriceNetSingleUnitSC			=	"0";
			myLine.PriceGrossSingleUnitSC		=	"0";
			myLine.PriceNetLineTotalSC			=	"0";
			myLine.PriceGrossLineTotalSC		=	"0";
			myLine.WeightUnit					=	"";
			myLine.WeightAmountSingleUnit		=	"0";
			myLine.WeightAmountLineTotal		=	"0";
			// remove
			myLine.addNode("Internal");
	// return Line-Object to Caller
	return myLine;
	};
// 
	function addToBag(anElement,Amount){
		with(this){
			var taxamount = taxarea[parseInt(xmlConfig.taxarea)][parseInt(anElement.Tax) + 1];
			var update = -1;
			myLines = xmlOHeader.childNodes
			for(var i=0;i<myLines.length;i++){
				if(myLines[i].ProductNo==anElement.Prod_nr){
					update = i;
					break;
					};
				};
			// product already in shoppingcard
			if(update>-1){
				// detect position of prod_nr in shoppingcart
				myLines[i].QuantityAmount = Amount;
				if(boolPriceTaxIncl){
					myLines[i].PriceNetLineTotalLC = anElement.Price * Amount * ( 1 - taxamount/( 100 + taxamount ));
					myLines[i].PriceGrossLineTotalLC = anElement.Price * Amount;
					}
				else{
					myLines[i].PriceNetLineTotalLC = anElement.Price * Amount;
					myLines[i].PriceGrossLineTotalLC = anElement.Price * Amount * ( 1 + taxamount/100 );
					};
				}
			// add product to shoppingcart
			else{
				myLine = createLine();
				myLine.ProductNo = anElement.Prod_nr;
				myLine.Name = anElement.Title;
				myLine.Description = anElement.Subtitle;
				myLine.QuantityAmount = Amount;
				myLine.QuantityUnit = anElement.Unitdesc;
				myInternal = myLine.getFirstItem("Internal")
					myInternal.price = anElement.Price;
					myInternal.address = anElement.LnkAdress;
					myInternal.navIndex = anElement.NavIndex;
					myInternal.discount = anElement.Discount;
					myInternal.minOrder = anElement.Minorder;
					myInternal.variants = anElement.Variants;
					myInternal.catDiscount = anElement.catDiscount;
				
				myLine.WeightAmountSingleUnit = parseFloat(anElement.Weight);
				myLine.WeightAmountLineTotal = parseFloat(anElement.Weight) * parseInt(Amount);
				
				myLine.TaxClass = anElement.Tax;
				myLine.TaxRate = taxamount;
				
				myLine.PriceUnit = anElement.PriceUnit;
				
				if(boolPriceTaxIncl){
					myLine.PriceNetSingleUnitLC = parseFloat(anElement.Price) * ( 1 - taxamount/( 100 + taxamount ) );
					myLine.PriceNetLineTotalLC = parseFloat(anElement.Price) * parseInt(Amount) * ( 1 - taxamount/( 100 + taxamount ) );
					myLine.PriceGrossSingleUnitLC = parseFloat(anElement.Price);
					myLine.PriceGrossLineTotalLC = parseFloat(anElement.Price) * parseInt(Amount);
					}
				else{
					myLine.PriceNetSingleUnitLC = parseFloat(anElement.Price);
					myLine.PriceNetLineTotalLC = parseFloat(anElement.Price) * parseInt(Amount);
					myLine.PriceGrossSingleUnitLC = parseFloat(anElement.Price) * ( 1 + taxamount/100 );
					myLine.PriceGrossLineTotalLC = parseFloat(anElement.Price) * parseInt(Amount) * ( 1 + taxamount/100 );
					};
				myLines[myLines.length] = myLine;
				};
			safeData();
			var dummyQueryString = "";
			if(Element){
				dummyQueryString += "productId=" + anElement.Prod_No + "&quantity=" + Amount;
				};
			location.href="orderform.htm?" + dummyQueryString;
			};
		};
// ** 1105
	function TElementPrint(){
		var boolDisplArtId = "true";
		var variants, variantString = "";
		variants = this.Variants.split("@");
		for(var i=0; i<variants.length - 1; i++){
			variantString += "search" + i + "_EQ_" + variants[i].split(";")[1] + "_AND_"; 
			};
		variantString += "{EOL}";
		
		var addToBag = '<img src="assets/images/btnaddtobag.gif" width="121" height="34" alt="Artikel merken" border="0" align="bottom" hspace="0" vspace="0" class="main">';
		var rString = '<TR><TD align="right" class="PROVIEWBODY">';
		if(this.Image!=""){
			if(this.LnkAdress!="#DROP#") rString += "<a href=\"" + this.LnkAdress + "?defaultVariants=" + variantString + "&categoryId=" + this.NavIndex + "\">";
			rString += "<img src='" + this.Image + "' border=0";
			if(this.Width!=0) rString += " width=" + this.Width;
			if(this.Height!=0) rString += " height=" + this.Height;
			rString += " align=\"top\">";
			if(this.LnkAdress!="#DROP#") rString += "</a>";
			};
		
		rString += '</TD><TD class="PROVIEWBODY" valign="top" width="100%"><TABLE border="0" cellpadding="1" cellspacing="0" width="100%">';
		if(boolDisplArtId) rString += '<TR><TD class="PROVIEWARTID">' + this.Prod_nr + "</TD></TR>";
		rString += "<TR><TD class=\"PROVIEWBEZ1\">"
		if(this.LnkAdress!="#DROP#") rString += "<a href=\"" + this.LnkAdress + "?defaultVariants=" + variantString + "&categoryId=" + this.NavIndex + "\">"
		rString += this.Title;
		if(this.LnkAdress!="#DROP#") rString += "</a>";
		rString += "</TD></TR>"
			+ "<TR><TD class=\"PROVIEWBEZ2\">" + this.Subtitle;
		if(variants.length>0) rString += "<br>";
		for(var i=0; i<variants.length - 1; i++){
			rString	+= "<nobr><strong>" + variants[i].split(";")[0] + ": " + variants[i].split(";")[1] + "</strong>"
			if(i<variants.length-2) rString += ", ";
			rString += "</nobr>";
			};
		rString += "</TD></TR>";
		if(this.displMode==0||this.displMode==2){
			rString	+= "<TR><TD>";
			rString += "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
			if(this.catDiscount==0){
				rString += "<tr valign=\"top\"><td class=\"PROVIEWPRICE\" nowrap>";
				rString += TFormatCurrency(displPrice(this.Price,this.Tax) / this.PriceUnit, objPriCurrency);
				if(boolDisplSecCurr) rString += charSecCurrDelimiter + TFormatCurrency(displPrice(this.Price,this.Tax) / this.PriceUnit, objSecCurrency);
				rString += "</td></tr>";
				}
			else{
				if(this.Discount==""||this.Discount=="{EOL}"){
					rString += "<tr valign=\"top\">";
					rString += "<td nowrap>Preis vorher:&nbsp;</td>";
					rString += "<td class=\"PROVIEWPRICESTROKEN\" nowrap>";
					rString += TFormatCurrency(displPrice(this.Price,this.Tax) / this.PriceUnit, objPriCurrency);
					rString += "</td>"
					rString += "</tr>";
					rString += "<tr valign=\"top\">";
					rString += "<td nowrap>Jetzt nur noch:&nbsp;</td>";
					rString += "<td class=\"PROVIEWPRICE\" nowrap>";
					rString += TFormatCurrency(displPrice(this.Price * (1 - this.catDiscount / 100 ),this.Tax) / this.PriceUnit, objPriCurrency);
					if(boolDisplSecCurr) rString += charSecCurrDelimiter + TFormatCurrency(displPrice(this.Price - ( this.Price * this.catDiscount / 100 ),this.Tax) / this.PriceUnit, objSecCurrency);
					rString += "</td>"
					rString += "</tr>";
					}
				else{
					rString += "<tr valign=\"top\"><td class=\"PROVIEWPRICE\" nowrap>";
					rString += TFormatCurrency(displPrice(this.Price,this.Tax) / this.PriceUnit, objPriCurrency);
					if(boolDisplSecCurr) rString += charSecCurrDelimiter + TFormatCurrency(displPrice(this.Price,this.Tax) / this.PriceUnit, objSecCurrency);
					rString += "</td></tr>";
					};
				};
			rString += "</table>";
			rString += "</TD></TR>";
			}
		else if(this.displMode==3){
			rString	+= "<TR><TD class=\"PROVIEWPRICE\" nowrap>";
			rString += "Preis auf Anfrage";
			rString += "</TD></TR>";
			};
		if(this.displMode==0){
			rString += "<TR><TD>&nbsp;</TD></TR>"
				+ "<TR><TD><a href=\"JavaScript:addToBag(Entry[" + this.Index + "]," + this.Minorder + ");\">" + addToBag + "</a></TD></TR>";
			};
		rString += "<TR><TD>&nbsp;</TD></TR>"
			+ "</TABLE>"
			+ "</td></tr>";
		return(rString);
		};
// ** 1106
	function Element(Index,Image,Width,Height,Prod_nr,Title,Subtitle,Manufac,Price,Weight,Tax,PriceUnit,Unitdesc,NavIndex,Options,LnkAdress,Discount,Minorder,Category,catDiscount,displMode){
		this.Index = Index;
		this.Image = Image;this.Width = Width;
		this.Height = Height;this.Prod_nr = Prod_nr;
		this.Title = Title;this.Subtitle = Subtitle;
		this.Manufac = Manufac;this.Price = Price;
		this.Weight = Weight;this.Tax = Tax;
		this.PriceUnit = PriceUnit;this.Unitdesc = Unitdesc;
		this.NavIndex = NavIndex;
		this.Print = TElementPrint;this.Variants = Options;
		this.LnkAdress = LnkAdress;this.Discount = Discount;
		this.Minorder = Minorder;this.Category = Category;
		this.catDiscount = catDiscount;
		this.displMode = displMode;
		};
// ** 1107
	var Entry = new Array();
// ** 1108
	
		Entry[0] = new Element(
		0, "assets/thumb/clip_image002.jpg",
		400, 138,
		"1", "Panace-Vid 2000 - der OPC Star  aus Spanien *Grapepower*",
		"400mg reines OPC Resveratrol Antioxidant; rein pflanzlich; ORAC 4803 TE/g 381 mg Polyphenole;72,7mg / g Anticianos, 60 Kapseln. Hilft dem Körper die freien Radikale abzubauen, freie Radikale sind laut Wissenschaftler vermehrt Schuld an vielen Krankheiten.", "Valefarma,Spain",
		"34.9", "0",
		"2", 1,
		"Stück", "0",
		"", "pd-2025798230.htm",
		"", 1,
		"1000", "0",
		 0)
	
		Entry[1] = new Element(
		1, "assets/thumb/rosamasketa.jpg",
		400, 268,
		"2", "Anti Aging Crema Hydratante Intensiva  50ml",
		" schützt Ihre Haut vor freien Radikalen und Umwelteinflüssen,wirkt der Hautalterung entgegen,besonders auch bei Akne und Hautunreinheiten zu empfehlen,50ml Hautstraffende Feuchtigkeitscreme mit OPC und Wildrose. ", "Valefarma,Spain",
		"29.9", "0",
		"1", 1,
		"Stück", "0",
		"", "pd1271225637.htm",
		"", 1,
		"1000", "0",
		 0)
	
		Entry[2] = new Element(
		2, "assets/thumb/BODY MILK.jpg",
		400, 265,
		"3", "Dermico Natural 250ml",
		"deutsche Etikette SkinFluid, feuchtigkeitsspendend &amp; vitalisierendes  Körpefluid  mit Resveratrol, mit dem hochwertigen  OPC aus Spanien. Besonders auch geeignet bei Akne und Neurothermitis.", "Valefarma,Spain",
		"9.9", "0",
		"1", 1,
		"Stück", "0",
		"", "pd2000583643.htm",
		"", 1,
		"1000", "0",
		 0)
	
		Entry[3] = new Element(
		3, "assets/thumb/espuma-anticelulitica.jpg",
		400, 267,
		"4", "Espuma Anticelulica 120ml",
		"hochwertiger Anticelulitis Schaum mit OPC(vitis Vinifera).  Sehr hoher Wirkungsgrad, hautstraffend , Anti Aging. Der Erfolg ist bereits nach einigen Tagen sichtbar. SIE WERDEN BEGEISTERT SEIN. Ihre Haut ist sofort spührbar  samtweich und straffer.", "Valefarma,Spain",
		"19.9", "0",
		"1", 1,
		"Stück", "0",
		"", "pd1275392242.htm",
		"", 1,
		"1000", "0",
		 0)
	
		Entry[4] = new Element(
		4, "assets/thumb/COSMETICA-1.jpg",
		400, 245,
		"5", "Haarschampo Vital5 mit OPC 250ml",
		"Spezialschampo bei  Kopfhautjucken, Schuppen, fettiges Haar, haarwurzelstärkend,vitalisierend, hilfreiche Kopfhautpflege bei Schuppenflechten, Neurothermitis mit Weintraubenextrakt.", "Valefarma,Spain",
		"11.9", "0",
		"1", 1,
		"Stück", "0",
		"", "pd1279701416.htm",
		"", 1,
		"1000", "0",
		 0)
	
// ** 1109
	function SetupSearchEngineForm(){
		mySearchEngine = xmlConfig.getFirstItem("SearchEngine");
		if(mySearchEngine.term!="null") document.SearchEngine.Term.value = mySearchEngine.term;
		for(var i=0;i<document.SearchEngine.Mode.length;i++){
			if(i==mySearchEngine.mode) document.SearchEngine.Mode[i].selected = true;
			};
		if(mySearchEngine.maxPrice>0) document.SearchEngine.Maxprice.value = mySearchEngine.maxPrice;
		else{
			document.SearchEngine.Maxprice.value="";
			mySearchEngine.maxPrice = -1;
			};
		if(xmlConfig.getFirstItem("SearchEngine").ByCategory=="1"){
			for(var i=0;i<document.SearchEngine.navselect.length; i++){
				if(document.SearchEngine.navselect[i].value.split(';;')[2]==mySearchEngine.categoryId){
					xmlConfig.getFirstItem("SearchEngine").categoryIndex = document.SearchEngine.navselect[i].value.split(';;')[0];
					document.SearchEngine.navselect[i].selected = true;
					};
				};
			}
		else{
			xmlConfig.getFirstItem("SearchEngine").categoryIndex = "null";
			};
		};
// enable smartstore to display amount of found products ...
	var counter = 0;
// ** 1111b
	function SearchFor(Term,Mode){
	var foundItems = new Array();
	var itemPrice = 0; var currentCategory = 0;
		mySearchEngine = xmlConfig.getFirstItem("SearchEngine");
		if((Term!="null" && Term!="")||mySearchEngine.maxPrice>=0){
			if(Mode=="") Mode=0;
			Term = Term.toLowerCase();
			var result = "<form name=\"ProductIndex\" onSubmit=\"return false;\">";
			var matchCategory = true;
			var productCategory;
			for(var i=0;i<Entry.length;i++){
				if(xmlConfig.getFirstItem("SearchEngine").ByCategory=="1"){
					// Search for matching categories
					if(xmlConfig.getFirstItem("SearchEngine").categoryIndex!="null"&&xmlConfig.getFirstItem("SearchEngine").categoryIndex!="nada"){
						for(var j=0; j<Entry[i].Category.split(",").length; j++){
							matchCategory = (navigation[mySearchEngine.categoryIndex].categoryId == Entry[i].Category.split(",")[j]) ? true : false;
							if(matchCategory!=true){
								productCategory = getNavElementByCatID(Entry[i].Category.split(",")[j]);
								while(productCategory!=null&&matchCategory==false){
									if(productCategory.parentId!=null){
										if(navigation[productCategory.parentId].categoryId==xmlConfig.getFirstItem("SearchEngine").categoryId){
											currentCategory = Entry[i].Category.split(",")[j];
											matchCategory=true;
											break;
											}
										else productCategory = navigation[productCategory.parentId];
										}
									else{
										currentCategory = Entry[i].Category.split(",")[j];
										productCategory = null;
										};
									};
								}
							else{
								currentCategory = Entry[i].Category.split(",")[j];
								break;
								};
							};
						}
					else{
						currentCategory = Entry[i].Category.split(",")[0];
						matchCategory = true;
						};
					}
				else{
					currentCategory = Entry[i].Category.split(",")[0];
					matchCategory = true;
					};
				// Update current Category
				Entry[i].NavIndex = getNavElementByCatID(currentCategory).id;
				// Continue
				var foundDesc1 = Entry[i].Title.toLowerCase().indexOf(Term)!=-1;
				var foundDesc2 = Entry[i].Subtitle.toLowerCase().indexOf(Term)!=-1;
				var foundProdId = Entry[i].Prod_nr.toLowerCase().indexOf(Term)!=-1;
				var foundManufac = Entry[i].Manufac.toLowerCase().indexOf(Term)!=-1;
				// SearchFor All
				itemPrice = Entry[i].Price
				if(Entry[i].catDiscount!=0&&Entry[i].Discount==""){
					itemPrice = Entry[i].Price * (1 - Entry[i].catDiscount / 100 );
					};
				//
				itemPrice = displPrice(itemPrice, Entry[i].Tax);
				//
				if(Mode==0){
					if((foundDesc1 || foundDesc2 || foundProdId || foundManufac || Term=="null" || Term=="")&&chkMaxprice(itemPrice,mySearchEngine.maxPrice)&&matchCategory){
						counter++;
						foundItems[foundItems.length] = Entry[i];
						};
					};
				// SearchFor Description
				if(Mode==1){
					if((foundDesc1 || foundDesc2 || Term=="null" || Term=="")&&chkMaxprice(itemPrice,mySearchEngine.maxPrice)&&matchCategory){
						counter++;
						foundItems[foundItems.length] = Entry[i];
						};
					};
				// SearchFor ProdId
				if(Mode==2){
					if((foundProdId || Term=="null" || Term=="")&&chkMaxprice(itemPrice,mySearchEngine.maxPrice)&&matchCategory){
						counter++;
						foundItems[foundItems.length] = Entry[i];
						};
					};
				// SearchFor Manufac
				if(Mode==3){
					if((foundManufac || Term=="null" || Term=="")&&chkMaxprice(itemPrice,mySearchEngine.maxPrice)&&matchCategory){
						counter++;
						foundItems[foundItems.length] = Entry[i];
						};
					};
				};
			// found elements: foundItems.length
			for(var i=0; i<foundItems.length;i++){
				result += foundItems[i].Print();
				};
			result += "</form>";
			if(counter>0){
				mySearchEngine.init="false";
				return result;
				}
			else{
				if(mySearchEngine.init=="false")	return "<TR><TD colspan=\"2\" class=\"PROVIEWBODY\" nowrap>Leider wurde kein entsprechendes Produkt gefunden. Bitte versuchen Sie es erneut...</TD></TR>"
				else return("");
				};
			};
		if(mySearchEngine.init=="false") return "<TR><TD colspan=\"2\" class=\"PROVIEWBODY\" nowrap>Sie haben keine Suchkriterien angegeben. Bitte geben Sie Ihr Suchwort ein!</TD></TR>"
		else return("");
		};
// ** 11112
	function chkMaxprice(aPrice,aMaxPrice){
		aMaxPrice = replace(aMaxPrice.toString(),",",".");
		aPrice = calculateCurrencyAmount(aPrice, objPriCurrency);
		if(parseFloat(aMaxPrice)>0){
			if(parseFloat(aPrice)<=parseFloat(aMaxPrice)) return(true)
			else return(false);
			}
		else return(true);
		};
// ** 1111b
	function displPrice(aPrice,aTaxindex){
		var taxamount = taxarea[xmlConfig.taxarea][parseInt(aTaxindex) + 1];
		if(boolDisplTaxIncl){
			if(boolPriceTaxIncl) return(aPrice)
			else return(aPrice * ( 1 + taxamount/100 ) );
			}
		else{
			if(boolPriceTaxIncl) return(aPrice * ( 1 - taxamount/( 100 + taxamount ) ) )
			else return(aPrice);
			};
		};
// ** 1113
	function callpage(address, defValues, NavIndex){
		xmlConfig.getFirstItem("QueryStringData").putValue(defValues);
		xmlConfig.navIndex = NavIndex.toString();
		safeData();
		location.href = address;
		};
// ** 1114
	function newSearch(){
	var queryString = ""; var site = "";
	var xmlSearchEngine = xmlConfig.getFirstItem("SearchEngine");
		xmlSearchEngine.init='false';
		safeData();
		queryString += "mode=" + xmlSearchEngine.mode
			+ "&term=" + escape(xmlSearchEngine.term)
			+ "&maxPrice=" + escape(xmlSearchEngine.maxPrice)
			+ "&categoryId=" + escape(xmlSearchEngine.categoryIndex);
		if(location.href.indexOf("?")==-1) location.href = "search.htm?" + queryString
		else location.href = location.href.substring(0, location.href.indexOf("?")) + "?" + queryString;
		};
// ** 1115
	function searchOnEnter(){
		if(window.event.keyCode==13){
			xmlConfig.getFirstItem('SearchEngine').maxPrice=valNumber(document.SearchEngine.Maxprice.value,'0','');
			xmlConfig.getFirstItem('SearchEngine').term=document.SearchEngine.Term.value;
			newSearch();
			};
		};