var aVisibleItems = new Array();
var aInisibleItems = new Array();
var iCursor = 0;

function disableNavigation()
{
	$('div.catalogue div.block div.nvg p a.next').add('div.catalogue div.block div.nvg p a.prev').css({'text-decoration':'none','color':'#ffffff','cursor':'default'});	
}

function initCompareItems()
{
	$('div.catalogue div.block:visible').each(function(){
		aVisibleItems.push($(this).attr('index'));
	});
	$('div.catalogue div.block:hidden').each(function(){
		aInisibleItems.push($(this).attr('index'));
	})
}

function removeItem(index)
{
	var item = $('#item_' + index);
	moveItem(index, 'next', false);
	
	if((aInisibleItems.length + $('div.catalogue div.block:visible').size())-1 == 0)
	{
		$('div.compartable').html('<p style="margin-top:200px;" align="center">товаров для сравнения нет.</p>');
	}
	
	item.hide();
	
}

function moveItem(index, direction, saveInBuffer)
{
	if(aInisibleItems[iCursor])
	{
		var exchangeId = aInisibleItems[iCursor];
		var oldItem = $('#item_' + index);
		var newItem = $('#item_' + exchangeId);
		
		if(saveInBuffer)
			aInisibleItems[iCursor] = index;
		else
		{
			delete(aInisibleItems[iCursor]);
			
			aInisibleItems = $.grep(aInisibleItems, function(value) { return (typeof value != 'undefined') })
			
			if(aInisibleItems.length + $('div.catalogue div.block:visible').size() < 4)
			{
				disableNavigation();
			}
		}
		
		if(direction == 'next')
		{
			if(aInisibleItems[iCursor + 1])
				iCursor = iCursor + 1;
			else
				iCursor = 0;	
		}
		else
		{
			if(aInisibleItems[iCursor - 1])
				iCursor = iCursor - 1;
			else
				iCursor = aInisibleItems.length - 1;
		}
		
		oldItem.fadeOut(800,function(){
			oldItem.after(newItem);
			newItem.fadeIn(800);
		});
	}
}

this.tooltip = function(){	
	/* CONFIG */		
		xOffset = 10;
		yOffset = 20;		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result		
	/* END CONFIG */		
	$(".tooltip").hover(function(e){											  
		if($(this).attr('dialogdiv') == 'yes')
		{
			this.t = this.title;
			this.title = "";									  
			$("body").append("<p id='tooltip'>"+ this.t +"</p>");
			$("#tooltip")
				.css("top",(e.pageY - xOffset) + "px")
				.css("left",(e.pageX + yOffset) + "px")
				.fadeIn("fast");		
		}
	},
	function(){
		this.title = this.t;		
		$("#tooltip").remove();
    });	
	$(".tooltip").mousemove(function(e){
		if($(this).attr('dialogdiv') == 'yes')
		{
			$("#tooltip")
				.css("top",(e.pageY - xOffset) + "px")
				.css("left",(e.pageX + yOffset) + "px");
		}
	});			
};

function setCookie (name, value, expires, path, domain, secure) 
{
  document.cookie = name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires : "") +
    ((path) ? "; path=" + path : "; path=/") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

function getCookie(name) 
{
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

$(function(){
	tooltip();
	var CType = $('input[@name=CType]').attr('value');
	$('input[@type=checkbox][@name=compare_items]').click(function(){
		if(getCookie('trendex_compare_'+CType))
			var Old   = getCookie('trendex_compare_'+CType).split('_');
		else
			var Old = new Array();
					
		var value = $(this).attr('value');
		

		if($(this).attr('checked'))
		{
			var Arr = new Array();
			
			Arr.push(value);
			for(var i = 0; i < Old.length; i++)
				Arr.push(Old[i]);	
			
			ids = Arr.join('_');

			setCookie('trendex_compare_'+CType, ids); 
		}
		else
		{
			var Arr = new Array();			
			for(var i = 0; i < Old.length; i++)
			{
				if(Old[i] != value)
					Arr.push(Old[i]); 	
			}
			
			ids = Arr.join('_');

			setCookie('trendex_compare_'+CType, ids); 			
		}
	
	});
	$('a[@use=do_compare]').click(function(){
		var mode = $(this).attr('mode');
		//var jBoxes = $('input[@type=checkbox][@name=compare_items]:checked');
		
		if(getCookie('trendex_compare_'+CType))
			var Compare   = getCookie('trendex_compare_'+CType).split('_');
		else
			var Compare = new Array();
					
		if(Compare.length < 2)
			alert('Для сравнения минимум 2 товара');
		else
		{
			var ids = '';
			for(var i = 0; i < Compare.length; i++)
			{
				if(Compare[i] != '')
					ids += Compare[i]+ '_';
			}
			/*
			jBoxes.each(function(){
				ids += $(this).val() + '_';
			})
			*/
			ids = ids.substr(0,ids.length-1);
			window.location = LOCATION + '/catalogue/compare/' + ids + '/' + mode;
		}
	});
	
	/* when click on "prev" or "next" */
	
	$('div.catalogue div.block div.nvg p a.next').click(function(){
		moveItem($(this).parent().attr('index'), 'next', true);
	})
	
	$('div.catalogue div.block div.nvg p a.prev').click(function(){
		moveItem($(this).parent().attr('index'), 'prev', true);
	})
	
	/*  when click on "delete" */
	$('div.catalogue div.block div.nvg p a.del').click(function(){
		removeItem($(this).parent().attr('index'));
	})
	
	/* on table line over */
	var jTr = $('div.compartable table tr');
	$('div.compartable table').each(function(){
		var counter = 1;
		$(this).find('tr').each(function(){
			$(this).attr('index',counter);
		counter ++ ;
		})
		
	});
	
	jTr.mouseover(function(tr){
		//jTr.trigger('mouseout');
		var index = $(this).attr('index');
		$('div.compartable table tr[@index='+index+'] td').addClass('hover');
		
		// show full description
		/*$('div.compartable table tr td div').mouseover(function(){
			$('#dialog_fulltext').remove();
			
			if($(this).attr('dialogdiv') == 'yes')
			{
				$(this).css('position','relative');
				var dialogDiv = $('<div id="dialog_fulltext"></div>');
				$(dialogDiv).html($(this).attr('fulltext'));
				$(dialogDiv).css('z-index','1000');
				$(this).append(dialogDiv);
				$(dialogDiv).show();
				$(dialogDiv).mouseover(function(){
					$('div.compartable table tr[@index='+index+'] td').removeClass('hover');
				});
			};
		});*/
	});
	
	jTr.mouseout(function(tr){
		var index = $(this).attr('index');
		$('div.compartable table tr[@index='+index+'] td').removeClass('hover');
	});
	
	
	/*$('div.compartable table tr td div').mouseout(function(){
		
	});*/
	
	/* disable/enable "prev" and "next" */
	if($('div.catalogue div.block').size() < 4)
	{
		disableNavigation();
	}
})

