cSMVariants.prototype.updatePDD=function(iVal,sItem){
	var $g=this,$1c=$g.base,$1k=$g.xml,$38=null,$39=null,$3a=null,$1V=$g.parent,$2P=0,$3b=false,$3c=null;
	if($1c.raiseEvent(4,true,true,$g)){
		$39=$g.getActVariant();
		if($39!=null){
			$38=$39.xml;
			$38.setAttribute(sItem,iVal);
		};
	}else $1c.raiseEvent(6,false,null,$g)
};

cSMVariants.prototype.updatePDBP=function(iVal){
	var $g=this,$1c=$g.base,$1k=$g.xml,$38=null,$39=null,$3a=null,$1V=$g.parent,$2P=0,$3b=false,$3c=null;
	if($1c.raiseEvent(4,true,true,$g)){
		$39=$g.getActVariant();
		if($39!=null){
			$g.bpBase=iVal;
		};
	}else $1c.raiseEvent(6,false,null,$g)
};

function bInGross(){
	var bTest = (SMShop.getAttribute(_SMAInGross)=="1")?true:false;
	return(bTest);
};

function bOutGross(){
	var bTest = (SMShop.getAttribute(_SMAOutGross)=="1")?true:false;
	return(bTest);
};

function getVATPDD(){
	var aRegion = SMShop.getActiveRegion();
	var iRegSet = parseInt(SMProductPDD.getAttribute(_SMARegion), 10);
	var iActTax = parseFloat(aRegion[iRegSet + 2]) / 100;
	return(iActTax);
};

function formatArea(zahl, k, fix){
	if(!k) k = 0;
	var neu = '';
	var f = Math.pow(10, k);
	zahl = '' + parseInt( zahl * f + (.5 * (zahl > 0 ? 1 : -1)) ) / f ;
	var idx = zahl.indexOf('.');
	if(fix){
		zahl += (idx == -1 ? '.' : '' )
		+ f.toString().substring(1);
	};
	idx = zahl.indexOf('.');
	if( idx == -1) idx = zahl.length;
	else neu = ',' + zahl.substr(idx + 1, k);
	while(idx > 0){
		if(idx - 3 > 0) neu = '.' + zahl.substring( idx - 3, idx) + neu;
		else neu = zahl.substring(0, idx) + neu;
		idx -= 3;
  };
	return neu;
};

function MakeAreaPrice_init(){
	var $g=SMProductPDD;
	var oIndivProdDisc = $g.getAttribute("IndivProdDisc");
	if(oIndivProdDisc != "false"){
		$g.discounts.removePDBP('','','','','');
		$g.discounts.update();
		$g.update();
	};
	var iOrgPrice = $g.getPrice();
	var iBasePrice = $g.getPrice();
	if(bInGross() != bOutGross()){
		var iTax = getVATPDD();
		if(!bInGross()){
			iOrgPrice = iOrgPrice / (1 + iTax);
			iBasePrice = iBasePrice / (1 + iTax);
		} else {
			iOrgPrice = iOrgPrice * (1 + iTax);
			iBasePrice = iBasePrice * (1 + iTax);
		};
	};
	iBasePrice = iBasePrice / $g.bpAmount * $g.bpBase;
	$g.setAttribute("OrgPrice",iOrgPrice);
	$g.setAttribute("VeryOrgPrice",iOrgPrice);
	$g.setAttribute("OrgWeight",parseFloat($g.getAttribute(_SMAWeight)));
	$g.setAttribute("VeryOrgWeight",parseFloat($g.getAttribute(_SMAWeight)));
	$g.setAttribute("OrgBasePrice",iBasePrice);
	$g.update();
	var frm1 = document["IATTR" + SMProductPDD.getAttribute(_SMAUniqueID)];  if(frm1!=null){
 		for(var i=0; i<frm1.elements.length; i++){
		  var elem1 = frm1.elements[i];
  	 	if(elem1.type=="text" || elem1.type=="select-one"){
  	 		eval('elem1.onkeyup = function(){EvalMinMax(true,false);MakeAreaPrice("' + $g.getAttribute("InputType") + '");};');
  	 		eval('elem1.onblur = function(){EvalMinMax(false,true);MakeAreaPrice("' + $g.getAttribute("InputType") + '");};');
  	 		eval('elem1.onchange = function(){EvalMinMax(true,false);MakeAreaPrice("' + $g.getAttribute("InputType") + '");};');
  		};
  	};
 	};
 	EvalMinMax(false,true);
	MakeAreaPrice($g.getAttribute("InputType"));
};

