/*
#########################################################################
# Scripts for Selfmadeshop 5.0
# shoplib.js v1.3 / 09.08.2005
#
# (c) 2001-2005 CATMEDIA e-busines solutions http://www.catmedia.de/
#
# Lizenzbedingungen
#
# ACHTUNG! Diese Scripte sind kein Open Source, keine Freeware, keine
#          Public Domain. Sie unterliegen zu 100% dem Urheberrecht 
#          und unseren Lizenbedingungen.
#
# Diese Scripte duerfen nur zusammen mit einer legalen Version
# von Selfmadeshop verwendet werden. Jede andere Form der 
# Verwendung bedarf der ausdruecklichen Zustimmung von CATMEDIA.
# Unberechtigte Nutzung, Vervielfaeltigung, Verbreitung sowie
# Veraenderung oder Entfernung der Urheberrechtshinweise sind 
# bei Strafe verboten!
#
# Funktionelle Veraenderungen oder der Einbau spezieller Funktionen 
# sind CATMEDIA durch Ueberlassung einer Kopie der angepassten
# Version zu belegen.
#
# Alle Aenderungen gehen in das Eigenntum von CATMEDIA ueber und 
# duerfen von CATMEDIA kuenftig ohne Einschraenkung verwendet werden.
#
#########################################################################
*/



/*------------------------------------------------------------------
	Klasse JSDb
		- "Poor-Mans-Database"
-------------------------------------------------------------------*/

function JSDb(name){
	this.vName = name;
	this.vCols = new Array();
	this.vRows = new Array();
	this.vPos = new Array();
	this.vLen = 0;
	
	//Tabellenspalte hinzufuegen
	this.fAddCol = function(colN){
		this.vPos[String(colN)] = this.vCols.push(colN) - 1;
	}
	
	//Datensatz hinzufuegen
	this.fAddRow = function(arr){
		this.vLen = this.vRows.push(arr);
	}
	//liefert Indizes aller Eintraege, die in Spalte col den Wert val haben
	this.fGetIndByColVal = function (col,val){
		var t_arr=new Array();
		for(var row in this.vRows){
			if (this.vRows[row][this.fGetPos(col)] == val){
				t_arr.push(row);
			}
		}
		
		return t_arr;
	}
	
	//liefert Wert zu ReihenIndex row und SpaltenName col
	this.fGetValByRowCol = function (row,col){
		return this.vRows[row][this.fGetPos(col)];
	}
	
	//setzt den Wert von col in row auf val
	this.fSetValByRowCol = function (row,col,val){
      this.vRows[row][this.fGetPos(col)] = val;
   }
	
	//liefert die Position im Array
	this.fGetPos = function (str){
		return this.vPos[str];
	}
	
	//löscht den Datensatz mit Index ind
	this.fDelRow = function (ind){
      this.vRows[ind]="";
      //delete this.vRows[ind];
   }
}

/*------------------------------------------------------------------
	Klasse Zahlen
-------------------------------------------------------------------*/

function Zahlen (){
	var gActCurr;
	
   this.laenge = 2;//nachkommastellen
   
   this.Prozent = function (p){
      return this.PreisWOC(p)+'%';
   }
   //Preis WithOutCurrency
   this.PreisWOC = function(number){
     //Waehrung umrechnen
	if(isNaN(this.currFactor)) {
		this.currFactor=1;
		this.curr="EUR";
	}

	number=number*this.currFactor;

     number = Math.round( number * Math.pow(10, this.laenge) ) / Math.pow(10, this.laenge);
     str_number = number+"";
      arr_int = str_number.split(".");
      if(!arr_int[0]) arr_int[0] = "0";
      if(!arr_int[1]) arr_int[1] = "";
      if(arr_int[1].length < this.laenge){
        nachkomma = arr_int[1];
        for(var i=arr_int[1].length+1; i <= this.laenge; i++){  nachkomma += "0";  }
        arr_int[1] = nachkomma;
      }
      if(gDelimTh != "" && arr_int[0].length > 3){
        Begriff = arr_int[0];
        arr_int[0] = "";
        for(var j = 3; j < Begriff.length ; j+=3){
          Extrakt = Begriff.slice(Begriff.length - j, Begriff.length - j + 3);
          arr_int[0] = gDelimTh + Extrakt +  arr_int[0] + "";
        }
        str_first = Begriff.substr(0, (Begriff.length % 3 == 0)?3:(Begriff.length % 3));
        arr_int[0] = str_first + arr_int[0];
      }

      return arr_int[0]+gDelimDec+arr_int[1]; 

   } 

}

