// shop verify
	var ident = "GC1383GMG41M";
	var isoEncode = "iso-8859-1";
	var build = "2.1.0";
	var merchantID = "";

	var spzzchn=  "*+-./_@";
	
	function safeData() {
		var a = escape(XML.putSource());
		for(var i=0;i<spzzchn.length;i++) a = replace(a,spzzchn.charAt(i),"%X"+i);
		self.name = replace(a,"%","_");
		};
	
	function loadData() {
		var b = replace(self.name,"_","%");
		for(var i=0;i<spzzchn.length;i++) b = replace(b,"%X"+i,spzzchn.charAt(i));
		b = unescape(b);
		b = b.substring(0,b.lastIndexOf("</XML>"));
		intXMLSPos = b.indexOf("<XML>");intXMLEPos = b.indexOf(">",intXMLSPos);
		b = b.substring(0,intXMLSPos) + b.substring(intXMLEPos + 1);
		XML = new clsObject("XML");
		XML.getSource(b);
		};
	
	function putSourceValue(item,value){
		return " " + item + "=\"" + value + "\"";
		};
		
	function replace(text,find,repl){
		var found = text.indexOf(find);
		var retVal= ""; var start = 0;
		while(found != -1){
			retVal += text.substring(start,found) +repl;
			start = found+find.length;
			found = text.indexOf(find,start);
			}
		retVal += text.substring(start,text.length);
		return retVal;
		};
	
	function identOTag(theSource,strCTagName,intCTagSPos,intCTagEPos){
		// find right first occurence of matching open Tag (OTag)
		var intOTagSPos = Math.max(theSource.indexOf("<" + strCTagName + ">"),
			theSource.indexOf("<" + strCTagName + " "));
		var tmpCTagSPos = -1;var tmpCTagEPos = -1;
		while(theSource.indexOf("<" + strCTagName + ">", intOTagSPos + 1)>0
			||theSource.indexOf("<" + strCTagName + " ",intOTagSPos + 1)>0){
			intOTagSPos = Math.max(theSource.indexOf("<" + strCTagName + ">", intOTagSPos + 1),
				theSource.indexOf("<" + strCTagName + " ", intOTagSPos + 1));
			};
		// identify length of OTag
		intOTagEPos = theSource.indexOf(">",intOTagSPos);
		// check if any corresponding CTags between this Tag and CTag
		if(theSource.indexOf("</" + strCTagName + ">", intOTagEPos)<intCTagSPos){
			tmpCTagSPos = theSource.indexOf("</" + strCTagName + ">", intOTagEPos);
			tmpCTagEPos = theSource.indexOf(">",tmpCTagSPos);
			theSource = theSource.substring(0,intOTagSPos) + theSource.substring(tmpCTagEPos + 1);
			intCTagSPos = theSource.lastIndexOf("</" + strCTagName + ">");
			intCTagEPos = intCTagSPos + ("</" + strCTagName + ">").length;
			intOTagSPos = identOTag(theSource,strCTagName,intCTagSPos,intCTagEPos)
			};
		return intOTagSPos;
		};
	
	function TClsObjectPutSource(){
		var parseThis, rString;
		rString = "<" + this.clsObjName;
		for(var attribute in this){
			parseThis = true;
			for(var i=0;i<this.exceptions.length;i++) if(attribute==this.exceptions[i]) parseThis = false;
			if(parseThis) rString += putSourceValue(attribute,this[attribute]);
			};
		rString += ">";
		if(this.childNodes.length>0){
			for(var i=0;i<this.childNodes.length;i++) rString += this.childNodes[i].putSource();
			}
		else rString += this.getValue();
		rString += "</" + this.clsObjName + ">";
		return(rString);
		};
	
	function TClsObjectPutValue(aValue){
		this.clsObjValue = aValue;
		};
		
	function TClsObjectGetValue(){
		return this.clsObjValue;
		};
		
	function TClsObjectAddObject(anObject){
		this.childNodes[this.childNodes.length] = anObject;
		};
		
	function TClsObjectAddMethod(aMethod,aMethodName){
		this[aMethodName] = aMethod;
		this.exceptions[this.exceptions.length] = aMethodName;
		}
		
	function TClsObjectGetFirstItem(aName){
		for(var i=0;i<this.childNodes.length;i++){
			if(this.childNodes[i].clsObjName==aName){
				this.itemIndex = new Array(i,aName);
				return this.childNodes[i];
				};
			};
		return null;
		};
		
	function TClsObjectGetNextItem(){
		for(var i=this.itemIndex[0] + 1;i<this.childNodes.length;i++){
			if(this.childNodes[i].clsObjName==this.itemIndex[1]){
				this.itemIndex = new Array(i,this.itemIndex[1]);
				return this.childNodes[i];
				};
			};
		return null;
		};
		
	function TClsObjectDeleteItems(aName){
		tmpChildNodes = new Array();
		for(var i=0;i<this.childNodes.length;i++){
			if(this.childNodes[i].clsObjName!=aName){
				tmpChildNodes[tmpChildNodes.length] = this.childNodes[i];
				};
			};
		this.childNodes = tmpChildNodes;
		};
	
	function TClsObjectGetSource(theSource){
		while(theSource.lastIndexOf("</")>-1){
			var intCTagSPos = theSource.lastIndexOf("</");
			var intCTagEPos = theSource.indexOf(">",intCTagSPos);
			var strCTagName = theSource.substring(intCTagSPos + 2, intCTagEPos);
			var intOTagSPos = identOTag(theSource,strCTagName,intCTagSPos,intCTagEPos);
			var intOTagEPos = theSource.indexOf(">",intOTagSPos);
			var tmpChildNodes = this.childNodes;
			this.childNodes = new Array();
			this.childNodes[0] = new clsObject(strCTagName);
			this.childNodes[0].getSource(theSource.substring(intOTagEPos + 1, intCTagSPos));
			for(var i=0;i<tmpChildNodes.length;i++){
				this.childNodes[this.childNodes.length] = tmpChildNodes[i];
				};
			var strAttributes  = theSource.substring(intOTagSPos + strCTagName.length + 1, intOTagEPos);
			if(strAttributes.length>0){
				while(strAttributes.charAt(0)==" ") strAttributes = strAttributes.substring(1);
				while(strAttributes.charAt(strAttributes.length - 1)==" ") strAttributes = strAttributes.substring(0,strAttributes.length - 1);
				var intLastValueSPos = strAttributes.indexOf('="');
				var intLastValueEPos = -1;
				if(intLastValueSPos>-1) var doReplace = true
				else var doReplace = false;
				while(doReplace){
					intLastValueEPos = strAttributes.indexOf('"',intLastValueSPos + 2);
					strAttributes = strAttributes.substring(0,intLastValueSPos)
						+ replace(strAttributes.substring(intLastValueSPos,intLastValueEPos)," ","%20")
						+ strAttributes.substring(intLastValueEPos);
					intLastValueSPos = strAttributes.indexOf('="',intLastValueSPos + 1)
					if(intLastValueSPos==-1) doReplace = false;
					};
				var arrAttributes = strAttributes.split(" ");
				for(var i=0;i<arrAttributes.length;i++) this.childNodes[0][arrAttributes[i].split("=")[0]] = unescape(replace(arrAttributes[i].split("=")[1],'"',""));
				};
			theSource = theSource.substring(0,intOTagSPos) + theSource.substring(intCTagEPos + 1);
			};
		if(theSource!=""&&theSource!=null) this.clsObjValue = theSource;
		};
			
	function clsObject(clsObjName){
		this.clsObjName	= clsObjName
		this.clsObjValue = "";
		this.exceptions	= new Array("clsObjName","clsObjValue","exceptions","childNodes","putValue","getValue","addObject","addMethod","putSource","getSource","itemIndex","getFirstItem","getNextItem","deleteItems");
		this.childNodes	= new Array();
		this.putValue		= TClsObjectPutValue;
		this.getValue		= TClsObjectGetValue;
		this.addObject		= TClsObjectAddObject;
		this.addMethod		= TClsObjectAddMethod;
		this.putSource 	= TClsObjectPutSource;
		this.getSource 	= TClsObjectGetSource;
		this.itemIndex		= new Array();
		this.getFirstItem = TClsObjectGetFirstItem;
		this.getNextItem = TClsObjectGetNextItem;
		this.deleteItems = TClsObjectDeleteItems;
		};
			
	function setup(){
		XML = new clsObject("XML");
		// setup XML childNodes
		XML.addObject(new clsObject("Order"));
		XML.addObject(new clsObject("Config"));
		// setup Order childNodes
		myOrder = XML.getFirstItem("Order");
			myOrder.addObject(new clsObject("OrderHeader"));
			myOrder.addObject(new clsObject("OrderBody"));
			myOrder.addObject(new clsObject("OrderSummary"));
		// setup Config childNodes
		myConfig = XML.getFirstItem("Config");
			myConfig.addObject(new clsObject("SearchEngine"));
			myConfig.addObject(new clsObject("QueryStringData"));
			myConfig.addObject(new clsObject("NavigationIndex"));
			myConfig.addObject(new clsObject("Logdata"));
			// setup Config attributes
			myConfig.taxarea = 0;
			myConfig.dataEntered = "false";
			myConfig.ident = ident;
			myConfig.isoEncode = isoEncode;
		// setup SearchEngine attributes
		mySearchEngine = myConfig.getFirstItem("SearchEngine");
			mySearchEngine.term = null;
			mySearchEngine.mode = 0;
			mySearchEngine.maxPrice = -1;
			mySearchEngine.init = "true";
		// setup NavigationIndex attributes
		myNavigationIndex = myConfig.getFirstItem("NavigationIndex");
			myNavigationIndex.putValue("null");
		// setup OrderHeader childNodes
		myOrderHeader = myOrder.getFirstItem("OrderHeader");
			myOrderHeader.addObject(new clsObject("Reference"));
			myOrderHeader.getFirstItem("Reference").putValue("Das ist ein Referenztext");
			myOrderHeader.addObject(new clsObject("LCurrOptions"));
			myOrderHeader.addObject(new clsObject("PCurrOptions"));
			myOrderHeader.addObject(new clsObject("SCurrOptions"));
			myOrderHeader.addObject(new clsObject("WeightOptions"));
			myOrderHeader.addObject(new clsObject("BillTo"));
			myOrderHeader.addObject(new clsObject("ShipTo"));
			myOrderHeader.addObject(new clsObject("Currency"));
			myOrderHeader.addObject(new clsObject("PaymentMethod"));
			myOrderHeader.addObject(new clsObject("DeliveryMethod"));
			myOrderHeader.addObject(new clsObject("Profit"));
			myOrderHeader.addObject(new clsObject("TotalWeight"));
			myOrderHeader.addObject(new clsObject("VATFree"));
			myOrderHeader.addObject(new clsObject("TaxableAmount"));
			myOrderHeader.addObject(new clsObject("Messages"));
			// setup OrderHeader Attribute
			myOrderHeader.project="SmartStore 2000 Express";
		// setup LCurrOptions Attributes
		objLeadCurrency = myOrderHeader.getFirstItem("LCurrOptions")
			objLeadCurrency.charCurrency			= "EUR";
			objLeadCurrency.numCurrRate			= 1;
			objLeadCurrency.numRefCurrRate		= 1;
			objLeadCurrency.numOfAftDec			= 2;
			objLeadCurrency.charDecDelimiter		= ",";
			objLeadCurrency.numGroupDelimiter	= 3;
			objLeadCurrency.charGroupDelimiter	= ".";
			objLeadCurrency.currPosValue			= "&SMcurr; &SMamount;";
			objLeadCurrency.currNegValue			= "&SMcurr; -&SMamount;";
		// setup PCurrOptions Attributes
		objPriCurrency = myOrderHeader.getFirstItem("PCurrOptions")
			objPriCurrency.charCurrency			= "EUR";
			objPriCurrency.numCurrRate				= 1;
			objPriCurrency.numRefCurrRate			= 1;
			objPriCurrency.numOfAftDec				= 2;
			objPriCurrency.charDecDelimiter		= ",";
			objPriCurrency.numGroupDelimiter		= 3;
			objPriCurrency.charGroupDelimiter	= ".";
			objPriCurrency.currPosValue			= "&SMcurr; &SMamount;";
			objPriCurrency.currNegValue			= "&SMcurr; -&SMamount;";
		// setup SCurrOptions Attributes
		objSecCurrency = myOrderHeader.getFirstItem("SCurrOptions")
			objSecCurrency.charCurrency			= "EUR";
			objSecCurrency.numCurrRate				= 1;
			objSecCurrency.numRefCurrRate			= 1;
			objSecCurrency.numOfAftDec				= 2;
			objSecCurrency.charDecDelimiter		= ",";
			objSecCurrency.numGroupDelimiter		= 3;
			objSecCurrency.charGroupDelimiter	= ".";
			objSecCurrency.currPosValue			= "&SMcurr; &SMamount;";
			objSecCurrency.currNegValue			= "&SMcurr; -&SMamount;";	
		// setup WeightOptions attributes
		objWeight = myOrderHeader.getFirstItem("WeightOptions")
			objWeight.charSymbol				= "kg";
			objWeight.numOfAftDec			= 2;
			objWeight.charDecDelimiter		= ",";
			objWeight.numGroupDelimiter	= 3;
			objWeight.charGroupDelimiter	= ".";
			objWeight.currPosValue			= "&SMamount; &SMsymb;";
			objWeight.currNegValue			= "";
		// setup BillTo childNodes
		myBillTo = myOrderHeader.getFirstItem("BillTo");
			myBillTo.addObject(new clsObject("Contact"));
			// setup BillTo Attributes
			myBillTo.shipToDiffers = false;
		// setup Contact childNodes
		myContact = myBillTo.getFirstItem("Contact");
			myContact.addObject(new clsObject("Address"));
			myContact.addObject(new clsObject("TelephoneNumber"));
			myContact.addObject(new clsObject("TelephoneNumber"));
			myContact.addObject(new clsObject("TelephoneNumber"));
			// setup Address Attributes
			myAddress = myContact.getFirstItem("Address");
				myAddress.taxregion = taxarea[parseInt(XML.getFirstItem("Config").taxarea)][0];
			// setup TelephoneNumber Attributes
			myTelephoneNumber = myContact.getFirstItem("TelephoneNumber");
				myTelephoneNumber.type = "business";
			myTelephoneNumber = myContact.getNextItem("TelephoneNumber");
				myTelephoneNumber.type = "mobile";
			myTelephoneNumber = myContact.getNextItem("TelephoneNumber");
				myTelephoneNumber.type = "fax";
		// setup ShipTo childNodes
		myShipTo = myOrderHeader.getFirstItem("ShipTo");
			myShipTo.addObject(new clsObject("Contact"));
		// setup Contact childNodes
		myContact = myShipTo.getFirstItem("Contact");
			myContact.addObject(new clsObject("Address"));
			myContact.addObject(new clsObject("TelephoneNumber"));
			myContact.addObject(new clsObject("TelephoneNumber"));
			myContact.addObject(new clsObject("TelephoneNumber"));
			// setup TelephoneNumber Attributes
			myTelephoneNumber = myContact.getFirstItem("TelephoneNumber");
				myTelephoneNumber.type = "business";
			myTelephoneNumber = myContact.getNextItem("TelephoneNumber");
				myTelephoneNumber.type = "mobile";
			myTelephoneNumber = myContact.getNextItem("TelephoneNumber");
				myTelephoneNumber.type = "fax";
		// setup PaymentMethod childNodes
		myPaymentMethod = myOrderHeader.getFirstItem("PaymentMethod");
			myPaymentMethod.addObject(new clsObject("Charge"));
			myPaymentMethod.addObject(new clsObject("BankDetails"));
			myPaymentMethod.addObject(new clsObject("CreditCardDetails"));
			myPaymentMethod.addObject(new clsObject("Comment"));
		// setup DeliveryMethod childNodes
		myDeliveryMethod = myOrderHeader.getFirstItem("DeliveryMethod");
			myDeliveryMethod.addObject(new clsObject("Tax"));
			myDeliveryMethod.addObject(new clsObject("FreightOnBoard"));
			myDeliveryMethod.addObject(new clsObject("Charge"));
		// setup OrderBody childNodes
		myOrderBody = myOrder.getFirstItem("OrderBody");
			myOrderBody.addObject(new clsObject("OrderLines"));
		// setup OrderLines Attributes
		myOrderLines = myOrderBody.getFirstItem("OrderLines");
			myOrderLines.count="0";
		// setup OrderSummary childNodes
		myOrderSummary = myOrder.getFirstItem("OrderSummary");
			myOrderSummary.addObject(new clsObject("TotalDiscount"));
			myOrderSummary.addObject(new clsObject("LinesTotal"));
			myOrderSummary.addObject(new clsObject("Freight"));
			myOrderSummary.addObject(new clsObject("PaymentCharge"));
			myOrderSummary.addObject(new clsObject("TotalPrice"));
		safeData();
	};

