/*============ SEZNAM FUNKCIONALIT =================
#1 - Vymazání textu v inputu po kliknutí
#2 - Zpřístupnění tlačítka po odsouhlasení podmínek
#3 - Externi odkazy
#4 - Tisk stránek
#5 - Animovaný kalendář
==================================================*/

// #1 - Vymazání textu v inputu po kliknutí
function inputHelpText(selector, defaultValue){
	
	var searchFocusedClass = 'search-focused';

	// Input s heslem - nelze přepisoval attr "value", vytvoříme náhradní input s type="text"
	if($(selector).attr('type') == 'password'){
		var fakePassInput = '<input id="password-clear" class="fi-text" type="text" value="' + defaultValue + '" autocomplete="off">'
		$(selector).hide().after(fakePassInput);
	
		$('#password-clear').focus(function(){
			$(this).hide();									
			$(selector).show().trigger('focus');
		});
		
		$(selector).blur(function(){
			if($(this).val() == ''){
				$(this).hide();
				$('#password-clear').show();
			}
		});
	}
	// Klasický input
	else {
		$(selector).each(function() {
			if($.trim(this.value) == ''){
				this.value = defaultValue;
			}
		});
		
		$(selector).focus(function(){
			if(this.value == defaultValue){
				this.value = '';
				$(this).parent().addClass(searchFocusedClass);
			}
		});
		
		$(selector).blur(function(){
			if($.trim(this.value) == ''){
				this.value = defaultValue;
				$(this).parent().removeClass(searchFocusedClass);
			}
		});
	}
}
	
// #2 - Zpřístupnění tlačítka po odsouhlasení podmínek
function agreeWithTherms(selectorCheckbox, selectorSubmit){
	var checkbox = $(selectorCheckbox);
	var button = $(selectorSubmit); // tlačítko "odeslat"
	
	button.attr('disabled', true).addClass('disabled'); // tlačítku přidáme atribut a třídu DISABLED
	
	checkbox.click(function(){
		if (checkbox.attr('checked')){
			button.attr("disabled", false).removeClass('disabled'); //checkbox zatrhnut => tlačítko se zpřístupní
		}
		else {
			button.attr("disabled", true).addClass('disabled');
		}
	});
};

// #3 - Externi odkazy - cílovou stránku otevře v novém okně/panelu
//	  -	Automaticky se vyberou odkazy s URL začínající http:// a odkazy označené class "newWindow"
var externalLinks = function() {
	$.expr[':'].external = function(obj){	// knihovnu jQuery rozšíříme o selektor "external"
		return !obj.href.match(/^mailto\:/) && (obj.hostname != location.hostname);     //Vybereme pouze externi odkzazy
	};
	
	$('a:external, a.newWindow')
	    .not('#fancybox-wrap a, .link-tv-spot, #fancybox-close')
		.addClass('link-external')
		.append('<span class="h1dden"> (externí odkaz)</span>')     // indikator externiho odkazu pro handikepované uživatele
		.click(function(){
			window.open(this.href);
			return false;
		});
}

// #4 - Tisk stránek
$.fn.print = function() {
	$(this).click(function(){
		print();
		return false;
	});
};

// #5 - Animovaný kalendář
var calendarID = '#adt-calendar-anime';

var animeIndex = 0;	

function anime(){
	
	animeIndex ++;

	if (animeIndex >= calendar.length){
		animeIndex = 0;
	}
  
	adtChangeData(calendar[animeIndex]);
	$('.list-item[rel='+animeIndex+']', calendarID).addClass('active');
}

// Výměna dat
var adtChangeData = function(eventID){

	$('.list-date .active', calendarID).removeClass('active');

	var thumbURL = actionImageUrl[eventID];		
	var detailURL = actionTargetUrl[eventID];
	var title = actionTitle[eventID];
	var description = actionDescription[eventID];
	
	$('.thumb img', calendarID).attr('src', thumbURL);
	$('.title', calendarID).attr('href', detailURL).text(title);
	$('.description', calendarID).text(description);
}

// Nastavení časovače
 
var adtStartInterval = function(interval){
	if(calendar.length != 0){
		adtChangeInterval = setInterval("anime();",interval);
	}
}

var adtStopInterval = function(){
	clearInterval(adtChangeInterval);
}

$(function(){
	$('.list-date .list-item', calendarID).click(function(){
		var _this = $(this);
		adtStopInterval();
		var eventID = _this.attr('rel');
		adtChangeData(calendar[eventID]);
		_this.addClass('active');
		return false;
	});
});



/*	Rozpracovaná verze OOP
	- musí se vyřešít, pro fce anime není deklarována
var AnimateCalendar = function(calendarID, interval){
	if($(calendarID).length){

		var animeIndex = 0;	
	
		 function anime(){
			
			animeIndex ++;
	
			if (animeIndex >= calendar.length){
				animeIndex = 0;
			}
		  
			adtChangeData(calendar[animeIndex]);
			$('.list-item[rel='+animeIndex+']', calendarID).addClass('active');
		}
	
		// Výměna dat
		var adtChangeData = function(eventID){
	
			$('.list-date .active', calendarID).removeClass('active');
	
			var thumbURL = actionImageUrl[eventID];		
			var detailURL = actionTargetUrl[eventID];
			var title = actionTitle[eventID];
			var description = actionDescription[eventID];
			
			$('.thumb a', calendarID).attr('href', detailURL);
			$('.thumb img', calendarID).attr('src', thumbURL);
			$('.title', calendarID).attr('href', detailURL).text(title);
			$('.description', calendarID).text(description);
		}
		
		// Nastavení časovače
		var adtStartInterval = function(interval){
			if(calendar.length != 0){
				adtChangeInterval = setInterval("AnimateCalendar.anime;",interval);
			}
		}
		
		var adtStopInterval = function(){
			clearInterval(adtChangeInterval);
		}
	
		$(function(){
			$('.list-date .list-item', calendarID).click(function(){
				var _this = $(this);
				adtStopInterval();
				var eventID = _this.attr('rel');
				adtChangeData(calendar[eventID]);
				_this.addClass('active');
				return false;
			});
		});
		//adtStartInterval(interval);
	}		
}
*/
var previewLink = $('#preview').attr('href');
$('#frmdynamicform-zprava').change(function() {
   $('#preview').attr('href', function() {
      //return previewLink + "?message=" + $.URLEncode($('#frmdynamicform-zprava').val());
      return previewLink + "?message=" + $('#frmdynamicform-zprava').val().replace(/\n/g, "|breakLine|").replace(/\&/g,"|ampersand|").replace(/\+/g,"|plus|").replace(/\"/g,'|double_quote|').replace(/\'/g,"|quote|").replace(/(<\/?)script/g,"$1noscript");
  });
  // alert($('#preview').attr('href'));
});


	$('#frmdynamicform-zprava').keyup(function(){
		var max = parseInt(240);
		if($(this).val().length > max){
			$(this).val($(this).val().substr(0, max));
		}

		$('.charsRemaining').html('Ještě můžete napsat ' + (max - $(this).val().length) + ' znaků.');
		$('.charsRemaining-sk').html('Ešte môžete napísať  ' + (max - $(this).val().length) + ' znakov.');
	});
