Cufon.replace('.cuf, h2.large, h2.larger, .news-home ul li h3, h3.underline, h1, .content-box h2, .side-box h2, a.more-rounded .in, .news-events h3');

var BASE_HREF = BASE_HREF || '../';

///*
var candidates = candidates || {
	'kraj-zlinsky': {
		img: '../img/samples/sample-01.jpg',
		name: 'Jan Novák Zlínský',
		role: 'předseda strany zlín'
	},
	'kraj-ustecky': {
		img: '../img/samples/sample-01.jpg',
		name: 'Jan Novák Ústecký',
		role: 'předseda strany ústí'
	},
	'kraj-stredocesky': {
		img: '../img/samples/sample-01.jpg',
		name: 'Jan Novák',
		role: 'předseda strany'
	},
	'kraj-praha': {
		img: '../img/samples/sample-01.jpg',
		name: 'Jan Novák',
		role: 'předseda strany'
	},
	'kraj-plzensky': {
		img: '../img/samples/sample-01.jpg',
		name: 'Jan Novák',
		role: 'předseda strany'
	},
	'kraj-pardubicky': {
		img: '../img/samples/sample-01.jpg',
		name: 'Jan Novák',
		role: 'předseda strany'
	},
	'kraj-moravskoslezsky': {
		img: '../img/samples/sample-01.jpg',
		name: 'Jan Novák',
		role: 'předseda strany'
	},
	'kraj-olomoucky': {
		img: '../img/samples/sample-01.jpg',
		name: 'Jan Novák',
		role: 'předseda strany'
	},
	'kraj-kralovehradecky': {
		img: '../img/samples/sample-01.jpg',
		name: 'Jan Novák',
		role: 'předseda strany'
	},
	'kraj-karlovarsky': {
		img: '../img/samples/sample-01.jpg',
		name: 'Jan Novák',
		role: 'předseda strany'
	},
	'kraj-liberecky': {
		img: '../img/samples/sample-01.jpg',
		name: 'Jan Novák',
		role: 'předseda strany'
	},
	'kraj-vysocina': {
		img: '../img/samples/sample-01.jpg',
		name: 'Jan Novák',
		role: 'předseda strany'
	},
	'kraj-jihocesky': {
		img: '../img/samples/sample-01.jpg',
		name: 'Jan Novák',
		role: 'předseda strany'
	},
	'kraj-jihomoravsky': {
		img: '../img/samples/sample-01.jpg',
		name: 'Jan Novák',
		role: 'předseda strany'
	}
};
//*/

