// 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'>Thank you for <b>your selection</b>!" +
" Please fill in the order form!</p>" +
"<p class='acht'>The easiest and fastest way is the " +
"<strong>Online-Order</strong>, which will be confirmed " +
"by an <b>E-Mail</b></p>";

orderinfo+="<h3>my conditions</h3>" +
"<p class='acht'>Did you <b>read</b> my?<br><br> --&gt; " +
"[ <a href='../common/SalesPolicy.htm' onclick=\"popwin('../common/SalesPolicy.htm'); return false\">" +
"my legals</a> ]<br> --&gt; " +
"[ <a href='../common/versandkostenStoffeUS.htm' onclick=\"popwin('../common/versandkostenStoffeUS.htm'); return false\">" +
"Shipping costs</a> ]<br><br>" +
"<p class='acht'>Information for my<br><br>  --&gt; " +
"[ <a href='../common/ReturnPolicy.htm' onclick=\"popwin('../common/ReturnPolicy.htm'); return false\">" +
"return policy</a> ]</p>" +
"<p class='rahmen'>Tipp: <b class='blue'>Print</b> the documents " +
"or store them on your PC!</p>";

orderinfo+=shipspeed;

orderinfo+="<h3>Data-Security</h3>" +
"<p class='acht'>We store your adress-data for <strong>" +
"internal use</strong> and never give them to a  " +
"<b>third party</b> (only for the shipment) " +
"You will never receive a later commercial-Mail by us!</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'>Push your " +
" <b>products</b> the **basket**!</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'>Number of entries " + 
"in your **basket**: <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='modify the quantity'" +
"onblur=\"cookiemaker(+this.value+'_" + k_gist + "')\"> " +

"<a href='javascript:location.reload()' title='refresh display'>" +
"<img src='engine/help/okay.gif' border='0' width='8' " +
"height='9' alt='refresh display'></a> " +

"&nbsp;<a href=\"javascript:cookiemaker('0_" + k_gist + "')\" " +
"title='delete product'>" +
"<img src='engine/help/delete.gif' border='0' width='8' " +
"height='9' alt='delete product'></a> " +

"&nbsp;(<i>" + k_gist+"</i>)</form>" +
"[ <a href='index.html?sp~" + prodata['prodnr'] + "&c~" + 
prodata['prodcat'] + "' title='click to display product'>" + 
prodata['prodver'] + eunit + " " + 
prodata['prodtitle'] + "</a> ]</div>";

var p_einz=k_nr*prodata['prodprice'];
p_ges+=p_einz;

daten+="<div class='acht'>price: <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='<<-- checkout' title='" +
"order summary'>" +
"</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='refresh'>" +
"refresh</a> ]<br>" +
"[ <a href='javascript:delnote()' " +
"title='delete all entries'>" +
"delete **basket**</a> ]<br>" +
"</div>" +
"<p class='acht'><b>change quantity?</b><br>" +
"enter new quantity!</p>";

daten+=ho_form;

if (p_ges==0) {
window.name="";
}

if (maxamount > p_ges && maxamount != "") {
daten+="<p class='rahmen'>Tipp: From an order-amount of " +
"<b> " + trim(maxamount) + "&nbsp;" + currency + 
"</b>  you pay  <strong> no </strong> " +
"<a href='../common/versandkostenStoffeUS.htm' onclick=\"popwin('../common/versandkostenStoffeUS.htm'); " +
"return false\">shipment costs</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>The minimal order-amount is " + 
trim(minamount) + " " + currency + "!</p>" +
"<form><input type=\"button\" onclick=" +
"\"location='index.html?c~2'\" " +
"value=\"Please shop further --&gt;\"></form>";
}
var shipform="<h4>1st Step: Shipment method and cost</h4>\n" +
"<p>Shipment will be done: </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;(no shipping costs)</div>\n ";
} 
else {
vkosten=Number(ship[h].split("=")[1])+Number(shipadd);
shipform+="&nbsp;(zuzügl. <b>" + trim(vkosten) + 
"&nbsp;" + currency + "</b> shipment-costs)</div>\n ";

}

} // FOR ZU

} // Shipping-Array-If ENDE
else {
shipform+="<div>... only by <strong>" + 
ship.split("=")[0] + "</strong>.<br>";

vkosten=Number(ship.split("=")[1])+Number(shipadd);
if (Number(a) > maxamount && maxamount != 0) {
vkosten=0;
} 

shipform+="The shipment costs are <b>" + trim(vkosten) +
"&nbsp;" + currency + "</b>.<br>" +
"<input type='hidden' name='sc2' value='0'></div>";

}
//Begin RD added 12.02.2005  ** added payment method
shipform+="<h4>2nd Step: Enter payment method</h4>\n" +
"<p>Payment method: we prefer PayPal. it is fast, easy and save</p>\n";

if (paymentmethod.indexOf(",")>=0) { // ship-Array-If ANFANG
paymentmethod=paymentmethod.split(",");
for (h=0;h<paymentmethod.length;h++) {
shipform+="<div><input type='radio' value='" + 
h + "' name='pc'> pay by <strong>" +
paymentmethod[h].split("=")[0] + "</strong>";
} // FOR ZU
} // if loop ZU

shipform+="<p><input type=\"button\" onclick=" +
"\"location='index.html?c~2'\" " +
"value=\"cancel ordering!\" " +
"title=\"You want to shop further?\">\n" +
"<input type=\"submit\" class='blue' " +
"value=\"order now --&gt;&gt;\" " +
"title=\"next step of order!\">\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 ("Please choose the shipment method!");
return false;
}
//window.location="index.html?c~0.2&sm~" + sm;
//return false;
// check if payment method is checked RD 12.2.2005
var pm=""; // payment method
var notfound=true;
var pg=document.shipform.pc;
for (y=0;y<pg.length;y++) { // for ANFANG
if (pg[y].checked) {
pm=pg[y].value;
notfound=false;
} // if ENDE
} // for ENDE
if (notfound) {
alert ("Please choose a payment method!");
return false;
}
window.location="index.html?c~0.2&sm~" + sm + "&pm~" + pm;
return false;
}
// end RD 12.2.2005

// löscht den Notizzettel auf Nachfrage // neu
function delnote() {
if (confirm("You really want to delete the **BASKET**?")) { 
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("You shopped somwhere else?\n" +
"Welcome in our provence-shop!");
delcookie();
}
return ft;
}