// Warenkorb-Teilmodul zum Shopmichel ... gehört zum/* Warenkorbsystem ohne (!) Cookie-Technologie *//* von J.-Chr. Hanke, Modul-Version 2.9, August 2003 */// Shopmichel.de Version 2.2 vom April 2004// // Funktion merkt einzelne Produkte vor (Warenkorb)// gespeichert wird Produkt mit Anzahl// ... daher universell einsetzbar nicht nur für Warenkorb// Offene Schnittstelle: Daten können per Formmailer (PHP)// oder auch per mailto weitergegeben werden.// Im ersten Falle erhält der Kunde eine Bestätigungs-Mail.// EDITIEREN ANFANGvar orderinfo="<p class='acht'>Vielen Dank für <b>Ihre Auswahl</b>!" +" Füllen Sie nun lediglich noch das Bestellformular aus!</p>";orderinfo+="<h2>Datenschutz</h2>" +"<p class='acht'>Wir geben Ihre Adresse " +"nicht <b>an Dritte</b> weiter!</p>";// document.write(orderinfo);// EDITIEREN ENDE// Funktion gibt passende Produkt-Daten // in ass. Array prodata zurückfunction promatch(pro_num) { // 1// alert("pro_num am Anfang anzeigen: " + pro_num);var prodata=new Array()for(i=0;i<prod.length;i++) { // 2var prodinr=prod[i].split("|")[0];prodinr=killspace(prodinr);prodata['prodnr']=prodinr;var prodititle=prod[i].split("|")[1];prodititle=killspace(prodititle);prodata['prodtitle']=prodititle;var proditext=prod[i].split("|")[2];proditext=killspace(proditext);prodata['prodtext']=proditext;var prodicat=prod[i].split("|")[3];prodicat=killspace(prodicat);prodicat=prodicat.split(",")[0];prodata['prodcat']=prodicat;var prodiver=prod[i].split("|")[4];prodiver=killspace(prodiver);prodiver=prodiver.split(",");var prodiprice=prod[i].split("|")[5];prodiprice=killspace(prodiprice);prodiprice=prodiprice.split(",");if (prodivat=prod[i].split("|")[6]) {var prodivat=prod[i].split("|")[6];prodivat=killspace(prodivat);} else { var prodivat=0; // Abwärtskompatibilität SM 2.07 }if (prodivat!="" && prodivat!=0) {prodivat=vat2;}else {prodivat=vat;}prodata['prodvat']=prodivat;if (prodiver.length>1) { // &&&&&&&&&&&&&&&& 3for (k=0;k<prodiver.length;k++) { // FOR AUF --- 4if (pro_num==prodinr+prodiver[k]) { // IF AUF ### 5prodata['prodver']=prodiver[k];prodata['prodprice']=prodiprice[k];return prodata;} // IF ZU ### // 7} // FOR ZU --- // 6} // &&&&&&&&&&&&&&&& // 5else { // ELSE AUF +++++++++++ 6if (pro_num==prodinr) { 7prodata['prodver']="";prodata['prodprice']=prodiprice[0];return prodata;} // 4} // ELSE ZU ++++++++++ 3} // 2} // 1// ermittelt Anzahl der Produktefunction prodzahl() {var proza=0; // Variable für Produktanzahlif (p_safe!="") {wertinhalt=p_safe.split("#");for(proza=0;proza<wertinhalt.length-1;proza++) {}}return proza;}// WARENKORB GENERIEREN ~~~~~~~~~~~~~~~~~~~~~~~~~~~~function showbasket() {var datentext="<div class='acht'>Notieren Sie einfach die " +"gewünschten <b>Produkte</b> auf dem Notizzettel!</div>";// alert("Im zeigekorb p_safe zeigen: " + p_safe);var daten=datentext;if (c>0 && c<1) { // IF ORDER aufdaten=orderinfo;} // IF ORDER ZUif (p_safe!="" && c!=0.1 && c!=0.2 || (Number(a) < minamount)) { // IF SAVE aufdatenstart="<div class='acht'>Anzahl der Einträge auf " + "Ihrem Notizzettel: <b>" + prodzahl() + "</b></div><br>";var k_ct=p_safe.split("#");var p_ges=0;var k_nr, k_gist, eunit;daten="";for (b=0;b<k_ct.length-1;b++) { // FOR AUFk_nr=k_ct[b].split("_")[0];k_gist=k_ct[b].split("_")[1];prodata=promatch(k_gist);// Neu: Mit Michel-Kollosions-Schutz!!!if (!check(k_gist)) { return datentext; }// Michel-Kollisions-Schutz Ende  if (prodata['prodver']==""){ eunit=""; } else { eunit=unit; } daten+="<div class='acht'>" + "<form name='' class='acht'>" +"<input type=\"text\" class='acht' name=\"anzahl\" " +"value='" + k_nr + "' maxlength=\"3\" size=\"3\" " +"title='Menge hier anpassen'" +"onblur=\"cookiemaker(+this.value+'_" + k_gist + "')\"> " +"<a href='javascript:location.reload()' title='Anzeige aktualisieren'>" +"<img src='engine/help/okay.gif' border='0' width='8' " +"height='9' alt='Anzeige aktualisieren'></a> " +"&nbsp;<a href=\"javascript:cookiemaker('0_" + k_gist + "')\" " +"title='Produkt löschen'>" +"<img src='engine/help/delete.gif' border='0' width='8' " +"height='9' alt='Produkt löschen'></a> " +"&nbsp;(<i>" + k_gist+"</i>)</form>" +"[ <a href='index.html?sp~" + prodata['prodnr'] + "&c~" + prodata['prodcat'] + "' title='Anklicken zum Anzeigen'>" + prodata['prodver'] + eunit + " " + prodata['prodtitle'] + "</a> ]</div>";var p_einz=k_nr*prodata['prodprice'];p_ges+=p_einz;daten+="<div class='acht'>Preis: <i>" + trim(p_einz) + "</i> " + currency + "</div><br>";} // FOR 1 zuvar ho_form="<div><form name=''><input type='button' " +"onclick='location=\"index.html?c~0.1&a~" + trim2(p_ges) + "\"" +   "' value='<<-- Zur Kasse' title='" +"Bestellung komplett im Überblick'>" +"</form></div>\n";if (prodzahl()>=5) {daten=datenstart + ho_form + "<br>" + daten;} else {daten=datenstart + daten;}daten+="<div>-----------------</div>";daten+="<div class='acht'>Total: <b class='dark'>" + trim(p_ges) + "</b> " + currency + "</div>";daten+="<div>-----------------</div><br>";daten+="<div class='acht'>[ " +"<a href='javascript:location.reload();' " +"title='Anzeige aktualisieren'>" +"Anzeige aktualisieren</a> ]<br>" +"[ <a href='javascript:delnote()' " +"title='Alles komplett löschen'>" +"Notizzettel löschen</a> ]<br>" +"</div>" +"<p class='acht'><b>Anzahl verändern?</b><br>" +"Neuen Wert eintragen!</p>";daten+=ho_form;if (p_ges==0) {window.name="";}if (maxamount > p_ges && maxamount != "") {daten+="<p class='rahmen'>Tipp: Ab einem Bestellwert von " +"<b> " + trim(maxamount) + "&nbsp;" + currency + "</b> zahlen Sie <strong>keine</strong> " +"<a href='versandkosten.html' onclick=\"popwin('versandkosten.html'); " +"return false\">Versandkosten</a>!</p>";}/* VORBEREITET ANFANGelse {daten+="<p class='rahmen'>Tipp: Die Ansicht &raquo;Zur Kasse&laquo; ist " +"auch als <b class='blue'>Faxausdruck</b> ideal!<br>&lt;----</p>";} VORBEREITET ENDE */} // IF SAVE zureturn daten;}function shipform() {var shipadd=0; // Additionswert für Versandkostenstaffel// Versandkostenstaffel berücksichtigen Anfang ***********if (shipstep) {if (stepvalue.indexOf(",")>=0) { // shipstep-Array-If ANFANGvar pressv=0; // Vorgängerwert für ssv (stepsplitvalue)stepvalue=stepvalue.split(",");for (l=0;l<stepvalue.length;l++) { // FOR AUFssv=stepvalue[l].split("=")[0];ssa=stepvalue[l].split("=")[1];if (Number(a)>pressv && Number(a) <= ssv) {var shipadd=ssa;} pressv=ssv;} // FOR ZU} // shipstep-Array-If ENDE} // Versandkostenstaffel berücksichtigen Ende ***********// alert("shipadd = " + shipadd);if (Number(a) < minamount) {return "<p>Die Mindestbestellmenge beträgt " + trim(minamount) + " " + currency + "!</p>" +"<form><input type=\"button\" onclick=" +"\"location='index.html?c~2'\" " +"value=\"Bitte weitershoppen --&gt;\"></form>";}var shipform="<h4>1. Wie wollen Sie bezahlen?</h4>\n" +"<p>Wir liefern:</p>\n" +"<form name='shipform' onsubmit='return shipcheck()'>\n";if (ship.indexOf(",")>=0) { // ship-Array-If ANFANGship=ship.split(",");for (h=0;h<ship.length;h++) {shipform+="<div><input type='radio' value='" + h + "' name='sc'> per <strong>" +ship[h].split("=")[0] + "</strong>";if (Number(a) > maxamount && maxamount != 0) {shipform+="&nbsp;(keine Versandkosten)</div>\n ";} else {vkosten=Number(ship[h].split("=")[1])+Number(shipadd);shipform+="&nbsp;(zuzügl. <b>" + trim(vkosten) + "&nbsp;" + currency + "</b> Versandkosten)</div>\n ";}} // FOR ZU} // Shipping-Array-If ENDEelse {shipform+="<div>... ausschließlich per <strong>" + ship.split("=")[0] + "</strong>.<br>";vkosten=Number(ship.split("=")[1])+Number(shipadd);if (Number(a) > maxamount && maxamount != 0) {vkosten=0;} shipform+="Die Versandkosten betragen <b>" + trim(vkosten) +"&nbsp;" + currency + "</b>.<br>" +"<input type='hidden' name='sc2' value='0'></div>";}shipform+="<p><input type=\"button\" onclick=" +"\"location='index.html?c~1'\" " +"value=\"Bestellung abbrechen!\" " +"title=\"Wollen Sie lieber weitershoppen?\">\n" +"<input type=\"submit\" class='blue' " +"value=\"Jetzt bestellen --&gt;&gt;\" " +"title=\"Zum nächsten Schritt - Bestellung ausführen!\">\n" +"</form></p>\n";return shipform;}function shipcheck() {var sm=""; // ship methodvar notfound=true;if (document.shipform.sc2) {sm=document.shipform.sc2.value;notfound=false;}else {var rg=document.shipform.sc;for (y=0;y<rg.length;y++) { // for ANFANGif (rg[y].checked) {sm=rg[y].value;notfound=false;break; }} // for ENDE} // else ENDEif (notfound) {alert ("Bitte wählen Sie eine Versandart!");return false;}window.location="index.html?c~0.2&sm~" + sm; return false;}// löscht den Notizzettel auf Nachfrage // neufunction delnote() {if (confirm("Wollen Sie wirklich den gesamten Notizzettel löschen?")) { delcookie();}}// löscht den gesamten Notizzettelfunction delcookie() {window.name="";location.reload();}// Michel-Kollisions-Schutz für Shophopperfunction check(gw) {ft=false;for(i=0;i<prod.length;i++) { // FOR LOOP AUSSEN AUF '''''p_nr=prod[i].split("|")[0];p_nr=killspace(p_nr);p_ver=prod[i].split("|")[4];p_ver=killspace(p_ver);if (p_ver.indexOf(",")>=0) { // Versions-Arrayppver=p_ver.split(",");for (j=0;j<ppver.length;j++) {if (gw==p_nr+ppver[j]) {ft=true;break;}} // for zu} // Versions-Array ENDEelse if (gw==p_nr) {ft=true;break;}}if (!ft) {alert("Sie waren gerade woanders shoppen?\n" +"Willkommen bei uns!");delcookie();}return ft;}
