function accesories( pOptions ){
  var options = $.extend({
    baseUrl:"",
    accCatFile:"accessories.json",
    accCatDetailFile:"accessorydetail.json",
    accImageFile:"accessoryimage.json"
  },pOptions||{});

  var showAccessoryDetails = function(pEl){
    var rendered = pEl.data("isRendered");
    /*$("#preloadingDiv").height( $("ul.tabAcc.li").height() );
    $("#preloadingDiv").width( $("ul.tabAcc.li").width() );
    $("#preloadingDiv").show(); */

    if( typeof(rendered) == "undefined"  ){
        $('.bTooltip').tipsy({gravity: 'se',html:true,live: true,delayIn: 500,
          title: function(){
             return renderToolTip($(this));
           }
        });
      pEl.data("isRendered", true);
    }
    

    $("#preloadingDiv").hide();
    pEl.find( "ul.sub > li " ).click(function(event){
      //event.stopPropagation();
    })
  };

  var renderToolTip = function(pElem){
   var ccatId = pElem.attr("rel");
   var aUrl = options.baseUrl + "/" + ccatId + "/" + options.accImageFile;
   var html = pElem.data("tooltip");
   if( typeof(html) == "undefined"  ){
      $.ajax({
          url: aUrl,
          dataType: 'JSON',
          async: false,
          success:function(data){
            data = $.parseJSON(data);
            if(data.accessoryImage.imgobjid != null){
              html='<p >'+data.accessoryImage.accessoryname+"</p>";
              html += '<div style="height:150px;"><img src="image/accessory/prodimg/'+ data.accessoryImage.imgobjid + '/' + data.accessoryImage.imgobjid + '.jpg?maxwidth=176&maxheight=150" border="0" /></div>';

              pElem.data("tooltip", html);
            }else{
              html = "";
            }
          }
      });
   }
    return html;
  }

  this.init = function(){
    $('.tabAcc li').unbind("click");
    $('.tabAcc li').live ('click', function () {
      if ($(this).find('ul').hasClass('sub')) {
				$(this).toggleClass('down');
				$(this).find('ul.sub').slideToggle('slow');
			};
      return false;
		});

  };

  this.showAccesories = function(pCcatId,pObjId){
  $("ul.tabAcc").data("objId", pObjId);
    $("ul.tabAcc").data("ccatId", pCcatId);
    var aUrl = options.baseUrl + "/" + pCcatId + "/" + pObjId + "/" + options.accCatFile;
    $.ajax({
        url: aUrl,
        dataType: 'JSON',
        success: function(pData){
          pData = $.parseJSON(pData);
           $("#accessoriesCatsTemplate").tmpl(pData.accessories).appendTo("ul.tabAcc");
             $("#preloadingDiv").hide();
             $("ul.tabAcc > li").bind("click", function(event){
               showAccessoryDetails($(this));
             });
            if( pData.accessories.length > 0 ){
              $("#ct_4 > p").remove();
              $("#ct_4 > a").remove();
            }
            initBlb();
          }
    });

  }
}
