var banner_rotator_itemList = [];

function banner_rotator_itemVisibleInCallback(carousel, item, i, state, evt)
{
//   The index() method calculates the index from a
//   given index who is out of the actual item range.
  var idx = carousel.index(i, banner_rotator_itemList.length);
  // alert( item );
  carousel.add(i, banner_rotator_getItemHTML(banner_rotator_itemList[idx - 1]));
};

function banner_rotator_itemVisibleOutCallback(carousel, item, i, state, evt)
{
  carousel.remove(i);
};

/**
* Item html creation helper.
*/
function banner_rotator_getItemHTML(item)
{
  if (item.target == 'on')
    return '<a href="' + item.url + '" target="_blank">' + '<img src="' + item.image_url + '" width="63" height="57" alt="' + item.title + '" title="' + item.title + '" />' + '</a>';
  else
    return '<a href="' + item.url + '">' + '<img src="' + item.image_url + '" width="63" height="57" alt="' + item.title + '" title="' + item.title + '" />' + '</a>';
};

$(document).ready(function(){

  lang = ( $("body").hasClass('english') ) ? 'en' : 'es';

  $.get("/utility/data/rotating_banner.xml?lang=" + lang,
    function(data){

      $(data).find('banner').each(
        function(){
          banner_rotator_itemList.push(
            {
              image_url: $(this).find('image_url').text(),
              title:     $(this).find('title').text(),
              url:       $(this).find('url').text(),
              target:    $(this).find('target').text()
            }
          );
        }
      )

//       console.log( banner_rotator_itemList );

      // alert( banner_rotator_itemList );

      $('#banner_rotator').jcarousel({
        scroll: 1,
        wrap: 'circular',
        itemVisibleInCallback: {onBeforeAnimation: banner_rotator_itemVisibleInCallback},
        itemVisibleOutCallback: {onAfterAnimation: banner_rotator_itemVisibleOutCallback}
      });

    }, 'xml'
  );

});

