// JavaScript Document
function section(a) {

        if(a=='vid') {
    document.getElementById('vid').className = 'active';
    document.getElementById('prav').className = 'inactive';
    document.getElementById('vyh').className = 'inactive';
    
    document.getElementById('video').style.display = 'block';
    document.getElementById('pravidla').style.display = 'none';
    document.getElementById('vyhry').style.display = 'none';
    }
 
        if(a=='prav') {
    document.getElementById('vid').className = 'inactive';
    document.getElementById('prav').className = 'active';
    document.getElementById('vyh').className = 'inactive';
    
    document.getElementById('video').style.display = 'none';
    document.getElementById('pravidla').style.display = 'block';
    document.getElementById('vyhry').style.display = 'none';
    }

        if(a=='vyh') {
    document.getElementById('vid').className = 'inactive';
    document.getElementById('prav').className = 'inactive';
    document.getElementById('vyh').className = 'active';
    
    document.getElementById('video').style.display = 'none';
    document.getElementById('pravidla').style.display = 'none';
    document.getElementById('vyhry').style.display = 'block';
    }
}

function zprava(a) {

		if(a==1) {
	document.getElementById('zprava').style.display = 'block';
	document.getElementById('textzm').style.display = 'inline';
	document.getElementById('textzv').style.display = 'none';
	}	
		
		if(a==2){
	document.getElementById('zprava').style.display = 'none';
	document.getElementById('textzv').style.display = 'inline';
	document.getElementById('textzm').style.display = 'none';
	}
}


/* Hlasovani miss vitality */
jQuery(function($){
	
	/**
	 * Hodnoceni miss vitality
	 */
	var vitality = {
			options: {
				idPrefix: 'vitality_',
				pocetSelector: '.vitalityPocetHlasu',
				ratingContainerSelector: '.vitalityRatingContainer',
				ratingSelector: '.vitalityRating',
				hlasovanoInfoClass: 'hlasovanoInfo',
				msgHlasOk: 'Váš hlas byl započítán',
				infoTimeout: 5000
			},
			
			/**
			 * Inicializace hlasovani pro jednotlive miss
			 */
			init: function(ukonceno, datumUkonceni) {
				var self = this;
					
				$(this.options.ratingContainerSelector).each(function() {
					var $container  = $(this);
					//idcko ucastnice 'ucastnice_xx'
					var id = $container.attr('id');
					var separatorIdx = id.indexOf('_');
					id = id.substr(separatorIdx + 1);
					
					//nahozeni rating pluginu
					$container.find(self.options.ratingSelector).stars({
						inputType: "select",
						oneVoteOnly: true,
						//callback po zahlasovani
						callback: function(ui, type, value){
							$container.find('.ajaxLoader').show();
							//odeslani hlasu na server
							$.getJSON("?vitalityHlasovat", {
								ucastnice_id: id,
								hodnoceni: value
								}, 
								function (data) {
									self.hlasovano(data);
								}
							);
						}
					});
					
					if (ukonceno) {
						//zobrazeni infa o ukonceni
						$container.find('.ui-stars-star').mouseenter(function() {
							
							var $vitalityRating = $(this).closest(self.options.ratingSelector);
							var infoElement = $('<div>');
							var offset = $vitalityRating.offset();
							
							infoElement.html('Hlasování bylo ukončeno ' + datumUkonceni)
								.css('opacity', 0.9)
								.show()
								.css('left', offset.left + $vitalityRating.width())
								.css('top',  offset.top)
								.addClass(self.options.hlasovanoInfoClass);
							
							$('body').append(infoElement);
							
							//fadeout a odstraneni elementu po urcitem case
							setTimeout(
								function() {
									infoElement.fadeOut(
										'slow',
										function() {
											$(this).remove()
										}
									);
								}, 
								1000
							);
						});
					}
				});
			},
			
			/**
			 * Akce po zapocteni hlasu na serveru
			 * Zobrazeni chyby popr. update hodnoceni a poctu hlasu
			 * @param object data 
			 */
			hlasovano: function(data) {
				//nalezeni elementu obsahujici data dane ucastnice
	
				var $container = $('#' + this.options.idPrefix + data.ucastnice_id);
				var $vitalityRating = $container.find(this.options.ratingSelector);
				
				var info = '';
				var isError = false;
				if (typeof data.errors == "undefined") {
					//updete pole s poctem hlasu
					$container.find(this.options.pocetSelector).text(data.vitality_hlasy_pocet);
					info = this.options.msgHlasOk;
					info += '<br/>' + data.hodnoceni + ' ';
					switch (data.hodnoceni) {
						case '1':
							info += 'bod';
							break;
						case '2':
						case '3':
						case '4':
							info += 'body';
							break;
						default:
							info += 'bodů';
					}
				} else {
					//zpracovani chybovych hlasek
					for (var i in data.errors) {
						info += data.errors[i] + '<br/>';
					}
					isError = true;
				}
				
				
				//nastaveni nove popr. puvodni hodnoty hvezdicek
				if (typeof data.vitality_hlasy_avg != "undefined")
					$vitalityRating.stars('select', parseInt(Math.round(data.vitality_hlasy_avg)));
				
				//zobrazeni bubliny s informacemi o zahlasovani
				//pozicovani vpravo od hvezdicek
				if (info.length != 0){
					var infoElement = $('<div>');
					var offset = $vitalityRating.offset();
					
					infoElement.html(info)
						.css('opacity', 0.9)
						.fadeIn("fast")
						.css('left', offset.left + $vitalityRating.width())
						.css('top',  offset.top)
						.addClass(this.options.hlasovanoInfoClass);
					if (isError) infoElement.addClass('hlasovanoError');
					
					$('body').append(infoElement);
					
					//fadeout a odstraneni elementu po urcitem case
					setTimeout(
						function() {
							infoElement.fadeOut(
								'slow',
								function() {
									$(this).remove()
								}
							);
						}, 
						this.options.infoTimeout
					);
				}
				
				$container.find('.ajaxLoader').hide();
			}
	}
	
	//inicializace hlasovani pro kazdou ucastnici
	vitality.init(vitalityUkonceno, vitalityDatumUkonceni);
		
 });