$(document).ready(function()
{
	//$.fn.kfBox && $('.lightbox').kfBox();
	$.fn.kfBox && $('.lightbox').kfBox({htmlTemplate: "<div id='kfb-window'><div id='kfb-paging'><div id='prevnext'><a href='#' id='kfb-prev' rel=''></a><a href='#' id='kfb-next' rel=''></a></div><div id='kfb-page-list'></div></div><div id='kfb-close'><a href='#' id='kfb-close-btn' title=''></a></div><div class='break'></div> <p id='kfb-desc'></p> <a href='' id='kfb-image-anchor' title=''></a><div id='kfb-content'></div></div>"});

	$('table tr:nth-child(even)').addClass('even');

	$('#q').inputDefaultText({ text: 'Hledaný výraz'});

	$('a.external').click(function(){return !window.open($(this).attr("href"))});
	
	$('a.print').bind('click', function(){ window.print(); return false; });
	
	if($.fn.cycle)
	{
		$('.supporters-box .motive-box').each(function(){
			var that = this;
			$(this).find('.motives').cycle({
				fx: 'fade',
				speed: 1500,
				timeout: 5000,
				pause: true,
				pager: $(this).next('.related-images').find('ul'),				
				pagerAnchorBuilder: function(idx, slide) { 
				    // return selector string for existing anchor 	    
				    return $(that).next('.related-images').find('ul li:eq(' + idx + ') a'); 
				} 				
			});
		});
		
		$('.side-box-gallery .motive-box').each(function(){
			var that = this;
			$(this).find('.motives').cycle({
				fx: 'fade',
				speed: 1500,
				timeout: 5000,
				pause: true,
				pager: $(this).parent().next('.related-images').find('ul'),				
				pagerAnchorBuilder: function(idx, slide) { 
				    // return selector string for existing anchor
					return $(that).parent().next('.related-images').find('ul li:eq(' + idx + ') a'); 
				} 				
			});
		});
		
		$('.program-bar-slider').each(function(){
			var that = this;
			$(this).cycle({
				fx: 'scrollUp',
				speed: 1500,
				timeout: 5000,
				pause: true
			});
		});
	}
	
	/* Scrollovátko aktualit na titulce */
	var $prevnext2 = $('<div class="prevnext"><a href="#" class="btn-prev">předchozí</a> <a href="#" class="btn-next">další</a></div>');
    $('.news-home .hscroll-box').before($prevnext2);
    var newsHomeScroller = new kff.widgets.SherwoodScroller('.news-home .hscroll-box', { 
		scrollWidth: 516, 
		carouselWidth: 983, 
		prev: '.news-home .btn-prev', 
		next: '.news-home .btn-next', 
		name: $('.submenu-hscroll-box').attr('id') || null 
	});
	newsHomeScroller.activate();
	
	setInterval(function(){
		if($('.news-home .btn-next').hasClass('btn-disabled')) newsHomeScroller.scrollFirst();
		else newsHomeScroller.scrollNext();
		
	}, 3000);


	/* Tooltip */
	if($.fn.kfTooltip)
	{
		$('#superfooter a[title]').kfTooltip({ 
			timeoutEnter: 50,
			timeoutLeave: 50,
			speedEnter: 100,			
			speedLeave: 50,
			loadContent: function($this, $box)
			{		
				var text = $this.attr('title');
				$box.append('<div class="tooltip-box"><div class="inner"><p>' + text +  '</p></div><div class="bot"></div></div>');
				$box[0].style.filter = null;
			}
		});
		var tooltips = {};
	}
	
	$('.supporters-box .related-images a').bind('mouseenter', function(){
		$('.supporters-box .featured-image img').attr('src', $(this).attr('data-img'));
		$('.supporters-box .featured-image h3').html($(this).find('img').attr('alt'));
	});
	
	/* Preloading of images:  */
	$.each(candidates, function(i, val){
		if(val.img) var $img = $('<img/>').attr('src', val.img);
	});
	
	$('.supporters-box .related-images a').each(function(i){
		var href = $(this).attr('href');
		if(href && href != '#') var $img = $('<img/>').attr('src', href);
	});
	/*
	$('.filter-box input[type=submit]').hide();
	$('.filter-box select').bind('change', function(){
		$(this).parents('form').eq(0).trigger('submit');
	});
	*/
	
	$.fn.flashembed && $('.flash-banner').each(function()
	{
		var $a = $(this).find('a');
		
		var flashvars = {
			clickthru: $a.attr('href')	
		};
		
		$(this).flashembed({
			src: $a.attr('data-flash'),
			width: 983,
			height: 100,
			wmode: 'opaque'
		}, flashvars);
		
	});
});