/*------------------------------------------------------------------
	Klasse Zahlen
-------------------------------------------------------------------*/

function Datum (){
 
   this.formDatum = function (da){
      var t_datArr = da.split("/");
      var retDat = gDateType.replace(/y/,t_datArr[0]);
      retDat = retDat.replace(/m/,t_datArr[1]);
      retDat = retDat.replace(/d/,t_datArr[2]);
      return retDat;
   }
}

/*------------------------------------------------------------------
	Klasse smsArticle
-------------------------------------------------------------------*/

function semArticle(){
	this.bilder = new Array();
	this.bilder[0] = "";  
	this.bilder[1] = "";  
	this.bilder[2] = "";
	this.bildtxt;
	this.artnr;
	this.hersteller;
	this.bez;
	this.preis;
	this.preismenge=1;
	this.grmenge; this.grpreis;  //Grundpreis
	this.mwst;
	this.liefzeit;
	this.liefbaraktiv; this.liefbarvon; this.liefbarbis;
	this.minmenge=0;
	this.gebinde;
	this.gew=""; this.geweinh="";
	this.flags = new Array();
	this.flags['a'] = false ; //Schnaeppchen/angebot
	this.flags['s'] = false;  //Saisonartikel/Sonderposten
	this.flags['e'] = false;  //Einzelstueck/
	this.flags['n'] = false;  //Neuer Artikel
	this.flagsAlt = new Array();
	this.flagsAlt['a']; //Schnaeppchen/angebot
	this.flagsAlt['s'];  //Saisonartikel/Sonderposten
	this.flagsAlt['e'];  //Einzelstueck/
	this.flagsAlt['n'];  //Neuer Artikel
	this.staffmenge;  this.staffpreis;
	this.sondpreis;   this.sondpreis_start;  this.sondpreis_end; this.sondpreisaktiv;
	this.optionen="";
	this.versopt="";
	this.kundtxtaktiv;
	this.kundtxt;
	this.dbeinzeln;
	this.area = false;
	
	this.wk_bez=this.bez;
	this.curr='EUR';
	this.currFactor='1';
	this.zFormat = new Zahlen();
	// this.zFormat.gActCurr=this.ActCurr;
  
	this.dFormat = new Datum();
	this.selectedOption = new Array();
	
	this.t_ref ; 
	
	this.actual_price= function (menge){	

		var ges_preis=this.preis;
		//t_preis Sonderpreis-Array
		if (this.matchSondPreis()==true){
			var preis_array=this.sondpreis;
		} else var preis_array=this.staffpreis;
		
		//normalpreis,wenn keine Staffel vorhanden
		if (this.staffmenge.length==0){
			if (this.preis) ges_preis=this.preis;
		} else {
			// Staffelpreis(in abhängigkeit von der Menge)
			for (var i=0; i<this.staffmenge.length; i++){
				if ((this.staffmenge[i]!="" && this.staffmenge[i]>0) && (menge >= this.staffmenge[i])){
					ges_preis=preis_array[i];
				}
			}
		}
		
		for (var i=0;i<this.optionen.length; i++){
			// Preiszuschläge aus Optionen
			for (var j=0;j< this.optionen[i].length; j++){
				if (this.optionen[i][j][3]=="1") {
					ges_preis=eval(ges_preis + this.optionen[i][j][1]);
				}
			}
		}
	
		return eval(ges_preis)/eval(this.preismenge);
	}

	this.selectedOptionPrice=function(){
		var return_val=0;
		if (typeof(this.selectedOption)=="object"){
			for (i=0;i<this.selectedOption.length;i++){
				if (this.selectedOption[i][0]==this.artnr){
					return_val=eval(return_val+this.selectedOption[i][3]);
				} 
			}
		}
		return return_val;
	}
	
	this.actual_Vprice= function (menge){	
		var ges_preis=0;
		//t_preis Sonderpreis-Array
		
		for (var j=0;j< this.versopt.length; j++){
		// Preiszuschläge aus Versandoptionen
			if (this.versopt[j][6]=="1") {
				ges_preis=ges_preis + this.versopt[j][4];
			}
		}
	
		return ges_preis;
	}
		
	this.wk_bez = function(){
	// die Bezeichnung für den Warenkorb beinhaltet neben der Artikelbezeichung auch die Optionen und Versandoptionen
		var val=this.bez;
		var tOK;
		for (var i=0;i<this.optionen.length; i++){
			tOK=false
			for (var j=0;j< this.optionen[i].length; j++){
				if (this.optionen[i][j][3]=="1") {
					val=val+'<br>\n'+this.optionen[i][j][0]+': '+this.optionen[i][j][2]+'';
					tOK=true
				}
				if (tOK==false && j ==this.optionen[i].length-1)	{
					val=val+'<br>\n'+this.optionen[i][0][0]+': '+this.optionen[i][0][2]+'';
					this.optionen[i][0][3]="1";
				}
			}
		}
		if (this.kundtxtaktiv && this.kundtxt){
			val=val+'<br>\n'+I18N["ART_KUNDTXT"]+' '+this.kundtxt+'';
		}
		for (var j=0;j< this.versopt.length; j++){
			if (this.versopt[j][6]=="1") {
				val=val+'<br>\n'+I18N["ART_VERSOPT"]+' '+this.versopt[j][1]+'';
			}
		}
		return val;
	}
	
	
	/* ?? gewählte Optionen */
	this.t_selOptVals=new Array();
	
	/*
	* gibt die Artikelbilder aus, oder Dummybild
	*/
	this.printImg = function(typ,w){
		var closeHref="";
		switch(typ){
			case 'k':
			break;
			case 'm':
				w.document.write('<div id="artimg" class="artimg">');
				if(this.bilder[2] != ''){
					w.document.write('<a href="#" onClick="showBigImg('+this.bilder[2]+')" alt="'+I18N["ART_BILDG"]+'" title="'+I18N["ART_BILDG"]+'">');
					closeHref = "</a>";
				}
				if(this.bilder[1] != ''){
					w.document.write('<img class="artimg" src="'+rooturl+this.bilder[1]+'">');
				}else{
					w.document.write('<img class="artimg" src="'+rooturl+'shopimg/dummy.gif" width="100" height="100">');
				}
				w.document.write(closeHref);
				w.document.write('</div>');
				//bildtext
				if(this.bildtxt != ""){
				   w.document.write('<div id="arttxt" class="artimg">'+this.bildtxt+'</div>');
				}
			break;
			case 'g':
			break;
		}
	}
	/*
	* formatierte Ausgaben von Preisen
	*/
	this.getGrPreis = function(){ 
		if (this.grpreis > 0 )return this.grpreis;//this.zFormat.Preis(this.grpreis);
		else return "";
	}
  
	/*
	* isLiefbar
	*  --prueft ob Artikel "heute" lieferbar
	*  return: -1 noch nicht; 0 nicht mehr; 1 ja    
	*/
	this.isLiefbar = function(){
		var heute = new Date();
		if(this.liefbarvon == "") this.liefbarvon = "1900/12/24";
		var von = new Date(this.liefbarvon);
		if(this.liefbarbis == "") this.liefbarbis = "2100/12/24";
		var bis = new Date(this.liefbarbis);
		if (heute >= von && heute <=bis) return 1;
		else if(heute < von) return -1;
		else return 0;
	}
  
	/*
	*
	*
	*/
	this.datef = function(d){
			var year=d.getYear();
			if (year<100) {year=year+2000;}
			else if (year < 1900) {year=year+1900;}
	
			var month='0'+eval(d.getMonth()+1);
			var day='0'+d.getDate();
			
			return year+'/'+month.substr(month.length-2,month.length)+'/'+day.substr(day.length-2,day.length);
	}

	this.matchSondPreis = function(){
		
		if(this.sondpreisaktiv){
			if (this.sondpreis_start=="") return true 
			else {
			
			var heute = this.datef(new Date());
			var start = this.datef(new Date(this.sondpreis_start));
			var end = this.datef(new Date(this.sondpreis_end));
			
				if (heute >= start && heute <= end){
					return true;
				}else{ 
					return false;
				}
			}
		}else{ return false;}
	}
  
  
	/*
	* Ausgabe des Lieferbarkeit (Grafik, Text)
	*/
	this.printLiefbar = function (w){
		var nein = "N"; //Grafik fuer nein
		var ja   = "J"; //Grafik fuer ja
		var bald = "B"; //Grafik fuer ab Datum
		
		switch(this.isLiefbar()){
			case 1:
				w.document.write(ja+'&nbsp;'+I18N["ART_LIEFBARJA"]); 
				break;
			case 0:
				w.document.write(nein+'&nbsp;'+I18N["ART_LIEFBARNO"]); 
				break;
			case -1:
				w.document.write(bald+'&nbsp;'+I18N["ART_LIEFBARAB"]); 
				break;
		}    
	} 
  
	/*
	* Ausgabe der Grafiken fuer NeuerArtikel usw.
	*/
	this.printFlags = function (w,a){
		
		var sep = "&nbsp;";
		var alt = "";
		if(a.flags['a']){
			 var angebot = '<img src="'+rooturl+'shopimg/schnaeppchen.gif" align="bottom" valign="right" border="0"';
			 if (a.flagsAlt['a']) angebot = angebot +' alt="'+a.flagsAlt['a']+'" title="'+a.flagsAlt['a']+'"';
			 angebot = angebot +'>';

			 w.document.write(angebot);
		}
		if(a.flags['s']){
			 var sonderposten = '<img src="'+rooturl+'shopimg/sonderposten.gif" align="bottom" valign="right" border="0"';
			 if (a.flagsAlt['s']) sonderposten = sonderposten +' alt="'+a.flagsAlt['s']+'" title="'+a.flagsAlt['s']+'"';
			 sonderposten = sonderposten +'>';
			 w.document.write(sep+sonderposten);
		}
		if(a.flags['e']){
			 var einzelst = '<img src="'+rooturl+'shopimg/einzelstueck.gif" align="bottom" valign="right" border="0"';
			 if (a.flagsAlt['e']) einzelst = einzelst +' alt="'+a.flagsAlt['e']+'" title="'+a.flagsAlt['e']+'"';
			 einzelst = einzelst +'>';
			 w.document.write(sep+einzelst);
		}
		if(a.flags['n']){
			 var neu = '<img src="'+rooturl+'shopimg/neu.gif" align="bottom" valign="right" border="0"';
			 if (a.flagsAlt['n']) neu = neu +' alt="'+a.flagsAlt['n']+'" title="'+a.flagsAlt['n']+'"';
			 neu = neu +'>';
			 w.document.write(sep+neu);
		}
		if (a.flags['a'] || a.flags['s'] || a.flags['e'] || a.flags['n']) w.document.write('<br><br>'); 
	}
  	
	/*
	* Ausgabe der Optionen
	* Optionen sind Produkteigenschaften wie Farben, Anschlüsse
	* Optionen sind Besondere Versandoptionen
	* Optionen sind freie Kundentexte
	*/
	this.printOpts = function(w,a,nr){
		var selected = "";
		//select

		if (this.optionen.length>0 || this.versopt.length>0 || this.kundtxtaktiv){
			w.document.write('<table class="artopts" border="0">');
			for(var i=0; i < this.optionen.length;i++){
				if (this.optionen[i][0]){
					this.t_selOptVals[this.optionen[i][0][0]]="+0.00";
					w.document.write('<tr><td align="left" valign="top" class="artopts_col1" ><span class="arttext">');
					w.document.write(this.optionen[i][0][0]+': ');
					w.document.write('</span></td><td align="left" valign="top" >');
					w.document.write('<select name="opt_'+i+'" ');
					w.document.write(' onChange = "art'+nr+'.setOpt(document.artikel'+nr+'.opt_'+i+'.options[document.artikel'+nr+'.opt_'+i+'.selectedIndex].value,'+i+','+"'"+this.artnr+"'"+');parent.vars.pagelocation='+"'"+'#top'+nr+"'"+';self.location.reload()"');
					w.document.write('>');
					
					var bIn=false;
					if (this.selectedOption){
						for (var j=0; j<this.selectedOption.length;j++){
							if (this.selectedOption[j][0]==this.artnr && this.selectedOption[j][1]==i){
								bIn=true;
								this.selectedOption[j][3]=this.optionen[i][this.selectedOption[j][2]][1];
								this.optionen[i][this.selectedOption[j][2]][3]="1";
							}
						}
						if (bIn==false) {
							this.selectedOption.push(new Array(this.artnr,i,'0',this.optionen[i][0][1]));
							this.optionen[i][0][3]="1";
						}
						vars.selectedOption=this.selectedOption;	
					}					
					for(var j=0; j<this.optionen[i].length; j++){
						w.document.write('<option value="' + j +'"');
	//					alert(this.optionen[i][j][1]+i+' '+j+'--'+this.optionen[i][j][3]);
						
						w.document.write((this.optionen[i][j][3]=='1'?'selected':'')+'>'+this.optionen[i][j][2]+this.getOptPreis(this.optionen[i][j][1])+'</option>');
					}
					w.document.write('</select>');
					w.document.write('</td></tr>');
				}
			}
			for(var i=0; i < this.versopt.length;i++){
					w.document.write('<tr><td align="left" valign="top">');
					w.document.write('<span class="arttext">'+I18N["ART_VERSOPT"]+'</span>');
					w.document.write('</td><td align="left" valign="top" width="450px">');
					if (this.versopt.length>1){
						w.document.write('<select name="opt2_'+i+'" style="width:100%"');
						w.document.write(' onChange = "art'+nr+'.setVersOpt(document.artikel'+nr+'.opt2_'+i+'.versopt[document.artikel'+nr+'.opt2_'+i+'.selectedIndex].value,'+i+')"');
						w.document.write('>');
						
						for(var j=0; j<this.versopt.length; j++){
							w.document.write('<option value="' + j +'"');
							w.document.write(selected+'>'+this.versopt[j][1]+this.getOptPreis(this.versopt[j][4])+'</option>');
						}
						w.document.write('</select>');
					} else {
							w.document.write('<span class="arttext">'+this.versopt[0][1]+this.getOptPreis(this.versopt[0][4])+'<input type="hidden" name="opt2_'+i+'" value="'+0+'"></span>');
					}
					w.document.write('</td></tr>');
			}

			if(this.kundtxtaktiv){
				w.document.write('<tr><td align="left" valign="top">');
				w.document.write('<span class="arttext">'+I18N["ART_KUNDTXT"]+'</span>');
				w.document.write('</td><td align="left" valign="top" width="450px">');
				w.document.write('<textarea name="kundtxt" id="kundtxt" class="artform" style="width:100%" rows="3" cols="25"');
				w.document.write(' onKeyUp = "art'+nr+'.kundtxt=document.artikel'+nr+'.kundtxt.value"');
				w.document.write('>');
				if (this.kundtxt) w.document.write(this.kundtxt)
				w.document.write('</textarea>');
				w.document.write('</td></tr>');
			} 
		w.document.write('</table>');
		}
	}
	
  this.setOpt = function (id,val,artnr){
		// die fundtion setOpt ändert den 4. Parameter einer Option 
		//dieser zeigt an, welche option gewählt wurde
		//id ist der selectedIndex der option val
		for (var i =0; i<this.selectedOption.length; i++){
			if (this.selectedOption[i][0]==this.artnr && this.selectedOption[i][1]==val){
				this.selectedOption[i][2]=id;
			}
		}
		for (var i =0; i<this.optionen[val].length; i++){
			if (id==i) {
				this.optionen[val][i][3]="1";
			}
			else this.optionen[val][i][3]="";
		}
		
	}

  	this.setVersOpt = function (id,val){
		// die fundtion setOpt ändert den 6. Parameter der Versandoptionen 
		//dieser zeigt an, welche Versandoption gewählt wurde
		
		for (var i =0; i<this.versopt.length; i++){
			if (id==i) this.versopt[i][6]="1";
			else this.versopt[i][6]="";
		}
	}
	/*
	* Ausgabe der Preise
	*
	* in der Funktion printStaffel werden Staffelspeise (wenn vorhanden),
	* bzw. der Normalpreis angezeigt.
	* die Formatierung des Normalpreises wird im Stylesheet in der Klasse preisformat definiert
	* 
	*/
	this.printStaffel = function(w){
		if(this.matchSondPreis()==true){ 
			var preise=this.sondpreis;
			var preise_vgl=this.staffpreis;
			var formatpreis='<div class=sonderpreisformat>';
		} else { 
			var preise=this.staffpreis
			var preise_vgl=this.staffpreis;
			var formatpreis='<div class=normalpreisformat>';
		}
		
		if (this.staffmenge.length>0) {

			if (preise[0]<preise_vgl[0]) w.document.write(formatpreis)
			else w.document.write('<div class=preisformat>');

			if ((this.preis)<preise[0] && preise[0]!=0) {
				w.document.write(this.getThisPreis(eval((this.preis))+eval(this.selectedOptionPrice())));
			} else {
				w.document.write(this.getThisPreis(eval(preise[0])+eval(this.selectedOptionPrice())));
			}
			if (this.preismenge>1) w.document.write('</b> / '+this.preismenge+' '+this.einheit);
			w.document.write('</div>');

			if (preise[0]<preise_vgl[0]) w.document.write('<div class=oldpreisformat><s>'+this.getThisPreis(eval(preise_vgl[0])+eval(this.selectedOptionPrice()))+'</s></div>');

			w.document.write('<table border="0">');
			
			if (this.staffmenge[1]>0){
				w.document.write('<tr>');
				w.document.write('<td width="100"></td><td width="30"><div class=normalpreisformat>'+I18N["ART_AB"]+'&nbsp;'+'</div></td>');
				w.document.write('<td align="center" width="30"><div class=normalpreisformat>'+I18N["ART_PREIS"]+'</div></td>');
				w.document.write('</tr>');
				for(var i=0; i < this.staffmenge.length; i++){
					if (this.staffmenge[i]!=0 && this.staffmenge[i]!='1') {
						w.document.write('<tr>');
						w.document.write('<td></td><td>');
						w.document.write('<div class=normalpreisformat>');
						w.document.write(this.staffmenge[i]);
						w.document.write('</div>');
						w.document.write('</td>');
						w.document.write('<td align="right">');
						w.document.write(formatpreis);
						w.document.write('&nbsp;' + this.getThisPreis(eval(eval(preise[i])+eval(this.selectedOptionPrice()))));
						if (this.preismenge>1) w.document.write('</b> / '+this.preismenge+' '+this.einheit);

						w.document.write('</div>');
			
						if (preise[i]<preise_vgl[i]) w.document.write('<div class=oldpreisformat><s>'+this.getThisPreis(eval(preise_vgl[i])+eval(this.selectedOptionPrice()))+'</s></div>');
	
						w.document.write('</td>');
						w.document.write('</tr>');
					}
				}
			}
			w.document.write('</table>');
		} else {
			//tritt nur bei falschen stafflisten ein
			w.document.write('<p class=preisformat>'+this.getThisPreis(eval(this.preis/this.preismenge)+eval(this.selectedOptionPrice()))+'</p>');
		}
	}
	
	/*
	* Ausgabe Preis bei Artikel / Listen
	*/
	this.getOptPreis = function (p){
		var val=p.substr(1,p.length);
		var pre=p.substr(0,1);

		if (val!="0.00"){
			return " ("+ pre + this.getThisPreis(val) + ")";
		} 
		else return "";
	}
	
	this.getThisPreis = function(p){
	// die Funktion getThisPreis stellt den Preis bzw. Sonderpreis des Artikels in Währungsformat dar.
	// verknüpfungen bestehen zur Klasse Zahlen, sowie curr + currFactor
	//
		var z = new Zahlen();
		z.currFactor = this.currFactor;
		
		var x=z.PreisWOC(p);
		return (x +'&nbsp;' + this.curr);
		
	}
	/*
	* Ausgabe Preis bei Artikel / Listen
	*/
	this.printPreis = function(w){
	// die Funktion printPreis stellt den Preis bzw. Sonderpreis des Artikels in Währungsformat dar.
	// verknüpfungen bestehen zur Klasse Zahlen, sowie curr + currFactor
	//
		if(this.matchsondpreisaktiv){ var tpreis=this.sondpreis[0]}
		else{var tpreis=this.preis}

		var z = new Zahlen();
		z.currFactor = this.currFactor;
		
		var x=z.PreisWOC(tpreis);
		if (this.preismenge!=1) w.document.write((x) +'&nbsp;' + this.curr + ' / '+this.preismenge+' '+this.einheit);
		else w.document.write((x) +'&nbsp;' + this.curr);
		
	}
	
	this.printOrder = function(w){
  		w.document.write('<input type="text" name="anz" value="'+this.grmenge+'" style="width:60px;">');
		w.document.write('&nbsp;<a href="neuheiten\bunte_kugel_mit_24_spitzen.html">');
		w.document.write('<img src="shopimg/cart.gif" align="bottom" valign="right" alt="'+I18N["WK_ADD"]+'" title="'+I18N["WK_ADD"]+'" border="0">');
		
	}
  /*
  * Überprüft die Bestellmenge vor Hinzufügen in Wako
  *
  */
  this.checkMenge = function (){
     var t_preis = this.getAmntPreis(menge);
      var menge = this.t_ref.document.artikel.anz.value.replace(/,/,".");
      var fehler=false;
      // Zahl ?
      if(isNaN(menge)){
         alert(I18N["ART_ANZNOK"]);
         this.t_ref.document.artikel.anz.focus();
         fehler = true;
      }else if(this.flags['e']==true && menge!=1){
         alert(I18N["ART_ANZNOK"]+' '+I18N["ALT_EINZELSTUECK"]);
         this.t_ref.document.artikel.anz.focus();
         fehler = true;
      }else{
         if(!this.dezimalOK){
            menge = Math.round(menge);
         }
         if(this.gebinde != ""){
            if(menge % this.gebinde != 0){
               menge = menge + (this.gebinde - (menge % this.gebinde));
               alert(I18N["ART_GEBINDETXT"]+this.gebinde+" "+this.einheit);
               this.t_ref.document.artikel.anz.focus();
               this.t_ref.document.artikel.anz.value = menge;
               fehler=true;
            }
         }
      }
      if(!fehler){
         this.t_ref.document.artikel.anz.value = menge;
         
         //Optionen in Preis einfliessen lassen
         //Preisfeld aktuallisieren
         return true;
      }else{
         return false;
      }   

      
  }
  
  /*
  * Preisberechnung bei Optionsauswahl
  *  @ val : wert der option  ; nam : name des selects
  */
this.updPreis = function (val,sel){
	var nam = sel.name;
	if(val != "xxx"){
		sel.className = "auspraeg";
		this.t_selOptVals[nam]=val;
	} else {// falls -bitte waehlen--
		sel.className = "meldung"; 
		this.t_selOptVals[nam]="+0.00"; 
	}

	if(this.isLiefbar() == 1){
		tpreis = this.getAmntPreis(this.staffmenge[0]);
	} else { 
		tpreis = this.getAmntPreis(this.staffmenge[0]);
	}

	var t_preis = tpreis;


}
  
  /*
  * liefert den Preis zu einer gewissen Bestellmenge
  *  @ am ; Menge   
  */
  this.getAmntPreis = function (am){
      var preisArr; var cnt=0; var amnt_pr;
      if(am == "" || am < this.minmenge){ am = this.minmenge;}
      
      if(this.matchSondPreis()==true){ preisArr = this.sondpreis;}
      else{ preisArr = this.staffpreis;}
      
      do{
         amnt_pr = preisArr[cnt];  cnt++;
      }while(this.staffmenge[cnt] > 0 && this.staffmenge[cnt] <= am && cnt < preisArr.length);
      
      return amnt_pr;
  }
  
  this.cntSelOpts = function(){
      var ct=0;
      for(var i=0;i < this.optionen.length;i++){ 
         if(eval('this.t_ref.document.artikel.opt_'+i+'.selectedIndex') != 0){
            ct++;
         } 
      }
      return ct;
  }
  
  
  
}







