$.fn.inputDefaultText = function(options)
{  
	options = $.extend({
		text: 'Hledany vyraz'
	}, options);
	
	return this
		.val(options.text)
		.bind('focus', function(){ if(this.value == options.text) this.value = ''; })
		.bind('blur', function(){ if(this.value == '') this.value = options.text; });
};

$.fn.kfTabs = function(options)
{
	options = $.extend({
		panes: '.tab-pane',
		activeTab: 0 
	}, options);
	
	var $tabs = this;
	var $panes = $(options.panes);
	
	var activateTab = function(i)
	{
		$tabs.filter('.active').removeClass('active').end().eq(i).addClass('active');
		$panes.hide().eq(i).show();
	}
	
	$panes.each(function(){
		this.id = 'pane-' + this.id;
	});

	var hashChange = function()
	{
		var hash = location.hash;
		
		hash = hash.replace('#', '');
		
		if(hash != '')
		{
			var $pane = $panes.filter('#pane-' + hash);
			
			if($pane.size())
			{
				activateTab($panes.index($pane.eq(0)));
			}
		}
		else
		{
			activateTab(options.activeTab);
		}

	};
	
	$(window).bind('hashchange', hashChange).trigger('hashchange');

	return this;
}

$.fn.kfEqualizeColumns = function(options)
{
	options = $.extend({
		column: '>li' 
	}, options);
	
	return this.each(function(i)
	{
		var $columns = $(options.column, this);
		var maxHeight = 0;
		$columns
			.height('auto')
			.each(function(){
				var h = $(this).height(); 
				if(h > maxHeight) maxHeight = h;  
			})
			.height(maxHeight);
	});
}

$.fn.kfCenterImages = function(options)
{
	options = $.extend({
		column: '>li .img-box img' 
	}, options);
	
	return this.each(function(i)
	{
		var $columns = $(options.column, this);
		var maxHeight = 0;
		$columns
			.each(function(){
				var h = $(this).height(); 
				if(h > maxHeight) maxHeight = h;  
			})
			.each(function(){
				$(this).css({ paddingTop: ((maxHeight - $(this).height())/2) });
			});
	});
}

function fontSizeListener($el, callback)
{
	$el = $($el);
	var h = 0;
	var interval = setInterval(function()
	{	
		if($el.height() != h){
			h = parseInt($el.height());
			callback();	
		}
	}, 200);	
};

$.fn.kfCheckToggle = function(target, options)
{
	var $target = $(target);
	
	return this.bind('click', function(){
		if($(this).is(':checked'))
		{
			$target.show();
		}
		else
		{
			$target.hide();		
		}		
	});
}

var equalizeHeights = function()
{
	$('.product-list ul').each(function()
	{
		$(this)
			.kfEqualizeColumns({ column: '>li .img-box' })
			.kfEqualizeColumns({ column: '>li .desc' })
			.kfEqualizeColumns({ column: '>li .foot' })
			.kfEqualizeColumns({ column: '>li h3' });
	});	
};


$(document).ready(function()
{	
	$('a.lightbox').kfBox();
	$('a.external').click(function(){return !window.open($(this).attr("href"))});

	$('#q').inputDefaultText({ text: 'Hledaný výraz'});
	$('#newsletter-email').inputDefaultText({ text: 'Váš e-mail'});

	
	// Ovládátka pro objednávkový proces:
	$('.js-hide').hide();
	$('.js-show').show();
	$('#company-switch').kfCheckToggle('#company-switch-box');
	$('#shipping-switch').kfCheckToggle('#shipping-switch-box');
	$('#order-previous-invoice-addresses').bind('change', function()
	{
		var addr = null;
		if(addresses && (addr = addresses[$(this).val()]))
		{
			$('#order-street').val(addr['street']);
			$('#order-city').val(addr['city']);
			$('#order-psc').val(addr['psc']);
		}
	});
	$('#order-previous-shipping-addresses').bind('change', function()
	{
		var addr = null;
		if(addresses && (addr = addresses[$(this).val()]))
		{
			$('#order-shipping-name').val(addr['name']);
			$('#order-shipping-street').val(addr['street']);
			$('#order-shipping-city').val(addr['city']);
			$('#order-shipping-psc').val(addr['psc']);
		}
	});
	$('#order-street, #order-city, #order-psc').bind('change', function()
	{
		$('#order-previous-invoice-addresses').val('-');
	});
	$('#order-shipping-name, #order-shipping-street, #order-shipping-city, #order-shipping-psc').bind('change', function()
	{
		$('#order-previous-shipping-addresses').val('-');
	});
	
	// Ovládátka pro dopravu a platbu
	var SPPrices = SPPrices || [
		[1, 1, 0],
		[1, 1, 0],
		[0, 1, 1]
	];
		
	$('input[id^=order-shipping]').bind('click', function()
	{
		var i = parseInt(this.id.substr(15)) - 1;
		for(var j = 0; j < SPPrices[i].length; j++)
		{
			if(SPPrices[i][j] == 0) $('input#order-payment-' + (j + 1)).attr('disabled', true).attr('checked', false);
			else $('input#order-payment-' + (j + 1)).removeAttr('disabled');
		}
	}).filter(':checked').triggerHandler('click');

	/* Ovládátka profil->adresy */
	$('input[id^=addr-type]').bind('click', function()
	{
		var i = parseInt(this.id.substr(10));
		if (i == 1) {
			$("#addr-company-hider").hide();
		} else {
			$("#addr-company-hider").show();
		}
	}).filter(':checked').triggerHandler('click');
	
	
	/* vkládání flashe */
	$('.flash-banner').each(function(){
		flashsize = $(this).find('a').attr('data-flashsize');
		flashsize = flashsize.split("x");

		$(this).flash({
			src: $(this).find('a').attr('href'),
			width: flashsize[0],
			height: flashsize[1],
			wmode: 'opaque',
			flashvars: {}
		});

		$(this).find('.alt').css("display","none");
	});
	
	/* Captcha */
	if (typeof(captcha) != "undefined") {
		$("#form-captcha").attr("value", captcha);
		//$(".captcha").hide();
	}
	/* Filter form */
	$('#company-filter #company_area').change(function(){
		var val = $(this).val();
		
		$('#company-filter #company_activity').load("./ajax_company_activities/?url_node="+url_node+"&area="+val);
		if (val) $('.filter-box #company_activity').val("");
	})
	
	/* opem box */
	$('.open-box').each(function(){
		var $box = $(this),
			$control = $box.find('.hd'),
			$inner = $box.find('.bd'),
			status = $box.is('.status-open');
			
			if(!status) $inner.hide();
		
		$control.click(function(){
			$box.removeClass(status ? 'status-open' : 'status-close').addClass(status ? 'status-close' : 'status-open');
			$inner.toggle();
			status = !status;	
			return false;
		}).mousedown(function(){	
			return false;
		});
	})

});
	
$(window).bind('load', function()
{
	fontSizeListener('#footer', equalizeHeights);

	$(".js-tabs .tab-list li").kfTabs();
	
	$('.product-list ul').each(function()
	{
		$(this)
			.kfCenterImages({ column: '>li .img-box img' });
	});	

});


