function addOption(select_elem, label, value) {
    var opt = new Option(label, value);
    try {
        select_elem.add(opt, null); // standards compliant
    } catch(ex) {
        select_elem.add(opt); // IE only
    }
}

var zoom_image_src, alt_image_src;

function selectColorQS(selected_el, item_id, color_id, color_description, small_img, id) {
    var swatches = document.getElementById("swatches"+id).childNodes;
    for (i in swatches) {
        if (swatches[i].firstChild) {
            swatches[i].firstChild.className = "";
        }
    }
    selected_el.firstChild.className = "selected";
    
    var combo = document.getElementById("colorCombo["+id+"]"); 
    combo.value = color_id;    
       
    color_id_value[id] = color_id;
    
    var size = document.getElementById("sizeCombo["+id+"]");
    var old_size = size.value;
    
    while (size.length > 1) size.remove(1);
    

    for (var size_id in color_size[id][color_id]) {
        if (color_size[id][color_id][size_id]['description']) {
            addOption(size, color_size[id][color_id][size_id]['description'], size_id);
        }
    }
    
    if (size.length == 2) {
        size.selectedIndex = 1;
    } else if (old_size) {
        size.value = old_size;
    } else {
        size.selectedIndex = 0;
    }
    selectSizeQS(size.value, id);
    document.getElementById('item_image'+id).src = small_img;
} // function



function selectColorFromCombo(selected_el, item_id, color_id, color_description, small_img, id) {
    small_img = small_img.replace(/_\d{3}\.jpg/, "_"+color_id+".jpg");
    selectColorQS(document.getElementById("swatch_"+color_id+"_"+id), item_id, color_id, color_description, small_img, id);
}

function selectSizeQS(size_id, id) {
    var qty =  document.getElementById("qtyCombo["+id+"]");
    var old_qty = qty.value;
    
    while (qty.length > 1) qty.remove(1);
    
    if (color_size[id][color_id_value[id]][size_id])
    {
        var max_qty = color_size[id][color_id_value[id]][size_id]['quantity'];
        if (max_qty > 9) max_qty = 9;
        for (var i=2; i<=max_qty; i++) {
            addOption(qty, ''+i, ''+i);
        }
        if (old_qty > 1) {
            qty.value = old_qty;
            if (qty.value < old_qty) {
                qty.selectedIndex = qty.length - 1;
            }
        } else {
            qty.selectedIndex = 0;
        }
        
        selectPriceQS(color_size[id][color_id_value[id]][size_id], id);
    }
    else
    {
        for (var size_id in color_size[id][color_id_value[id]]) {
            if (color_size[id][color_id_value[id]][size_id]['price']) {
                selectPriceQS(color_size[id][color_id_value[id]][size_id], id);
            }
        }
    }
}

function selectPriceQS(a, id) {
    var e = document.getElementById('display_price'+id);
    if (e) e.innerHTML = a['price'];
    e = document.getElementById('sale_price'+id);
    if (e && a['price'] != a['sale_price']) e.innerHTML = "$"+a['sale_price']+"<br />";
}

function selectFirstColorQS(id) {
    var swatches = YAHOO.util.Dom.getElementsByClassName("swatch_container", "div", "swatches"+id);
    swatches[0].onclick();
}

function checkForm(){
    var sizes = YAHOO.util.Dom.getElementsByClassName('size_combo', 'select');
    for (i=0; i<sizes.length; i++)
        if (!sizes[i].value){
            return alert('Please select a size for all items.');
        }
    return true;
}


