// -----------------------------------------------------------------------------------------------
// net-x-kiosk.js
// -----------------------------------------------------------------------------------------------
// version 1.0		erstellt am 14.03.2002
// -----------------------------------------------------------------------------------------------

// -----------------------------------------------------------------------------------------------
// anpassungen
// -----------------------------------------------------------------------------------------------
var cookie_name			= "nxm-kiosk";	

var produkt_bezeichnung1	= new Array();
var produkt_bezeichnung2	= new Array();
var produkt_ordner			= new Array();
var produkt_bild			= new Array();
var produkt_anzahl			= new Array();
var produkt_spreis			= new Array();				// in cent

bnr							= "01-0350";
produkt_bezeichnung1[ bnr ]	= "<h3>DVD : Rund-Um</h3><br>";
produkt_bezeichnung2[ bnr ]	= "Videokunst von <br>" 		+
                              "Bernd Strassel<br><br>" 		+
							  "Video-DVD<br>" 				+
							  "Deutsch<br>" 				+
							  "Gesamtlaufzeit: <br>" 		+
							  "ca. 20min<br><br>" 			+
							  "Auflage: 27 Stk.<br><br>" 	+
							  "Preis: <b>27 &euro</b>";
produkt_ordner[ bnr ]		= "/video/rund-um/"							  
produkt_bild[ bnr ]			= "01-0350.jpg"
produkt_spreis[ bnr ]		= 2700;

// bnr							= "bnr-0002";
// produkt_bezeichnung1[ bnr ]	= "Artikel 2";
// produkt_bezeichnung2[ bnr ]	= "zu &euro; 17,50 pro Artikel";
// produkt_bild[ bnr ]			= "bnr0002.jpg"
// produkt_spreis[ bnr ]		= 1750;

// bnr							= "jerusalem";
// produkt_bezeichnung1[ bnr ]	= "Anzahl CDs „Jerusalem”:";
// produkt_bezeichnung2[ bnr ]	= "zu &euro; 9,50 pro CD";
// produkt_spreis[ bnr ]		= 950;

// -----------------------------------------------------------------------------------------------

for ( i in produkt_bezeichnung1 )
{
	produkt_anzahl[ i ] = 0;
}

// -----------------------------------------------------------------------------------------------
// cookiedaten:
// -----------------------------------------------------------------------------------------------
var kunde           = new Array();

var kunde_name      =  1;
var kunde_vorname   =  2;
var kunde_str       =  3;
var kunde_plz       =  4;
var kunde_ort       =  5;
var kunde_tel       =  6;
var kunde_email     =  7;

var max             =  7;

for ( var i = 1; i <= max; i++ )
{
	kunde[ i ] = "";
}

var trennzeichen   = "*";


// --------------------------------------------------------------
// tabelle der produkte ausgeben
// --------------------------------------------------------------
function produktliste()
{
	var rechnungsbetrag = 0;
	var pos             = 10;

	for ( bestellnummer in produkt_bezeichnung1 )
	{
		var anzahl       	= produkt_anzahl[ bestellnummer ];
		var preis        	= produkt_spreis[ bestellnummer ];
		var beschreibung1 	= produkt_bezeichnung1[ bestellnummer ];
		var beschreibung2 	= produkt_bezeichnung2[ bestellnummer ];
		var ordner 			= produkt_ordner[ bestellnummer ];
		var bild 			= produkt_bild[ bestellnummer ];
	
		var line         = "";
	
		line  = "<tr>\n";
		line += "    <td align=left colspan=4>" + beschreibung1 + "</td>\n";
		line += " </tr>\n";

		line += " <tr>\n";
		line += "    <td align=right valign=top>Anzahl:</td>\n"
		line += "    <td align=left valign=top>\n"                                             				+
		        "        <input name=" + pos + "." + bestellnummer                                         	+ 
		        "               type=text size=3 maxlength=3 value=" + anzahl                				+ 
		        "               onChange='update_anzahl( \"" + bestellnummer + "\", this.value )'"			+
		        "               style=\"border-color:#669CFF;width:30px;\"></td>\n";
		line += "    <td align=left><a href=.." + ordner + "index.htm><img src=" + bild + " border=0></a></td>\n";
		line += "    <td align=left valign=bottom>" + beschreibung2 + "</td>\n";
		line += " </tr>\n";

		pos             += 1;
		rechnungsbetrag += anzahl*preis/100;
	
		document.writeln( line );
	
	} // end of for ( var i = 1; i <= anz_produkte; i++ )

} // end of function produktliste()


