

function cleanTitle(title){ 
    title = title.split("-")[0];
    title = title.split("(")[0];
    title = title.split(":")[0];
    title = title.split("[")[0];
    return title;
};


function mycarousel_itemLoadCallback(carousel, state)
{
    // Since we get all URLs in one file, we simply add all items
    // at once and set the size accordingly.
   if (carousel.has(carousel.first, carousel.last)) {
        return;
    }
	//alert(carousel.options.jsonurl);
    jQuery.getJSON(carousel.options.jsonurl,
			function(data){	
			    if (data.totalitems >0){			   
		         	mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, data, state);
		     	}
			 		  
			});
};

function mycarousel_itemAddCallback(carousel, first, last, data, state)
{       
         var stopat = data.totalitems-(data.totalitems-last);
         if (state == 'init')   
              var stopat= 4;
          
          var i;
		     	$.each(data.items, function(i,item){
		     	if ( i == stopat ) return false;	
		          if(item.title)
              carousel.add(i+1, mycarousel_getItemHTML(item.image,item.asin,item.title));  	
          });	
         		   
          carousel.size(data.totalitems);
};

/**
 * Item html creation helper.
 */
function mycarousel_getItemHTML(url,asin,title)
{ 
    return '<a  class="sqtip"  rel="facybox" id="' + asin + '"   style="text-decoration: none;" border="0" title="' + cleanTitle(title) + '"><img  border="0" src="' + url + '"  alt="" /></a>';
};























    /*
   * Private methods
   */
  // called one time to setup facybox on this page
  function init() {
    if($.facybox.settings.inited) return;
    else $.facybox.settings.inited = true;

    $(document).trigger('init.facybox');
    //makeBackwardsCompatible();

    var imageTypes = $.facybox.settings.imageTypes.join('|');
    $.facybox.settings.imageTypesRegexp = new RegExp('\.(' + imageTypes + ')', 'i');

    $('body').append($.facybox.html());//insert facybox to dom


	// ie hacks
	var $f = $("#facybox");
	
	// it amazes me that this is still better than native png32 support in ie8...
	if($.browser.msie){
		$(".n, .s, .w, .e, .nw, .ne, .sw, .se", $f).fixPNG();
		// ie6
		if(parseInt($.browser.version) <= 6){
			var css = "<style type='text/css' media='screen'>* html #facybox_overlay { position: absolute; height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');}</style>"
			$('head').append(css);
			$(".close", $f).fixPNG();
			$(".close",$f).css({
				'right': '15px'
			});
		}
		$(".w, .e",$f).css({
			width: '13px',
			'font-size': '0'
		}).text("&nbsp;");
	}


        $('#facybox .close').click($.facybox.close);
  }
  
  
  
  function revealAjax(href) {
    // $.get(href, function(data) { $.facybox.reveal(data) });
	$.ajax({
	  type: "GET",
	  url: href,
	  complete: function(XMLHttpRequest, textStatus) {
	    content_type = XMLHttpRequest.getResponseHeader("Content-Type");
	    if ( jQuery.inArray(content_type, $.facybox.settings.imageMimeTypes) >= 0 ) {
	      revealImage(href)
	  $.facybox.centralize();
	    } else {
	      $.facybox.reveal( XMLHttpRequest.responseText );
	    }
	  }
	});
  }
  
  
  function skipOverlay() {
    return $.facybox.settings.overlay == false || $.facybox.settings.opacity === null
  }

  function showOverlay() {
    if(skipOverlay()) return;

    if($('#facybox_overlay').length == 0){
      $("body").append('<div id="facybox_overlay" class="facybox_hide"></div>');
    }

    $('#facybox_overlay').hide().addClass("facybox_overlayBG")
      .css('opacity', $.facybox.settings.opacity)
      .fadeIn(200);
    if(!$.facybox.settings.modal){
      $('#facybox_overlay').click(function(){ $(document).trigger('close.facybox')})
    }
  }

  function hideOverlay() {
    if(skipOverlay()) return;

    $('#facybox_overlay').fadeOut(200, function(){
      $("#facybox_overlay").removeClass("facybox_overlayBG").
        addClass("facybox_hide").
        remove();
    })
  }