$(window).bind('load', function()
{
	// SVG Map init:
	if($('#map').size() && Raphael)
	{
		$('#map ul, #map h3').remove();
		// $('#map').css({ width: 280 }).append('<img src="'+ BASE_HREF + 'img/ajax-loader.gif" />');

		$.get(BASE_HREF + "js/map-all.xml", function(svg)
		{
		    var attrOkres = {
		        fill: "#bebebe",
		        stroke: "#fff",
		        cursor: 'pointer',
		        "stroke-width": 1,
		        "stroke-linejoin": "round"
		    };

		    var attrKraj = {
		        stroke: "#ffffff",
		        cursor: 'pointer',
		        "stroke-width": 0,
		        "stroke-linejoin": "round"
		    };
		    var areaType = $('#areaType').val() || 'cr';
			var areaId = $('#areaId').val() ;
			var paperSize = { width: 410, height: 240 };

			var bbox = { x: 0, y: 0, width: paperSize.width, height: paperSize.height };
			var translate = { x: 0, y: 0 };
			var scale = 1;
			
			var R = Raphael("map", paperSize.width, paperSize.height);

			// Add Select:
			$('#map img').remove();
			// $('#map').after('<div class="kraj-select-box"><select id="mapform-kraj" name="mapformkraj"><option value="0">Vyberte kraj…</option></select></div>');
			//$select = $('#mapform-kraj');

			if(areaType == 'cr')
			{
				//$select.append('<option value="cela-cr">Celá ČR</option>');
			}

			var renderArea = function($path, attr, transform)
			{
				transform = transform || false;
		    	var key = $path.attr('id');
		    	var d = $path.attr('d');
				var label = $path.attr('inkscape:label');
				if(areaType != 'cr') label = 'Okres ' + label;

				//$select.append('<option value="' + key + '">' + label + '</option>');

				var kraj = R.path(attr, d);

				$(kraj.node)
					.bind('mouseenter', function(e)
					{
						if($.browser.mozilla || $.browser.msie) kraj.animate({ fill: '#7dad26' }, 200);
						else kraj.attr({ fill: '#7dad26' });
						
						if(candidates[key])
						{
							var candidateData = candidates[key];
							//$('.candidate').html('<div class="img-box"><img src="' + candidateData.img + '" alt=" " width="40" height="40" /><span class="mask"><!--   --></span></div><div class="text-box"><h3>' + candidateData.name + '</h3><p class="role">' + candidateData.role + '</p></div>');
							var avimg = candidateData.img == '' ? '' : '<img src="' + candidateData.img + '" alt=" " width="40" height="40" />';
							$('.candidate').html('<div class="img-box">' + avimg + '<span class="mask"><!--   --></span></div><div class="text-box">' + candidateData.namerole + '</div>');
						}
					})
					.bind('mouseout', function(e)
					{
						if($.browser.mozilla || $.browser.msie) kraj.animate({ fill: '#bebebe' }, 200);
						else kraj.attr({ fill: '#bebebe' });
						$('.candidate').empty();
					})
					.bind('click', function(e)
					{
						if(candidates[key])
						{
							var candidateData = candidates[key];
							return window.location.href = candidateData.url;
						}
					});
			};

			if(areaType == 'cr')
			{
				var $cr = $('g#layer1 path', svg);
				var cr = R.path(attrKraj, $cr.attr('d'));
				cr.scale(scale, scale);
				cr.translate(translate.x, translate.y);

			    $('g#layer2 path', svg).each(function()
				{
					renderArea($(this), attrOkres, 1);
				});

				$('#mapform-kraj').bind('change', function()
				{
					var name = $select.val();
					if(name != 'cela-cr')
					{
							name = name.slice(5);
							if(name != 'praha' && name != 'vysocina') name +=  '-kraj';
					}
					document.location = BASE_HREF + KDEVAMMOHOUPOMOCI_URI + '/' + name + '/';
				});
			}
		});
	}
});

