$.ajaxSetup({async: false});
var ptf = window.ptf = '../../WYSZUKIWARKA/';
var search = window.search = new Object();
search.drawWojewodztwa = function(){
draw.selectDiv({
'data': window.wojewodztwa,
'divid': '#wojewodztwoDiv',
'selectid': 'select#selSzukWojewodztwo'
});};
search.changeWojewodztwa = function(){
var kodWojewodztwa = $('select#selSzukWojewodztwo').val();
var n = window.wojewodztwa.length;
miastanpp = [];
powiaty = [];
statki = [];
zagranica = [];
obwody = [];
for (var i = 0; i < n; i++) {
if (window.wojewodztwa[i].kod == kodWojewodztwa) {
miastanpp = window.wojewodztwa[i].mnpp;
powiaty = window.wojewodztwa[i].pow;
statki = window.wojewodztwa[i].s; 
zagranica = window.wojewodztwa[i].z;
break;}};
draw.selectDiv({
'data': miastanpp,
'divid': '#miastoDiv',
'selectid': 'select#selSzukMiastonpp'});
draw.selectDiv({
'data': powiaty,
'divid': '#powiatDiv',
'selectid': 'select#selSzukPowiat'});
draw.selectDiv({
'data': statki,
'divid': '#statekDiv',
'selectid': 'select#selSzukStatek'});
draw.selectDiv({
'data': zagranica,
'divid': '#zagranicaDiv',
'selectid': 'select#selSzukZagranica'});
search._resetFields();
search.prepareObwody(undefined);
draw.selectDiv({
'data': [],
'divid': '#dzielnicaDiv',
'selectid': 'select#selSzukDzielnica'});
draw.selectDiv({
'data': [],
'divid': '#gminaDiv',
'selectid': 'select#selSzukGmina'});}
search.changeMiastonpp = function(){
var kodMiastanpp = $('select#selSzukMiastonpp').val();
if (kodMiastanpp > 0) {
$.getJSON(ptf + 'm/m_' + kodMiastanpp + '.json', search._changeMiastonppCallback);
search._disableFields('select#selSzukMiastonpp');}else{
search._changeMiastonppCallback();
search._resetFields();}}
search._changeMiastonppCallback = function(){
var kodMiastanpp = $('select#selSzukMiastonpp').val();
if (kodMiastanpp != window.miasto.kod) {
window.miasto = [];}
draw.selectDiv({
'data': window.miasto.d,
'divid': '#dzielnicaDiv',
'selectid': 'select#selSzukDzielnica'});
search.prepareObwody(window.miasto.o);}
search.changePowiat = function(){
var kodPowiat = $('select#selSzukPowiat').val();
if (kodPowiat > 0) {
$.getJSON(ptf + 'p/p_' + kodPowiat + '.json', search._changePowiatCallback);
search._disableFields('select#selSzukPowiat');}else{
search._changePowiatCallback();
search._resetFields();}
setTimeout('search.changeGmina()', 200);}
search._changePowiatCallback = function(){
var kodPowiat = $('select#selSzukPowiat').val();
if (kodPowiat != window.powiat.kod) {
window.powiat = [];}
draw.selectDiv({
'data': window.powiat.gm,
'divid': '#gminaDiv',
'selectid': 'select#selSzukGmina'});}
search.changeStatek = function(){
var kodStatek = $('select#selSzukStatek').val();
if (kodStatek > 0) {
$.getJSON(ptf + 's/s_' + kodStatek + '.json', search._changeStatekCallback);
search._disableFields('select#selSzukStatek');}else{
search._changeStatekCallback();
search._resetFields();}}
search._changeStatekCallback = function(){
var kodStatek = $('select#selSzukStatek').val();
if (kodStatek != window.statek.kod) 
window.statek = [];
search.prepareObwody(window.statek.o);}
search.changeZagranica = function(){
var kodZagranica = $('select#selSzukZagranica').val();
if (kodZagranica > 0) {
$.getJSON(ptf + 'z/z_' + kodZagranica + '.json', search._changeZagranicaCallback);
search._disableFields('select#selSzukZagranica');}else{
search._changeZagranicaCallback();
search._resetFields();}}
search._changeZagranicaCallback = function(){
var kodZagranica = $('select#selSzukZagranica').val();
if (kodZagranica != window.zagranica.kod) 
window.zagranica = [];
search.prepareObwody(window.zagranica.o);}
search.changeGmina = function(){
var kodGmina = $('select#selSzukGmina').val();
if (kodGmina > 0) {
var n = powiat.gm.length;
for (var i = 0; i < n; i++) {
if (window.powiat.gm[i].kod == kodGmina) {
window.gmina = window.powiat.gm[i];}}
search._disableFields('select#selSzukGmina');}else{
search._resetFields('select#selSzukGmina');}
search._changeGminaCallback();}
search._changeGminaCallback = function(){
var kodGmina = $('select#selSzukGmina').val();
if (kodGmina != window.gmina.kod) {
window.gmina = [];}
search.prepareObwody(gmina.o);}
search.changeDzielnica = function(){
var kodDzielnica = $('select#selSzukDzielnica').val();
if (kodDzielnica > 0) {
$.getJSON(ptf + 'd/d_' + kodDzielnica + '.json', search._changeDzielnicaCallback);
search._disableFields('select#selSzukDzielnica');}else{
search._changeDzielnicaCallback();
search._resetFields('select#selSzukDzielnica');}}
search._changeDzielnicaCallback = function(){
var kodDzielnica = $('select#selSzukDzielnica').val();
if (kodDzielnica != window.dzielnica.kod) 
window.dzielnica = [];
search.prepareObwody(dzielnica.o);}
search.prepareObwody = function(obd){
document.getElementById('resultDiv').innerHTML = '';
if (obd != undefined && obd.length > 0) {
window.obwody = new Array();
for (var i in obd) 
window.obwody.push(obd[i]);
$('#inputTextDiv').css('display', 'block');}else{
$('#inputTextDiv').css('display', 'none');}
loading.finish();}
search.searchInObwody = function(){
if (window.obwody != undefined && window.obwody.length > 0) {
router.addParam("s");
var resultSet = new Array();
var searchText = new String($('input#inpSzukText').val()).toLowerCase();
if (searchText.length < 2) {
draw.info(lang._('podaj2znaki'));
return;}
var searchRegexp = new RegExp(searchText, "gi");
var n = window.obwody.length;
for (var i = 0; i < n; i++) {
var adr = new String(window.obwody[i].adr);
var grn = new String(window.obwody[i].grn);
if (adr.search(searchRegexp) != -1) 
resultSet.push(clone(window.obwody[i]));else 
if (grn.search(searchRegexp) != -1) 
resultSet.push(clone(window.obwody[i]));}
if (resultSet.length > 0) {
for (var i in resultSet) {
resultSet[i].adr = new String(resultSet[i].adr).replace(searchRegexp, '<em>$&</em>');
resultSet[i].grn = new String(resultSet[i].grn).replace(searchRegexp, '<em>$&</em>');}
draw.resultsObwody(resultSet);}else 
draw.info(lang._('brakObw'));}}
search.searchAllObwody = function(){
router.addParam("a");
draw.obwody();}
search._resetFields = function(calledFrom){
if (calledFrom != undefined) {
$(calledFrom).parent().parent().find('select').removeAttr('disabled');}else{
$('#MPSZ select, #DG select').removeAttr('disabled').val(0);}
document.getElementById('resultDiv').innerHTML = '';
obwody.length = 0;
loading.finish();}
search._disableFields = function(calledFrom){
$(calledFrom).parent().parent().find('select:not("' + calledFrom + '")').val(0).attr('disabled', 'true');
loading.finish();}
var searchT = window.searchT = new Object();
searchT._getData = function() {
$.getJSON( ptf + "jteryt.json", searchT.search);}
searchT.search = function() {
var searchText = new String($('input#inpSzukTeryt').val()).toLowerCase();
if (searchText.length < 2) {
draw.info(lang._('podaj2znaki'));
return false;}
if(window.JT === undefined) {
searchT._getData();
return false;}
var results = new Array();
var searchRegexp = new RegExp('^' + searchText, "gi");
var n = window.JT.length;
for (var i = 0; i < n; i++) {
var name = new String(window.JT[i].n);
if (name.search(searchRegexp) != -1) {
results.push(clone(window.JT[i]));}}
// resetowanie drugiego formularza
document.getElementById('selSzukWojewodztwo').options[0].selected = true;
search.changeWojewodztwa();
if(results.length === 0) {
draw.info( lang._( 'brakTer' ) );}
//rysowanie wynikow
searchT._draw(results);		
return false;}
searchT._draw = function(results) {
var rsHTML = '';
var strTmp = '';
if( results.length === 0 ) {
document.getElementById('ulSzukTeryt').innerHTML = rsHTML;
$('div#teryt').css('display', 'none');
return;}
for( i in results ) {
strTmp = router.buildRoute( results[i]['t'] );
rsHTML += '<li><a href="'+ strTmp +'" onclick="window.location=\'' + strTmp 
+ '\';router.follow();$(\'#inpSzukText\').focus();" class="link2">' 
+ results[i]['n'] + ', ' + results[i]['l'] + '</a></li>';}
document.getElementById('ulSzukTeryt').innerHTML = rsHTML;
$('div#teryt').css('display', 'block');}
searchT._resetFields = function(){
$('input#inpSzukTeryt').val('');
searchT._draw([]);}
var draw = window.draw = new Object();
draw._rootPath = '';
draw._getRootPath = function(){
if (this._rootPath != '') 
return this._rootPath;
var t = String(window.location.pathname);
t = t.slice(0, t.lastIndexOf('/') - 1);
t = t.slice(0, t.lastIndexOf('/'));
this._rootPath = t;
return this._rootPath;}
draw.info = function(strInfo){
document.getElementById('resultDiv').innerHTML = '<p class="infoBox">' + strInfo + '</p>';
loading.finish();}
draw.obwody = function(){
if (window.obwody != undefined && window.obwody.length > 0) {
draw.resultsObwody(window.obwody);}}
draw.resultsObwody = function(resultSet){
var rsHTML = '<br><table class="tabbb" id="s0" cellspacing="0">';
rsHTML += '<tbody><tr>';
rsHTML += '<td class="tabhdr_lt_b">.</td><td rowspan="2" class="tabhdr_lt">.</td>';
rsHTML += '<td colspan="3" rowspan="2" class="tabhdr">' + lang._('wynObw') + '</td>';
rsHTML += '<td rowspan="2" class="tabhdr_lt">.</td><td class="tabhdr_lt_br">.</td>';
rsHTML += '</tr><tr>';
rsHTML += '<td class="borderl">.</td><td class="borderr">.</td>';
rsHTML += '</tr><tr>';
rsHTML += '<td class="hroww9">.</td><td class="hroww12">.</td><td class="hroww20">.</td><td class="hroww712">.</td><td class="hroww100">.</td><td class="hroww12">.</td><td class="hroww9">.</td>';
rsHTML += '</tr><tr>';
rsHTML += '<td colspan="3" class="hborderltb">' + lang._('lp') + '</td>\
<td class="hborderltb">' +
lang._('adrGrn') +
'</td>\
<td colspan="3" class="hborderltbr">' +
lang._('przejdz') +
'</td>\
</tr></tbody><tbody>';
for (var i = 0; i < resultSet.length; i++) {
if ((i % 2) == 1) 
rsHTML += '<tr class="even">';
else 
rsHTML += '<tr>';
rsHTML += '<td colspan="3" class="col5ar" align="right"><p>' + resultSet[i]['nr'] + '.</p></td>';
rsHTML += '<td class="col5al">\
<p><b>' + lang._('adr') + '</b> ' + resultSet[i]['adr'] + '</p>\
<p class="grn"><b>' +
String(lang._('grnObw')).replace(/,([^s])/g, ', $1') +
'</b> ' +
String(resultSet[i]['grn']).replace(/,([^s])/g, ', $1') +
'</p>\
</td>';
rsHTML += '<td colspan="3" class="col6al"><p>';
if (resultSet[i].lnk != undefined && String(resultSet[i].lnk).length > 0) 
rsHTML += '<a href="' + this._getRootPath() + '/KOMISJE/' +
resultSet[i].lnk +
'.html">' +
lang._('doListy') +
'</a><br />';
if (resultSet[i].lnkS != undefined && String(resultSet[i].lnkS).length > 0) 
rsHTML += '<a href="' + this._getRootPath() + '/KOMISJE/' +
resultSet[i].lnkS +
'.html">' +
lang._('doObw') +
'</a>';
rsHTML += '</p></td></tr>';}
document.getElementById('resultDiv').innerHTML = rsHTML;
loading.finish();}
draw.selectDiv = function(obj){
var selectElement = $(obj.selectid);
selectElement[0].length = 1;
if (obj.data == undefined || obj.data.length == 0) {
$(obj.divid).css('display', 'none');
return;}
$(obj.divid).css('display', 'block');
n = obj.data.length;
for (var i = 0; i < n; i++) {
var opt = new Option(obj.data[i].nzw, obj.data[i].kod);
opt.id = "opt" + obj.data[i].kod;
selectElement[0].options[selectElement[0].options.length] = opt;};
loading.finish();}
var loading = window.loading = new Object();
loading.start = function(){
this.flag = true;
loading.counter += 1;
$('#loading').css('visibility', 'visible');}
loading.finish = function(){
if (this.counter > 1) 
router.updateCurrent();
setTimeout("$('#loading').css('visibility', 'hidden')", 200);
this.flag = false;}
loading.flag = false;
loading.counter = 0;
function clone(obj){
if (obj == null || typeof(obj) != 'object') 
return obj;
var temp = new obj.constructor();
for (var key in obj) 
temp[key] = clone(obj[key]);
return temp;}
var lang = window.lang = new Object();
lang.pl = {
'podaj1znak': 'Podaj przynajmniej 1 znak, aby rozpocząć szukanie!',
'podaj2znaki': 'Podaj przynajmniej 2 znaki, aby rozpocząć szukanie!',
'brakObw': 'Nie znaleziono obwodów!',
'brakKdt': 'Nie znaleziono kandydatów o takim nazwisku!',
'brakTer': 'Nie znaleziono miasta, gminy, ani państwa o podanej nazwie.',
'wynObw': 'Wyniki wyszukiwania obwodów',
'lp': 'Nr obwodu.',
'adrGrn': 'Adres i granice obwodu',
'przejdz': 'Przejdź',
'adr': 'Adres:',
'grnObw': 'Granice obwodu:',
'doListy': 'do listy z obwodem »',
'doObw': 'do obwodu »',
'wynKan': 'Wyniki wyszukiwania',
'nazwisko': 'Nazwisko',
'imiona': 'Imiona',
'mscZam': 'Miejsce zamieszkania',
'komWyb': 'Komitet wyborczy',
'okreg': 'Okręg wyborczy',
'zobacz': 'Zobacz',
'daneKan': 'dane kandydata »',
'wynWyborow': 'wyniki wyborów »'};
lang.en = {
'podaj1znak': 'Enter at least 1 letter to start searching!',
'podaj2znaki': 'Enter at least 2 letters to start searching!',
'brakObw': 'Wards not found!',
'brakKdt': 'No candidates with given name!',
'brakTer': 'No city, borough nor country with given name.',
'wynObw': 'Wards search results',
'lp': 'No.',
'adrGrn': 'Ward\'s address and borders',
'przejdz': 'Go',
'adr': 'Address:',
'grnObw': 'Ward\'s borders:',
'doListy': 'to ward\'s list »',
'doObw': 'to ward »',
'wynKan': 'Candidate search results',
'nazwisko': 'Name',
'imiona': 'First names',
'mscZam': 'Place of residence',
'komWyb': 'Election committee',
'okreg': 'Constituency',
'zobacz': 'See',
'daneKan': 'candidate\'s data »',
'wynWyborow': 'turnout »'};
lang._ = function(txtToTranslate){
var ret = '';
if (lang.active == 'EN') {
if (lang.en[txtToTranslate] != undefined) 
ret = lang.en[txtToTranslate];
}else{
if (lang.pl[txtToTranslate] != undefined) 
ret = lang.pl[txtToTranslate];}
return ret;}
var router = window.router = new Object();
router._read = function(){
var intSeparatorPos = String(document.location.href).indexOf("#");
var arrParamsChecked = new Array();
var arrParams = new Array();
if (intSeparatorPos != -1) {
var strParams = String(document.location.href).split("#");
strParams = String(strParams[1]);
var arrParams = strParams.split('/');}
return arrParams;}
router._write = function(arrParams){
var strParams = arrParams.join("/");
window.location = "#" + strParams;}
router._setOption = function(strSelectId, strValue){
document.getElementById('opt' + strValue).selected = true;}
router.buildRoute = function(teryt_id) {
if (teryt_id === undefined || !teryt_id) {
return '#';} else
if(parseInt(teryt_id, 10) < 300) {
return '#w_140000/z_' + teryt_id;}
teryt_id = new String(teryt_id);
if(teryt_id.length != 6) {
return '#';}
var t1 = teryt_id.substr(0,2);
var t2 = teryt_id.substr(2,2);
var t3 = teryt_id.substr(4,2);
// statek
if( t2 == '98' || t2 == '99' ){
return '#w_' + t1 + '0000/s_' + teryt_id;
} else
if( t1 == '14' && t2 == '65' ) {
return '#w_140000/m_146501/d_' + teryt_id;		
} else
if( t2 > 60 ) {
return '#w_' + t1 + '0000/m_' + teryt_id;
} else
return '#w_' + t1 + '0000/p_' + t1 + t2 +'00/g_' + teryt_id;}
router.updateCurrent = function(){
var arrParams = new Array();
var woj = document.getElementById('selSzukWojewodztwo').value;
var mnpp = document.getElementById('selSzukMiastonpp').value;
var pow = document.getElementById('selSzukPowiat').value;
var sta = document.getElementById('selSzukStatek').value;
var zag = document.getElementById('selSzukZagranica').value;
var gm = document.getElementById('selSzukGmina').value;
var dz = document.getElementById('selSzukDzielnica').value;
if (woj > 0) 
arrParams.push('w_' + woj);
if (mnpp > 0) 
arrParams.push('m_' + mnpp);
if (pow > 0) 
arrParams.push('p_' + pow);
if (sta > 0) 
arrParams.push('s_' + sta);
if (zag > 0) 
arrParams.push('z_' + zag);
if (gm > 0) 
arrParams.push('g_' + gm);
if (dz > 0) 
arrParams.push('d_' + dz);
arrParams.push(document.getElementById("inpSzukText").value);
router._write(arrParams);}
router.addParam = function(strParam){
var arrParams = router._read();
arrParams.push(strParam);
router._write(arrParams);}
router.follow = function(){
if (loading.flag == true) {
setTimeout("router.follow();", 500);
return;}
var arrParams = router._read();
for (var i in arrParams) {
arrParams[i] = String(arrParams[i]).split("_");}
if (arrParams[0] != undefined && arrParams[0][1] != undefined) {
if (arrParams[0][0] == 'w') {
router._setOption('selSzukWojewodztwo', arrParams[0][1]);
search.changeWojewodztwa();}}
else 
return;
if (arrParams[1] != undefined && arrParams[1][1] != undefined) {
if (arrParams[1][0] == 'm') {
router._setOption('selSzukMiastonpp', arrParams[1][1]);
search.changeMiastonpp();}else 
if (arrParams[1][0] == 'p') {
router._setOption('selSzukPowiat', arrParams[1][1]);
search.changePowiat();}else 
if (arrParams[1][0] == 's') {
router._setOption('selSzukStatek', arrParams[1][1]);
search.changeStatek();}else 
if (arrParams[1][0] == 'z') {
router._setOption('selSzukZagranica', arrParams[1][1]);
search.changeZagranica();}}else 
return;
if (arrParams[2] != undefined && arrParams[2][1] != undefined) {
if (arrParams[2][0] == 'g') {
router._setOption('selSzukGmina', arrParams[2][1]);
search.changeGmina();}else 
if (arrParams[2][0] == 'd') {
router._setOption('selSzukDzielnica', arrParams[2][1]);
search.changeDzielnica();}}}
if (String(window.location).indexOf('/EN/') != -1) 
lang.active = 'EN';
else 
lang.active = 'PL';
$(document).ready(function(){
loading.start();
$.getJSON(ptf + 'wojewodztwa.json', search.drawWojewodztwa);
$('select#selSzukWojewodztwo').change(search.changeWojewodztwa);
$('select#selSzukMiastonpp').change(search.changeMiastonpp);
$('select#selSzukPowiat').change(search.changePowiat);
$('select#selSzukStatek').change(search.changeStatek);
$('select#selSzukZagranica').change(search.changeZagranica);
$('select#selSzukGmina').change(search.changeGmina);
$('select#selSzukDzielnica').change(search.changeDzielnica);
$('#szkO form').submit(search.searchInObwody);
$('input#butPokaz').click(search.searchAllObwody);
$('#szkO form').submit(loading.start); 	
$('input#butPokaz').click(loading.start);
$('select#selSzukWojewodztwo').change(loading.start);
$('select#selSzukMiastonpp').change(loading.start);
$('select#selSzukPowiat').change(loading.start);
$('select#selSzukStatek').change(loading.start);
$('select#selSzukZagranica').change(loading.start);
$('select#selSzukGmina').change(loading.start);
$('select#selSzukDzielnica').change(loading.start);
$('select#selSzukWojewodztwo').change(searchT._resetFields);
$('select#selSzukMiastonpp').change(searchT._resetFields);
$('select#selSzukPowiat').change(searchT._resetFields);
$('select#selSzukStatek').change(searchT._resetFields);
$('select#selSzukZagranica').change(searchT._resetFields);
$('select#selSzukGmina').change(searchT._resetFields);
$('select#selSzukDzielnica').change(searchT._resetFields);
window.miastanpp = [];
window.powiaty = [];
window.statki = [];
window.zagranica = [];
window.miasto = [];
window.powiat = [];
window.gmina = [];
window.dzielnica = [];
window.obwody = [];
$('#szkT form').submit(searchT.search);
router.follow();
});
