
var variations = {};  

function selectVariation(selector){
    var option=selector.options[selector.selectedIndex];
    var itemid = selector.getAttribute('itemid');
    jQuery(".vs_" + itemid).attr('selectedIndex',selector.selectedIndex );
    var itemv = variations[itemid];
    if(option.value == -1)
        return;
    var variation = getVariationById(option.value, itemv.variations);
    if (variation){
          jQuery(".vsprice_" + itemid).html( '$' + variation.price);
          if (variation.img != ''){
              // categ/feaut page
              jQuery(".vsthumb_" + itemid).attr('src',variation.img);
              // item page
              var zlink = document.getElementById('zoomLink');
              var zimg = document.getElementById('zoomedImage');
              if(zlink && zimg){
                zlink.src = variation.img;
                zimg.src = variation.img;
              }
          }    
          //
          var thumbbox = document.getElementById('vsthumbs_' + itemid);
          if(thumbbox){
            if (variation.imgs.length > 0){
                var html = '';
                for(var i=0;i<variation.imgs.length; i++){
                    var fullimg = variation.imgs[i].fullimg;
                    var img = variation.imgs[i].img;
                    html +='<a id="i'+i+'" rel="lightbox2" href="'+fullimg+'" onmouseover="zoomThumb(\''+fullimg+'\')" >';
                    html +='<img border="0" class="InfoProd_Sm" alt="" src="'+img+'">';
                    html +='</a>';
                }
                thumbbox.innerHTML = html;
            }
          }
    
    }
}

function getElementsByAttribute(tag,attr,val){
    var retel = [];
    var el = document.getElementsByTagName(tag);
    for(var i=0; i< el.length; i++){
        if(el[i].getAttribute(attr) == val){
            retel.push(el[i])
        }
    }
    return retel;
}

function getVariationById(id, itemvariations){
    var variation = null;
    for(var i in itemvariations){          
          if (itemvariations[i].id == id){
                variation = itemvariations[i];
                break;
          }
    } 
    return variation;
}



window.addItemToCartSimple = window.addItemToCart;
window.addItemToCart = function(id){
        if(variations[id] && variations[id].variations.length >0 ){  
          
           var selector = jQuery(".vs_" + id)[0];
          
           var option = selector.options[selector.selectedIndex];
           var v = getVariationById(option.value, variations[id].variations);
           if(!v){
                alert('Please select ' +variations[id].attrNames+ '.');
                return;
           }
           if (v.qty <= 0){
                alert('We don\'t have '+v.attrValues+' in stock right now.');
                return;
           }
            window.addItemToCartSimple(v.id);
        } else {
           window.addItemToCartSimple(id);
        }

}


function initVariations(){      
    for(var id in variations){        
        var itemv = variations[id];
        if(itemv.variations.length > 0){
            var html  = '';
            html  += '<select onchange="selectVariation(this);"  itemid="'+id+'" class="vs_'+id+'">';
            html  += '<option value="-1">Select: '+itemv.attrNames+'</option>';
            for(var i in itemv.variations){
                 var variation = itemv.variations[i];
                 html  += '<option value="'+variation.id+'" > '+variation.attrValues+'</option>';
            }
            html  += '</select>';
            jQuery(".vsbox_" + id).html(html);
        }
     }
}

window.onload = initVariations;

