﻿var imageLeft = 0;
var imageTop = 0;
var textSpaceRequired;
var productInfoPad = 6;
var shipYearMonth;
var _stockNumber;
var _productTitle;
var _mouseHover;
var _mouseOut;

function findUPCMainMatches(upcMain, chkboxEvtInit)
{
    var checkBoxEventInitiator = eval(chkboxEvtInit);
    var chkboxState = checkBoxEventInitiator.GetChecked();
    var subState = chkboxState ? 'true' : 'false';
    var args = 'setsubscriptionstatus,' + upcMain + ',' + subState;
    var pageIndex = grdCatalog.GetPageIndex();
    var pageItemCount = grdCatalog.GetVisibleRowsOnPage();

    for (var i = 0; i < pageItemCount; i++)
    {
        var controlIndex = i + (pageIndex * pageItemCount);
        var controlName = 'hiddenFieldUPC_' + controlIndex;
        var hiddenField = eval(controlName);
        var upcFieldValue = hiddenField.Get("value");
        if (upcFieldValue == upcMain)
        {
            var checkBoxCtlName = 'subscribeCheckBox_' + controlIndex;
            var chkbox = eval(checkBoxCtlName);
            if (checkBoxCtlName != chkboxEvtInit)
            {
                chkbox.SetChecked(chkboxState);
            }
            if (chkboxState)
            {
                var addToCartPanel = eval('addToCartPanel_' + controlIndex);
                var cartQtyPanel = eval('cartQuantityPanel_' + controlIndex);

                if (addToCartPanel.GetVisible())
                {
                    addToCartPanel.SetVisible(false);
                    cartQtyPanel.SetVisible(true);
                }
            }
        }
    }
    sendAJAXMessage(args, "this");
}

function AddToCartClick(chkboxCID, addToCartPanelCIN, cartQtyPanelCIN, stocknumber)
{
    var prodCheckBox = document.getElementById(chkboxCID);
    prodCheckBox.checked = true;
    productCheckBoxClicked(prodCheckBox, stocknumber, addToCartPanelCIN, cartQtyPanelCIN);
}

function productCheckBoxClicked(chkbox, stocknumber, addToCartPanelCIN, cartQtyPanelCIN)
{
    var addToCartPanel = eval(addToCartPanelCIN);
    var cartQtyPanel = eval(cartQtyPanelCIN);
    var args = 'mmcomics,';
    addToCartPanel.SetClientVisible(false);
    cartQtyPanel.SetClientVisible(true);
    args += stocknumber + ',1';
    sendAJAXMessage(args, "this");
}

function removeProductFromCart(stocknumber, qtyTextBoxCID, prodCheckBoxCID, addToCartPanelCIN, cartQtyPanelCIN)
{
    var addToCartPanel = eval(addToCartPanelCIN);
    var cartQtyPanel = eval(cartQtyPanelCIN);
    var qtyTextBox = document.getElementById(qtyTextBoxCID);
    var prodCheckBox = document.getElementById(prodCheckBoxCID);
    var args = 'mmcomics,';
    addToCartPanel.SetClientVisible(true);
    cartQtyPanel.SetClientVisible(false);
    qtyTextBox.value = "1";
    args += stocknumber + ',0';
    prodCheckBox.checked = false;
    sendAJAXMessage(args, "this");
    return false;
}

function changeQuantity(stocknumber, qtyTextBoxCID, increment)
{
    var qtyTextBox = document.getElementById(qtyTextBoxCID);
    var iQty = parseInt(qtyTextBox.value);
    var args = 'mmcomics,';
    if (increment)
    {
        iQty++;
    }
    else
    {
        if (iQty > 1)
        {
            iQty--;
        }
    }
    qtyTextBox.value = iQty;
    args += stocknumber + ',' + iQty;
    sendAJAXMessage(args, "this");
}

function AddToCartClickOld(chkboxCID, add2CartDivCID, qtySpanCID, qtyImagesSpanCID, addToCartSpanCID, purchaseQtyDivCID, stocknumber)
{
    var prodCheckBox = document.getElementById(chkboxCID);
    prodCheckBox.checked = true;
    productCheckBoxClicked(prodCheckBox, add2CartDivCID, qtySpanCID, qtyImagesSpanCID, addToCartSpanCID, purchaseQtyDivCID, stocknumber);
}

