jQuery(document).ready(function() {
    var $listSize;
	var $ItemShowing = numberToShow;
	var $DataURL     ='http://' + callDomain + '/symtio/control/widgetDataByISBN?isbns=' + isbns + '&s=' + storeID + '&a=' + affiliateID + 'format=json&jsoncallback=?';
	var $linkText1   = link1Text;
	var $linkText2   = link2Text;
	jQuery('#symtioWidgetList').jcarousel({
        vertical: true, scroll:  1,
		itemLastInCallback   :  mycarousel_itemLastInCallback,
		itemFirstInCallback  :  mycarousel_itemFirstInCallback,
		initCallback         :  initLstCallBack,
		itemLoadCallback     :  mycarousel_itemLoadCallback
    });
	
	function mycarousel_itemLoadCallback(carousel, state)
     {
		if (state != 'init')
		return;
		$.getJSON($DataURL , function(data){  
			     response = {values: [],count: 0};
				 $.each(data.components.items, function(i,item){  
					   if (item) {
						 response.count++;
						 var tmp = new Array();
						 tmp[0] = item.productName
						 tmp[1] = item.imageURL
						 tmp[2] = item.browseInsideURL
						 tmp[3] = item.addToCart
						 response.values[i]= tmp;
						 }
                   });  
                   mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, response.values);
        });    
     };

	function mycarousel_itemAddCallback(carousel, first, last, data)
	{
		for (i = 0; i < data.length; i++) {
		     currRecord = data[i];
			  for (x = 0; x < currRecord.length;x++){
				 var Itm  =  getItemHTML1(currRecord[0],currRecord[1],currRecord[2]) + getItemHTML2(currRecord[2]) + getItemHTML3(currRecord[3]) ;
				 carousel.add(i+1, Itm);
			}
		}
		$listSize = $('#symtioWidgetList li').size();
	};

	function getItemHTML1(title,url,linkURL)
    {
		return '<a href="' + linkURL + '"><img border="0" title="' + title + '" src="' + url + '" /></a>';
    };
	
	function getItemHTML2(url)
    {
        return '<br /><a  class="smll" href="' + url + '">' + $linkText1 + '</a>';
    };
	
	function getItemHTML3(url)
    {
        return '<br /><a class="smll" href="' + url + '">' + $linkText2 + '</a>';
    };
	
	function initLstCallBack(carousel){
	}
	
    function mycarousel_itemLastInCallback(carousel, item, idx, state) {
		  if ( (idx +1) + $ItemShowing >= $listSize ){
				carousel.buttonNext['unbind'](carousel.options.buttonNextEvent);
				carousel.buttonNext['addClass'](carousel.className('jcarousel-next-disabled')).attr('disabled', true);
          }
    };
	
	function mycarousel_itemFirstInCallback(carousel, item, idx, state) {
    };
	
});