function calculate(size, options)
{
    var size = getSelectedSize();
    var options = getSelectedOptions();
    var current = new Array();
    
    current[1] = -1;
    var found2 = 0;
    
    for(var a = 0; a < preise.length; a++)
    {
        found = 0;

        if(preise[a][1] != size) continue;
        
        for(var b = 0; b < preise[a][2].length; b++)
        {
            for(var c = 0; c < options.length; c++)
            {
                if(preise[a][2][b] == options[c]) {found++; found2++;}
            }
        }
        if(current[1] < found)
        {
            current[0] = preise[a][0];
            current[1] = found;
        }
    }
                          
    // schauen, ob es überhaupt diese kombination gibt, wenn nicht, dann kann es auch keinen preis geben
    if(found2 == 0 && options.length > 0)
    {
        return 0;   
    }   
    //else
    {       
    return current[0] * exchange_rate;
}
}

function getSelectedOptions()
{
    var result = new Array();
    var el;
    for(var a = 0; a < options.length; a++)
    {
        el = document.getElementById("merkmal" + options[a]);
        if(el && el.checked) result[result.length] = options[a];
    }
    return result;
}

function getSelectedSize()
{

    size = document.getElementById("size");
    if(!size)
    {
        return defaultsize;
    }
    else
    {
        return size.value;
    }
}

var el = document.getElementById("preisanzeige");
var el2 = document.getElementById("punkteanzeige");
function updatePreis()
{
    
    var va = (calculate() / 100).toFixed(2);
           
    if(va == 0)
    {
        va = langPreisNull;                        
        document.getElementById('txtMenge').disabled = true;  
        document.getElementById('addtocart_small').disabled = true;                        
        document.getElementById('txtMenge').style.display = 'none';                          
        document.getElementById('addtocart_small').style.display = 'none';                        
    }
    else
    {     
    va = va + " " + currency;
    va = va.replace(/\./, ",");
        document.getElementById('txtMenge').disabled = false;  
        document.getElementById('addtocart_small').disabled = false;                         
        document.getElementById('txtMenge').style.display = 'inline';               
        document.getElementById('addtocart_small').style.display = 'inline'; 
    }                        
    
    var va2 = (calculate() / 1000).toFixed(2);
    va2 = va2.replace(/\./, ",");
       
    if(document.all){
        var last = el.innerText;
        el.innerText = va;
        el2.innerText = va2;
    } else{
        var last = el.textContent;
        el.textContent = va;
        el2.textContent = va2;
    }
    if(last.substr(0, last.length - 4) != va.substr(0, va.length - 4))
    {
        highlightPreis();
    }
}

var red = 0;

function highlightPreis()
{
    red = 0;
    el.style.color = "rgb(255,0,0)";
    window.setTimeout("descendHighlightPreis()", 10);
}

function descendHighlightPreis()
{
    var newval = 255 - red;
    red++;
    el.style.color = "rgb("+newval+","+Math.round(red*1.5)+","+Math.round(red*.059)+")";
    if(newval > 137) window.setTimeout("descendHighlightPreis()", 10);
}


// Color
function updateColor(objekt)
{
    var merkmalid = objekt.value;
    var colorpreview = document.getElementById('colorpreview');
    var colorradio = document.getElementById('colorradio' + merkmalid);
    var colorselect = document.getElementById('colorselect');
    
    if(colorpreview && colorradio && colorselect)
    {
        if(colorselect.value != merkmalid) colorselect.value = merkmalid;
        if(colorradio.checked != true) colorradio.checked = true;
        colorpreview.style.background = colorselect.options[colorselect.selectedIndex].style.backgroundColor;
    }
    return true;
}