// -----------------------------------------------------------------------------------------------
function getCookieVal (offset) 
// -----------------------------------------------------------------------------------------------
//  Written by:  Bill Dortch, hIdaho Design <bdortch@hidaho.com>
{
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
		endstr = document.cookie.length;

	return unescape(document.cookie.substring(offset, endstr));

} // end of function getCookieVal (offset)


// -----------------------------------------------------------------------------------------------
function FixCookieDate (date) 
// -----------------------------------------------------------------------------------------------
//  Written by:  Bill Dortch, hIdaho Design <bdortch@hidaho.com>
{
	var base = new Date(0);
	var skew = base.getTime(); 		// dawn of (Unix) time - should be 0
	if (skew > 0)  					// Except on the Mac - ahead of its time
		date.setTime (date.getTime() - skew);

} // end of function FixCookieDate (date)


// -----------------------------------------------------------------------------------------------
function SetCookie (name,value,expires,path,domain,secure) 
// -----------------------------------------------------------------------------------------------
//  Written by:  Bill Dortch, hIdaho Design <bdortch@hidaho.com>
{
	document.cookie = name + "=" + escape (value) +
	                  ((expires) ? "; expires=" + expires.toGMTString() : "") +
                        ((path) ? "; path=" + path : "") +
                        ((domain) ? "; domain=" + domain : "") +
                        ((secure) ? "; secure" : "");

	return document.cookie;		//changed by Bernd Strassel

} // end of function SetCookie (name,value,expires,path,domain,secure)


// -----------------------------------------------------------------------------------------------
function GetCookie (name) 
// -----------------------------------------------------------------------------------------------
//  Written by:  Bill Dortch, hIdaho Design <bdortch@hidaho.com>
{
	var arg  = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;

	var i = 0;
	var j = 0;
	while ( i < clen ) 
	{
		j = i + alen;
		if (document.cookie.substring(i, j) == arg)
		{
			return getCookieVal (j);
		}
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break; 
	}
  return null;

} // end of function GetCookie (name)


// -----------------------------------------------------------------------------------------------
// speichert Kundendaten in einem Cookie
// -----------------------------------------------------------------------------------------------
// Parameter: keine
// -----------------------------------------------------------------------------------------------
function save_kunde()
{
	var now = new Date();
	FixCookieDate(now);     // fix mac 2.x bug

							// twelf_months (each 30 days) in milliseconds
	var twelf_months = 12*30*24*60*60*1000;

								// expires in twelf months from now on
	var expire_date = new Date();
	FixCookieDate(expire_date);			// fix mac 2.x bug
	expire_date.setTime(now.getTime()+twelf_months);

	var cookie_val = "";
	var message    = "";
	var i          = 1;

	while ( i <= max )
	{
		cookie_val += kunde[ i ] + trennzeichen;
		i++;
	}

	if ( SetCookie( cookie_name, cookie_val, expire_date, "/" ) == "" )
	{
		message =  "Das Speicher der Benutzerdaten war leider nicht erfolgreich.";
	}
	else
	{
		message =  "Ihr Browser merkt sich Ihre persoenlichen Daten.\n";
		message += "Beim naechsten Besuch werden sie diese Daten nicht mehr eingeben muessen.";
		message += "Dies gilt fuer einen Zeitraum von 12 Monaten.";
	}
	alert(message);
} 
// end of function save_kunde()


// -----------------------------------------------------------------------------------------------
// lädt Kundendaten aus dem Cookie
// sofern vorhanden
// -----------------------------------------------------------------------------------------------
// Parameter: keine
// -----------------------------------------------------------------------------------------------
function read_kunde()
{
	var trennpos   = -1;
	var i          =  1;

	var cookie_val = GetCookie( cookie_name);				// Cookie lesen
	if (cookie_val)									// prüfen ob Cookie existiert
	{
		while ( i <= max )
		{
			trennpos = cookie_val.indexOf( trennzeichen );
			if ( trennpos >= 0 )
			{
				kunde[ i ] = "" + cookie_val.substring(0,trennpos);
// alert( "kunde[" + i + "] = " + kunde[i] );
				cookie_val = cookie_val.substring( trennpos + 1, cookie_val.length );
			}
			i++;
		}
	}
}
// end of function read_kunde()