function MakeAreaPrice_reset(){
	var $g=SMProductPDD;
	var iOrgPrice = $g.getAttribute("VeryOrgPrice");
	var iOrgWeight = $g.getAttribute("VeryOrgWeight");
	$g.setAttribute(_SMAPrice,iOrgPrice);
	$g.setAttribute(_SMAWeight,iOrgWeight);
	$g.setAttribute("StopAmountDisc",0);
	$g.variants.updatePDD(iOrgPrice,_SMAPrice);
	$g.variants.updatePDD(iOrgWeight,_SMAWeight);
	$g.update();
	RestoreDiscountsPDBP();
};

function MakeAreaPrice_reinit(){
	var $g=SMProductPDD;
	displayProductProperties($g);
	var oIndivProdDisc = $g.getAttribute("IndivProdDisc");
	if(oIndivProdDisc != "false"){
		$g.discounts.removePDBP('','','','','');
		$g.discounts.update();
		$g.update();
	};
	var iOrgPrice = $g.getPrice();
	var iBasePrice = $g.getPrice();
	if(bInGross() != bOutGross()){
		var iTax = getVATPDD();
		if(!bInGross()){
			iOrgPrice = iOrgPrice / (1 + iTax);
			iBasePrice = iBasePrice / (1 + iTax);
		} else {
			iOrgPrice = iOrgPrice * (1 + iTax);
			iBasePrice = iBasePrice * (1 + iTax);
		};
	};
	iBasePrice = iBasePrice / $g.bpAmount * $g.bpBase;
	$g.setAttribute("OrgPrice",iOrgPrice);
	$g.setAttribute("VeryOrgPrice",iOrgPrice);
	$g.setAttribute("OrgWeight",parseFloat($g.getAttribute(_SMAWeight)));
	$g.setAttribute("VeryOrgWeight",parseFloat($g.getAttribute(_SMAWeight)));
	$g.setAttribute("OrgBasePrice",iBasePrice);
	$g.update();
	MakeAreaPrice($g.getAttribute("InputType"));
};

function ConvertUnits(sElemID){
	var $g=SMProductPDD;
	var sProdUnit = $g.bpMUnit;
	var sLabelID1 = "LBL_IATTR" + $g.getAttribute(_SMAUniqueID) + "_";
	var sElemUnit = document.getElementById(sLabelID1 + sElemID.id).innerHTML;
	var aProdUnits = new Array("mm","qmm","mm²","cbmm","mm³","cm","qcm","cm²","cbcm","cm³","dm","qdm","dm²","cbdm","dm³","m","qm","m²","cbm","m³","ml","l","ltr","g","kg");
	var aProdFacts = new Array(0.001,0.001,0.001,0.001,0.001,0.01,0.01,0.01,0.01,0.01,0.1,0.1,0.1,0.1,0.1,1,1,1,1,1,0.001,1,1,0.001,1);
	var aElemUnits = new Array("mm","cm","dm","m","g","kg","ml","l","ltr");
	var aElemFacts = new Array(0.001,0.01,0.1,1,0.001,1,0.001,1,1);
	var iFactorP = 1;
	var iFactorE = 1;
	var aElemLbl = sElemUnit.split("(min-max:");
	var aElemUnit = aElemLbl[0].split(" in ");
	var iElemVal = (isNaN(parseFloat(sElemID.value.replace(",", ".")))) ? 1 : parseFloat(sElemID.value.replace(",", "."));
	var sElemVal = "";
	if(sElemID.type=="select-one" && isNaN(sElemID.value)){
	 	var frm1 = document["IATTR" + $g.getAttribute(_SMAUniqueID)];
	 	var iSelIdx = frm1[sElemID.name].selectedIndex;
	 	sElemVal = frm1[sElemID.name].options[iSelIdx].text;
	 	iElemVal = (isNaN(parseFloat(sElemVal.replace(",", ".")))) ? 1 : parseFloat(sElemVal.replace(",", "."));
	};
	if(aElemUnit.length == 1)	return(iElemVal); // keine Einheit angegeben
	for(var i=0; i<aElemUnits.length; i++){
		aElemUnit[1] = Trim(RemoveTags(aElemUnit[1],""));
		//if(aElemUnit[1].substr(0,aElemUnits[i].length).toLowerCase() == aElemUnits[i]){
		if(aElemUnit[1].toLowerCase() == aElemUnits[i]){
			sElemUnit = aElemUnits[i];
			iFactorE = aElemFacts[i];
			break;
		};
	};
	for(var i=0; i<aProdUnits.length; i++){
		if(sProdUnit.toLowerCase() == aProdUnits[i]){
			sProdUnit = aProdUnits[i];
			iFactorP = aProdFacts[i];
			break;
		};
	};
	iElemVal = iElemVal * ((1 / iFactorP) * iFactorE);
	return(iElemVal);
};

