/* BALICEK FUNKCI PRO OBSLUHU NOVINEK AUTA */

// funkce pro ADMINISTRACI:

/* prida kolonku do seznamu novinek */
function addDiaryEntry(){
	if ($F('newEvent').empty()) return false;	// text novinky je prazdny, nic nedelama

	// pridavame novinku ...
	newIndex = getNextIndex();
	var d=new Date();
	var dFormated = d.getDate()+'.'+(d.getMonth()+1)+'.'+d.getFullYear();
	var tmp_ID = d.getTime();	// docasne ID bloku - aktualni timestamp v mikrosekundach

	var element = '<div id="carNews_'+tmp_ID+'" class="hodnota cell"><b onclick="clickEvent(this);" title="upravit text novinky">'+dFormated+'</b> <input type="text" name="car[news]['+newIndex+'][nadpis]" value="'+$F('newEventTitle')+'" class="title" maxlength="128"/> <input type="button" value="smazat" onclick="$(\'carNews_'+tmp_ID+'\').remove();" /><br/><textarea rows="4" name="car[news]['+newIndex+'][text]">'+$F('newEvent')+'</textarea></div>';
	new Insertion.Top('diaryText',element);		// vlozeni bloku nahoru

	$('newEventTitle').value = '';	// smazani kolonky pro pridani nadpiu novinky
	$('newEvent').value = '';	// smazani kolonky pro pridani novinky
	closeAllEvents();			// pozavirame seznam novinek - cizm skryjeme i prave pridany pridany element
}

// vrati dalsi vyssi index ze vsech texarea
function getNextIndex() {
	var areas = $$('#diaryText textarea');	// vsechny novinky
	var retIndex = -1;	// realny nejnizsi muze byt 0
	if (areas.length) {
		areas.each(function(e) {	//projdeme vsechny prvky a zapamatujeme maximalni hodnotu indexu
			var elName = e.name;
			var elIndex = elName.substring(elName.indexOf('][')+2,elName.indexOf('][text]'));
			elIndex = parseInt(elIndex);
			if (elIndex>=retIndex) retIndex = elIndex;
		});
	}
	retIndex++;	// aktualni bude vzdy o 1 vyssi
	return retIndex;
}

// smazani novinky cez AJAX
function ajDelNews(aid,nid) {
	if (confirm('Opravdu smazat?')) {
		if (aid =='' || nid=='') {
			alert('Chybne parametry');
			return false;
		}
		new Ajax.Request("/tools/server.mod.php",
			{
			method: 'post',
			parameters: {
				op_type: 'del-carnews',
				aid: aid,
				nid: nid
			},
			onComplete: function(transport) {
				var js = transport.responseText.evalJSON();
				if (js.error) alert('Chyba #'+js.error);
				else {
					if (js.stat != true) alert('Smazání se nezdařilo...');
					else $('carNews_'+nid).remove();
				}
			}
		});
	}
}

// pozavira novinky - skryje textarea a input prvky, nastavi inline tridu pro bloky udalosti
function closeAllEvents() {
	$$('#diaryText div').each(function(e){
		if (!e.hasClassName('inline')) {	// pokud to neni trida inline, nastavime
			$$('#'+e.id+' textarea', '#'+e.id+' input').invoke('hide');
			e.addClassName('inline');
		}
	});
}

// otevre novinku k editaci: odebere inline tridu, zviditelni textarea a input prvky; pokud je prave otevrena, zavre se
function clickEvent(clickEl) {
	el = clickEl.parentNode;	// klikam na <b> - potomka bloku novinky clickEvent(this)
	if (el.hasClassName('inline')) {
		closeAllEvents();		// vsecko zavrem
		// vybrany otevreme a zviditelnime
		el.removeClassName('inline');
		$$('#'+el.id+' textarea', '#'+el.id+' input').invoke('show');
	}
	else {
		closeAllEvents();	// zavrem vse (tzn i aktualni)
	}
}

// FROTEND: ZOBRAZENI V DETAILU AUTA

// inicializace skruvani do zalozek
function initFoldNews() {
	var step = 5;	// krok - pocet novinek na stranku
	var nCnt = $$('#diary_news dt').size();
	if (nCnt>step) {	// pokud je vice nez X novinek
		// vygenerovat strakovatko
		var pager = '<p class="pager" id="news_pager">';
		for (var i=0;i<nCnt;i+=step) {
			pager += '<a href="#" onclick="return listNewsPage('+(Math.ceil(i/step))+');" title="'+(Math.ceil(i/step)+1)+'. stránka novinek">'+(Math.ceil(i/step)+1) +'</a>';
		}
		pager += '</p>';
		//new Insertion.After('diary_news', pager);
		new Insertion.Before('diary_news', pager);
		// inicializovat stranku 1
		listNewsPage(0);
		$('diary_news').addClassName('paged');
	}
}

// listovani pres zalozky
function listNewsPage(page) {
	var step = 5;

	var min = page*step;
	var max = (page*step)+step;
	// DT
	var news_dt = $$('#diary_news dt');
	var i=0;
	news_dt.each(function(e) {	//projdeme vsechny prvky a skryjeme/zobrazime
		if (i>=min && i<max) e.show();
		else e.hide();
		i++;
	});
	// DD
	var news_dd = $$('#diary_news dd');
	var i=0;
	news_dd.each(function(e) {	//projdeme vsechny prvky a skryjeme/zobrazime
		if (i>=min && i<max) e.show();
		else e.hide();
		i++;
	});
	// pager.active
	var i=0;
	$$('#news_pager a').each(function(e) {
		if (i==page) e.addClassName('active');
		else e.removeClassName('active');
		i++;
	});

	return false;
}

// NEPOTRREBNE FUNKCE

// toto uz asi nepotrebuju.... pouzivam toggle
function showHide(element,el_style){
	if (!el_style) var el_style = 'block';
	var input = document.getElementById(element);
	var style = input.style.display;
	input.style.display = (style=='none')? el_style : 'none';
}