////////////////////////////////////////////////////////////////////////////////////////////////////////
	function TFormatCurrencyValue(aNumber, objCurrency){
		aNumber = aNumber * Math.pow(10,parseInt(objCurrency.numOfAftDec) + 1);
		aNumber = parseInt(aNumber) / 10;
		aNumber = Math.round(aNumber);
		aNumber = aNumber / Math.pow(10,parseInt(objCurrency.numOfAftDec));
		return(aNumber)
		};
//
	function TFormatPreCurrency(aNumber, aDelimiter){
		var aText = "";
		if(aNumber.toString().indexOf(".")!=-1){
			strBeforeDelimiter = aNumber.toString().substring(0,aNumber.toString().indexOf("."));
			strAfterDelimiter = aNumber.toString().substring(aNumber.toString().indexOf(".") + 1);
			if(strBeforeDelimiter) aText += strBeforeDelimiter;
			aText += aDelimiter;
			if(strAfterDelimiter) aText += strAfterDelimiter;
			}
		else{
			aText = aNumber.toString();
			};
		return(aText)
		};
// 
	function TFormatCurrencyOnly(aNumber,objCurrency){
		aNumber = aNumber / parseFloat(objCurrency.numRefCurrRate) * parseFloat(objCurrency.numCurrRate);
		if(aNumber>=0) currValue = objCurrency.currPosValue
		else{
			currValue = objCurrency.currNegValue;
			aNumber = Math.abs(aNumber);
			};
		aNumber = TFormatCurrencyValue(aNumber, objCurrency);
		var strBeforeDelimiter, strAfterDelimiter;
		var aText = TFormatPreCurrency(aNumber, objCurrency.charDecDelimiter);
		if(aText.lastIndexOf(objCurrency.charDecDelimiter)==-1){
			var numDecAdd = "";
			for(var i=0;i<parseInt(objCurrency.numOfAftDec);i++) numDecAdd += "0";
			if(numDecAdd!="") aText = aText + objCurrency.charDecDelimiter + numDecAdd;
			}
		else{
			for(var i=0;i<parseInt(objCurrency.numOfAftDec);i++){
				if(aText.lastIndexOf(objCurrency.charDecDelimiter)==aText.length - ( parseInt(objCurrency.numOfAftDec) - i )){
					var numDecAdd = "";
					for(var j=0;j<(i+1);j++) numDecAdd += "0";
					aText = aText + numDecAdd;
					break;
					};
				};
			};
		if(parseInt(objCurrency.numOfAftDec)!=0){
			var amountBeforeDec = aText.substring(0,aText.indexOf(objCurrency.charDecDelimiter));
			var amountAfterDec = aText.substring(aText.indexOf(objCurrency.charDecDelimiter));
			}
		else{
			var amountBeforeDec = aText; var amountAfterDec = "";
			};
		if(amountBeforeDec=="") amountBeforeDec = "0";
		var tmpValue = "";
		for(i=0;i<amountBeforeDec.length;i++){
			if( ( i % parseInt(objCurrency.numGroupDelimiter) == 0 ) && ( i ) != 0 ) tmpValue = objCurrency.charGroupDelimiter + tmpValue;
			tmpValue = amountBeforeDec.charAt(amountBeforeDec.length - 1 - i) + tmpValue;
			};
		if(tmpValue.charAt(tmpValue.length - 1) == ".") tmpValue = tmpValue.substring(0,tmpValue.length-1);
		if(tmpValue.charAt(0) == objCurrency.charGroupDelimiter) tmpValue = tmpValue.substring(1);
		amountBeforeDec = tmpValue;
		aText = amountBeforeDec + amountAfterDec
		return(aText)
		};
		
