var accessoriesData;
var accImageInfo;
var accIsGlance;
function resetFormInputFields()
{
var accForm = document.forms['accessories.handleBuy'];
if( accForm ) {
accForm.reset();
}
}
function collapseBuckets(start, end) 
{
for (var i = start; i <= end; i++) {
toggleAccBin("accBin." + i);
}
}
function toggleSvcBin(bin)
{	
toggleLayer(bin);
toggleImg(bin + ".img");
} 
function toggleAccBin(bin)
{	
toggleLayer(bin + ".main");
toggleLayer(bin + ".other");
toggleLayer(bin + ".plus");
toggleImg(bin + ".img");
} 
function toggleLayer(id)
{
var e = document.getElementById(id);
if (e) {
e.style.display=e.style.display=='none'?'block':'none';
}
} 
function toggleImg(id) {
if (document.getElementById(id)) {
var imgObj = document.getElementById(id);
var currentImgSrc = imgObj.src;
if (currentImgSrc == accImageInfo['toggleOpenImg'] ) {
imgObj.src = accImageInfo['toggleCloseImg'];
} else {
imgObj.src = accImageInfo['toggleOpenImg'];
}
}
}
function toggleAccessoryState(checkbox, asin, offerid, binDivId)
{
if (checkbox.checked) {
addToAccessoryPack(asin, offerid, binDivId);
} else {
removeFromAccessoryPack(asin);
}
}
function updateSVCQuantity()
{
var accForm = document.forms['accessories.handleBuy'];
var svcCheckbox = accForm.elements['svc.checkbox'];
var svcSelectEl = accForm.elements['svc_offeringID'];
var svcSelectedIndex = svcSelectEl.selectedIndex;
var offerid = accForm.elements['svc.offerid.' + svcSelectedIndex].value;
var formattedPrice = accForm.elements['svc.formattedPrice.' + svcSelectedIndex].value;
var link = document.getElementById( 'acc_sclink' );
link.href = accForm.elements['svc.link.' + svcSelectedIndex].value;
var svcPriceDisplay = document.getElementById('svc.price.display');
svcPriceDisplay.innerHTML = formattedPrice;
if (svcCheckbox.checked) {
addToAccessoryPack("svc", offerid, null);
} else {
removeFromAccessoryPack("svc");
}
}
function addToAccessoryPack(asin, offerid, binDivId)
{
var data = getAccessoryInfo(asin);
data.offerid = offerid;
data.binDivId = binDivId;
updateStats();
}
function removeFromAccessoryPack(asin)
{
delete accessoriesData[asin];
updateStats();
}
function getAccessoryInfo(asin)
{
var data = accessoriesData[asin];
if(null == data)
{
data = new Object();
data.asin = asin;
accessoriesData[asin] = data;
}
return data;    
}
function updateStats()
{
var accessoryQntyEl = document.getElementById("accessoryQuantity");
var totalQnty = 0;
var data;
if (accessoriesData != null) {
for (var data in accessoriesData ) {
totalQnty ++;
}
}
if (accessoryQntyEl) {
accessoryQntyEl.innerHTML = totalQnty;
}
}
goDUMoreAccessories = new Array();
function expandAccessoriesBin(binNum, binDivId, asin, merchant, store, abbrev, suppressBuyBox) {
var params = {};
params.asin = asin;
params.merchantID = merchant;
params.storeID = store;
params.binNum = binNum;
params.suppressBuyBox = suppressBuyBox;
params.productGroupAbbrev = abbrev;
params.outputDiv = binDivId + '.main'; // this is where the new bin contents will go
params.deleteDiv = binDivId + '.seeMore';
params.binDivId = binDivId;
params.asinsToCheck = "";
if (accessoriesData != null) {
for (var one in accessoriesData) {
if (accessoriesData[one].binDivId == binDivId)
params.asinsToCheck += accessoriesData[one].asin + '@';
}
}
goDUMoreAccessories[binNum] = new N2DynUpObject('goDUMoreAccessories-'+binNum);
goDUMoreAccessories[binNum].setHandler('/gp/compatibility/accessories-and-compatible-products/dynamic-update/rf', 'sd');
goDUMoreAccessories[binNum].requestUpdate(null, null, null, params);
goDUMoreAccessories[binNum].binDivId = binDivId;
goDUMoreAccessories[binNum].onRequestSuccess = function(html, functions, status, reqID) {
accessoriesBinPostExpanded(this.binDivId);
};
if (document.getElementById(binDivId + '.plus') != null) { 
document.getElementById(binDivId + '.plus').innerHTML = accImageInfo['loadingImgTag'];
}
return false;
}
function accessoriesBinPostExpanded(binDivId) {
for (var item in accessoriesData) {
if (accessoriesData[item].binDivId != binDivId) {
continue;
}
var checkbox = document.getElementById('offeringIDFor.'+accessoriesData[item].asin); 
if (checkbox) {
checkbox.onclick(); // this calls toggleAccessoryState with appropriate params
} else {
removeFromAccessoryPack(accessoriesData[item].asin);
}
}
updateStats();
}
function uncheckAllAccessories() {
for (var item in accessoriesData) {
var checkbox = document.getElementById('offeringIDFor.'+accessoriesData[item].asin);
if (checkbox)
checkbox.checked = false;
removeFromAccessoryPack(accessoriesData[item].asin);
}
var svcCheckbox = document.getElementById('svc.checkbox');
if (svcCheckbox) {
svcCheckbox.checked = false;
}
updateStats();
return false;
}
function initAccessoriesWidget( baseAsin ) {
resetFormInputFields();
accessoriesData = new Object();
accIsGlance = document.getElementById("accessories_isGlance").value;
var imgInfo = document.getElementById("accessories_imgInfo").value;
accImageInfo = eval( '(' + imgInfo + ')' );
var accForm = document.forms['accessories.handleBuy'];
if( accForm && accForm.elements['showBase'] && accForm.elements['showBase'].value == '1' && accForm.elements['offeringIDFor.'+baseAsin] ) {
addToAccessoryPack( baseAsin, accForm.elements['offeringIDFor.'+baseAsin].value );
} else {
updateStats();
}
if( accIsGlance == 1 ) {
collapseBuckets( 3, 5 );
}
var subtotalBox = document.getElementById('acc_subtotal');
if( subtotalBox ) {
subtotalBox.style.display = "block";
}
var dropdown = document.getElementById('acc_service_dropdown');
if( dropdown ) {
dropdown.style.display = "block";
}
}
function onAjaxUpdate_accessories_and_compatible_products(childASIN) {
initAccessoriesWidget(childASIN);
}
function onCacheUpdate_accessories_and_compatible_products(childASIN) {
initAccessoriesWidget(childASIN);
}
function onAjaxUpdate_display_accessory_bins(childASIN) {
initAccessoriesWidget(childASIN);
}
function onCacheUpdate_display_accessory_bins(childASIN) {
initAccessoriesWidget(childASIN);
}