function productCheckBoxClickedOld(chkbox, add2CartDivCID, qtySpanCID, qtyImagesSpanCID, addToCartSpanCID, purchaseQtyDivCID, stocknumber)
{
    var args = 'mmcomics,';
    args += stocknumber + ',1';

    var add2CartDiv = document.getElementById(add2CartDivCID);
    var addToCartSpan = document.getElementById(addToCartSpanCID);
    var qtySpan = document.getElementById(qtySpanCID);
    var qtyImagesSpan = document.getElementById(qtyImagesSpanCID);
    var purchaseQtyDiv = document.getElementById(purchaseQtyDivCID);

    add2CartDiv.style.display = 'none';
    addToCartSpan.style.display = 'none';
    purchaseQtyDiv.style.display = '';
    qtySpan.style.display = '';

    qtyImagesSpan.style.display = '';
    qtySpan.innerText = 1;
    if (qtySpan.textContent)
    {
        qtySpan.textContent = 1;
    }
    sendAJAXMessage(args, "this");
}

function changeQuantityOld(qtySpanCID, increment, stocknumber)
{
    var qtyCtl = document.getElementById(qtySpanCID);
    var iQty = qtyCtl.textContent ? parseInt(qtyCtl.textContent) : parseInt(qtyCtl.innerText);
    var args = 'mmcomics,';
    if (increment)
    {
        iQty++;
    }
    else
    {
        if (iQty > 1)
        {
            iQty--;
        }
    }
    (qtyCtl.textContent) ? qty.textContent = iQty : qtyCtl.innerText = iQty;
    args += stocknumber + ',' + iQty;
    sendAJAXMessage(args, "this");
}

function removeProductFromCartOld(qtySpanCID, stocknumber, add2CartDivCID, qtyImagesSpanCID, addToCartSpanCID, purchaseQtyDivCID, prodCheckBoxCID)
{
    var qtyCtl = document.getElementById(qtySpanCID);
    var args = 'mmcomics,';
    (qtyCtl.textContent) ? qtyCtl.textContent = 0 : qtyCtl.innerText = 0;
    args += stocknumber + ',0';
    var add2CartDiv = document.getElementById(add2CartDivCID);
    var addToCartSpan = document.getElementById(addToCartSpanCID);
    var qtyImagesSpan = document.getElementById(qtyImagesSpanCID);
    var purchaseQtyDiv = document.getElementById(purchaseQtyDivCID);
    var prodCheckBox = document.getElementById(prodCheckBoxCID);
    add2CartDiv.style.display = '';
    addToCartSpan.style.display = '';
    purchaseQtyDiv.style.display = 'none';
    qtyCtl.style.display = 'none';
    qtyImagesSpan.style.display = 'none';
    prodCheckBox.checked = false;
    sendAJAXMessage(args, "this");
    return false;
}

function imageClick(imgClientID, stockNum, prodTitle)
{
    var currImage = document.getElementById(imgClientID);
    _stockNumber = stockNum;
    _productTitle = prodTitle;
    shipYearMonth = getShipYearMonthFromStockNumber(_stockNumber);
    sendAJAXMessage("GetProductDesc=" + _stockNumber, "this");
}

function clickButton(e, buttonid)
{ 
 var bt = document.getElementById(buttonid); 
 if (typeof bt == 'object')
 { 
  if(navigator.appName.indexOf("Netscape")>(-1))
  { 
   if (e.keyCode == 13)
   { 
	bt.click(); 
    return false; 
   } 
  } 

  if (navigator.appName.indexOf("Microsoft Internet Explorer")>(-1))
  { 
   if (event.keyCode == 13)
   { 
    bt.click(); 
    return false; 
   } 
  } 
 } 
}

