﻿/***************************************************************************************************

    FUNKTIONEN  FÜR DIE PRODUKTELISTEN

***************************************************************************************************/

/*
    Handhabt die Menge für alle bestellbaren Produkte einer Liste
*/
function Produktsuche_handleMengeAvailability(ddLieferart, Index, setFocusOnReactivate)
    {
    var tMengen = document.getElementsByName('addWK_Menge');

    if (tMengen)
        {
        if (tMengen.length >= Index)
            {
            if (tMengen[Index])
                {//Menge-Control gefunden!
                
                    if (ddLieferart)
                        {
                        var orginalMenge = ddLieferart.options[ddLieferart.selectedIndex].getAttribute("originalMenge", 0);
                        var maxMenge = ddLieferart.options[ddLieferart.selectedIndex].getAttribute("maxMenge", 0);

                        if (maxMenge)
                            {//Attribut mit der maximalen Menge gefunden!

                            if (maxMenge == -1)
                                {//Menge nicht festgelegt!
                                tMengen[Index].readOnly = false;
                                tMengen[Index].className = 'Formular_Menge';
                                if (setFocusOnReactivate == true)
                                    {
                                    if (orginalMenge)
                                        {
                                        tMengen[Index].value = orginalMenge;
                                        }
                                    tMengen[Index].focus();
                                    }
                                }
                            else if (maxMenge == 1) 
                                {//maximale Menge = 1
                                tMengen[Index].readOnly = true;
                                tMengen[Index].className = 'Formular_Menge_inaktiv';
                                ddLieferart.options[ddLieferart.selectedIndex].setAttribute("originalMenge", tMengen[Index].value, 0);
                                tMengen[Index].value = 1;
                                }
                            
                            }
                        }                    
                }
            }
        }
    }
    
    
/*
    Handhabt die Menge ein einzelnes Produkte, z.B. in der Detailansicht
*/
function Produktsuche_Single_handleMengeAvailability(ddLieferart, setFocusOnReactivate)
    {
    var Index = 0;
    var tMengen = document.getElementsByName('addWK_Menge_Single');

    if (tMengen)
        {
        if (tMengen.length >= Index)
            {
            if (tMengen[Index])
                {//Menge-Control gefunden!
                
                    if (ddLieferart)
                        {
                        var orginalMenge = ddLieferart.options[ddLieferart.selectedIndex].getAttribute("originalMenge", 0);
                        var maxMenge = ddLieferart.options[ddLieferart.selectedIndex].getAttribute("maxMenge", 0);

                        if (maxMenge)
                            {//Attribut mit der maximalen Menge gefunden!

                            if (maxMenge == -1)
                                {//Menge nicht festgelegt!
                                tMengen[Index].readOnly = false;
                                tMengen[Index].className = 'Formular_Menge';
                                if (setFocusOnReactivate == true)
                                    {
                                    if (orginalMenge)
                                        {
                                        tMengen[Index].value = orginalMenge;
                                        }
                                    tMengen[Index].focus();
                                    }
                                }
                            else if (maxMenge == 1) 
                                {//maximale Menge = 1
                                tMengen[Index].readOnly = true;
                                tMengen[Index].className = 'Formular_Menge_inaktiv';
                                ddLieferart.options[ddLieferart.selectedIndex].setAttribute("originalMenge", tMengen[Index].value, 0);
                                tMengen[Index].value = 1;
                                }
                            
                            }
                        }                    
                }
            }
        }
    }
    
    
/*
    Handhabt die Lieferarten für alle bestellbaren Produkte einer Liste
*/
function Produktsuche_handleAllLieferarten()
    {
    var ddLieferart_DropDowns = document.getElementsByName('addWK_Preis');
    
    if (ddLieferart_DropDowns)
        {
        var x = 0;

        while (x < ddLieferart_DropDowns.length) 
            {
              Produktsuche_handleMengeAvailability(ddLieferart_DropDowns[x], x, false)
              x = x + 1;
            }
        }
    }
    
    
/*
    Handhabt die Lieferarten für ein einzelnes Produkt, z.B. in der Detailansicht
*/
function Produktsuche_Single_handleAllLieferarten()
    {
    var ddLieferart_DropDowns = document.getElementsByName('addWK_Preis_Single');
    
    if (ddLieferart_DropDowns)
        {
        var x = 0;

        while (x < ddLieferart_DropDowns.length) 
            {
              Produktsuche_handleMengeAvailability(ddLieferart_DropDowns[x], x, false)
              x = x + 1;
            }
        }
    }
    
    
