﻿var _catContent = new Array();
var cart = new Array();
var titles = new Array();
var prices = new Array();
var shippings = new Array();
var ids = new Array();
var counts = new Array();

var lastGoTo = 'DivHome';
var lastHighlight = 'NavHome';

var websiteID = 1;

function TrimString(s)
{
    var ret = s.replace(/\n/g, "");
    ret = ret.replace(/\r/g, "");
    return ret;
}

function GoToLast()
{
	GoTo(lastGoTo, lastHighlight);
}

function GoTo(target, highlight)
{	
	lastGoTo = target;
	lastHighlight = highlight;
	
	$('DivHome').hide();
	$('DivArticles').hide();
	$('DivCassa').hide();
	$('DivBuyComplete').hide();
	$('DivImpressum').hide();
	$('DivLinks').hide();

	RemoveNavHighlights();	
	$('NavHome').setStyle({ backgroundColor: 'white', color: 'gray' }); 
	$('NavImpressum').setStyle({ backgroundColor: 'white', color: 'gray' }); 
	$('NavLinks').setStyle({ backgroundColor: 'white', color: 'gray' }); 
	
	if(highlight != null)
	{
		$(highlight).setStyle({ backgroundColor: 'gray', color: 'white' }); 
	}
	$(target).show();
}

function LoadArticleCat(articleCategory)
{		
	var highlight = 'NavArticle' + articleCategory;
	while(_catContent.length < articleCategory)
	{
		_catContent.push(null);
	}
	if(_catContent[articleCategory - 1] == null)
	{
		var bla = new Ajax.Request('LoadArticles.php',
	            {
	            method:'get',
	            onSuccess: function(transport){
	              var response = transport.responseText || "";
	              response = TrimString(response);	
	              _catContent[articleCategory - 1] = response;
	              $('DivArticlesContent').innerHTML = response;   
	              GoTo('DivArticles', highlight);
	              initLightbox();
	            },
	            onError: function(transport){
	            	alert('error');
	            	alert(transport.responseText || "");
		            },
	            parameters: {
		            	category: articleCategory,
		            	websiteID: websiteID}
	            });
	}
	else
	{	
        $('DivArticlesContent').innerHTML = _catContent[articleCategory - 1];               
        GoTo('DivArticles', highlight);
        initLightbox();
	}
}

function AddToCart(itemid, item)
{
    var found = false;
    var itemtitle = $(item).innerHTML;
    
    var theid = $(itemid).value;

    for(var i = 0; i < cart.length; i++)
    {
        if(cart[i] == theid)
        {
            counts[i] += 1.0;
            found = true;
        }
    }
    
    if(!found)
    {            
        cart.push(theid);
		
        titles.push(itemtitle);
        
        var p = item + 'Price';
        var s = item + 'Shipping';
        var id = item + 'ID';
        
        prices.push($(p).value);
        shippings.push($(s).value);
        ids.push($(id).value);

        counts.push(1.0);
    }
    
    ShowCart();        
}

function ChangeCartCount(item, value)
{
    for(var i = 0; i < cart.length; i++)
    {
        if(cart[i] == item)
        {
            if(value == 'delete')
            {
                counts[i] = 0.0;
                cart[i] = 'empty';
            }
            else
            {
                counts[i] += value;
                if(counts[i] < 0.9)
                {
                    counts[i] = 0.0;
                    cart[i] = 'empty';
                }
            }
            ShowCart();
        }
    }
}

function CartItems()
{
    var l = 0;
    
    for(var i = 0; i < cart.length; i++)
    {
        if(cart[i] != 'empty')
        {
            l++;
        }
    }
    return l;
}

function ToDouble(s)
{
    var teile = s.split(",");
    var neu = teile[0] + "." + teile[1];
    var zahl = neu * 1.0;
    return zahl;
}

function ToString(d, dec)
{
    var t = "";
    t += d;
    
    var teile = t.split(".");
    
    if(teile.length < 2)
    {
        t += ",";
        for(var dd = 0; dd < dec; dd++)
        {
			t += "0";
        }
    }
    else if (teile[1].length < dec)
    {
        t = teile[0] + "," + teile[1];
        for(var dd = teile[1].length; dd < dec; dd++)
        {
			t += "0";
        }
    }
    else
    {
        t = teile[0] + "," + teile[1].substr(0,dec);
    }
     
    return t;
}

function ShowCart()
{
    $('DivCart').show();
    
    if(CartItems() == 0)
    {
        $('DivCartContent').innerHTML = "";
    }
    else
    {           
        $('DivCartContent').innerHTML = GenerateCartTable(false);    
    }
    
}

function moneyround(zahl)
{
	var enhanced = ToString(zahl, 3);
	
	if(enhanced.charAt(enhanced.length - 1) * 1.0 >= 5.0)
	{
		return ToDouble(ToString((zahl + 0.01), 2));
	}
	else
	{
		return ToDouble(ToString(zahl, 2));
	}
}