// 12031
	function TFormatCurrency(aNumber, objCurrency){
		aNumber = aNumber / parseFloat(objCurrency.numRefCurrRate) * parseFloat(objCurrency.numCurrRate);
		if(aNumber>=0) currValue = objCurrency.currPosValue
		else{
			currValue = objCurrency.currNegValue;
			aNumber = Math.abs(aNumber);
			};
		aNumber = TFormatCurrencyValue(aNumber, objCurrency);
		var strBeforeDelimiter, strAfterDelimiter;
		var aText = TFormatPreCurrency(aNumber, objCurrency.charDecDelimiter);
		if(aText.lastIndexOf(objCurrency.charDecDelimiter)==-1){
			var numDecAdd = "";
			for(var i=0;i<parseInt(objCurrency.numOfAftDec);i++) numDecAdd += "0";
			if(numDecAdd!="") aText = aText + objCurrency.charDecDelimiter + numDecAdd;
			}
		else{
			for(var i=0;i<parseInt(objCurrency.numOfAftDec);i++){
				if(aText.lastIndexOf(objCurrency.charDecDelimiter)==aText.length - ( parseInt(objCurrency.numOfAftDec) - i )){
					var numDecAdd = "";
					for(var j=0;j<(i+1);j++) numDecAdd += "0";
					aText = aText + numDecAdd;
					break;
					};
				};
			};
		if(parseInt(objCurrency.numOfAftDec)!=0){
			var amountBeforeDec = aText.substring(0,aText.indexOf(objCurrency.charDecDelimiter));
			var amountAfterDec = aText.substring(aText.indexOf(objCurrency.charDecDelimiter));
			}
		else{
			var amountBeforeDec = aText; var amountAfterDec = "";
			};
		if(amountBeforeDec=="") amountBeforeDec = "0";
		var tmpValue = "";
		for(i=0;i<amountBeforeDec.length;i++){
			if( ( i % parseInt(objCurrency.numGroupDelimiter) == 0 ) && ( i ) != 0 ) tmpValue = objCurrency.charGroupDelimiter + tmpValue;
			tmpValue = amountBeforeDec.charAt(amountBeforeDec.length - 1 - i) + tmpValue;
			};
		if(tmpValue.charAt(tmpValue.length - 1) == ".") tmpValue = tmpValue.substring(0,tmpValue.length-1);
		if(tmpValue.charAt(0) == objCurrency.charGroupDelimiter) tmpValue = tmpValue.substring(1);
		amountBeforeDec = tmpValue;
		var strBeforeCurrSymbol = currValue.substring(0,currValue.indexOf("&SMcurr;"));
		var strAfterCurrSymbol = currValue.substring(currValue.indexOf("&SMcurr;") + "&SMcurr;".length);
		currValue = "";
		if(strBeforeCurrSymbol) currValue = strBeforeCurrSymbol;
		currValue += objCurrency.charCurrency;
		if(strAfterCurrSymbol) currValue += strAfterCurrSymbol;
		var strBeforeAmount = currValue.substring(0,currValue.indexOf("&SMamount;"));
		var strAfterAmount = currValue.substring(currValue.indexOf("&SMamount;") + "&SMamount;".length);
		aText = "";
		if(strBeforeAmount) aText += strBeforeAmount;
		aText += amountBeforeDec + amountAfterDec;
		if(strAfterAmount) aText += strAfterAmount;
		return aText;
		};
