window.BASE_HREF = window.BASE_HREF || '/';

var interaction = window.interaction = window.interaction || {}; 

$(document).ready(function()
{
	$('.jshide').hide();
	$.fn.kfBox && $('.lightbox').kfBox();

  $('#print').bind('click', function() { window.print(); return false; } );

	$('table tbody tr:nth-child(even)').addClass('even');

	$('#q').inputDefaultText({ text: 'Hledaný výraz'});
	
	if($('#svgmap').size())
	{
		var svgMap = new interaction.SvgMap('#svgmap', { id2Name: id2Name, id2Html: id2Html });
		svgMap.init();
	}
	/*
	if($('.googlemap').size())
	{
		var googleMap = new kff.widgets.GoogleMap({ element: '.googlemap' });
		googleMap.init();
		googleMap.showAddress('Zděbradská 8, 251 010 Říčany-Jažlovice', 12);
	}
	*/
	$('#intro').each(function(){
		
		var $tabs = $(this).find('.tabs a');
		var $frames = $(this).find('.frame');
		var current = 0;
		var length = $tabs.length;
		var timer = null;
        
		$frames.hide();
		
		$tabs.bind('click', function(event){     
			timer = clearTimeout(timer);
			$tabs.parents('li').removeClass('active');
			$(this).parent('li').addClass('active');
			var i = $tabs.index(this);
			$frames.filter('.active').stop().fadeTo(300, 0, function(){$(this).hide()}).removeClass('active');
			$frames.eq(i).stop().fadeTo(300, 1).addClass('active');
			current = i;
			timer = setTimeout(function(){
				$tabs.eq(++current%length).triggerHandler('click');	
			}, 6000);
			return false;
		});
		
		$frames.hover(function() {
			timer = clearTimeout(timer);
		}, function() {
			timer = setTimeout(function(){
				$tabs.eq(++current%length).triggerHandler('click');	
			}, 6000);
		});
		
		$tabs.eq(current).triggerHandler('click');
	});
	
	
	if(interaction.Calendar)
	{	
		var calendarController = new interaction.Calendar();
		calendarController.init();
	}

	$('.form-files').each(function(index) {
		var $box = $(this);
		var $add = $box.find('a');
		var cloneSelector = '.clone';
		var max = 5;
		var checkSize = function(){
			if($box.find(cloneSelector).size() >= max){
				$add.remove();		
			}
		};
		
		$add.bind('click', function(){		
			var last = $box.find(cloneSelector).last();
			last.after(last.clone().find('input').val('').end());
			checkSize();
			return false;
		});
		checkSize();
	});
	
	// Contact
	var markers = [];
	
	$('.contact-menu')
		.delegate('a', 'click', function(){

			var offTop = $('.contact-menu').prevAll('h2').first().offset().top || 0;
			var scrTop = $('body').scrollTop() || $('html').scrollTop() || 0;

			if(scrTop < offTop) {
				$('html, body').animate({'scrollTop': offTop}, offTop-scrTop);
			}

			if(!$(this).hasClass('active'))
			{
				$('.contact-menu a').removeClass('active');
				$(this).addClass('active');
				var i = $('.contact-menu a').index(this);
				$('.contact-info').html(pobocky[i].text);
				$('.contact-info').find('table tbody tr:nth-child(even)').addClass('even');

				var g = $('.contact-googlemap').data('gmap');
				var LatLng = new google.maps.LatLng($(this).data('lat'), $(this).data('lng'));
				$('.contact-googlemap').gMap('_setMapCenter', LatLng);
				g.gmap.setZoom(14);

				$('.contact-googlemap-zoom').show();
			}
			return false;
		})
		.find('a').each(function(i){
			$(this).data({'lat': pobocky[i].lat, 'lng': pobocky[i].lng});
			markers.push({latitude: pobocky[i].lat, longitude: pobocky[i].lng});
		});

	$('.side-cui-menu')
		.delegate('a', 'click', function()
		{
			$(this).closest('.sect').removeClass('collapsed');
			var offTop = $('h2#vyber').offset().top || 0;
			var scrTop = $('body').scrollTop() || $('html').scrollTop() || 0;

			if(scrTop < offTop) {
				$('html, body').animate({'scrollTop': offTop}, offTop-scrTop);
			}

			if(!$(this).hasClass('active'))
			{
				$('.side-cui-menu a').removeClass('active');
				$(this).addClass('active');
				var i = $('.side-cui-menu a').index(this);
				$('.cui-info').html(pobocky[i].text);
				$('.cui-info').find('table tbody tr:nth-child(even)').addClass('even');

				var g = $('.cui-googlemap').data('gmap');
				var LatLng = new google.maps.LatLng($(this).data('lat'), $(this).data('lng'));
				$('.cui-googlemap').gMap('_setMapCenter', LatLng);
				g.gmap.setZoom(14);

				$('.cui-googlemap-zoom').show();
			}
			return false;
		})
		.find('a').each(function(i){
			$(this).data({'lat': pobocky[i].lat, 'lng': pobocky[i].lng});
			markers.push({latitude: pobocky[i].lat, longitude: pobocky[i].lng});
		});

	$('.side-cui-menu') .delegate('h3', 'click', function(event)
	{
		$(this).closest('.sect').toggleClass('collapsed');
	});
		
                                                  
	if($.fn.gMap)
	{	
		$('.contact-googlemap').gMap({ 
			zoom: 7,
			address: 'Czech Republic',
			streetViewControl: false,
            markers: markers,
			icon: {
				image: 'http://interaction.kappa.nen.cz/img/map-marker.png',
				iconsize: [46,58]
			},
			onComplete: function(){
				var g = $('.contact-googlemap').data('gmap'),
					m = g.markers;

				if(m && m.length)
				{
					for(var i = 0, l = m.length; i < l; i++)
					{
						google.maps.event.addListener(m[i], 'click', function(e){
							var latLng = this.getPosition().toUrlValue(7).split(',')
							var lat = parseFloat(latLng[0]);
							var lng = parseFloat(latLng[1]);

							$('.contact-menu a')
							.filter(function(){
								return $(this).data('lng') === lng && $(this).data('lat') === lat;
							})
							.trigger('click');	
						})	
					}	
				}
			}
		});
		
		$('.contact-googlemap-zoom').hide().click(function(){
			var g = $('.contact-googlemap').data('gmap');
			g.gmap.setCenter(g.initCenter);
			g.gmap.setZoom(g.initZoom);
			$('.contact-menu a').removeClass('active');
			$('.contact-info').empty();
			$(this).hide();
			return false;
		});	

		$('.cui-googlemap').gMap({
			zoom: 7,
			address: 'Czech Republic',
			streetViewControl: false,
			markers: markers,
			icon: {
				image: 'http://interaction.kappa.nen.cz/img/map-marker-cui.png',
				iconsize: [45,46],
				iconanchor: [22,41],
				shadowsize: [1,1]
			},
			onComplete: function(){
				var g = $('.cui-googlemap').data('gmap'),
					m = g.markers;

				if(m && m.length)
				{
					for(var i = 0, l = m.length; i < l; i++)
					{
						google.maps.event.addListener(m[i], 'click', function(e){
							var latLng = this.getPosition().toUrlValue(7).split(',')
							var lat = parseFloat(latLng[0]);
							var lng = parseFloat(latLng[1]);
							
							var $a = $('.side-cui-menu a')
								.filter(function(){
									return $(this).data('lng') === lng && $(this).data('lat') === lat;
								})
								.trigger('click');
							var $li = $a.closest('li');
							var top = $li.position().top;							
							$li.closest('ul').stop().animate({scrollTop: top}, 200);	
						})
					}
				}
			}
		});

		$('.cui-googlemap-zoom').hide().click(function(){
			var g = $('.cui-googlemap').data('gmap');
			g.gmap.setCenter(g.initCenter);
			g.gmap.setZoom(g.initZoom);
			$('.side-cui-menu a').removeClass('active');
			$('.cui-info').empty();
			$(this).hide();
			return false;
		});

	}
});


