var selectedId = 0;
var newClientId = 0;
var newIndex = -1;

var PackageItemsConsolidate =
{
  AccordionDiv: null,
  Accordion: null,
  OnAccordionHeaderClick: function(event)
  {
    var sender = $(event.target);
    var index = sender.parent().prevAll(".pkgaccheader").length;

    if (selectedId == sender.attr("id"))
      return;

    var isValid = true;

    if (selectedId.length !== 0)
    {
      // Look for any items with copies > 0.
      var inputs = $("#" + selectedId + " input:text");
      inputs.each
      (
        function()
        {
          var input = $(this);
          if (input.val().length > 0 && input.val() != "0")
          {
            newIndex = index;
            newClientId = sender.attr("id");

            $.blockUI
            (
              {
                message: $('#cartPrompt'),
                css:
                {
                  width: '550px',
                  marginLeft: '-250px',
                  marginTop: '-75px'
                }
              }
            );

            var page = $("div.blockPage");
            var mp = $('#cartPrompt');
            if ($.browser.msie == false)
            {
              page.css("-webkit-border-radius", "10px");
              page.css("-moz-border-radius", "10px");
              mp.css("-webkit-border-radius", "6px");
              mp.css("-moz-border-radius", "6px");
            }

            isValid = false;
            return false;
          }
        }
      );
    }

    if (!isValid)
      return;

    PackageItemsConsolidate.Accordion.accordion('activate', index);
    return true;
  },
  OnAccordionChangeStart: function(event, ui)
  {
    selectedId = ui.newContent.prevObject.attr("id");
  },
  SetToolTips: function()
  {
    $('.pkgaccinfo').each(function(counter, elem) { $(elem).flextip( $( $( elem ).next() ), {"xPadding": 30, "right": true, "followMouse":false, className: 'pkgInfoTip'} );});
  },
  OnDocumentReady: function()
  {
    var accordionLinks = $(".pkgaccheader a");
    accordionLinks.attr("href", "javascript:void(0);");
    accordionLinks.click(PackageItemsConsolidate.OnAccordionHeaderClick);

    $("input[type=text][id*=pkgItem]").numeric().focus
    (
      function()
      {
        var $this = $(this);

        if ($this.val().length === 0 || isNaN($this.val()) || parseInt($this.val(), 10) === 0)
          $this.val("1");

        this.select();
      }
    );

    // simple accordion
    PackageItemsConsolidate.AccordionDiv = $("#collapse_div");
    PackageItemsConsolidate.Accordion = PackageItemsConsolidate.AccordionDiv.accordion
    (
      {
        autoHeight: false,
        header: '.pkgaccheader',
        event: false,
        changestart: PackageItemsConsolidate.OnAccordionChangeStart,
        active: +selectedId
      }
    );

    PackageItemsConsolidate.AccordionDiv.css("display", "block");

    PackageItemsConsolidate.SetToolTips();
  }

};

$(document).ready(PackageItemsConsolidate.OnDocumentReady);

function clearItemCount()
{
  var list = PackageItemsConsolidate.AccordionDiv.find("input.textbox").val(0);

  $.unblockUI();

  selectedId = newClientId;
  //PackageItemsConsolidate.Accordion.enable();
  PackageItemsConsolidate.Accordion.accordion('activate', newIndex);
}

function addToCartFromPrompt()
{
  $("#" + selectedId + " .btn").click();
}


function multiPhotoPrompt(panelId)
{
  var activePanel = $("#ctl00_CPCenter_ctl00_CallingPanel");
  activePanel.val(panelId); // Store the name of the panel that called this function.
  var proceed = true;

  var showPrompt = shouldShowPrompt();
  if (showPrompt)
  {
    $.blockUI
    (
      {
        message: $("#MultiPhotosPrompt"),
        css:
        {
          width: '550px',
          marginLeft: '-250px',
          marginTop: '-100px'
        }
      }
    );

    proceed = !showPrompt;
  } 

  var page = $("div.blockPage");
  var mp = $("div[id$=MultiPhotosPrompt]");
  if ($.browser.msie == false)
  {
    page.css("-webkit-border-radius", "10px");
    page.css("-moz-border-radius", "10px");
    mp.css("-webkit-border-radius", "6px");
    mp.css("-moz-border-radius", "6px");
  }

  return proceed;
}
