jQuery(window).load(function() {
	var length, items, width, widthCatitems, widthMiddlediv, x, y1, y2, left;
	var padding = 9;
	var minWidthCatitems = 295;
	var interval = 1; /*ms*/
	var speed = 10; /*px*/
	var intID_0_0, intID_0_1, intID_1_0, intID_1_1;

	jQuery('.catalog .insert .middlediv .items').css('position', 'absolute');

	var active = jQuery('.catalog .insert .active');
	var items = jQuery('.catalog .insert .active .items');
	var catitems = jQuery('.catalog .insert .active .catitems');
	var header = jQuery('#header');
	var showitems = catitems.length;

	var calc = function(){
		length = jQuery(catitems).length;
	
		/* .middlediv width */
		widthMiddlediv = Math.floor(jQuery(header).width() - jQuery(header).width()*0.1);
		jQuery(active).css("width", widthMiddlediv);
		
		/* .catitems width*/
		x = Math.floor(widthMiddlediv/minWidthCatitems);
		if (x > length) {widthCatitems = Math.floor(widthMiddlediv/length) - padding;}
		else {widthCatitems = Math.floor(widthMiddlediv/x) - padding;}
		jQuery(catitems).css("width", widthCatitems + "px");

		if (showitems - x >= x){y2 = x;}
		else {y2 = showitems - x;}
		y1 = x;
		
		/* .items width*/
		widthItems = widthCatitems * length + padding * length;
		if (widthItems > widthMiddlediv) {
			jQuery(items).css("width", widthItems + "px");
		}
		else {jQuery(items).css("width", widthMiddlediv);}
		
		/* left */
		if ((x <= showitems) && (length > x)){
			jQuery(items).css("left", (showitems - length)*(widthCatitems + padding) + 'px');
		}
		else if (length > x) {
			jQuery(items).css("left", (x - length)*(widthCatitems + padding) + 'px');
		}
	};

	calc();
	showitems = catitems.length;
	
	var __to = true;
	
	jQuery(window).resize(function(){
		if (__to) setTimeout(function(){
			calc();
			__to = true;
		}, 200);
		__to = false;
//		calc();
	});
	/* on change ul.insert li */
	jQuery('.inserts a').click(function () {
		jQuery(items).stop();
		jQuery('.insert .middlediv').removeClass('active');
		jQuery('.inserts td').removeClass('active');
		jQuery('.insert .middlediv[name='+jQuery(this).attr('name')+']').addClass('active');
		jQuery('.inserts td[name='+jQuery(this).attr('name')+']').addClass('active');
		active = jQuery('.catalog .insert .middle .active');
		items = jQuery('.catalog .insert .active .items');
		catitems = jQuery('.catalog .insert .active .catitems');
		showitems = catitems.length;
		calc();
		return false;
	});
	
	/* prev arrow */
	jQuery('.insert .first .prev').click(function () {
		left = parseInt(jQuery(items).css('left'));
		if (!Number(left)){left = 0;}
		if ((showitems <= catitems.length) && (left < 0)){
			jQuery(items).queue(function () {
				jQuery('.insert .last .next').hide();
				jQuery('.insert .first div').addClass('active');
				jQuery('.insert .first .prev').hide();
				jQuery(this).dequeue();
			}).animate({ 
				left: left + widthCatitems*y1 + padding*y1 + 'px'
			  }, 2000, 'swing', function(){			
					showitems += y1;
					if (catitems.length - showitems >= x){y1 = x;}
					else {y1 = catitems.length - showitems;}
					if (showitems - x >= x){y2 = x;}
					else {y2 = showitems - x;}
			}).queue(function () {
				jQuery('.insert .first .prev').show();
				jQuery('.insert .first div').removeClass('active');
				jQuery('.insert .last .next').show();
				jQuery(this).dequeue();
			});
		}
		return false;
	});

	/* next arrow */
	jQuery('.insert .last .next').click(function () {
		left = parseInt(jQuery(items).css('left'));
		if (!Number(left)){ left = 0; }
		if ((showitems - x > 0) && (widthItems > widthMiddlediv)){
			jQuery(items).queue(function () {
				jQuery('.insert .last .next').hide();
				jQuery('.insert .last div').addClass('active');
				jQuery('.insert .first .prev').hide();
				jQuery(this).dequeue();
			}).animate({ 
				left: left - widthCatitems*y2 - padding*y2 + 'px'
			  }, 2000, 'swing', function(){			
					showitems -= y2;
					if (catitems.length - showitems >= x){y1 = x;}
					else {y1 = catitems.length - showitems;}
					if (showitems - x >= x){y2 = x;}
					else {y2 = showitems - x;}
					//alert('catitems.length = ' + catitems.length + ';   ' + 'showitems = ' + showitems + ';   ' + 'y2 = ' + y2);
			}).queue(function () {
				jQuery('.insert .first .prev').show();
				jQuery('.insert .last div').removeClass('active');
				jQuery('.insert .last .next').show();
				jQuery(this).dequeue();
			});
		}
		return false;
	});
	jQuery('.insert .firstcatitem a').click(function () {
		jQuery('.insert .last .next').click();
		return false;
	});

	setTimeout(function(){
		jQuery('.insert .last .next').css('background', 'url("/images/style/arrow-right-a.gif") left top no-repeat');
		setTimeout(function(){
			jQuery('.insert .last .next').css('background', '');
		}, 1000);
	}, 1500);
	setTimeout(function(){jQuery('.insert .last .next').click();}, 3000);
});