function GenerateCartTable(fixed)
{
	var addToCartImage = "http://www.ohrschmuck-fee.de/Bilder/AddToCart.png";
	var subFromCartImage = "http://www.ohrschmuck-fee.de/Bilder/SubFromCart.png";
	var deleteFromCartImage = "http://www.ohrschmuck-fee.de/Bilder/DeleteFromCart.png";
	var weiterImage = "http://www.ohrschmuck-fee.de/Bilder/weiter.png";
	var cartColor = "#3D719D";
	
	if(websiteID == 2)
	{
		addToCartImage = "http://www.ohrschmuck-fee.de/Bilder/AddToCartGeschenke.png";
		subFromCartImage = "http://www.ohrschmuck-fee.de/Bilder/SubFromCartGeschenke.png";
		deleteFromCartImage = "http://www.ohrschmuck-fee.de/Bilder/DeleteFromCartGeschenke.png";
		weiterImage = "http://www.ohrschmuck-fee.de/Bilder/weiterGeschenke.png";
		cartColor = "#458549";
	}
	
    var html = "";
        
    html += "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">";    
    
    var pricetotal = 0.0;
    var shippingmax = 0.0;
    var itemcount = 0.0;
    html += "<tr>";
    
    html += "<td align=\"left\" style=\"border-bottom:solid 1px " + cartColor + "; color: " + cartColor + "; font-weight:bold\">";
    html += "Artikel";
    html += "<\/td>";
    
    html += "<td align=\"left\" style=\"border-bottom:solid 1px " + cartColor + "; color: " + cartColor + "; font-weight:bold\">";
    html += "Anzahl";
    html += "<\/td>";
    
    if(fixed)
    {
		html += "<td align=\"left\" style=\"border-bottom:solid 1px " + cartColor + "; color: " + cartColor + "; font-weight:bold\">";
		html += "Einzelpreis";
		html += "<\/td>";
    
		html += "<td align=\"left\" style=\"border-bottom:solid 1px " + cartColor + "; color: " + cartColor + "; font-weight:bold\">";
		html += "Gesamtpreis";
		html += "<\/td>";
    }
    else
    {
		html += "<td align=\"left\" style=\"border-bottom:solid 1px " + cartColor + "; color: " + cartColor + "; font-weight:bold\">";
		html += "Preis";
		html += "<\/td>";
    }
    
    if(!fixed)
    {        
        html += "<td style=\"border-bottom:solid 1px " + cartColor + "\">";
        html += "<\/td>";
        
        html += "<td style=\"border-bottom:solid 1px " + cartColor + "\">";
        html += "<\/td>";
        
        html += "<td style=\"border-bottom:solid 1px " + cartColor + "\">";
        html += "<\/td>";
    }
    
    html += "<\/tr>";
    
    for(var i = 0; i < cart.length; i++)
    {
        if(cart[i] != 'empty')
        {
			itemcount += 1.0 * counts[i];
            html += "<tr>";
            
            html += "<td align=\"left\" style=\"border-bottom:solid 1px #BBD0DF; color: " + cartColor + "\">";
            html += titles[i];
            html += "<\/td>";
            
            html += "<td align=\"left\" style=\"border-bottom:solid 1px #BBD0DF; color: " + cartColor + "\">";
            html += counts[i];
            html += "<\/td>";
            
            if(fixed)
            {
				html += "<td align=\"left\" style=\"border-bottom:solid 1px #BBD0DF; color: " + cartColor + "\">";
				html += ToString(ToDouble(prices[i]), 2) + " €";
				html += "<\/td>";
            
				html += "<td align=\"right\" style=\"border-bottom:solid 1px #BBD0DF; color: " + cartColor + "\">";
				html += ToString(ToDouble(prices[i]) * counts[i], 2) + " €";
				html += "<\/td>";
            }
            else
            {
				html += "<td align=\"left\" style=\"border-bottom:solid 1px #BBD0DF; color: " + cartColor + "\">";
				html += ToString(ToDouble(prices[i]) * counts[i], 2) + " €";
				html += "<\/td>";
            }
            
            if(!fixed)
            {
                html += "<td style=\"border-bottom:solid 1px #BBD0DF\">";
                html += "<img style=\"cursor:pointer\" src=\"" + addToCartImage +"\" alt=\"Anzahl erhöhen\" onclick=\"ChangeCartCount(" + cart[i] + ", 1.0)\"/>";
                html += "<\/td>";
                
                html += "<td style=\"border-bottom:solid 1px #BBD0DF\">";
                html += "<img style=\"cursor:pointer\" src=\"" + subFromCartImage +"\" alt=\"Anzahl verringern\" onclick=\"ChangeCartCount(" + cart[i] + ", -1.0)\"/>";
                html += "<\/td>";
                
                html += "<td style=\"border-bottom:solid 1px #BBD0DF\">";
                html += "<img style=\"cursor:pointer\" src=\"" + deleteFromCartImage +"\" alt=\"Artikel löschen\" onclick=\"ChangeCartCount(" + cart[i] + ", 'delete')\"/>";
                html += "<\/td>";
            }

            
            pricetotal += ToDouble(prices[i]) * counts[i];
            
            if(ToDouble(shippings[i]) > shippingmax)
            {
                shippingmax = ToDouble(shippings[i]);
            }
            
            html += "<\/tr>";
        }
    }
    
    var cs = "5";
    if(fixed)
    {
        colspan = "3";
    }
    
    
    
    if(!fixed)
    {
		html += "<tr>";
		html += "<td align=\"left\" style=\"border-bottom:solid 1px " + cartColor + "; color: " + cartColor + "; font-weight:bold\">";
		html += "Gesamt:";
		html += "<\/td>";            
		html += "<td colspan=\"" + cs + "\" align=\"right\" style=\"border-bottom:solid 1px " + cartColor + ";color: " + cartColor + "\">";
		html += ToString(pricetotal, 2) + " €";
		html += "<\/td>";            
		html += "<\/tr>";
    }
    
    var factor = 0.3;
    
    var shippingtotal = moneyround(2.95); //;moneyround(shippingmax + (itemcount - 1.0) * factor);
    
    html += "<tr>";
	html += "<td align=\"left\" style=\"border-bottom:solid 1px " + cartColor + "; color: " + cartColor + "\">";
	html += "Versand:";
	html += "<\/td>";            
	html += "<td colspan=\"" + cs + "\" align=\"right\" style=\"border-bottom:solid 1px " + cartColor + ";color: " + cartColor + "\">";
	html += ToString(shippingtotal, 2) + " €";
	html += "<\/td>";            
	html += "<\/tr>";
    
    pricetotal = moneyround(pricetotal + shippingtotal);
    
    html += "<tr>";
    html += "<td align=\"left\" style=\"color: " + cartColor + "; font-weight:bold\">";
    html += "Rechnungsbetrag:";
    html += "<\/td>";            
    html += "<td colspan=\"" + cs + "\" align=\"right\" style=\"color: " + cartColor + "; font-weight:bold\">";
    html += ToString(pricetotal, 2) + " €";
    html += "<\/td>";            
    html += "<\/tr>";
    
    if(!fixed)
    {
        html += "<tr>";
        html += "<td align=\"right\" style=\"color: " + cartColor + "\">";
        html += "zur Kasse gehen";
        html += "<\/td>";            
        html += "<td colspan=\"5\" align=\"right\" style=\"color: " + cartColor + "; font-weight:bold\">";
        html += "<img style=\"cursor:pointer\" src=\"" + weiterImage + "\" alt=\"zur Kasse\" onclick=\"ShowCassa()\"/>";
        html += "<\/td>";            
        html += "<\/tr>";
    }
    else
    {
		//html += "<tr>";          
        //html += "<td colspan=\"4\" align=\"right\" style=\"color: #8C8C8C\">";
        //html += "enthaltene Mehrwertsteuer (19%):  " + ToString(moneyround(pricetotal *(1 - 1/1.19)), 2) + " €";
        //html += "<\/td>";            
        //html += "<\/tr>";
    }
    
    html += "<\/table>"; 
    
    return html;
}

