﻿var ag;
var currSel;
var discount12 = 0.8333;

function iniAttributeSelection() {
  CustomerFunctions.getDefaultSelection(productId, SucceededCallback_getDefaultSelection);
}

function SucceededCallback_getDefaultSelection(result, eventArgs) {
  var typeId;
  var attribValue;
  ag = result;
  currSel = ag[0];
}

function switchQty(qty) {
  if (currSel.stock.qtyInStock < qty) {
    // Qty unavailable, check to see if remote stock available for selection
    if (currSel.stock.remoteStockAvailable == true) {
      // Switch to remote stock
      $("#ai_local").removeClass("sel");
      $("#ai_remote").addClass("sel");

      // Update availability
      $(".qty").removeClass("color-greyGrad");
      $(".qty").addClass("color-greenGrad");
      $(".qty.3").removeClass("color-greenGrad");
      $(".qty.3").addClass("color-greyGrad");

      if (qty == 3) {
        // 3 is Unavailble for remote stock
        alert("Sorry, the minimum qty you can order for 1-2 Week delivery is 6 files of each type");
        return false;
      }
    } else {
      // Unavailable
      alert("Sorry, we do not have enough stock available for this selection");
      return false;
    }
  } else {
    // Qty is available, make sure local is set
    $("#ai_local").addClass("sel");
    $("#ai_remote").removeClass("sel");

    // Update availability
    setQtyAvailablity(currSel.stock.qtyInStock);
  }

  // update qty
  $(".qty").removeClass("sel");
  $(".qty." + qty).addClass("sel");

  // Set Price
  $("#price3Pack").html(roundNumber(currSel.priceIncTax, 2));
  $("#price12Pack").html(roundNumber(currSel.priceIncTax * discount12 * 12, 2));
  if (qty < 12) {
    $("#priceTotal").html(roundNumber(currSel.priceIncTax * qty, 2));
  } else {
    $("#priceTotal").html(roundNumber(currSel.priceIncTax * qty * discount12, 2));
  }
}

function setQtyAvailablity(q)
{
  // set availablity
  if (q >= 3) {
    $(".qty.3").removeClass("color-greyGrad").addClass("color-greenGrad");
  } else {
    $(".qty.3").removeClass("color-greenGrad").addClass("color-greyGrad");
  }
  if (q >= 6) {
    $(".qty.6").removeClass("color-greyGrad").addClass("color-greenGrad");
  } else {
    $(".qty.6").removeClass("color-greenGrad").addClass("color-greyGrad");
  }
  if (q >= 9) {
    $(".qty.9").removeClass("color-greyGrad").addClass("color-greenGrad");
  }
  else {
    $(".qty.9").removeClass("color-greenGrad").addClass("color-greyGrad");
  }
  if (q >= 12) {
    $(".qty.12").removeClass("color-greyGrad").addClass("color-greenGrad");
  }
  else {
    $(".qty.12").removeClass("color-greenGrad").addClass("color-greyGrad");
  }
  if (q >= 24) {
    $(".qty.24").removeClass("color-greyGrad").addClass("color-greenGrad");
  }
  else {
    $(".qty.24").removeClass("color-greenGrad").addClass("color-greyGrad");
  }
}

function switchSelection(woo) {
  var attribId = woo.id.split("_", 3)[2].replace("-q-", "\"").replace("-p-", ".");
  var typeId = woo.id.split("_", 3)[1];
  $(".at_" + typeId).removeClass("sel");
  $("#" + woo.id).addClass("sel");
  CustomerFunctions.switchSelection(currSel, typeId, attribId, SucceededCallback_switchSelection);
}

