// get sizes for color
function get_string_size_val(value) {
    var ret = 1;
    if (value.indexOf('S') > -1) {
        ret = .5;
    } else { if (value.indexOf('L') > -1) {
        ret = 2;
    }}
    ret = Math.pow(ret, value.split('X').length);
    return ret;
}

function parseFraction(value) {
    var parts = values.split(' ');
    var ret = parseFloat(parts[0]);
    var fraction = parts[1].split('/');
    ret += parseFloat(fraction[0]) / parseFloat(fraction[1]);
    return ret;
}

function sort_size(a, b) {
    if (a.indexOf('/')) {
        a = parseFraction(a);
    }
    if (b.indexOf('/')) {
        b = parseFraction(b);
    }
    if (isNaN(parseFloat(a))) { //size?
        a = get_string_size_val(a);
        b = get_string_size_val(b);
    }
    return parseFloat(a) - parseFloat(b);
}

function getSizes(color){
    var c=color;
    var sizes=[];
    for(var i=0;i<skus.length;i++){
       var s=skus[i];
       if(s.color==c){
          var found=false;
          for(var j=0;j<sizes.length;j++){
             if(sizes[j]==s.size){
                found=true;
                break;
             }
          }
          if(!found){ sizes.push(s.size); }
       }
    }
    //alert(sizes.join("\n"));
    sizes = sizes.sort(sort_size);
    var $sizes = $('#sizes');
    $sizes.empty();
    for(var k=0;k<sizes.length;k++) {
        $sizes.append('<option>'+sizes[k]+'</option>');
    }
}
function getSku(color,size){
    var c=color;
    var sz=size;
    var sku=[];
    for(var i=0;i<skus.length;i++){
       var s=skus[i];
       if(s.color==c && s.size == sz){
          // alert(s.sku);
          return s.sku
          // $('#the_upc').text(s.sku);
       }
    }
}
function init_product_page(){
    $("#wrap").anythingZoomer({
        expansionSize: 0,      // How far outside the wrap edges the mouse can go
        speedMultiplier: 1.4,   // How much faster in the inside area moves than the mouse
        smallArea: "#small",    // Overrides small area ID
        largeArea: "#large",    // Overrides large area ID
        zoomPort: "#overlay",   // Overrides zoom overlay area ID
        mover: "#mover"         // Overrides mover ID
    });
    $('#view_larger a').lightBox({fixedNavigation:true});
    $('#detail_thumb_container li a').click( function() {
        $('#small img').attr('src',$(this).attr('href'));
        $('#large img').attr('src',$(this).attr('title'));
        $('#view_larger a').attr('href',$(this).attr('title'));
        if($(this).find('span').text().length > 0){
            $('#view_larger a').attr('title',$(this).find('span').text());
            $('#small p').text($(this).find('span').text());
        }
        return false;
        init_product_page();
    });
    //USE this for gallery functionality
    //$('#image_zoomer, #product_main_link').click( function() {
    //    $('#main_prod_img').find('a.hidden_prodimg[href="'+$(this).attr('href')+'"]').click();
    //    $('div.jqZoomWindow').remove();
    //    return false;
    //});
}
$(document).ready(function() {
    //DETAIL PAGE STUFF
    init_product_page();
    $('#tab_pane_container ul').tabs();
    $('#colors').change(function(){
        getSizes($(this).val());
    });
    $('#get_retailers').click(function(){
        $('#retailers').empty();
        upc = getSku($('#colors').val(), $('#sizes').val());
        $.getJSON("/products/upc-available/" + upc + "/",
        function(data){
            if(data.ERROR == "1"){ 
                $('#retailers').html('No retailers found.');
            }
            var retailers = new Array();
            var dc_shoes = new Array();
            var retailer_count = Number(data.retailer_count) + 1;
            for(var i=1;i<retailer_count;i++) {
                var retailer = {url:data['RetailerURL'+ i],
                                id:data['RetailerID'+ i],
                                name:data['Retailer'+ i],
                                icon:data['RetailerIcon'+ i]};
                if (data['RetailerID'+ i] == '10001') { //DC SHOES retailer
                    dc_shoes.push(retailer);
                } else {
                    retailers.push(retailer);
                }
            }
            function add_retailer(retailer) {
                $('<a target="_blank"/>').attr('href', retailer.url).appendTo("#retailers");
                $('#retailers a:last').html(retailer.name);
                $("<img/>").attr("src", retailer.icon).prependTo("#retailers a:last");
            }
            while(retailers.length) {
                add_retailer(retailers.splice(Math.floor(Math.random()*retailers.length), 1)[0]);
            }
            while(dc_shoes.length) {
                add_retailer(dc_shoes.pop());
            }
        });
        return false;
    });
    // END DETAIL PAGE STUFF
});