// 12032
	function TFormatNumbers(aNumber, objNumber){
		if(aNumber>=0) currValue = objNumber.currPosValue
		else{
			currValue = objNumber.currNegValue;
			aNumber = Math.abs(aNumber);
			};
		aNumber = TFormatCurrencyValue(aNumber, objNumber);
		var aText = "";
		if(aNumber.toString().indexOf(".")!=-1){
			var strBeforeDelimiter = aNumber.toString().substring(0,aNumber.toString().indexOf("."));
			var strAfterDelimiter = aNumber.toString().substring(aNumber.toString().indexOf(".") + 1);
			if(strBeforeDelimiter) aText += strBeforeDelimiter;
			aText += objNumber.charDecDelimiter;
			if(strAfterDelimiter) aText += strAfterDelimiter;
			}
		else{
			aText = aNumber.toString();
			};
		if(aText.lastIndexOf(objNumber.charDecDelimiter)==-1){
			var numDecAdd = "";
			for(var i=0;i<objNumber.numOfAftDec;i++) numDecAdd += "0";
			if(numDecAdd!="") aText = aText + objNumber.charDecDelimiter + numDecAdd;
			}
		else{
			for(var i=0;i<objNumber.numOfAftDec;i++){
				if(aText.lastIndexOf(objNumber.charDecDelimiter)==aText.length - ( objNumber.numOfAftDec - i )){
					var numDecAdd = "";
					for(var j=0;j<(i+1);j++) numDecAdd += "0";
					aText = aText + numDecAdd;
					break;
					};
				};
			};
		var amountBeforeDec = aText.substring(0,aText.indexOf(objNumber.charDecDelimiter));
		var amountAfterDec = aText.substring(aText.indexOf(objNumber.charDecDelimiter));
		var tmpValue = "";
		for(i=0;i<amountBeforeDec.length;i++){
			if( ( i % objNumber.numGroupDelimiter == 0 ) && ( i ) != 0 ) {
				tmpValue = objNumber.charGroupDelimiter + tmpValue;
				};
			tmpValue = amountBeforeDec.charAt(amountBeforeDec.length - 1 - i) + tmpValue;
			};
		if(tmpValue.charAt(tmpValue.length - 1) == ".") tmpValue = tmpValue.substring(0,tmpValue.length-1);
		if(tmpValue.charAt(0) == objNumber.charGroupDelimiter) tmpValue = tmpValue.substring(1);
		amountBeforeDec = tmpValue;
		var strBeforeCurrSymbol = currValue.substring(0,currValue.indexOf("&SMsymb;"));
		var strAfterCurrSymbol = currValue.substring(currValue.indexOf("&SMsymb;") + "&SMsymb;".length);
		currValue = "";
		if(strBeforeCurrSymbol) currValue = strBeforeCurrSymbol;
		currValue += objNumber.charSymbol;
		if(strAfterCurrSymbol) currValue += strAfterCurrSymbol;
		var strBeforeAmount = currValue.substring(0,currValue.indexOf("&SMamount;"));
		var strAfterAmount = currValue.substring(currValue.indexOf("&SMamount;") + "&SMamount;".length);
		aText = "";
		if(strBeforeAmount) aText += strBeforeAmount;
		aText += amountBeforeDec + amountAfterDec;
		if(strAfterAmount) aText += strAfterAmount;
		return aText;
		};

   var boolPriceTaxIncl    = true;
   var boolDisplTaxIncl    = true;
	var useSSLforOrder = false;

