var shop_data = new Array()

//////////////
// helpers
//////////////

function Cart_PriceString (price)
{
        var preisstring = price;
        if (preisstring < 0){
         return "a.A.";
        }
        else{
         preisstring = (Math.round(preisstring * 100) / 100).toString();
         preisstring += (preisstring.indexOf('.') == -1)? '.00' : '00';
         return preisstring.substring(0, preisstring.indexOf('.') + 3);
        }
}

//////////////
// order form
//////////////

var cart = 0;
var orders = new Array();
var cookienums = new Array();                // ist orders[] zugeordnet

function Cart_Order_List ()
{
        dc = document.cookie; j = 0;

        for (i = 17; i > 0; i--)
        {
                prefix = "order" + i + "=";
                if ( (begin = dc.indexOf(prefix)) != -1 )
                {
                        if ( (end = dc.indexOf(";", begin)) == -1 ) end = dc.length;
                        c = dc.substring(begin + prefix.length, end);
                        orders[j] = new Array();
                        orders[j] = c.split("#");
                        cookienums[j] = i;
                        j++;
                }
        }

        return j;
}

function Cart_Order_Print ()
{
        if (!Cart_Order_List())
        {
                alert("Es befinden sich keine Artikel in Ihrem Warenkorb");
                self.close();
                return;
        }

        for (i = 0; i < orders.length; i++)
        {
                options = ""; na = false;
                switch (orders[i][0])
                {
                case "handy":                data = handy_data;
                                                        if ((h = Handy_Offset(orders[i][1])) == data.length)
                                                                na = true;
                                                        else
                                                        {
                                                                p = Handy_PriceOffset(orders[i][3])
                                                                options = ", " + handy_vertrag[p] + ", " + orders[i][4];
                                                                prc = data[h+p+2];
                                                        }
                                                        break;
                case "vertrag":                data = vertrag_data;
                                                        if ((h = Vertrag_Offset(orders[i][1])) == data.length) na = true; else prc = data[h+2];
                                                        break;
                case "zubehoer":        data = zubehoer_data;
                                                        if ((h = Zubehoer_Offset(orders[i][1])) == data.length) na = true; else prc = data[h+2];
                                                        break;
                case "ersatz":                data = ersatz_data;
                                                        if ((h = Ersatz_Offset(orders[i][1])) == data.length) na = true; else prc = data[h+2];
                                                        break;
                case "akku":                data = akku_data;
                                                        if ((h = Akku_Offset(orders[i][1])) == data.length) na = true; else prc = data[h+2];
                                                        break;
                case "restposten":        data = restposten_data;
                                                        if ((h = Restposten_Offset(orders[i][1])) == data.length) na = true; else prc = data[h+2];
                                                        break;

                default:                        na = true;
                }

                if (na)
                        document.write(

"<tr><td><input name='sel" + i + "' type='checkbox' checked>&nbsp;&nbsp;</td>" +
"<td class='ordered'>" + orders[i][2] + "</td>" +
"<td class='ordered'>" + orders[i][1] + " *** nicht mehr lieferbar!</td>" +
"<td class='ordered'>0,-</td>" +
"<td class='ordered'>0,-</td></tr>"

                        );
                else
                        document.write(

"<tr><td><input name='sel" + i + "' type='checkbox' checked>&nbsp;&nbsp;</td>" +        // checkbox
"<td class='ordered'>" + orders[i][2] + "</td>" +                                                                        // stueck
"<td class='ordered'>" + data[++h] + options + "</td>" +                                                        // bezeichnung
"<td class='ordered'>" + Cart_PriceString(prc) + "</td>" +                                                        // preis
"<td class='ordered'>" + Cart_PriceString(orders[i][2]*prc) + "</td></tr>"                        // gesamt

                        );
        }
}

var locked_refresh = false;

function Cart_Order_Delete (num)
{
        x = new Date();
        x.setTime (x.getTime() - 1000000000);
        document.cookie = "order" + num + "=deleted; expires=" + x.toGMTString();
}

function Cart_Order_Refresh ()
{
        for (i = 0; i < orders.length; i++)
                if (!document.list["sel"+i].checked)
                        Cart_Order_Delete(cookienums[i]);
        document.location.reload();
}

//////////////
// data form
//////////////