function ShowCassa()
{  
    $('DivHome').hide();
    $('DivArticles').hide();
    
    $('TDCassaCart').innerHTML = GenerateCartTable(true) + "<br /><br />";    
    $('DivCassa').show();        
    
}

function Buy()    
{    
    var f = document.CassaForm; 
    
    var anrede = "";
    
    if(f.CassaAnredeFrau.checked)
    {
        anrede = "Frau";
    } else if(f.CassaAnredeMann.checked)
    {
        anrede = "Herr";
    } else if(f.CassaAnredeFirma.checked)
    {
        anrede = "Firma";
    }
    
    var vorname = f.Vorname.value;
    var nachname = f.Nachname.value;
    var plz = f.PLZ.value;
    var strasse = f.Strasse.value;
    var ort = f.Ort.value;
    var email = f.Email.value;
    var email2 = f.Email2.value;
    
    var lanrede = "";
    var lvorname = "";
    var lnachname = "";
    var lstrasse = "";
    var lplz = "";
    var lort = "";
    
    if(f.LieferAdresseNew.checked)
    {
        if(f.CassaLAnredeFrau.checked)
        {
            lanrede = "Frau";
        } else if(f.CassaLAnredeMann.checked)
        {
            lanrede = "Herr";
        } else if(f.CassaLAnredeFirma.checked)
        {
            lanrede = "Firma";
        }
        
        lvorname = f.LVorname.value;
        lnachname = f.LNachname.value;
        lstrasse = f.LStrasse.value;
        lplz = f.LPLZ.value;
        lort = f.LOrt.value;
    }
    else
    {
        lanrede = anrede;
        lvorname = vorname;
        lnachname = nachname;
        lstrasse = strasse
        lplz = plz;
        lort = ort;
    }
    
    var error = false;

    if(anrede == "")
    {
        $('TDCassaAnredeError').innerHTML = "Bitte wählen sie eine Anrede aus"; 
        error = true;
    }
    else
    {
        $('TDCassaAnredeError').innerHTML = "";
    }
    if(vorname == "")
    {
        $('TDCassaVornameError').innerHTML = "Bitte geben sie einen Vornamen an"; 
        error = true;
    }
    else
    {
        $('TDCassaVornameError').innerHTML = "";
    }
    if(nachname == "")
    {
        $('TDCassaNachnameError').innerHTML = "Bitte geben sie einen Nachnamen an"; 
        error = true;
    }
    else
    {
        $('TDCassaNachnameError').innerHTML = "";
    }
    if(strasse == "")
    {
        $('TDCassaStrasseError').innerHTML = "Bitte geben sie eine Straße an"; 
        error = true;
    }
    else
    {
        $('TDCassaStrasseError').innerHTML = "";
    }
    if(ort == "" || plz == "")
    {
        $('TDCassaPLZOrtError').innerHTML = "Bitte geben sie einen Ort an"; 
        error = true;
    }
    else
    {
        $('TDCassaPLZOrtError').innerHTML = "";
    }
    if(email == "")
    {
        $('TDCassaEmailError').innerHTML = "Bitte geben sie eine E-Mailadresse an"; 
        error = true;
    }
    else
    {
        $('TDCassaEmailError').innerHTML = "";
    }
    if(email2 != email)
    {
        $('TDCassaEmail2Error').innerHTML = "Die E-Mailadressen stimmen nicht überein"; 
        error = true;
    }
    else
    {
        $('TDCassaEmail2Error').innerHTML = "";
    }
    if(lanrede == "")
    {
        $('TDCassaLAnredeError').innerHTML = "Bitte wählen sie eine Anrede aus"; 
        error = true;
    }
    else
    {
        $('TDCassaLAnredeError').innerHTML = "";
    }
    if(lvorname == "")
    {
        $('TDCassaLVornameError').innerHTML = "Bitte geben sie einen Vornamen an"; 
        error = true;
    }
    else
    {
        $('TDCassaLVornameError').innerHTML = "";
    }
    if(lnachname == "")
    {
        $('TDCassaLNachnameError').innerHTML = "Bitte geben sie einen Nachnamen an"; 
        error = true;
    }
    else
    {
        $('TDCassaLNachnameError').innerHTML = "";
    }
    if(lstrasse == "")
    {
        $('TDCassaLStrasseError').innerHTML = "Bitte geben sie eine Straße an"; 
        error = true;
    }
    else
    {
        $('TDCassaLStrasseError').innerHTML = "";
    }
    if(lort == "" || lplz == "")
    {
        $('TDCassaLPLZOrtError').innerHTML = "Bitte geben sie einen Ort an"; 
        error = true;
    }
    else
    {
        $('TDCassaLPLZOrtError').innerHTML = "";
    }
    
    if(!error)
    {
        var bestellung = "";
        for(var i = 0; i < cart.length; i++)
        {
            if(cart[i] != 'empty')
            {
                bestellung += ids[i] + ":" + counts[i] + ";";
            }
        }
        
        if(bestellung.length > 0)
        {
            bestellung = bestellung.substr(0, bestellung.length - 1);
            var bla = new Ajax.Request('Buy.php',
            {
            method:'get',
            onSuccess: function(transport){
              var response = transport.responseText || "";

              response = TrimString(response);
              
              
              if(response == "OK")
              {                    
                cart = new Array();
                titles = new Array();
                prices = new Array();
                shippings = new Array();
                ids = new Array();
                counts = new Array();
                
                $('DivCartContent').innerHTML = "";
                GoTo('DivBuyComplete', null);
                
                $('AGBCB').checked = false;
                
              }
            },
            parameters: {   Anrede: anrede, 
                            Vorname: vorname,
                            Nachname: nachname,
                            Strasse: strasse,
                            PLZ: plz,
                            Ort: ort,
                            Email: email,
                            LAnrede: lanrede, 
                            LVorname: lvorname,
                            LNachname: lnachname,
                            LStrasse: lstrasse,
                            LPLZ: lplz,
                            LOrt: lort,       
                            Bestellung: bestellung,
                            WebsiteID: websiteID
                        }
            });
        }
    }

}

