/**
 * Pole retezcu. Kazdy retezec obsahuje seznam <li> elementu s odkazy na
 * dealery v aktualnim regionu.
 */
var regionDealersPages;

/**
 * Aktualne zobrazena stranka z "regionDealersPages".
 */
var currentRegionDealersPage = 0;

/**
 * Poradi posledni stranky se seznamem prodejcu v kraji.
 * Zjistuje se z poctu stranek vracenych AJAXem.
 */
var lastRegionDealersPage;

/**
 * Vola se pri vyberu kraje na mapce CR.
 * @param region ID regionu
 */
function change_region(region)
{
	//AJAXem zavolat nejaky PHP skript, ktery vrati JSONem pole retezcu, coz
	//budou <li> skupinky po 10, to priradit do regionDealersPages

	//Dal budu potrebovat pres innerHTML nejakeho elementu prepsat pageovani
	//nebot se muze lisit pocet stranek.
	currentRegionDealersPage = 0;

	var ajax = createXmlHttpRequest();

	ajax.onreadystatechange = function() {
		if (ajax.readyState == 4) {
			var data = eval('(' + ajax.responseText + ')');

			regionDealersPages = data.pages;

			// Pokud se v danem regionu nenachazi zadny dealer, pak i pocet
			// stranek bude nulovy.
			if (regionDealersPages.length == 0) {
				lastRegionDealersPage = 0;
			} else {
				lastRegionDealersPage = regionDealersPages.length - 1;
			}

			var regionDealers = document.getElementById('regionDealers');
			regionDealers.innerHTML = regionDealersPages[currentRegionDealersPage];

			var regionDealersPaging = document.getElementById('regionDealersPaging');
			regionDealersPaging.innerHTML = data.navigation;

			updateRegionDealersNavigation();
		}
	};

	ajax.open("GET", "/Ajax/RegionDealers?region=" + region, true);
	ajax.send(null);
}

/**
 * Vola se pri kliknuti na sipku vlevo.
 */
function previousRegionDealersClicked()
{
	currentRegionDealersPage -= 1;

	regionDealersPageClicked(currentRegionDealersPage);
}

/**
 * Vola se pri kliknuti na sipku vpravo.
 */
function nextRegionDealersClicked()
{
	currentRegionDealersPage += 1;

	regionDealersPageClicked(currentRegionDealersPage);
}

/**
 * Vola se pri kliknuti na nektere z cisel stranek.
 */
function regionDealersPageClicked(page)
{
	currentRegionDealersPage = page;

	var regionDealers = document.getElementById('regionDealers');
	regionDealers.innerHTML = regionDealersPages[currentRegionDealersPage];

	updateRegionDealersNavigation();
}

/**
 * Aktualizuje stav strankovaci navigace pod seznamem prodejcu.
 */
function updateRegionDealersNavigation()
{
	var previousRegionDealers = document.getElementById('previousRegionDealers');
	var nextRegionDealers = document.getElementById('nextRegionDealers');

	// Navigace neni zobrazena, tudiz se ani neaktualizuje.
	if (previousRegionDealers == null || nextRegionDealers == null) {
		return;
	}

	if (currentRegionDealersPage == 0) {
		previousRegionDealers.style.display = 'none';
	} else {
		previousRegionDealers.style.display = 'inline';
	}

	if (currentRegionDealersPage == lastRegionDealersPage) {
		nextRegionDealers.style.display = 'none';
	} else {
		nextRegionDealers.style.display = 'inline';
	}

	for (i = 0; i <= lastRegionDealersPage; i++) {
		var resultPageButton = document.getElementById('regionDealersPage' + i);

		if (i == currentRegionDealersPage) {
			resultPageButton.className = 'vybrane';
		} else {
			resultPageButton.className = '';
		}
	}
}