$(window).bind('load', function()
{
	// SVG Map2 init:
	/* Velká mapa - zduplikováno :( */
	if($('#map2').size() && Raphael)
	{
		$('#map2 ul, #map2 h3').remove();
		// $('#map2').css({ width: 280 }).append('<img src="'+ BASE_HREF + 'img/ajax-loader.gif" />');

		$.get(BASE_HREF + "js/map-all2.xml", function(svg)
		{
		    var attrOkres = {
		        fill: "#bebebe",
		        stroke: "#fff",
		        cursor: 'pointer',
		        "stroke-width": 1,
		        "stroke-linejoin": "round"
		    };

		    var attrKraj = {
		        stroke: "#ffffff",
		        cursor: 'pointer',
		        "stroke-width": 0,
		        "stroke-linejoin": "round"
		    };
		    var areaType = $('#areaType').val() || 'cr';
			var areaId = $('#areaId').val() ;
			var paperSize = { width: 720, height: 422 };

			var bbox = { x: 0, y: 0, width: paperSize.width, height: paperSize.height };
			var translate = { x: 0, y: 0 };
			var scale = 1;
			
			var R = Raphael("map2", paperSize.width, paperSize.height);

			// Add Select:
			$('#map2 img').remove();
			// $('#map2').after('<div class="kraj-select-box"><select id="mapform-kraj" name="mapformkraj"><option value="0">Vyberte kraj…</option></select></div>');
			//$select = $('#map2form-kraj');

			if(areaType == 'cr')
			{
				//$select.append('<option value="cela-cr">Celá ČR</option>');
			}

			var renderArea = function($path, attr, transform)
			{
				transform = transform || false;
		    	var key = $path.attr('id');
		    	var d = $path.attr('d');
				var label = $path.attr('inkscape:label');
				if(areaType != 'cr') label = 'Okres ' + label;

				//$select.append('<option value="' + key + '">' + label + '</option>');

				var kraj = R.path(attr, d);

				$(kraj.node)
					.bind('mouseenter', function(e)
					{
						if($.browser.mozilla || $.browser.msie) kraj.animate({ fill: '#7dad26' }, 200);
						else kraj.attr({ fill: '#7dad26' });
						
						if(candidates[key])
						{
							var candidateData = candidates[key];
							//$('.candidate').html('<div class="img-box"><img src="' + candidateData.img + '" alt=" " width="40" height="40" /><span class="mask"><!--   --></span></div><div class="text-box"><h3>' + candidateData.name + '</h3><p class="role">' + candidateData.role + '</p></div>');
							var avimg = candidateData.img == '' ? '' : '<img src="' + candidateData.img + '" alt=" " width="40" height="40" />';
							$('.candidate2').html('<div class="img-box">' + avimg + '<span class="mask"><!--   --></span></div><div class="text-box">' + candidateData.namerole + '</div>');
						}
					})
					.bind('mouseout', function(e)
					{
						if($.browser.mozilla || $.browser.msie) kraj.animate({ fill: '#bebebe' }, 200);
						else kraj.attr({ fill: '#bebebe' });
						$('.candidate2').empty();
					})
					.bind('click', function(e)
					{
						if(candidates[key])
						{
							var candidateData = candidates[key];
							return window.location.href = candidateData.url;
						}
					});
			};

			if(areaType == 'cr')
			{
				var $cr = $('g#layer1 path', svg);
				var cr = R.path(attrKraj, $cr.attr('d'));
				cr.scale(scale, scale);
				cr.translate(translate.x, translate.y);

			    $('g#layer2 path', svg).each(function()
				{
					renderArea($(this), attrOkres, 1);
				});

				$('#map2form-kraj').bind('change', function()
				{
					var name = $select.val();
					if(name != 'cela-cr')
					{
							name = name.slice(5);
							if(name != 'praha' && name != 'vysocina') name +=  '-kraj';
					}
					document.location = BASE_HREF + KDEVAMMOHOUPOMOCI_URI + '/' + name + '/';
				});
			}
		});
	}
});

$.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; });
};

kff.widgets.SherwoodScroller = function(element, options)
{
	kff.widgets.Scroller.call(this, element, options);
};

kff.extend(kff.widgets.SherwoodScroller, kff.widgets.Scroller);

kff.widgets.SherwoodScroller.prototype.animate = function(position, callback)
{
	var isXAxis = this.options.axis != 'y';
	this.animating = true;
    this.scrollPosition = position;
    this.realScrollPosition = this.scrollPosition * this.scrollWidth;
    if(this.realScrollPosition > this.ulWidth - this.carouselWidth)
    {
		this.realScrollPosition = this.ulWidth - this.carouselWidth;
		this.scrollPosition = Math.floor(this.realScrollPosition / this.scrollWidth);
	}
    else if(this.realScrollPosition < 0)
	{
		this.scrollPosition = this.realScrollPosition = 0;
	}
	
	var animateOption = isXAxis ? { scrollLeft: this.realScrollPosition } : { scrollTop: this.realScrollPosition };
	
	var that = this;
	this.$carousel.stop().animate(animateOption, this.options.speed, "easeOutQuint", function(){
		that.savePosition();
		that.animating = false;
	});
	that.updateButtonsState();
}
