window.onload = function() {
  var container = jQuery('div#sliderGallery');
  if(container.length > 0) {
    var slider = jQuery('div.slider', container);
    var sliderHolder = jQuery('div.sliderHolder', container);
    var labels = jQuery('span', slider);
    var ul = jQuery('ul', container);
    var sliderObjects = jQuery('li', ul);

	var sliderMoveBar = 825;
	var sliderProductBar = 884;
	var isOverWidth = true;
	var ulSpace = 0;

	if (ul.width() < sliderProductBar)
	{
		isOverWidth = false;
		ulSpace = parseInt(sliderProductBar - ul.width());
		ul.width(sliderProductBar);
	}
	else
		isOverWidth = true;

    sliderObjects.each(function(i, obj) {

		if (!isOverWidth && i != sliderObjects.length-1)
		{
			jQuery(sliderObjects[i]).css('width',jQuery(sliderObjects[i]).find('img').width());
			jQuery(sliderObjects[i]).css('margin-right',parseInt(ulSpace/(sliderObjects.length-1)));
			jQuery(sliderObjects[i]).css('display','block');
			jQuery(sliderObjects[i]).css('float','left');
	
			jQuery(sliderObjects[i]).find('a').css('display','block');
			jQuery(sliderObjects[i]).find('a').css('text-align','center');

			jQuery(sliderObjects[i]).find('span').css('display','block');	
			jQuery(sliderObjects[i]).find('span').css('text-align','center');
		}

        jQuery(".caption", jQuery(obj)).each(function(i2, obj2) {
	
            var obj3 = jQuery(jQuery("img", jQuery(obj))[0]);
            var leftMargin = parseInt(obj3.outerWidth()) / 2 - (jQuery(obj2).outerWidth() / 2);
            var leftPosition = obj3.position().left;

            jQuery(obj2).css("left", (leftPosition+leftMargin)+"px");
            jQuery(obj2).css("top", (obj3.height()+3)+"px");
        });
    });
	
	var will_pos = 0;
	var cate_ids = Array();
	var cIdx = 0;
	
	var itemWidth = parseInt(sliderMoveBar/labels.length);	

	labels.each(function(i, obj) {
		
		jQuery(labels[i]).css('width',itemWidth);
		jQuery(labels[i]).css('text-align','center');

        if (i == 0) {
            jQuery(obj).css("left", -64);
        } else {
            var prev = jQuery(labels[i - 1]);
            var int = Math.floor(sliderHolder.outerWidth() / sliderObjects.length);
			
			var left =   parseInt(prev.css('width')) + parseInt(prev.css('left'));

            jQuery(obj).css("left", left);
            if (parseInt(jQuery(obj).css("left")) + jQuery(obj).outerWidth() > (sliderHolder.outerWidth() - 0)) {
                jQuery(obj).css("left", (sliderHolder.outerWidth() - 0)-jQuery(obj).outerWidth());
            }
        }
		
		cate_ids[i] = jQuery(obj).attr('id');

		jQuery(obj).click(function(){			

			var itemsByCate = jQuery("." + this.id);			

			setIMGBg(itemsByCate,cate_ids,"img",this.id);
			
			var selitem = jQuery(itemsByCate[0]);
			will_pos = selitem.position().left;

			will_pos = parseInt(ul.width()) - will_pos < sliderProductBar ? parseInt(ul.width()) - sliderProductBar : will_pos;
			
			if (i == labels.length-1)
			{
				jQuery('.ui-slider-handle').stop().animate({
					'left':jQuery('#'+this.id).position().left+6
				});
			}
			else
			{
				jQuery('.ui-slider-handle').stop().animate({
					'left':jQuery('#'+this.id).position().left+7
				});
			}
			
			ul.stop().animate({
              'left': (will_pos-6) * -1
			},750);
			
			cIdx = i;			
				
		});
    });	

	jQuery('.slider-right').click(function(e){
		
		e.preventDefault();

		++cIdx;
		if (cIdx > cate_ids.length-1)
			cIdx = cate_ids.length-1;
		else
		{			
			var itemsByCate = jQuery("." + cate_ids[cIdx]);

			setIMGBg(itemsByCate,cate_ids,"img",cate_ids[cIdx]);

			var selitem = jQuery(itemsByCate[0]);
			will_pos = selitem.position().left;

			will_pos = parseInt(ul.width()) - will_pos < sliderProductBar ? parseInt(ul.width()) - sliderProductBar : will_pos;

			ul.stop().animate({
              'left': (will_pos-6) * -1
			},750);			

			if (cIdx == cate_ids.length-1)
			{
				jQuery('.ui-slider-handle').stop().animate({
					'left':jQuery('#'+cate_ids[cIdx]).position().left+6
				});
			}
			else
			{
				jQuery('.ui-slider-handle').stop().animate({
					'left':jQuery('#'+cate_ids[cIdx]).position().left+7
				});
			}
		}		
	});

	jQuery('.slider-left').click(function(e){

		e.preventDefault();
		
		--cIdx;	
		
		if (cIdx <= 0)
			cIdx = 0;			

		var itemsByCate = jQuery("." + cate_ids[cIdx]);

		setIMGBg(itemsByCate,cate_ids,"img",cate_ids[cIdx]);

		var selitem = jQuery(itemsByCate[0]);
		will_pos = selitem.position().left;		

		will_pos = parseInt(ul.width()) - will_pos < sliderProductBar ? parseInt(ul.width()) - sliderProductBar : will_pos;

		ul.stop().animate({
           'left': (will_pos-6) * -1
		},750);			
		
		if (cIdx == cate_ids.length-1)
		{
			jQuery('.ui-slider-handle').stop().animate({
				'left':jQuery('#'+cate_ids[cIdx]).position().left+6
			});
		}
		else
		{
			jQuery('.ui-slider-handle').stop().animate({
				'left':jQuery('#'+cate_ids[cIdx]).position().left+7
			});
		}
	});

    var itemsWidth = ul.innerWidth() - container.outerWidth();

    jQuery('.slider', container).slider({
        min: 0,
        max: itemsWidth,
        animate: true
    });
	
	jQuery('.ui-slider-handle').width(itemWidth);
	jQuery('.ui-slider-handle').css('left',parseInt(jQuery('#'+cate_ids[0]).position().left)+7);

  };
  if(jQuery('#product_tabs').length>0) {jQuery('#product_tabs').tabs();};
};

function setIMGBg(itemsByCate,items,tagName,setCate){
	
	

	for (i = 0; i < itemsByCate.length ; i++ )
	{
		jQuery(itemsByCate[i]).css('background','#DBDBDB');
		jQuery(itemsByCate[i]).find('span').css('background','#494949');
		jQuery(itemsByCate[i]).find(tagName).attr('class','chk_pdt');
	}

	for (i = 0; i < items.length ;i++ )
	{
		if (setCate != items[i])
		{				
			var elseItems = jQuery("." + items[i]);
			for (j = 0; j < elseItems.length ; j++ )
			{
				jQuery(elseItems[j]).css('background','transparent');
				jQuery(elseItems[j]).find('span').css('background','#494949');
				jQuery(elseItems[j]).find(tagName).attr('class','unchk_pdt');
			}
		}
	}
}