function MakeAreaPrice(sInputType){
	var sAreaElem = new Array();
	var frm1 = document["IATTR" + SMProductPDD.getAttribute(_SMAUniqueID)];  
	if(frm1!=null){
 		for(var i=0; i<frm1.elements.length; i++){
		  var elem1 = frm1.elements[i];
  	 	if(elem1.value.length>=1){
	  	  if(sInputType == "GZ"){
		  	  var Dum2 = String(elem1.value);
		  	  Dum2 = Dum2.replace(/,/g,'.');
	  		  if(Dum2.indexOf(".")>=0 && elem1.type=="text"){
	  		  	var Dum1 = Dum2.split(".");
	  	  		Dum2 = Dum1[0];
	  	  		frm1.elements[i].value = Dum2;
		  	  	elem1 = frm1.elements[i];
		  	  	alert("Dezimalzahlen sind leider nicht möglich.\nAls Eingabe sind nur Ganzzahlen zulässig.");
	  		  	elem1.focus();
	  		  };
	  		};
	  	  sAreaElem[i] = String(ConvertUnits(elem1));
   		} else {
   			return(false);
    		/* alert("Bitte geben Sie einen Wert ein.");
    		elem1.focus(); */
    	};
  	};
 	}else{
 		return(false);
 	};
	var iArea = 1;
	var iAreaElem = new Array();
	var iCntComma = 0;
	for(var i=0; i<frm1.elements.length; i++){
		sAreaElem[i] = sAreaElem[i].replace(",", ".");
		iAreaElem[i] = parseFloat(sAreaElem[i]);
		if(sAreaElem[i].lastIndexOf(".") >= 0) iCntComma = iCntComma + (sAreaElem[i].length - sAreaElem[i].lastIndexOf(".") - 1);
		iArea = iArea * iAreaElem[i];
	};
	var $g=SMProductPDD;
	var iOldPrice = $g.getAttribute("OrgPrice");

	var iBasePrice = $g.getAttribute("OrgBasePrice");
	var oIndivProdDisc = $g.getAttribute("IndivProdDisc");
	if(oIndivProdDisc != "false"){
		var aIndivProdDisc = oIndivProdDisc.split("_;_");
		var aProdDisc = new Array();
		for(var i=(aIndivProdDisc.length - 1); i>=0; i--){
			aProdDisc[i] = aIndivProdDisc[i].split("_|_");
			var bBreak = true;
			if(iArea >= aProdDisc[i][0]){
				switch (String(aProdDisc[i][1])){
					case "0":
						iOldPrice = aProdDisc[i][2];
						iBasePrice = aProdDisc[i][2];
						break;
					case "1":
						iOldPrice = iOldPrice * (1 - (aProdDisc[i][2] / 100));
						iBasePrice = iBasePrice * (1 - (aProdDisc[i][2] / 100));
						if(bInGross() != bOutGross()){
							var iTax = getVATPDD();
								if(!bInGross()){
									iOldPrice = iOldPrice * (1 + iTax);
									iOldPrice = parseFloat(cprimary.format(iOldPrice).replace(",","."));
									iOldPrice = iOldPrice / (1 + iTax);
									iBasePrice = iBasePrice * (1 + iTax);
									iBasePrice = parseFloat(cprimary.format(iBasePrice).replace(",","."));
									iBasePrice = iBasePrice / (1 + iTax);
								} else {
									iOrgPrice = iOrgPrice / (1 + iTax);
									iOldPrice = parseFloat(cprimary.format(iOldPrice).replace(",","."));
									iOldPrice = iOldPrice * (1 + iTax);
									iBasePrice = iBasePrice / (1 + iTax);
									iBasePrice = parseFloat(cprimary.format(iBasePrice).replace(",","."));
									iBasePrice = iBasePrice * (1 + iTax);
								};
							};
						break;
					case "2":
						//not supported
						bBreak = false;
						break;
					case "3":
						iOldPrice = iOldPrice - aProdDisc[i][2];
						if(iOldPrice < 0) iOldPrice = 0;
						iBasePrice = iBasePrice - aProdDisc[i][2];
						if(iBasePrice < 0) iBasePrice = 0;
						if(bInGross() != bOutGross()){
							var iTax = getVATPDD();
								if(!bInGross()){
									iOldPrice = iOldPrice * (1 + iTax);
									iOldPrice = parseFloat(cprimary.format(iOldPrice).replace(",","."));
									iOldPrice = iOldPrice / (1 + iTax);
									iBasePrice = iBasePrice * (1 + iTax);
									iBasePrice = parseFloat(cprimary.format(iBasePrice).replace(",","."));
									iBasePrice = iBasePrice / (1 + iTax);
								} else {
									iOrgPrice = iOrgPrice / (1 + iTax);
									iOldPrice = parseFloat(cprimary.format(iOldPrice).replace(",","."));
									iOldPrice = iOldPrice * (1 + iTax);
									iBasePrice = iBasePrice / (1 + iTax);
									iBasePrice = parseFloat(cprimary.format(iBasePrice).replace(",","."));
									iBasePrice = iBasePrice * (1 + iTax);
								};
							};
						break;
				};
				if(bBreak) break;
			};
		};
	};
	var iNewPrice = iArea * iOldPrice;
	var iOldWeight = $g.getAttribute("OrgWeight");
	var iNewWeight = iArea * iOldWeight;
	$g.setAttribute(_SMAPrice,iNewPrice);
	$g.setAttribute(_SMAWeight,iNewWeight);
	$g.variants.updatePDD(iNewPrice,_SMAPrice);
	$g.variants.updatePDD(iNewWeight,_SMAWeight);
	$g.update();
	var iOrgPrice = iNewPrice;
	if(bInGross() != bOutGross()){
		var iTax = getVATPDD();
		if(!bInGross()){
			iOrgPrice = iOrgPrice * (1 + iTax);
			iBasePrice = iBasePrice * (1 + iTax);
		} else {
			iOrgPrice = iOrgPrice / (1 + iTax);
			iBasePrice = iBasePrice / (1 + iTax);
		};
	};
	var OrgProdPrice = cprimary.format(iOrgPrice, SM_CGROUP + SM_CSYMBOL);
	OrgProdPrice = OrgProdPrice.replace("&nbsp;", " ");
	var sNewWeight = String(iNewWeight);
	sNewWeight = formatArea(sNewWeight,iCntComma + fctCountComma(iOldWeight));
	var sOldWeight = String(iOldWeight);
	sOldWeight = formatArea(sOldWeight,iCntComma);
	var $fSetData = function(){
		var $elem = null; 
		try{ 
			$elem = document.getElementById(arguments[0]); 
			if($elem!=null) $elem.innerHTML = arguments[1]; 
		}catch(e){ };
	};
	$fSetData("product_price", OrgProdPrice);
	$fSetData("product_weight", sNewWeight);
	$fSetData("product_baseweight", formatArea(String(iOldWeight),fctCountComma(iOldWeight)));
	$fSetData("product_base_price", formatProductBasePricePDBP($g,iBasePrice));
	var sArea = String(iArea);
	sArea = formatArea(sArea,iCntComma);
	displayAreaCalc(sArea);
};