// Taxarea
	var taxarea = new Array();	
	
		taxarea[0] = new Array("Ihr Land",0,16,7,9.8,0);
	
	
	var charSecCurrDelimiter = "<br>&nbsp;";
	var boolDisplSecCurr = false;

	var minOrderValue = 0;
		
	function requestSSL(strAddress){
		safeData();
		var myPath = location.pathname.substring(0,location.pathname.lastIndexOf("/"));
		if(location.protocol!="file:"){
			if(useSSLforOrder) location.href = "https://" + location.hostname + myPath + "/" + strAddress
			else location.href=strAddress;
			}
		else location.href=strAddress;
		};

	function valNumber(aValue,minValue,aMessage){
		var rValue = ""; var setMsg = false;
		for(var i=0;i<aValue.length;i++){
			if(isNaN(aValue.charAt(i))){
				if(rValue==""){ rValue=minValue; setMsg = true; };
				if(parseInt(rValue)<parseInt(minValue)){ rValue=minValue; setMsg = true; };
				if(setMsg&&aMessage!=""&&aMessage!=null) alert(aMessage);
				return rValue;
				}
			else rValue += aValue.charAt(i);
			};
		if(rValue==""){ rValue=minValue; setMsg = true; }
		else if(parseInt(rValue)<parseInt(minValue)){ rValue=minValue; setMsg = true; };
		if(setMsg&&aMessage!=""&&aMessage!=null) alert(aMessage);
		return rValue;
		};
		
	var XML = new clsObject("XML")
	loadData();
	if(XML.getFirstItem("Order")==null) setup()
	else{
		if(XML.getFirstItem("Config").ident!=ident) setup();
		};
		
	objLeadCurrency = XML.getFirstItem("Order").getFirstItem("OrderHeader").getFirstItem("LCurrOptions")
	objPriCurrency = XML.getFirstItem("Order").getFirstItem("OrderHeader").getFirstItem("PCurrOptions")
	objSecCurrency = XML.getFirstItem("Order").getFirstItem("OrderHeader").getFirstItem("SCurrOptions")
	objWeight = XML.getFirstItem("Order").getFirstItem("OrderHeader").getFirstItem("WeightOptions")