function showTooltip(title, description)
{
    var browserWindowWidth;
    if (window.innerWidth)
    {
        browserWindowWidth = window.innerWidth;
    }
    else if (document.documentElement && document.documentElement.clientWidth)
    {
        browserWindowWidth = document.documentElement.clientWidth;
    }

    if (browserWindowWidth < 700)
    {
        alert('Your browser must be at least 700 pixels wide to display detailed product information.');
        return;
    }

    var img = document.getElementById(itemImageClientID);
    img.style.display = "none";
    var prodInfoDiv = document.getElementById(prodInfoDivClientID);
    var descCell = document.getElementById(descriptionCellClientID);
    var imgLoader = document.getElementById(loadImageClientID);
    var prodInfoTitleCell = document.getElementById(prodInfoTitleCellClientID);
    prodInfoTitleCell.innerHTML = "<b>" + title + "</b>";
    descCell.innerHTML = "<br />" + description + "<br /><br />";
    var sLargePicsURL = "http://www.mmcomics.com/pics/" + shipYearMonth + "/big/";
    var pic = sLargePicsURL + _stockNumber.substring(5, 9) + ".jpg";
    var imgLoadBG = new Image();
    imgLoader.style.display = "block";
    imgLoadBG.onload = function()
    {
        img.src = imgLoadBG.src;
        img.style.display = "block";
        imgLoader.style.display = "none";
    };
    imgLoadBG.src = pic;
    var popup = document.getElementById(popupDivClientID);
    $(document).ready(function ()
    {
        $('#' + popupDivClientID).slideDown(500);
    });

    var screenWidthCenter = ((browserWindowWidth / 2) - 300);
    popup.style.left = screenWidthCenter + "px";
    popup.style.top = "50px";
}

function getShipYearMonthFromStockNumber(stockNum)
{
    var sShipYearMonth;
    var sMonthName = stockNum.substring(0, 3);
    var sYear = stockNum.substring(3, 5);
    switch (sMonthName)
    {
        case "JAN":
            sShipYearMonth = "20" + sYear + "01";
            break;
        case "FEB":
            sShipYearMonth = "20" + sYear + "02";
            break;
        case "MAR":
            sShipYearMonth = "20" + sYear + "03";
            break;
        case "APR":
            sShipYearMonth = "20" + sYear + "04";
            break;
        case "MAY":
            sShipYearMonth = "20" + sYear + "05";
            break;
        case "JUN":
            sShipYearMonth = "20" + sYear + "06";
            break;
        case "JUL":
            sShipYearMonth = "20" + sYear + "07";
            break;
        case "AUG":
            sShipYearMonth = "20" + sYear + "08";
            break;
        case "SEP":
            sShipYearMonth = "20" + sYear + "09";
            break;
        case "OCT":
            sShipYearMonth = "20" + sYear + "10";
            break;
        case "NOV":
            sShipYearMonth = "20" + sYear + "11";
            break;
        case "DEC":
            sShipYearMonth = "20" + sYear + "12";
            break;
    }
    return sShipYearMonth;
}

function hideTooltip()
{
    _mouseHover = false;
    var popup = document.getElementById(popupDivClientID);
    $(document).ready(function ()
    {
        $('#' + popupDivClientID).slideUp(500);
    });
    return false;
}

function clientCallback(result, context)
{
    var cartAnchor = document.getElementById(cartAnchorClientID);
    var checkoutLinkButton = document.getElementById(checkoutLinkButtonClientID);
    if (result != '')
    {
        if (result.indexOf('OrderTotals') != -1)
        {
            var resultData = result.split(',');
            var qtyOrdered = resultData[1];
            var totalOrderCost = resultData[2];
            var cartText = 'Cart: <b>' + qtyOrdered + ' item(s) </b>';
            txtQuantity.SetText(qtyOrdered);
            txtBannerQty.SetText(qtyOrdered);
            txtOrderTotal.SetText(totalOrderCost);
            txtBannerOrderTotal.SetText(totalOrderCost);

            cartAnchor.innerHTML = cartText;
            if (qtyOrdered == 0)
            {
                checkoutLinkButton.disabled = true;
                checkoutLinkButton.style.cursor = 'text';
                checkoutLinkButton.className = 'inactive';
            }
            else if (qtyOrdered > 0)
            {
                checkoutLinkButton.disabled = false;
                checkoutLinkButton.style.cursor = 'hand';
                checkoutLinkButton.style.color = 'white';
                checkoutLinkButton.className = '';
            }
        }
        else
        {
            showTooltip(_productTitle, result);
        }
    }
}

function clientErrorCallback(error, context)
{
    alert(error);
}