function fctCountComma(iVal){
	var sVal = String(iVal);
	var iCntComma = 0;
	if(sVal.lastIndexOf(".") >= 0) iCntComma = iCntComma + (sVal.length - sVal.lastIndexOf(".") - 1);
	return(iCntComma);
};

function RemoveTags(sWert,sReplTag){
	var aWert = sWert.split("<");
	var aWert2 = sWert.split(">");
	if(aWert.length<2 || aWert2.length<2){return(sWert);};
	for(var i=0; i<(aWert.length); i++){
		var iPos = aWert[i].indexOf(">");
		if(iPos >= 0){
			aWert[i] = sReplTag + aWert[i].substring(iPos+1);
		};
	};
	sWert = '';
	for(var i=0; i<(aWert.length); i++){
		sWert += aWert[i];
	};
	return(sWert);
};

function EvalNumber(fWert){
	if(isNaN(fWert)){
		return(false);
	}else{
		return(true);
	};
};

function KillStrings(sWert){
	var iCC = 0;
	for(var i=0; i<sWert.length; i++){
		iCC = sWert.charCodeAt(i);
		if(iCC<48 || iCC>57){
			if(iCC!=44 && iCC!=46){
				sWert = sWert.substring(0,i) + " " + sWert.substring(i+1);
			};
		};
	};
	sWert = sWert.replace(/ /g,"");
	return(sWert);
};

