/**
 * @author Mateusz Kurtas
 * @author e-mail: rasmatlasek@gmail.com
 */
/**
 * Wyszukanie konsultantów
 */
function searchPostCode(){
	var postCodeValue = document.getElementById('postCode1').value;
	var postCodeValue2 = document.getElementById('postCode2').value;
	var searchResultTemp = document.getElementsByTagName('tr');
	var searchResult = new Array();
	var patternConsultant = new RegExp('(^|\\s)konsultant(\\s|$)', 'gi');
	var patternConsultant2 = new RegExp('(^|\\s)konsultan_(\\s|$)', 'gi');
	var patternPostCode = new RegExp('(^|\\s)k' + postCodeValue + '(\\s|$)', 'gi');
	var pattern_wroclaw = new RegExp('(^|\\s)k50(\\s|$)', 'gi');
	var n = searchResultTemp.length;
	var check = false;

	// wyszukanie wszystkich konsultantow
	var j = 0;
	for (i = 0; i < n; i++)
		if (searchResultTemp[i].className.match(patternConsultant) || searchResultTemp[i].className.match(patternConsultant2))
			searchResult[j++] = searchResultTemp[i];

	n = searchResult.length;
	// wyczyszczenie poprzedniego wyszukania
	for (i = 0; i < n; i++)
		searchResult[i].className = 'konsultant' + searchResult[i].className.substr(10);

	//sprawdzenie poprawnosci 2 pola kodu
	if(isNaN(postCodeValue2) || postCodeValue2.length!=3){
		displayError(searchResult);
		return;
	}

	// wyszukanie klientow wedlug dokladnego kodu regionu
	for (i = 0; i < n; i++)
		if (searchResult[i].className.match(patternPostCode)) {
			displayConsultant(searchResult[i]);
			check = true;
		}

	// wyszukanie konsultantow wedlug tablicy najblizszych konsultantow
	 if (!check) {
	 	try {
			var m = kod[postCodeValue].length;
			j = 0;
			for (j = 0; j < m; j++) {
				patternPostCode = new RegExp('(^|\\s)k' + kod[postCodeValue][j] + '(\\s|$)', 'gi');
				for (i = 0; i < n; i++)
					if (searchResult[i].className.match(patternPostCode)) {
						displayConsultant(searchResult[i]);
						check = true;
					}
				if (check)
					break;
			}
			//wyszukanie konsultantow z Wroclawia gdy zaden najblizszy podany w tabeli nieistnieje
			if (!check)
				for (i = 0; i < n; i++)
					if (searchResult[i].className.match(pattern_wroclaw)) {
						displayConsultant(searchResult[i]);
						break;
					}
		}
		catch (e) {
			displayError(searchResult);
		}
	}
}

/**
 * Wyswietla znalezionego konsultanta
 *
 * @param {Object} who wyszukany konsultant *
 *
 */
function displayConsultant(who){
	who.className= 'konsultan_'+ who.className.substr(10);
}
/**
 * Wyswietla komunikat bledu
 */
function displayError(searchResult){
	var patternError = new RegExp('(^|\\s)blad(\\s|$)', 'gi');
	n = searchResult.length;
	for(i=0; i < n; i++)
		if (searchResult[i].className.match(patternError)){
			searchResult[i].className= 'konsultan_ blad';
			break;
		}

}