// --------------------------------------------------------------
// holt die Kundendaten
// --------------------------------------------------------------
// Parameter : keine
// --------------------------------------------------------------
function hole_kundendaten()
{
	read_kunde();									// einlesen

	self.document.bestellung.name.value			= kunde[kunde_name];
	self.document.bestellung.vorname.value		= kunde[kunde_vorname];
	self.document.bestellung.firma.value		= kunde[kunde_firma];
	self.document.bestellung.tel.value			= kunde[kunde_tel];
	self.document.bestellung.fax.value			= kunde[kunde_fax];
	self.document.bestellung.email.value		= kunde[kunde_email];
	self.document.bestellung.str.value			= kunde[kunde_str];
	self.document.bestellung.ort.value			= kunde[kunde_ort];

} // end of function hole_kundendaten()

// --------------------------------------------------------------
// formatiert die Zahl mit 2 Nachkommastellen
// --------------------------------------------------------------
// Parameter:
//   zahl
// Return Wert:
//   die Zahl 
// --------------------------------------------------------------
function format_zahl( zahl )
{
	sZahl = String( zahl );

	if ( sZahl.indexOf(".") == -1 )
	{ 
		sZahl = sZahl + ".00"; 					// z.B. 25   ==> 25.00
	}
	else
	{
		sZahl = sZahl + "00"; 					// z.B. 25.1 ==> 25.100
	}

	sZahl = sZahl.substring( 0, sZahl.indexOf(".") + 3 );

	return sZahl;
} 
// end of function format_zahl( zahl )

// ------------------------------------------------------------------------------------------------
// pruefen der Eingabe ob diese eine Zahl ist
// ------------------------------------------------------------------------------------------------
// Parameter:
//   zahl
// Return Wert:
//   die Zahl 
// ------------------------------------------------------------------------------------------------
function check_anzahl( zahl, error )
{

	if ("0123456789".indexOf(zahl.charAt(0)) >= 0)
	{
		return ( parseInt( zahl ) );
	}
	else
	{
		alert("Bitte nur positive, ganzzahlige Werte eingeben!");
		return ( 0 );
	}

}
// end of function check_anzahl( zahl, error )


// --------------------------------------------------------------
// die Anzahl wurde geändert
// --------------------------------------------------------------
// Parameter:
//   bnr	
//   eingabe
// --------------------------------------------------------------
function update_anzahl( bnr, eingabe )
{
	var zahl = check_anzahl( eingabe, -1 );
	if ( zahl >= 0 )
	{
		produkt_anzahl[ bnr ] = zahl;
	}
     else
	{
		produkt_anzahl[ bnr ] = 0;
	}

	berechne_summe();

}
// end of function update_anzahl( bnr, eingabe )

// --------------------------------------------------------------
// berechnet Gesamtsumme
// --------------------------------------------------------------
// Parameter : keine
// --------------------------------------------------------------
function berechne_summe()
{
	var summe = 0; 

	for ( bestellnummer in produkt_bezeichnung1 )
	{
		summe += berechne_zeilensumme( bestellnummer );
													// cent in euro umrechnen (/100) und ausgeben:
		eval( "self.document.bestellung.rechnungs_summe.value = format_zahl( summe / 100 )" );
													// mwst. (z.zt. 16%) berechnen und ausgeben:
//		eval( "self.document.bestellung.mwst_summe.value = format_zahl( Math.floor(summe * 16 / 100) / 100 )");
	}
}
// end of function berechne_summe()

// --------------------------------------------------------------
// berechnet zeilensumme
// --------------------------------------------------------------
// parameter : 
//   best_nr
// --------------------------------------------------------------
function berechne_zeilensumme( best_nr )
{
	var zsumme          = 0;
	var ausgabefeldname = "ausgabe_gesamt" + best_nr;

	zsumme  = produkt_anzahl[ best_nr ] * produkt_spreis[ best_nr ];

//	eval("self.document.bestellung." + ausgabefeldname + ".value = zsumme / 100");

													// Summe zurueckliefern:
	return zsumme;
}
// end of function berechne_zeilensumme( best_nr )