function Trim(s) {
	while(s.substring(0,1) == ' '){
		s = s.substring(1,s.length);
	};
	while(s.substring(s.length-1,s.length) == ' '){
		s = s.substring(0,s.length-1);
	};
	return(s);
};

function EvalMinMax(bShowAlert,bFinal){
	var aIATTR = new Array();
	var iLfdNrIATTR = 1;
	var EvalForm = document["IATTR" + SMProductPDD.getAttribute(_SMAUniqueID)];
	var sLabelID1 = "LBL_IATTR" + SMProductPDD.getAttribute(_SMAUniqueID) + "_";
	if(EvalForm!=null){
 		var fAlertS = function(bShowAlert,oObj,sLabel,iVal){
 			if(bShowAlert)alert('Ihre Eingabe für "' + sLabel + '" ist zu klein.');
  		oObj.value = String(iVal).replace(".",",");
  		oObj.focus();
  		return(false);
 		};
 		var fAlertL = function(bShowAlert,oObj,sLabel,iVal){
 			if(bShowAlert)alert('Ihre Eingabe für "' + sLabel + '" ist zu groß.');
  		oObj.value = String(iVal).replace(".",",");
  		oObj.focus();
  		return(false);
 		};
 		for(var i=0; i<EvalForm.elements.length; i++){
		  var EvalElem = EvalForm.elements[i];
  	 	if(EvalElem.type=="text"){
  	 		EvalElem.value = KillStrings(EvalElem.value);
  	 		aIATTR[iLfdNrIATTR] = new Array();
  	 		aIATTR[iLfdNrIATTR][0] = parseFloat(EvalElem.value.replace(/,/g,"."));
  	 		if(!EvalNumber(aIATTR[iLfdNrIATTR][0]) && !EvalElem.value.length==0){
  	 			if(bShowAlert)alert("Bitte geben Sie nur Zahlen ein!");
  	 			return(false);
  	 		};
  	 		aIATTR[iLfdNrIATTR][1] = EvalElem.id;
  	 		aIATTR[iLfdNrIATTR][2] = document.getElementById(sLabelID1 + EvalElem.id).innerHTML;
  	 		var aEvalCont = aIATTR[iLfdNrIATTR][2].split("(min-max:");
  	 		if(aEvalCont.length > 1){
  	 			for(var j=0; j<aEvalCont.length; j++){
  	 			  if(j>0){
  	 			  	aEvalCont[j] = aEvalCont[j].replace("(","");
  	 			  	aEvalCont[j] = aEvalCont[j].replace(")","");
	  	 			  aEvalCont[j] = aEvalCont[j].replace(":","");
  		 			  aEvalCont[j] = aEvalCont[j].replace(/ /g,"");
  		 			  aEvalCont[j] = aEvalCont[j].replace(/,/g,".");
  		 			};
  	 			};
  	 			var aMinMax = aEvalCont[1].split("-");
  	 			aIATTR[iLfdNrIATTR][3] = Trim(RemoveTags(aEvalCont[0]," "));
  	 			aIATTR[iLfdNrIATTR][4] = parseFloat(aMinMax[0]);
  	 			aIATTR[iLfdNrIATTR][5] = parseFloat(aMinMax[1]);
  	 			if(aIATTR[iLfdNrIATTR][0]<aIATTR[iLfdNrIATTR][4]){ //Eingabe zu klein
  	 				if(bFinal){ //Dirketer Abbruch bei Fokusverlust
  	 					fAlertS(bShowAlert,EvalElem,aIATTR[iLfdNrIATTR][3],aIATTR[iLfdNrIATTR][4]);
  	 					return(false);
  	 				};
  	 				var aEnt = String(EvalElem.value.replace(/,/g,".")).split(".");
  	 				var aMin = String(aIATTR[iLfdNrIATTR][4]).split(".");
  	 				var aMax = String(aIATTR[iLfdNrIATTR][5]).split(".");
  	 				if((parseFloat(aEnt[0]) < parseFloat(aMin[0])) && (aEnt[0].length >= aMin[0].length) && (aEnt[0].length >= aMax[0].length)){
  	 					fAlertS(bShowAlert,EvalElem,aIATTR[iLfdNrIATTR][3],aIATTR[iLfdNrIATTR][4]);
  	 					return(false);
  	 				};
  	 				if(aEnt.length>1){
  	 					if(aMin.length==1) aMin[1] = "0";
  	 					if((parseFloat(aEnt[0]) < parseFloat(aMin[0]))){
  	 						fAlertS(bShowAlert,EvalElem,aIATTR[iLfdNrIATTR][3],aIATTR[iLfdNrIATTR][4]);
  	 						return(false);
  	 					} else if((parseFloat(aEnt[1]) < parseFloat(aMin[1])) && (aEnt[1].length >= aMin[1].length)){
  	 						fAlertS(bShowAlert,EvalElem,aIATTR[iLfdNrIATTR][3],aIATTR[iLfdNrIATTR][4]);
  	 						return(false);
  	 					};
  	 				};
  	 			};
  	 			if(aIATTR[iLfdNrIATTR][0]>aIATTR[iLfdNrIATTR][5]){ //Eingabe zu groß
  	 				fAlertL(bShowAlert,EvalElem,aIATTR[iLfdNrIATTR][3],aIATTR[iLfdNrIATTR][5]);
  	 			};
  	 		};
  	 		iLfdNrIATTR++;
  	 	};
  	};
  	return(true);
 	}else{
 		return(true);
 	};
};