$.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; });
};



interaction.SvgMap = function(element, options)
{
	options = $.extend({
		scale: 2.5, 
		styleState: {
	        // fill: "#fff",
	        stroke: "#a1a1a1",
	        cursor: 'pointer',
	        "stroke-width": 0,
	        "stroke-linejoin": "round"
	    },
	    styleRegion: {
	        stroke: "#a1a1a1",
	        fill: "#d8d8d8",
	        cursor: 'pointer',
	        "stroke-width": 1,
	        "stroke-linejoin": "round"
	    },
	    styleRegionHover: {
	        fill: '#a5a5a5'
		},
		styleRegionActive: {
	        fill: '#ff0000'
		},
		id2Name: {
			'kraj-zlinsky': null,
			'kraj-ustecky': null,
			'kraj-stredocesky': null,
			'kraj-praha': null,
			'kraj-plzensky': null,
			'kraj-pardubicky': null,
			'kraj-moravskoslezsky': null,
			'kraj-olomoucky': null,
			'kraj-kralovehradecky': null,
			'kraj-karlovarsky': null,
			'kraj-liberecky': null,
			'kraj-vysocina': null ,
			'kraj-jihocesky': null,
			'kraj-jihomoravsky': 'Velkoobchod Brno'
		},
		id2Html: {
			'kraj-zlinsky': null,
			'kraj-ustecky': null,
			'kraj-stredocesky': null,
			'kraj-praha': null,
			'kraj-plzensky': null,
			'kraj-pardubicky': null,
			'kraj-moravskoslezsky': null,
			'kraj-olomoucky': null,
			'kraj-kralovehradecky': null,
			'kraj-karlovarsky': null,
			'kraj-liberecky': null,
			'kraj-vysocina': null ,
			'kraj-jihocesky': null,
			'kraj-jihomoravsky': '<table>								<tbody> 	<tr> 	<td><strong>Adresa</strong></td> 	<td>Zděbradská 8<br />251 010 Říčany-Jažlovice</td> 	</tr> 	<tr> 	<td><strong>Tel</strong></td> 	<td>+420 251 817 493-5</td> 	</tr> 	<tr> 	<td><strong>Mobil</strong></td> 	<td>+420 602 398 444</td> 	</tr> 	<tr> 	<td><strong>Fax</strong></td> 	<td>+420 323 602 122</td> 	</tr> 	<tr> 	<td><strong>E-mail</strong></td> 	<td><a href="mailto:interaction@interaction.cz">interaction@interaction.cz</a></td> 	</tr> 	<tr> 	<td><strong>GPS</strong></td> 	<td>49°57\'50.4&quot;N; 14°38\'13.2&quot;E</td> 	</tr> 	<tr> 	<td><strong>IČ</strong></td> 	<td>61506753</td> 	</tr> 	<tr> 	<td><strong>DIČ</strong></td> 	<td>CZ61506753</td> 	</tr> 	<tr> 	<td><strong>Zápis</strong></td> 	<td>Společnost vedena Městským soudem v Praze, oddíl C, vložka 29913</td> 	</tr> 	</tbody> 	</table>'
		}
	}, options);
	
	kff.widgets.SvgMap.call(this, element, options);
	
	this.id2Html = this.options.id2Html;
	this.id2Name = this.options.id2Name;
	this.active = null;
};

kff.extend(interaction.SvgMap, kff.widgets.SvgMap);

interaction.SvgMap.prototype.mouseEnterRegion = function(event)
{
	if(this.active != event.currentTarget.id) interaction.SvgMap._super.mouseEnterRegion.call(this, event);
	if(this.id2Name[event.currentTarget.id]) $('#svgmap-name').html(this.id2Name[event.currentTarget.id]);
}

interaction.SvgMap.prototype.mouseOutRegion = function(event)
{
	if(this.active != event.currentTarget.id) interaction.SvgMap._super.mouseOutRegion.call(this, event);
	$('#svgmap-name').empty();
}

interaction.SvgMap.prototype.clickRegion = function(event)
{
	var activeElement = document.getElementById(this.active); 
	if(activeElement) activeElement.raphael.animate(this.options.styleRegion, 0);
	
	this.active = event.currentTarget.id;
	event.currentTarget.raphael.animate(this.options.styleRegionActive, 0);
	if(this.id2Html[event.currentTarget.id]) $('#svgmap-desc').html(this.id2Html[event.currentTarget.id]);
	else $('#svgmap-desc').empty();
}