function Cart_FormData_Print ()
{
        s1 = ""; s2 = "<input type='hidden' name='sort' value='titel,vorname,nachname,firma,anschrift,anschrift2,plz,ort,land,telefon1,telefon2,fax,zahlung,kreditkarte,karteninhaber,kartennummer,gueltigkeit,pruefzahl,versand,faxbestaetigung,aufmerksamkeit,anmerkungen,agb";
        for (i = 0; i < orders.length; i++)
        {
                s1 += "<input name='bestellung" + i + "' type='hidden' value=''>";
                s2 += ",bestellung" + i;
        }
        s2 += "'>";
        document.write(s1);
        document.write(s2);
}

function Cart_FormData_Submit (generate)
{
        erridx = 0; errmsg = ""; o = document.order;
        vorname = o.vorname.value;
        nachname = o.nachname.value;
        telefon1 = o.telefon1.value;
        telefon2 = o.telefon2.value;
        fax = o.fax.value;
        email = o.email.value;

        // check input
        if (o.titel.selectedIndex == 2)
        {
                if ( (vorname == "") && (nachname == "") ) errmsg += "(" + ++erridx + ") Bitte geben Sie Ihren NAMEN an\n";
                if ( (telefon1 == "") && (telefon2 == "") ) errmsg += "(" + ++erridx + ") Bitte geben Sie Ihre TELEFONNUMMER an\n";
                if (fax == "") errmsg += "(" + ++erridx + ") Bitte geben Sie Ihre FAXNUMMER an\n";
        }
        else
        {
                if ( (vorname == "") || (nachname == "") ) errmsg += "(" + ++erridx + ") Bitte geben Sie Ihren VOLLSTÄNDIGEN NAMEN an\n";
        }

        if ( ((o.anschrift.value == "") && (o.anschrift2.value == "")) || (o.plz.value == "") || (o.ort.value == "") ) errmsg += "(" + ++erridx + ") Bitte geben Sie Ihre VOLLSTÄNDIGE LIEFERANSCHRIFT an\n";
        if (email == "") errmsg += "(" + ++erridx + ") Bitte geben Sie Ihre EMAIL-ADRESSE für eine Bestellbestätigung an\n";
         if (telefon1 == "") errmsg += "(" + ++erridx + ") Bitte geben Sie Ihre TELEFONNUMER an\n";
/*        if ( o.faxbestaetigung.checked && (fax == "") ) errmsg += "(" + ++erridx + ") Ohne Ihre FAXNUMMER können wir Ihnen die Rechnung nicht vorab schicken\n";
          if ( (o.land.selectedIndex > 0) && (o.zahlung[1].checked) ) errmsg += "(" + ++erridx + ") Lieferungen ins Ausland nur per Vorkasse oder Kreditkarte!\n";
*/

        if (errmsg != "")
        {
                alert("Die Bestellung konnte nicht abgeschickt werden, da folgende Angaben fehlen:\n\n" + errmsg + "\n\nBitte ergänzen Sie die fehlenden Angaben und senden Sie die Bestellung erneut!");
                return false;
        }

        if (generate)
                for (i = 0; i < orders.length; i++) document.order["bestellung"+i].value = orders[i];
        else
                for (i = 0; i < 6; i++) document.order["bestellung"+i].value = document.list["stueck"+i].value + " St., " + document.list["artikel"+i].value + ", Preis: " + document.list["preis"+i].value;

        document.order.realname.value = vorname + " " + nachname;

        // delete cookies
        for (i = 0; i < orders.length; i++)
        {
                Cart_Order_Delete(cookienums[i]);
        }

        return true;
}

//////////////
// window
//////////////

function Cart_Show (generated)
{
        file = generated ? "order_cart.html" : "order_formular.html";
        if (!cart || cart.closed) cart = window.open(file,"Warenkorb","width=800,height=600,screenX=0,screenY=0,resizable=no,scrollbars=yes");
        cart.focus();
}

//////////////
// product selection
//////////////

var popup = popup2 = 0;

function Cart_Add (type, id, opt1)
{
        var title = "request"; var src = "request.html"; var winheight = 280;

        if (type != "request")
        {
                var group = eval("group_" + type); if ( (i = group.Offset(id)) == group.data.length ) return;
                title = "Bestellen"; src = "select.html"; winheight = group.winheight;
        }

        x = new Date(); x.setTime (x.getTime() + 1000*60*60*24*365);
        document.cookie = "selected=" + type + "#" + id + "#" + opt1 + "; expires=" + x.toGMTString();

        if (!popup || popup.closed) popup = window.open(src, title, "width=400,height=" + winheight + ",screenX=0,screenY=0");
        else popup.location.reload();
        popup.focus();
}

//////////////
// misc
//////////////

function Product_Preview (offs)
{
        document.preview.src = prod[offs].src;
}
