﻿//SDRUZOVANI ZBOZI A VECI KOLEM TOHO
function changeOptionBG(selectID,optionCode)
{
    var optionID = selectID + "_" + optionCode;
    
    var optns = getE(selectID).getElementsByTagName('option'); 
    
    for(var i = 0; i < optns.length; i++)
    {
        optns[i].className="";
    } 
    

    getE(optionID).className="catalogueParamOption";

    
}



function selectVariant(idParamBase, idVariantBase, selectedVariantsID, originCode, currentFormBoxID)
{
    var baseParamCounter = 0;
    var baseVariantCounter = 1;
    var variantString = '%%';
    var completeMatch = false;
    var counterCdps = 0;
    var cdps = '';
    

    while (getE(currentFormBoxID).getElementsByTagName('select')[baseParamCounter])
    {

        var param = getE(currentFormBoxID).getElementsByTagName('select')[baseParamCounter];
        

        while (getE(idVariantBase + baseVariantCounter))
        {
            var variant = getE(idVariantBase + baseVariantCounter);
            
            if (variant.value.indexOf(param.value) > -1)
            {

                var variantValueSplitted = variant.value.split("_---_");
                var slctdVrntCode = variantValueSplitted[0];
                
                if (variantString.indexOf('%%' + slctdVrntCode + '%%') == -1)
                {
                    variantString = variantString + slctdVrntCode + '%%';
                }
            }

            baseVariantCounter++;
        }
        
        baseVariantCounter = 1;
        
        baseParamCounter++;
    }
    
    baseVariantCounter = 1;

    baseParamCounter = 0;
    
    var paramsOfSingleProd;
    
    while (getE(idVariantBase + baseVariantCounter))
    {
        var variant = getE(idVariantBase + baseVariantCounter);
        
        paramsOfSingleProd = true;
        

        while (getE(currentFormBoxID).getElementsByTagName('select')[baseParamCounter])
        {

            var param = getE(currentFormBoxID).getElementsByTagName('select')[baseParamCounter];
            
            if (!(variant.value.indexOf(param.value) > -1))
            {
                paramsOfSingleProd = false;
                break;
            }

            baseParamCounter++;  
        }
        

        baseParamCounter = 0;
        baseVariantCounter++;
        

        if (paramsOfSingleProd == true)
        {
            if (completeMatch == false)
            {
                completeMatch = true;
                variantString = '%%';
            }
            
            variantString = variantString + variant.value.split("_---_")[0] + "%%";

        }
        
    }
    

    while (getE(currentFormBoxID).getElementsByTagName('select')[counterCdps])
    {

        cdps = cdps + getE(currentFormBoxID).getElementsByTagName('select')[counterCdps].value;
        
        counterCdps++;
    }
    
    if (getE('cdps_' + originCode).value == cdps)
    {
        variantString = '%%' + originCode + '%%';
    }

    
    getE(selectedVariantsID).value = variantString;
}

function chooseSelectedOptions(paramIDbase, paramsFormID, variantIDbase)
{
    var paramCounter = 1;
    var param
    var currentCode = getE(paramsFormID).VariationForFullCode.value;
    var variantCounter = 1;
    var variantParamsString = '';
    var variant;
    var paramOptionCounter = 0;
    
    while (getE(variantIDbase + variantCounter))
    {
        variant = getE(variantIDbase + variantCounter);
        
        if (variant.value.split("_---_")[0] == currentCode)
        {
            variantParamsString = variant.value;
            break;
        }
    
        variantCounter++;
    }
    
    while (getE(paramIDbase + paramCounter))
    {
        param = getE(paramIDbase + paramCounter);
        if (param.tagName == 'SELECT')
        {
            paramOptionCounter = 0;
            while (param.getElementsByTagName('option')[paramOptionCounter])
            {
                if (variantParamsString.indexOf(param.getElementsByTagName('option')[paramOptionCounter].value) > -1)
                {
                    param.getElementsByTagName('option')[paramOptionCounter].setAttribute("selected", "selected");
                    break;
                }
                
                paramOptionCounter++;
            }
        }
        
        paramCounter++;
    }
    
}
//params: selecty s vol. parametry, seznam hodnot parametru, kod zbozi (buyform), buyFormID :), element se selecty
function makeBuyFormHiddenInputs(paramsIDbase, paramsDBidBase, commCode, buyFormID,paramsContID)
{
    var params;
    var paramsCounter = 0;
    var paramString = '';
    var paramCode = '';
    var paramCommCode = '';
    var paramStringValue = '';
    var paramValues;
    var paramValuesCounter;
    var paramValue = '';
    var commParValue = '';
    var buyForm;
    var hiddenInput;
    var excludedValues = '';
    var excludedParams = '%%';
    

    while (getE(paramsContID).getElementsByTagName("SELECT")[paramsCounter])
    {

        paramString = getE(paramsContID).getElementsByTagName("SELECT")[paramsCounter]
        
        if (paramString.tagName == 'SELECT')
        {
            
            paramCode = paramString.value.split('||')[0].replace('%%','');
            commParValue = paramString.value.split('||')[1].replace('%%','');
            

            paramValues = getParamValues(paramsDBidBase + paramCode).split('%%');
            paramValuesCounter = paramValues.length;
            
//var st=true;
//alert(getParamValues(paramsDBidBase + paramCode));
//alert(paramsDBidBase + " --- " + paramCode);
            for(i in paramValues)
            {   
                
                paramValue = '%%' + paramValues[i];

                //if (paramValue.indexOf('%%' + commParValue + '||') > -1 && excludedValues.indexOf('%%' + commParValue + '||') == -1)
                if (paramValue.indexOf('%%' + commParValue + '||') > -1 && excludedValues.indexOf('%%' + commParValue + '||') == -1)
//if (st)
                {
//alert(paramValue); st=false;
                    excludedValues = excludedValues + '%%' + commParValue + '||';

                    buyForm = getE(buyFormID);
                    
                    hiddenInput = document.createElement('input');
                    hiddenInput.setAttribute('type','hidden');
                    hiddenInput.setAttribute('name','parameter_' + commCode);
                    hiddenInput.setAttribute('value',paramValue.split('||')[1].replace('%%',''));
                    buyForm.appendChild(hiddenInput);
                }
            }

            excludedValues = "";
        }
        
        paramsCounter++;
    }
}

function createCdps(commCode,appendTo, paramIDbase)
{
    var input = document.createElement('input');
    var cdps = '';
    var counter = 1;
    
    while(getE(paramIDbase + counter))
    {
        cdps = cdps + getE(paramIDbase + counter).value;
        
        counter++;
    }
    
    input.setAttribute('type','hidden');
    input.setAttribute('name','cdps_' + commCode);
    input.setAttribute('id','cdps_' + commCode);
    input.setAttribute('value',cdps);
    getE(appendTo).appendChild(input);
}

function getParamValues(valuesDBname)
{
    var valuesString = '';
    var valuesDB = new Array();
    
    valuesDB = document.getElementsByName(valuesDBname);
    //alert(valuesDB.length);
    /*for (i in valuesDB)
    {
            valuesString = valuesString + valuesDB[i].value;

    }*/
    
    for (i=0; i<valuesDB.length; i++)
    {
        valuesString = valuesString + valuesDB[i].value;
    }
    
    //alert(valuesString.replace('undefined',''));

    return valuesString.replace('undefined','');
}

function removeParamsAfterAddItem(code)
{
    var params = window.parent.document.getElementsByName('parameter_' + code);
    var form;
    
    for (i=params.length; i != 0; i--)
    {
        form = params[i-1].parentNode;
        form.removeChild(params[i-1]);
    }
}