
Slice.prototype.getId = Slice_getId;
Slice.prototype.setSelected = Slice_setSelected;

Slice.prototype.getMainImageUrl = Slice_getMainImageUrl;
Slice.prototype.getEnhancedUrl = Slice_getEnhancedUrl;

Slice.prototype.hasSelection = Slice_hasSelection;

Slice.prototype.isValid = Slice_isValid;
Slice.prototype.isSizeValid = Slice_isSizeValid;
Slice.prototype.isQuantityValid = Slice_isQuantityValid;

Slice.prototype.getSizeSku = Slice_getSizeSku;
Slice.prototype.getQuantity = Slice_getQuantity;

function Slice(id)
{
    this.elementId = id;
    this.data = sliceData[id];
}

function Slice_getId()
{
    return this.elementId;
}

function Slice_setSelected(flag)
{
    var el = document.getElementById(this.getId());
    if(flag)
    {
        el.className = "color40x20-selected";
    }
    else
    {
        el.className = "color40x20";
    }
}

function Slice_getMainImageUrl()
{
    return this.data.mainImageUrl;
}

function Slice_getEnhancedUrl()
{
    return this.data.enhancedViewUrl;
}

function Slice_hasSelection()
{
    if(this.getSizeSku() != "")
    {
        return true;
    }
    return false;
}

function Slice_isValid()
{
    if(this.isSizeValid() && !this.isQuantityValid())
    {
        alert("Please enter a valid quantity for the sizes you have selected.");
        return false;
    }
    if(!this.isSizeValid() && this.isQuantityValid())
    {
        alert("You must select a size for the quantity you have entered.");
        return false;
    }
    return true;
}

function Slice_isSizeValid()
{
    if(this.getSizeSku() == "")
    {
        return false;
    }
    return true;
}

function Slice_isQuantityValid()
{
    var qty = this.getQuantity();
    if(qty && qty.match("^[1-9][0-9]*$"))
    {
        return true;
    }
    return false;
}

function Slice_getSizeSku()
{
    var el = document.getElementById(this.elementId + "_sizes");
    return el.value;
}

function Slice_getQuantity()
{
    var el = document.getElementById(this.elementId + "_qty");
    return el.value;
}