cSMDiscounts.prototype.removePDBP=function($2C,$2D,$x,$2E,$36){
	var $g=this,$1c=$g.base,$1k=$g.xml,$1V=$g.parent,$2G=$2H=$2y=$2I=$2J=$37="";
	if($1c.raiseEvent(7,true,true,$g,$2C,$2D,$x,$2E)&&!$1V.$4P){
		$2G=$2C;
		$2H=$2D;
		$37=$36;
		$2y=$x;
		$2I='';
		$2J=$2E;
		$1k.setAttribute(_SMAAmount,$2G);
		$1k.setAttribute(_SMAMode,$2H);
		$1k.setAttribute(_SMAHidden,$37);
		$1k.setAttribute(_SMAValue,$2y);
		$1k.setAttribute(_SMATextBuffer,$2I);
		$1k.text=$2J;
		$1c.raiseEvent(8,false,null,$g,$2C,$2D,$x,$2E);
	}else $1c.raiseEvent(10,false,null,$g,$2C,$2D,$x,$2E);
};

cSMDiscounts.prototype.addPDBP=function($2C,$2D,$x,$2E,$36){
	var $g=this,$1c=$g.base,$1k=$g.xml,$1V=$g.parent,$2G=$2H=$2y=$2I=$2J=$37="";
	if($1c.raiseEvent(7,true,true,$g,$2C,$2D,$x,$2E)&&!$1V.$4P){
		$2G=$1k.getAttribute(_SMAAmount);
		$2H=$1k.getAttribute(_SMAMode);
		$37=$1k.getAttribute(_SMAHidden);
		$2y=$1k.getAttribute(_SMAValue);
		$2I=$1k.getAttribute(_SMATextBuffer);
		$2J=$1k.text;
		$2G+=(($2G.length>0)?";":"")+fnSMPIt($2C);
		$2H+=(($2H.length>0)?";":"")+$2D;
		$2y+=(($2y.length>0)?";":"")+fnSMRndCur($x);
		//$37+=(($37.length>0)?";":"")+($36?"1":"0");
		$37+=(($37.length>0)?";":"")+$36;
		$2I+=(($2I.length>0)?";":"")+$2E.length;
		$2J+=$2E;
		$1k.setAttribute(_SMAAmount,$2G);
		$1k.setAttribute(_SMAMode,$2H);
		$1k.setAttribute(_SMAHidden,$37);
		$1k.setAttribute(_SMAValue,$2y);
		$1k.setAttribute(_SMATextBuffer,$2I);
		$1k.text=$2J;
		$1c.raiseEvent(8,false,null,$g,$2C,$2D,$x,$2E);
	}else $1c.raiseEvent(10,false,null,$g,$2C,$2D,$x,$2E);
};

