
HkAdvertCompare = function()
{
	this.urlUpdate = hkBaseUri + 'buy_auto/update_compare/' ;
	this.urlCompare = hkBaseUri + 'buy_auto/compare/auto/' ;
	this.urlClear = hkBaseUri + 'buy_auto/clear_compare/' ;

	this.selected = new Array();

	this.Init();
}

HkAdvertCompare.prototype.Init = function()
{
	var selfObj = this;
	jQuery('#idCompareStatus li a.sel').each(function(){
		var item = new Object();
		item.link = jQuery(this).attr('href');
		item.id = jQuery(this).attr('rel');
		item.title = jQuery(this).text();

		selfObj.selected.push(item);
	});
}

HkAdvertCompare.prototype.UpdateCheckbox = function(id, status)
{
	var selfObj2 = this;
	jQuery.getJSON(this.urlUpdate + id + '/' + status,  function(data) {
		
		selfObj2.selected = new Array();
		if (data)
		{
			jQuery.each(data, function(i,item)
			{
				selfObj2.selected.push(item);
			});
		}
		
		selfObj2.RenderStatus();

		if (status=='clear') jQuery('#idCompare'+id).removeAttr('checked');

		hkAdvertCompareCheckLimit();
	});
}

HkAdvertCompare.prototype.RenderStatus = function()
{
	var len = this.selected.length;

	if (len>1) jQuery('#idCompareHint').hide();
	else jQuery('#idCompareHint').show();

	if (len<3) jQuery('#idCompareHint2').hide();
	else jQuery('#idCompareHint2').show();
	
	jQuery('#idCompareStatus').empty();
	var html = '<ul>';
	
	for (var i=0; i<len; i++)
	{
		var item = this.selected[i];
		html += '<li><a href="#remove" class="rem" onclick="hkAdvertCompare.UpdateCheckbox('+ item.id +', \'clear\');return false">убрать</a><span>#' 
			+ item.idx + '</span> &nbsp;' + item.price 
			+ ' <br /> <a class="sel" href="' + item.url + '">' + item.title + '</a></li>';
	}

	html += '</ul>';
	jQuery('#idCompareStatus').html(html);

	if (len>1) jQuery('#idCompareSubmit').show();
	else jQuery('#idCompareSubmit').hide();
}

HkAdvertCompare.prototype.Compare = function()
{
	var len = this.selected.length;
	if (len<2) return;

	var suffix = '';
	for (var i=0; i<len; i++ )
	{
		suffix += this.selected[i].id + '/';
	}

	//location.href = this.urlCompare + suffix;
	window.open(this.urlCompare + suffix)
}

HkAdvertCompare.prototype.Clear = function()
{	
	(function (selfObj) {
		jQuery.getJSON(selfObj.urlClear,  function(data) {
			
			selfObj.selected = new Array();
			selfObj.RenderStatus();

			jQuery('table.adverts input:checkbox').removeAttr('checked');

			hkAdvertCompareCheckLimit();
		});
	})(this);
}

HkAdvertCompare.prototype.ClearAndClose = function()
{
	(function (selfObj) {
		jQuery.getJSON(selfObj.urlClear,  function(data) {
			selfObj.selected = new Array();
			selfObj.RenderStatus();
			hkAdvertCompareCheckLimit();
			
			try 
			{
				opener.hkAdvertCompare.Clear();
			}
			catch(e) {}

			self.close();
		});
	})(this);
}


function hkAdvertCompareCheckLimit()
{
	var s1 = jQuery('table.adverts input:checkbox:checked').length;
	var s2 = (hkAdvertCompare) ? hkAdvertCompare.selected.length : 0;
	
	jQuery('table.adverts input:checkbox').each(function(i){
		jQuery(this).parent().find('span').removeClass('ready');
		jQuery(this).parent().find('span').unbind('click');
	});

	if(s1>1 || s2>1)
	{
		jQuery('table.adverts input:checkbox:checked').each(function(i){
			jQuery(this).parent().find('span').addClass('ready');
			jQuery(this).parent().find('span').click(function(e){
				e.preventDefault();
				hkAdvertCompare.Compare();
			});
		});
	}
	
	if (s1>=3 || s2>=3)
	{
		jQuery('table.adverts input:checkbox[checked=]').attr('disabled', 'disabled');
	}
	else
	{
		jQuery('table.adverts input:checkbox').removeAttr('disabled');
	}
}

var hkAdvertCompare = null;

jQuery(document).ready(function(){
	
	hkAdvertCompare = new HkAdvertCompare();

	hkAdvertCompareCheckLimit();

	jQuery('table.adverts input:checkbox').click(function(){
	
		if (jQuery(this).is(':enabled'))
		{
			var id = jQuery(this).val();
			if (jQuery(this).is(':checked'))
			{
				hkAdvertCompare.UpdateCheckbox(id, 'check');
			}
			else
			{
				hkAdvertCompare.UpdateCheckbox(id, 'clear');
			}
		}
	});

	
});