function SucceededCallback_switchSelection(result, eventArgs) {
  currSel = result;
  var typeId;
  var attribValue;
  var testAttribValue;
  for (var n in currSel.attribs) {
    // Store Values
    attribValue = currSel.attribs[n].value.replace("\"", "-q-").replace(".", "-p-");
    typeId = currSel.attribs[n].type.typeId;
    // Switch Selection
    $(".at_" + typeId).removeClass("sel");
    $("#ai_" + typeId + "_" + attribValue).addClass("sel");
    // Cycle through each type items, determining whether they are available
    $(".at_" + typeId).each(function (index) {
      testAttribValue = $(this).attr("id").split("_", 3)[2].replace("-q-", "\"").replace("-p-", ".");
      CustomerFunctions.isTypeValueOptionAvailable(currSel, typeId, testAttribValue, SucceededCallback_isTypeValueOptionAvailable);
    });
  }
  
  // Set Qty Available
  var q = currSel.stock.qtyInStock;

  // Set Availablitiy (min six from remote)
  if (q >= 3) {
    // Qty in Stock, show 1-3days
    $("#ai_local").addClass("sel");
    $("#ai_remote").removeClass("sel");
    setQtyAvailablity(q);
  } else {
    // Qty out of stock, show 1-2 weeks
    $("#ai_local").removeClass("sel");
    $("#ai_remote").addClass("sel");
    // set remote stock as having two doz
    q = 24;
    setQtyAvailablity(q);
    $(".qty.3").removeClass("color-greenGrad");
    $(".qty.3").addClass("color-greyGrad");
    if ($(".qty.sel").eq(0).html() == 3) {
      $(".qty").removeClass("sel");
      $(".qty.6").addClass("sel");
    }
  }



  // reduce qty selected if unavailable
  var cq = $(".qty.sel").eq(0).html()
  if (cq > q) {
    $(".qty").removeClass("sel");
    if (q < 12) {
      $(".qty." + q).addClass("sel");
      cq = q;
    } else {
      $(".qty.12").addClass("sel");
    }
  }

  // Set Price
  $("#price3Pack").html(roundNumber(currSel.priceIncTax, 2));
  $("#price12Pack").html(roundNumber(currSel.priceIncTax * discount12 * 12, 2));
  if (cq < 12) {
    $("#priceTotal").html(roundNumber(currSel.priceIncTax * cq, 2));
  } else {
    $("#priceTotal").html(roundNumber(currSel.priceIncTax * cq * discount12, 2));
  }

}

function SucceededCallback_isTypeValueOptionAvailable(result, eventArgs) {
  if (result[1] == true) {
    $("#ai_" + result[0].type.typeId + "_" + result[0].value).removeClass("color-greyGrad");
    $("#ai_" + result[0].type.typeId + "_" + result[0].value).addClass("color-greenGrad");
  } else {
    $("#ai_" + result[0].type.typeId + "_" + result[0].value).removeClass("color-greenGrad");
    $("#ai_" + result[0].type.typeId + "_" + result[0].value).addClass("color-greyGrad");
  }
}

function addBasketItem() {
  // Submit selected item
  CustomerFunctions.addBasket(currSel, $(".qty.sel").eq(0).html(), SuccededCallback_addBasketItem);
}

function SuccededCallback_addBasketItem(result) {
  if (result == true) {
    alert("Item successfully added");
    var basketCount = 0;
    var basketValue = 0.00;
    $("#sbEmpty").css("display", "none");
    $("#sbFull").css("display", "inline");
    $("#basketCount").html(parseInt($("#basketCount").html()) + 1);
    var cq = $(".qty.sel").eq(0).html()
    if (cq < 12) {
      $("#basketTotal").html(roundNumber(parseFloat($("#basketTotal").html()) + (currSel.priceIncTax * $(".qty.sel").eq(0).html()), 2));
    } else {
      $("#basketTotal").html(roundNumber(parseFloat($("#basketTotal").html()) + (currSel.priceIncTax * $(".qty.sel").eq(0).html() * discount12), 2));
    }
    // show new item
    //alert(currSel.product.name);
    $('<li>' + currSel.product.name + '</li>').appendTo('#shoppingItems');
  } else {
    alert("Sorry, we have expericenced a problem adding this item to your basket, please try again or reload this page");
  } 
}

// Controls tabs
$(document).ready(function () {
  //Default Action
  $(".tab_content").hide(); //Hide all content
  $("ul.tabs li:first").addClass("active").show(); //Activate first tab
  $(".tab_content:first").show(); //Show first tab content

  //On Click Event
  $("ul.tabs li").click(function () {
    $("ul.tabs li").removeClass("active"); //Remove any "active" class
    $(this).addClass("active"); //Add "active" class to selected tab
    $(".tab_content").hide(); //Hide all tab content
    var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content
    $(activeTab).fadeIn(); //Fade in the active content
    return false;
  });


});

window.onload = iniAttributeSelection;