cSMDiscounts.prototype.PDBPrenderHTML = function(){
	var $t = this, $x = $t.xml, $go = false, $h = $n = "", $vl = $md = $o = $op = 0, $a = $v = $vd = $id = $tB = $hd = null;
	var Product = $t.parent;
	var sUnit = Product.bpMUnit;
	var oIndivProdDisc = Product.getAttribute("IndivProdDiscBP");
	var aIndivProdDisc = oIndivProdDisc.split("_;_");
	var aProdDisc = new Array();
	$op = $t.parent.getOriginalPrice();
	$md = $x.getAttribute(_SMAMode).split(";");
	$vl = $x.getAttribute(_SMAValue).split(";");
	$a = $x.getAttribute(_SMAAmount).split(";");
	$vd = $x.getAttribute(_SMAValueDiscount).split(";");
	$id = $x.getAttribute(_SMAItemDiscount).split(";");
	$tB = $x.getAttribute(_SMATextBuffer).split(";");
	$hd = $x.getAttribute(_SMAHidden).split(";");
	$qu = $x.parentNode.getAttribute(_SMAOQtyUnit);
	$qt = $x.getAttribute(_SMAMode).split(";");
	$h += "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"discounts-list\">";
	$h += "<thead><tr><td colspan=\"4\" class=\"discounts-headline\">Rabatte</td></tr>";
	$h += "<tr>";
	$h += "<th class=\"discounts-name\">&nbsp;</th>";
	$h += "<th class=\"discounts-from-amount\">Ab " + sUnit + "</th>";
	$h += "<th class=\"discounts-value\">Preis:/" + sUnit + "</th>";
	$h += "<th class=\"discounts-saving\">Ersparnis/" + sUnit + "</th>";
	$h += "</tr></thead><tbody>";
	for(var i=0; i<$a.length; i++){
		if($hd[i]!="1" && cint($qt[i]) != 2){
			$go = true;
			$n = $x.text.substring($o, $o + parseInt($tB[i]));
			$o += parseInt($tB[i]);
			$h += "<tr valign=\"top\">";
			$h += "<td class=\"discounts-name\">" + $n + "&nbsp;</td>";
			$h += "<td class=\"discounts-from-amount\">" + $a[i] + "</td>";
			if(cint($qt[i]) != 2){
				$h += "<td class=\"discounts-value\">" + cprimary.format(fnSMPFt($vd[i]), SM_CGROUP + SM_CSYMBOL) + "</td>";
			} else {
				$h += "<td class=\"discounts-value\">+" + $id[i] + " " + $qu + " kostenlos</td>";
			};
			$h += "<td class=\"discounts-value\">";
			if(cint($qt[i]) != 2){
				$h += (($md[i]==1) ? $vl[i] + "% = " : "") + cprimary.format($op - fnSMPFt($vd[i]), SM_CGROUP + SM_CSYMBOL);
			} else {
				$h += cprimary.format($id[i] * $op, SM_CGROUP + SM_CSYMBOL);
			};
			$h += "</td>";
			$h += "</tr>";
			};
		};
	$h += "</tbody></table>";
	if(!$go) $h = "";
	return($h);
};