/*
    bestellt ein Produkt aus einer Liste von Produkten
*/
function orderProduct_via_AJAX(bAddWK, Index)
    {
    try
        {
        
        var ddLieferart = document.getElementsByName('addWK_Preis');
        var tMengen = document.getElementsByName('addWK_Menge');

        //alert('ddLieferart = ' + ddLieferart);
        //alert('tMengen = ' + tMengen);
        
        if (ddLieferart)
            {
            if (ddLieferart.length >= Index)
                {
                if (ddLieferart[Index])
                    {//Lieferart-Control gefunden!
                    if (tMengen)
                        {
                        if (tMengen.length >= Index)
                            {
                            if (tMengen[Index])
                                {//Menge-Control gefunden!
                                
                                
                                    //$[ID];$[Waehrung_Code];$[LieferartCode];$[Sprach_Code]
                                    var myLieferart_SplitString = ddLieferart[Index].value; //.options[ddLieferart.selectedIndex].text;
                                    var myLieferart = myLieferart_SplitString.split(';');
    
                                    if (myLieferart.length >= 4)
                                        {
                                        var myProd_ID = myLieferart[0];
                                        var myWaehrung_Code = myLieferart[1];
                                        var myLieferart_Code = myLieferart[2];
                                        var mySprach_Code = myLieferart[3];
                                        var myMenge = tMengen[Index].value;

                                        //Produkt via AJAX in den WK legen!
                                        /*
                                        alert('myProd_ID = ' +  myProd_ID
                                                + '\n' + 'myWaehrung_Code = ' + myWaehrung_Code
                                                + '\n' + 'myLieferart_Code = ' + myLieferart_Code
                                                + '\n' + 'mySprach_Code = ' + mySprach_Code
                                                + '\n' + 'myMenge = ' + myMenge
                                                + '\n' + 'bAddWK = ' + bAddWK);
                                        */
                                        addWarenkorb_Produkt('', myProd_ID, myWaehrung_Code, myLieferart_Code, myMenge, bAddWK);
                                        //Submit des Formulares verhindern
                                        //window.event.cancelBubble = true;
	                                    //if (window.event.stopPropagation) window.event.stopPropagation();
	                                    
                                        }    
                                                        
                                }
                            }
                        }                   
                    }
                }
            }

        }
    catch (e)
        {
        alert('orderProduct_via_AJAX: ' + e.message);
        }
    finally
        {
        return false;
        }
    }
    
    
/*
    bestellt ein einzelnes Produkt, z.B. aus der Detailansicht
*/
function orderProduct_Single_via_AJAX(bAddWK)
    {

    try
        {
        
        var Index = 0;
        var ddLieferart = document.getElementsByName('addWK_Preis_Single');
        var tMengen = document.getElementsByName('addWK_Menge_Single');

        if (ddLieferart)
            {
            if (ddLieferart.length >= Index)
                {
                if (ddLieferart[Index])
                    {//Lieferart-Control gefunden!
                    if (tMengen)
                        {
                        if (tMengen.length >= Index)
                            {
                            if (tMengen[Index])
                                {//Menge-Control gefunden!
                                
                                
                                    //$[ID];$[Waehrung_Code];$[LieferartCode];$[Sprach_Code]
                                    var myLieferart_SplitString = ddLieferart[Index].value; //.options[ddLieferart.selectedIndex].text;
                                    var myLieferart = myLieferart_SplitString.split(';');
    
                                    if (myLieferart.length >= 4)
                                        {
                                        var myProd_ID = myLieferart[0];
                                        var myWaehrung_Code = myLieferart[1];
                                        var myLieferart_Code = myLieferart[2];
                                        var mySprach_Code = myLieferart[3];
                                        var myMenge = tMengen[Index].value;
                                       
    //Produkt via AJAX in den WK legen!
                                        addWarenkorb_Produkt('', myProd_ID, myWaehrung_Code, myLieferart_Code, myMenge, bAddWK);
    //Submit des Formulares verhindern
                                        //window.event.cancelBubble = true;
	                                    //if (window.event.stopPropagation) window.event.stopPropagation();
	                                    
                                        }    
                                                        
                                }
                            }
                        }                   
                    }
                }
            }

        }
    catch (e)
        {
        alert('orderProduct_Single_via_AJAX: ' + e.message);
        }
    finally
        {
        return false;
        }
    }