(function($){
 $.fn.product = function(options,productid) {

      var defaults = {   
            zoomitem: '#zoom',
            thumbnailfolder: 'thumbnail',
            largefolder:'large',
            zoomfolder:'zoom',
           // base:"http://www.frenchconnection.com/stormsites/fcuk/images/products/thumbnail/",
		   base:"http://www.fcukindia.com/product/thumbnail/",
            imagesuffix:".jpg",
            singleaddtobasket:true
      };   
      var options = $.extend(defaults, options); 
      var zoomoptions =                        {
                    zoomWidth: 300,		//zoomed width default width
                    zoomHeight: 300,		//zoomed div default width
                    xOffset: 20,		//zoomed div default offset
                    yOffset: 20,
                    title : false,
                    showPreload: false,
			        preloadText : '<br/>loading...'
	            } ;   
      
     var zoomoptions2 =                     {
                    zoomWidth: 300,		//zoomed width default width
                    zoomHeight: 300,		//zoomed div default width
                    xOffset: 20,		//zoomed div default offset
                    yOffset: 20,
                    title : false,
                    showPreload: true,
			        preloadText : '<br/>loading...'
	            } ;   

    return this.each(function() {
       
	        var lastcount = 1;
	        var sizeoflist = 4;
	        
	        function imgurls(size,id,indexer)
	        {
	            var urls = new Array(size);
	            if (indexer==1)
	            {
	                urls[0] = id;
	            }
	            else
	            {
	                urls[0] = id + "_" + (indexer);
	            }
                urls[1] = id + "_" + (indexer + 1);
                urls[2] = id + "_" + (indexer + 2);
                urls[3] = id + "_" + (indexer + 3);
                lastcount = lastcount + size;
                return urls;
	        };
	     
	        function complete( data ){
		        var img = new Image;
                img.src = data.image;
                 if (data.found) {
                 var lielement = $("<li class='jcarousel-item'></li>").append(img);
                 $("#mycarousel").append(lielement);
                 lielement.click(function() {
                 var newsrc = img.src.replace(options.thumbnailfolder, options.largefolder);
                 var largesrc = img.src.replace(options.thumbnailfolder, options.zoomfolder);

                 $(options.zoomitem).removeData();
                 $(options.zoomitem).attr("href", largesrc);
                 $("#mainimage").attr("src", newsrc);

                 $(options.zoomitem).jqzoom(zoomoptions2 );
              
                 $('#openfull').attr("href", largesrc );
                 });
             }
	        };
	         
	        function finish(data){
	           
		       if (data.failed == 0) {
		                var urls = imgurls(sizeoflist,productid,lastcount);
		                
                        $.preload(urls, {
                            base: options.base,
                            ext:options.imagesuffix,
                            onComplete:complete,
                            onFinish:finish
                        });
                        
                    } else {
                      
                        if (((data.failed == sizeoflist) && (lastcount == 9)) || lastcount == 5)
                        {
                   
                        }
                        else{
                            $('#carsouselwrap').removeClass();
                            jQuery("#mycarousel").jcarousel({
                            vertical: true,
                            scroll: 2
                            });
                        
                        }
                    }
	        };

	        $(options.zoomitem).jqzoom(zoomoptions);
	         
            var urls = imgurls(sizeoflist,productid,lastcount);
        	$("input[class='swatchgroup']","#rangegrid" ).custCheckBox({disable_all:options.singleaddtobasket});
	        $(".spin","#skulist").spin({max:10,min:1});
	        $("#productinfo").accordion({
			    header: "h3",
			    autoHeight: true
			    });
        
            $.preload(urls, {
                base: options.base,
                ext:options.imagesuffix,
                onComplete:complete,
                onFinish: finish
            });
    
    

    });
 };
})(jQuery);