function displayProductProperties(Product){
	var $image = null, $elem = null, $basePriceTemplate = "", $fSetData = function(){ var $elem = null; try{ $elem = document.getElementById(arguments[0]); if($elem!=null) $elem.innerHTML = arguments[1]; } catch(e){ }; };
	try {$image = new Image(); $image.src = Product.image;}	catch(e) {$image = null;};
	with(document){
		if($image!=null&&Product.image!=""){if(getElementById("product_picture")){getElementById("product_picture").src = $image.src;};};
		$fSetData("product_name", Product.name);
		$fSetData("product_desc", Product.desc);
		$fSetData("product_id", Product.getAttribute(_SMACode));
		//$fSetData("product_weight", nprimary.format(Product.getAttribute(_SMAWeight), SM_CGROUP));
		//$fSetData("product_original_price", cprimary.format(Product.getOriginalPrice(), SM_CGROUP + SM_CSYMBOL));
		$fSetData("product_price", cprimary.format(Product.getPrice(), SM_CGROUP + SM_CSYMBOL));
		$fSetData("product_price_seccur", csecondary.format(Product.getPrice(), SM_CGROUP + SM_CSYMBOL));
		if(Product.getAttribute("StopAmountDisc")!=1){
			$fSetData("product_discounts", Product.discounts.PDBPrenderHTML());
			Product.setAttribute("StopAmountDisc",1);
			Product.update();
		};
		//$fSetData("product_base_price", formatProductBasePrice(Product));
		if(Product.deliveryTimeFKID!=0){$fSetData("product_delivery_caption", unescape(SMShop.deliveryTimes[Product.deliveryTimeFKID][1]));};
		$elem = getElementById("product_delivery_img");
		if($elem&&Product.deliveryTimeFKID!=0){try {$image = new Image();$image.src = $elem.src.replace(/(.+\/[^\d\/]+)\d+(\.[a-z]+)/gi, "$1" + Product.deliveryTimeFKID + "$2");}	catch(e) {$image = null};if($image!=null) $elem.src = $image.src;};
	};
};

function formatProductBasePricePDBP(Product,iVal){
	var $basePriceTemplate = "";
	$basePriceTemplate = "Grundpreis: %bp pro %mb %mu";
	if($basePriceTemplate!=""){
		$basePriceTemplate = $basePriceTemplate.replace(/%ma/g, Product.bpAmount);
		$basePriceTemplate = $basePriceTemplate.replace(/%mu/g, Product.bpMUnit);
		$basePriceTemplate = $basePriceTemplate.replace(/%qu/g, Product.quantityUnit);
		//$basePriceTemplate = $basePriceTemplate.replace(/%bp/g, "<strong class=\"t-em\">" + cprimary.format(Product.getPrice() / Product.bpAmount * Product.bpBase, SM_CGROUP + SM_CSYMBOL) + "</strong>");
		$basePriceTemplate = $basePriceTemplate.replace(/%bp/g, "<strong class=\"t-em\">" + cprimary.format(iVal, SM_CGROUP + SM_CSYMBOL) + "</strong>");
		$basePriceTemplate = $basePriceTemplate.replace(/%mb/g, Product.bpBase);
	}else $basePriceTemplate = "";
	return($basePriceTemplate);
};

function displayAreaCalc(iArea){
	var sCalcArea = 'Berechnete Menge: ';
	var sArea = String(iArea);//.replace(".",",");
	var sUnit = SMProductPDD.bpMUnit;
	sCalcArea += '<strong class="t-em">';
	sCalcArea += sArea + ' ';
	sCalcArea += '</strong>';
	sCalcArea += sUnit;
	var $fSetData = function(){
		var $elem = null; 
		try{ 
			$elem = document.getElementById(arguments[0]); 
			if($elem!=null) $elem.innerHTML = arguments[1]; 
		}catch(e){ };
	};
	$fSetData("product_areacalc", sCalcArea);
};

function RestoreDiscountsPDBP(){
	var $g=SMProductPDD;
	var oIndivProdDisc = $g.getAttribute("IndivProdDisc");
	if(oIndivProdDisc != "false"){
		var aIndivProdDisc = oIndivProdDisc.split("_;_");
		var aProdDisc = new Array();
		for(var i = 0; i < aIndivProdDisc.length; i++){
			aProdDisc[i] = aIndivProdDisc[i].split("_|_");
			$g.discounts.addPDBP(aProdDisc[i][0],aProdDisc[i][1],aProdDisc[i][2],aProdDisc[i][3],aProdDisc[i][4]);
		};
		$g.discounts.update();
		$g.update();
	};
};

function oPDDCalc_windowOnLoad(args){
	window.setTimeout("PDDCalcAfterLoad()", 50);
};

function PDDCalcAfterLoad(){
	var $g=SMProductPDD;
	EvalMinMax(false,true);
	MakeAreaPrice($g.getAttribute("InputType"));
};
