//function setOption(option, value, setSwatch) {
//    $A(aOptions).each(function(item) {
//        if (item.indexOf(option) >= 0) {
//            aOptions = $A(aOptions).without(item);
//            return;
//        }
//    });

//    if (value.length > 0) aOptions.splice(aOptions.length, 0, option + '=' + value);
//    
//    if ($('setOptions')) $('setOptions').value = $A(aOptions).size();

//    if (setSwatch && $('ProductOptionSwatchSelection')) $('ProductOptionSwatchSelection').innerHTML = value;
//}

function validateOptions() {
    //  Check main item
    $$('.productOption').each(function(element) {
        var optionID = element.identify().split('_')[1];

        var selectedOptionsMain = $$('.partOption');
        var selectedValuesMain = '';
        var partboxID = 0;
        var added = 0;

        for (var i = 0; i < selectedOptionsMain.length; i++) {
            partboxID = selectedOptionsMain[i].identify().split('_')[2];
            if (optionID == partboxID) {
                if (added > 0) selectedValuesMain += ';';
                selectedValuesMain += selectedOptionsMain[i].value;
                added += 1;
            }
        }

        if (selectedValuesMain.length > 0) {
            $$('input.mainOption').each(function(element2) {
                if (selectedValuesMain.split(';').uniq().sort().join(';') == element2.name.replace('_1', '').split(';').uniq().sort().join(';')) element.value = element2.value;
            } .bind(this));
        }
    });

    
    //  Check for accessory checkboxes.
    var accessoryItems = $$('.accessory_item');
    if (accessoryItems.length > 0) {
        accessoryItems.each(function(element) {
            if (element.checked) {
                var productID = element.value;
                if ($('options_' + productID)) $('options_' + productID).value = '';

                if ($('optionsContainer_' + productID)) {
                    var selectedOptions = $('optionsContainer_' + productID).getElementsBySelector('.accbox_' + productID);
                    var selectedValues = '';

                    for (var i = 0; i < selectedOptions.length; i++) {
                        selectedValues += selectedOptions[i].value;
                        if (i < (selectedOptions.length - 1)) selectedValues += ';';
                    }

                    $('optionsContainer_' + productID).getElementsBySelector('.accessory_option').each(function(element) {
                        var valueFound = false;
                     
                        if (selectedValues.length > 0)
                            if (selectedValues.split(';').uniq().sort().join(';') == element.name.replace('_' + productID, '').split(';').uniq().sort().join(';')) valueFound = true;

                        if (valueFound) {
                            var optionGroup = element.value.split(';')[0];
                            var optionValue = element.value.split(';')[1];
                            var quantity = 1;

                            if ($('options_' + productID))
                                $('options_' + productID).value = element.value;
                        }
                    } .bind(this));
                }
            }
        });
    }

    return true;
}
