/*
 * Ext JS Library 1.0.1
 * Copyright(c) 2006-2007, Ext JS, LLC.
 * licensing@extjs.com
 *
 * http://www.extjs.com/license
 */

/**
 * @package GieldaWWW
 *
 * Soof Templater - Szybki Manager Szablonï¿½w / Wersja JavaScript - wersja OBCIï¿½TA (nie ï¿½aduje dowolnych plikï¿½w przez AJAX)
 * @author Kamil Sofowora
 */

Array.prototype.exists = function(elem) {
	for(var i = 0; i < this.length; i++)
		if(this[i] === elem)
		   return true;
	return false;
}

function SoofTemplater()
{

	//Private vars
	var stmp_multi_divider = null;
	var ClassInitialized = null;
	var DoSpanLabels = null;
	var _this = null;

	this.Init = function(params){

		_this = this;
		this.stmp_multi_divider = "<br><!--JSTPL_MBREAKER-->";
		this.ClassInitialized = 1;

		this.mlt_good_contents = new Array();
		this.MultiTemplateContents = new Array();
		this.TemplateVariableArray = new Array();
		this.TplSpanVarArray = new Array();

		if (typeof(params) == "object"){
			if (params.length > 0){
				if (typeof(params["DoSpanLabels"]) != "undefined") this.DoSpanLabels = params["DoSpanLabels"];
			}
		}
	}


	/**
	 * Funkcje zapisujï¿½ce i odczytujï¿½ce zmienne z managera szablonï¿½w.
	 * Parametr partname okreï¿½la do jakiej czï¿½ci szablonu bï¿½dï¿½ przypisane zmienne (szablon wieloczï¿½ciowy).
	 * Przy szablonie wieloczï¿½sciowym, kaï¿½dy podszablon ma swojï¿½ podtablicï¿½ zmiennych o odpowiednim indeksie,
	 * do ktï¿½rej zapisujï¿½ siï¿½ jego zmienne
	 *
	 * W przypadku jeï¿½eli uï¿½ywamy zwykï¿½ego szablonu (nie - czï¿½ciowego), dane zapisujï¿½ siï¿½ do standardowej podtablicy zmiennych o indeksie "default"
	 */

	//Przypisz wartoï¿½ï¿½ do nazwy zmiennej
	this.AssignVariable = function(varname, value, partname){
		if (typeof(this.TemplateVariableArray[partname]) != "object"){
			this.TemplateVariableArray[partname] = new Array();
		}

		this.TemplateVariableArray[partname][varname] = value;

		if (this.DoSpanLabels > 0) {this.TplSpanVarArray[partname][varname] = "<span contentEditable=\"false\" class="+'"'+ varname + "_default id=" + "{Label#@" + varname + "#}0#;}\">" + value + "</span>";}
		return true;
	}


	//Pobierz wartoï¿½ï¿½ zmiennej
	this.GetVariable = function(varname, partname){
		if (typeof(this.TemplateVariableArray[partname]) == "object"){
			if (typeof(this.TemplateVariableArray[partname][varname]) != "undefined")	return this.TemplateVariableArray[partname][varname];
			else { return false; }
		}else{
			return false;
		}
	}

	//Zaï¿½aduj tablicï¿½ zmiennych do szablonu i usuwa starï¿½ tablicï¿½, jeï¿½eli takowa istnieje
	this.AssignVariableArray = function(varname_array, partname){
		if (typeof(varname_array) == "object"){
			this.TemplateVariableArray[partname] = varname_array;
		}else { return false; }

		var key;
		if (this.DoSpanLabels > 0) {
			if (typeof(TplSpanVarArray[partname]) != "object"){
				TplSpanVarArray[partname] = new Array();
			}
			for (key in varname_array){
				this.TplSpanVarArray[partname][key] = "<span contentEditable=\"false\" class=" + key + "_default id=\"{Label#@" + key + "#}0#;}\">" + varname_array[key] + "</span>";
			}
		}
	}

	//Zaï¿½aduj dodatkowï¿½ tablicï¿½ zmiennych do szablonu (poï¿½ï¿½cz starï¿½ tablicï¿½ z nowï¿½)
	this.AssignVariableArrayMerge = function(varname_array, partname){

		if (typeof(this.TemplateVariableArray[partname]) == "object" && typeof(varname_array) == "object") {

			//Zamiast array_merge czy nawet JS-owego CONCATa (ktï¿½ry tutaj nie zadziaï¿½a) taki wybryk... Cï¿½ - po prostu piï¿½kno Javascriptu...
			for (var key in varname_array){
				this.TemplateVariableArray[partname][key] = varname_array[key];
			}

			if (this.DoSpanLabels > 0) {
				var NewSpanArray = new Array();
				for (key in varname_array){
					NewSpanArray[key] = "<span contentEditable=\"false\" class="+'"'+ key + "_default\" id=\"{Label#@" + key + "#}0#;}\">" + varname_array[key] + "</span>";
				}
				this.TplSpanVarArray[partname] = this.TplSpanVarArray[partname].concat(NewSpanArray);
			}
		}
		else if (typeof(this.TemplateVariableArray[partname]) != "object" && typeof(varname_array) == "object") {
			this.AssignVariableArray(varname_array, partname);
		}
	}


	//multisheet == TRUE: wczytaj szablon wieloczï¿½ciowy
	this.Fetch = function(filename, multisheet, readycontents){

		if (filename.length > 0 || readycontents.length > 0) {
			var loadres = this.Load(filename, multisheet, readycontents);
		} //Zaï¿½aduj szablon tylko wtedy kiedy trzeba
		else { var loadres = true; }

		if (multisheet > 0){
			if (multisheet.length > 0){

				if (loadres > 0) { return this.RawFetch(); }
				else { return false; }

			}else return loadres;
		}else return loadres;

	}


	this.Load = function(filename, multisheet, readycontents){

		if (this.ClassInitialized > 0){
			if (multisheet <= 0){
				mx5 = load_tpl_contents(filename, readycontents);
				if ( mx5 > 0 ) { return true; }
				else { return false; }
			}else{
				mx5 = load_mtpl_contents(filename, readycontents);
				if ( mx5 > 0 ) { return true; }
				else { return false; }
			}
		}else{
			return false;
		}
	}

	//Tyko stwï¿½rz nowy HTML, nie odczytujï¿½c pliku szablonu z dysku. Szablon musi byï¿½ wczeï¿½niej odczytany z dysku
	this.RawFetch = function(){
		if (typeof(this.TemplateVariableArray['default']) != "object") { this.TemplateVariableArray['default'] = new Array(); }
		if (typeof(this.TplSpanVarArray['default']) != "object") { this.TplSpanVarArray['default'] = new Array(); }

		var template_data = this.TemplateVariableArray['default'];
		var spantpl_data = this.TplSpanVarArray['default'];

		//Generuj content dynamiczny ze zmiennymi
		eval("var main_template_content = '" + this.good_contents + "';");
		//eval("var main_template_content = "+'"'+ this.good_contents +'"'+ ";");

		this.TemplateContents = main_template_content;
		return main_template_content;
	}

	//Tyko stwï¿½rz nowy HTML, nie odczytujï¿½c pliku szablonu z dysku. Szablon musi byï¿½ wczeï¿½niej odczytany z dysku
	this.MultiRawFetch = function(partname){
		if (typeof(this.TemplateVariableArray[partname]) == "undefined") { this.TemplateVariableArray[partname] = new Array(); }
		if (typeof(this.TplSpanVarArray[partname]) == "undefined") { this.TplSpanVarArray[partname] = new Array(); }

		if (typeof(partname) == "undefined") { return false; }
		if (partname.length < 2) { return false; }

		var template_data = this.TemplateVariableArray[partname];
		var spantpl_data = this.TplSpanVarArray[partname];

		//alert(this.mlt_good_contents[partname]);

		//Generuj content dynamiczny ze zmiennymi
		eval("var main_template_content = '" + this.mlt_good_contents[partname] + "';");
		//eval("var main_template_content = " + '"' + this.mlt_good_contents[partname] + '"' + ";");

		//alert(main_template_content);

		this.MultiTemplateContents[partname] = main_template_content;
		return main_template_content;
	}

	//Odczytaj, obetnij z niepotrzebnych bajerï¿½w i zaï¿½aduj zawartoï¿½ï¿½ HTML szablonu do zmiennej this.good_contents
	//Nie uï¿½ywaï¿½ odczytu z URL/pliku bo nie dziaï¿½a !! Podawaï¿½ gotowï¿½ zawartoï¿½ï¿½ przez zmiennï¿½ readycontents
	function load_tpl_contents(url_to_filename, readycontents){

		var contents;

		if (readycontents.length > 0){
			contents = readycontents;
		}else{
			//if (!contents = file_get_contents(url_to_filename)) return false;
		}

		if (contents.length < 2) { return false; }

		_this.good_contents = contents.replace(/\n/g, '\\' + "\n");

		return true;
	}

	//Wersja dla multi-szablonï¿½w wieloczï¿½ciowych
	//Nie uï¿½ywaï¿½ odczytu z URL/pliku bo nie dziaï¿½a !! Podawaï¿½ gotowï¿½ zawartoï¿½ï¿½ przez zmiennï¿½ readycontents
	function load_mtpl_contents(url_to_filename, readycontents){

		var contents;

		if (readycontents.length > 0){
			contents = readycontents;
		}else{ //Wyï¿½ï¿½czone - nie dziaï¿½a
			//if (!contents = file_get_contents(url_to_filename)) return false;
		}

		//alert(_this.stmp_multi_divider);

		var cnt = 0; var prev_val = ""; var key; var msyk = "";

		//alert(contents);
		var arrx = contents.toString().split(_this.stmp_multi_divider);
		//var arrx = contents.split(xvv);

		//for (key in arrx){ //Wyczyï¿½ï¿½ tablicï¿½ z jakichï¿½ dziwnych ï¿½mieci (IE 6 / IE7)
			//alert(typeof(arrx[key]));
			//if (typeof(arrx[key]) == "string") arry[key] = arrx[key];
		//}

		for (key in arrx){ //Przypisz w tablicy poszczegï¿½lne czï¿½ci szablonu do ich podtablic
			if (typeof(arrx[key]) == "string"){
				if (cnt % 2 == 1) msyk = prev_val.replace(/\n/g, '\\' + "\n");
				//alert(msyk);
				_this.mlt_good_contents[arrx[key]] = msyk;

				cnt++; prev_val = arrx[key];
				//alert(prev_val);
			}
		}

		//alert("--" + this.mlt_good_contents);

		return true;
	}


	//Wyczyï¿½ï¿½ wszystkie dane, tak ï¿½eby moï¿½na byï¿½o zaï¿½adowaï¿½ caï¿½kiem nowy szablon
	this.Clean = function(){
		this.good_contents = '';
		this.TemplateContents = '';
		this.TemplateVariableArray = new Array();
	}

	//Zwrï¿½ï¿½ gotowy HTML na zewnï¿½trz
	this.GetContents = function(partname) {
		if (partname.length > 0) {return this.MultiTemplateContents[partname];}
		else {return this.TemplateContents;}
	}



}












//function mainsite_links_gen(type, url_parms, url_parms2, is_mod_rw = false, url_parms2 = false)
function mainsite_links_gen(parxxx){

	if (typeof(parxxx) != "object") return false;

	var url_parms = parxxx['url_params'];
	var url_parms2 = parxxx['url_params2'];
	var ex_url_parms = parxxx['ex_url_parms'];
	var dot_ext = parxxx['dot_ext'];
	var type = parxxx['type'];

	var outlink = "";
	var c = ","; //Separator sciezki menu
	var d = ";"; //Separator sï¿½ï¿½w kluczowych
	var y = "_"; //Separator sï¿½ï¿½w kluczowych do folderï¿½w
	var r, kc, ck, k, xxx, yyy, cx;
	var idcityfrom = "", idcityto = "", tbid = "", plfrom = "", plto = "", lmd = "", mmvt = "", ctrto = "", ctrfrom = "", trwg = "", lang=" ";

	//alert(typeof(lang));

	//alert("1: " + typeof(lmd) + "--" + typeof(mmvt));

	if (parxxx['mod_rw']){//Dla mod_rewrite

		if (typeof(dot_ext) == "undefined") dot_ext = '.html';
		else{
			if (dot_ext.length < 1) dot_ext = '.html';
		}
		//url_parms["title"] = preg_replace("/&#[0-9]+;/", "", url_parms["title"]);

		if (type == 2 || type == 'offerlist'){ //Lista ofert

			//TODO: zrobiï¿½ obsï¿½ugï¿½ keywordsï¿½w - teraz jest WYï¿½ï¿½CZONE !!
			//var keywords = preg_split("/\s|[;'\",.]/", url_parms["title"]);
			//kc=0; ck = count(keywords);
			//for (k = 0; k<ck; k++) { if(keywords[k].length > 1) keywords2[kc++] = keywords[k]; }
			//if (keywords2) {var keywords = implode(d, keywords2);}
			//else var keywords = 'Lista';


			var keywords = 'List';

			//slowo1;slowo2;slowo3,Oferty-list_messages;A;P;0-ALL;0-ALL;1;9,1-24_strona-pg1hm5langPL_ex-abc.la1,abd.muuu.html


			for (xxx in url_parms){ //extract(url_parms, EXTR_OVERWRITE);
				//stupid marker - TK
				if((xxx == "_reverse")||(xxx == "_each"))
				    continue;
				if (typeof(url_parms[xxx]) == "string")	eval("var " + xxx + " = \"" + url_parms[xxx] + "\";");
				else eval("var " + xxx + " = " + url_parms[xxx] + ";");
			}

			for (xxx in url_parms2){ //extract(url_parms2, EXTR_SKIP);
				//if (yyy == "undefined"){ //Pomiï¿½ zmienne juï¿½ zadeklarowane
					if (typeof(url_parms2[xxx]) == "string")	eval("var " + xxx + " = \"" + url_parms2[xxx] + "\";");
					else eval("var " + xxx + " = " + url_parms2[xxx] + ";");
				//}
			}

			if (typeof(url_parms["trhp"]) == "undefined") url_parms["trhp"] = "";
			r = url_parms["trhp"] + keywords + ",Offers-" + Act;

			if (plfrom.length > 0) plfrom = encodeURI(plfrom);
			if (plto.length > 0) plto = encodeURI(plto);

			//Jeï¿½eli sï¿½ jakieï¿½ parametry wyszukiwania, to dodaj parametry wyszukiwania do MOD_REWRITE
			if (plfrom.length > 0 || plto.length > 0 || idcityfrom > 0 || idcityto > 0 || tbid > 0 || trwg.length > 0 || ctrfrom.length > 0 || ctrto.length > 0) r += ";search-"+plfrom+";"+plto+";"+ctrfrom+";"+ctrto+";"+idcityfrom+";"+idcityto+";"+tbid+";"+trwg+";"+trsmsgtp+"";

			//alert(typeof(lang));
			if (lang.length > 0 && typeof(parxxx['SzGwDomainLng']) == "undefined") var langaddon = "lang"+lang+"";
			else var langaddon = "";

			//Ustawienia domen jï¿½zykowych
			var slen_lang = lang.length;
			if (typeof(parxxx['SzGwDomainLng']) == "undefined") {
				if (slen_lang > 0)	{	var langaddon = "lang"+lang+"";		var langdomain = null;	}
				else {	var langaddon = "";		var langdomain = null;	}
			}
			else {
				if (slen_lang > 0)	{	var langaddon = "";						var langdomain = lang;	}
				else {	var langaddon = "";		var langdomain = parxxx['SzGwDomainLng'];	}
			}

			if (pg > 0 || hm > 0 || lmd > 0 || slen_lang > 0 || typeof(mmvt) != "undefined") r += ";page-pg"+pg+"hm"+hm+"lmd"+lmd+"mmvt"+mmvt+langaddon;

			if (typeof(ex_url_parms) == "object"){
				if (ex_url_parms.length > 0){
					r += ";ex-"; cx = 0;
					for(xxx in ex_url_parms){
						if (cx > 0) r += ',';
						r += k+'.'+v;
						cx++;
					}
				}
			}

			r += dot_ext;
		}
		else{
			r="#";
		}


	}else{//Normalne - TODO: Zrobiï¿½ to dla WYï¿½ï¿½CZONEGO mod rewrite

		/*/
		//print_r(url_parms2); echo "\r\n <br/>";

		if (url_parms['plfrom']) url_parms['plfrom'] = urlencode(url_parms['plfrom']);
		if (url_parms['plto']) url_parms['plto'] = urlencode(url_parms['plto']);

		dot_ext = '';

		iq = url_parms['script'] + "?"; add1 = ""; unset(url_parms['script']);
		if (url_parms["page"]) {add1 += "$iq"+"p="+url_parms["page"]; iq = "&amp;"; unset(url_parms["page"]);}

		if (@is_array(url_parms)){
			foreach (url_parms as xkey] = xvalue){
				//if (xvalue) {add1 += iq+"$xkey=" + preg_replace("/[^a-zA-Z0-9,_-]/", ";", xvalue); iq="&amp;";}
				if (strlen(xvalue) > 0) {add1 += iq+"$xkey=" + xvalue; iq="&amp;";}
			}
		}

		//Dodatkowe parametry do URL
		if (@is_array(url_parms2)){
			foreach (url_parms2 as xkey] = xvalue){
				if (strlen(xvalue) > 0) {add1 += iq+"$xkey=" + xvalue; iq="&amp;";}
			}
		}

		r = url_parms["trhp"] + add1;
		/*/
	}

	//Zmiana domeny jï¿½zykowej na inny jï¿½zyk
	if (typeof(parxxx['SzGwDomainLng']) != "undefined"){
		parxxx['full_url'] = 1;
		var serv_hthost = str_replace('www.', '', json_exdata["HTTP_HOST"]);
		var newhost = serv_hthost.split(".");
		newhost[0] = parxxx['SzGwDomainLng'].toString().toLowerCase();
		newhost = newhost.join(".");
		var drname = dirname(json_exdata["REQUEST_URI"] + "a");
		if (json_exdata["HTTPS"])	parxxx['mainsite_url'] = 'https://' + newhost + drname + '/';
		else	parxxx['mainsite_url'] = 'http://' + newhost + drname + '/';
	}//json_exdata["gw_settings"]['SzGwDomainLng']

	if (typeof(parxxx['full_url']) != "undefined") {return parxxx['mainsite_url'] + r;}
	else {return r;}
}




//Tworzy gotowy HTML z pege'owaniem stron - wystarczy podaï¿½ parametry
//TODO: Przerobiï¿½ to na szablony, ale to JUï¿½ !!
function get_pageing_html(params){

	var dbg0 = "", rrr = "";
	//for (bzyk in json_exdata){
		//rrr = json_exdata[bzyk].toString();
		//if (rrr.substr(0,4) == "CSTR") dbg0 += bzyk + ":" + json_exdata[bzyk] + "-||-";
	//}
	//alert(json_exdata["CSTR_PAGES_BACK"]);


	if (typeof(params) != "object") return false;

	var trhp = params['trhp'];

	var multipage_change = 10;
	var multipage_show = 15;

	var maxpages = parseInt(params['records_cnt']) / parseInt(params['rec_per_page']);
	var maxpages_rnd = Math.ceil(maxpages);

	var currpage = parseInt(params['currpage']), retr, back10, forw10;

	if (currpage > maxpages) currpage = maxpages - 1;
	if (currpage < 0) currpage = 0;

	retr = '\n\
	<font class="rst_smallbr1"><br/></font>\n\
	\n\
	<div class="">\n\
\n\
	<table align="center" border="0" cellspacing="0" cellpadding="0" class="rst_default01">\n\
	<tr>\n\
	\n\
	<td class="rst_middle01">&nbsp;&nbsp;</td>\n\
	';

	//pierwsza strona
	var lnk_parx1 = new Array();
	lnk_parx1['Act'] = params['Act'];								lnk_parx1['script'] = params['script'];			lnk_parx1['plfrom'] = params['place_from'];
	lnk_parx1['plto'] = params['place_to'];					lnk_parx1['ctrfrom'] = params['ctrfrom'];		lnk_parx1['ctrto'] = params['ctrto'];
	lnk_parx1['tbid'] = params['tbid'];							lnk_parx1['trwg'] = params['trwg'];					lnk_parx1['idcityfrom'] = params['idcityfrom'];
	lnk_parx1['idcityto'] = params['idcityto'];			lnk_parx1['pg'] = 0;												lnk_parx1['hm'] = params['rec_per_page'];
	lnk_parx1['trsmsgtp'] = params['trsmsgtp']; 		lnk_parx1['trhp'] = trhp;


	//wstecz
	var lnk_parx2 = new Array();
	lnk_parx2['Act'] = params['Act'];								lnk_parx2['script'] = params['script'];			lnk_parx2['plfrom'] = params['place_from'];
	lnk_parx2['plto'] = params['place_to'];					lnk_parx2['ctrfrom'] = params['ctrfrom'];		lnk_parx2['ctrto'] = params['ctrto'];
	lnk_parx2['tbid'] = params['tbid'];							lnk_parx2['trwg'] = params['trwg'];					lnk_parx2['idcityfrom'] = params['idcityfrom'];
	lnk_parx2['idcityto'] = params['idcityto'];			lnk_parx2['pg'] = currpage-1;								lnk_parx2['hm'] = params['rec_per_page'];
	lnk_parx2['trsmsgtp'] = params['trsmsgtp'];			lnk_parx2['trhp'] = trhp;


	var back10 = "", forw10 = "";

	//10 stron do tyï¿½u
	if (currpage - multipage_change >= 0){
		lnk_parx10 = new Array();
		lnk_parx10['Act'] = params['Act'];								lnk_parx10['script'] = params['script'];				lnk_parx10['plfrom'] = params['place_from'];
		lnk_parx10['plto'] = params['place_to'];					lnk_parx10['ctrfrom'] = params['ctrfrom'];			lnk_parx10['trto'] = params['ctrto'];
		lnk_parx10['tbid'] = params['tbid'];							lnk_parx10['trwg'] = params['trwg'];						lnk_parx10['idcityfrom'] = params['idcityfrom'];
		lnk_parx10['idcityto'] = params['idcityto'];			lnk_parx10['pg'] = currpage - multipage_change;	lnk_parx10['hm'] = params['rec_per_page'];
		lnk_parx10['trsmsgtp'] = params['trsmsgtp'];			lnk_parx10['trhp'] = trhp;

		var xrr1 = new Array();
		xrr1['type'] = 2;											xrr1['url_params'] = lnk_parx10,
		xrr1['mod_rw'] = params['mod_rewr']; 	xrr1['url_params2'] = params['addurlparams'];
		xrr1['SzGwDomainLng'] = json_exdata["gw_settings"]['SzGwDomainLng'];

		back10 += '\n\
		<td class="rst_middle01"><a onclick="return ButtonGetDiffPage(\'' + lnk_parx10['pg'] + '\')" class="rst_gw_intable_link" title="' + multipage_change + ' ' + json_exdata["CSTR_PAGES_BACK"]+ '" href="' + mainsite_links_gen(xrr1) + '"><img alt="' + multipage_change + ' ' + json_exdata["CSTR_PAGES_BACK"] + '" border="0" src="'+ gfx_url + 'gfx/nextpage10_l_on.gif"></a>&nbsp;&nbsp;</td>\n\
		';
	}

	//Pierwsza i poprzednia
	if (currpage > 0) {
		var xrr2 = new Array();
		xrr2['type'] = 2;												xrr2['url_params'] = lnk_parx1;
		xrr2['mod_rw'] = params['mod_rewr'];		xrr2['url_params2'] = params['addurlparams'];
		xrr2['SzGwDomainLng'] = json_exdata["gw_settings"]['SzGwDomainLng'];

		var xrr3 = new Array();
		xrr3['type'] = 2;											xrr3['url_params'] = lnk_parx2;
		xrr3['mod_rw'] = params['mod_rewr'];	xrr3['url_params2'] = params['addurlparams'];
		xrr3['SzGwDomainLng'] = json_exdata["gw_settings"]['SzGwDomainLng'];

		if (typeof(window.PGHrefs) == "undefined") window.PGHrefs = new Array();
		if (typeof(window.PGOnclicks) == "undefined") window.PGOnclicks = new Array();
		if (typeof(window.PGEvtFunc) == "undefined") window.PGEvtFunc = new Array();
		PGHrefs['prev'] = mainsite_links_gen(xrr3);
		PGOnclicks['prev'] = 'return ButtonGetDiffPage(\'' + lnk_parx2['pg'] + '\')';

		PGEvtFunc['prev'] = function(){ButtonGetDiffPage(lnk_parx2['pg'])};

		retr +=	'\n\
		<td class="rst_middle01"><a onclick="return ButtonGetDiffPage(\'' + lnk_parx1['pg'] + '\')" class="rst_gw_intable_link" title="' + json_exdata["CSTR_FIRST_PAGE"] + '" href="' + mainsite_links_gen(xrr2) + '"><img alt="'+json_exdata["CSTR_FIRST_PAGE"] + '" border="0" src="'+ gfx_url +'gfx/firstpage_on.gif"></a>&nbsp;&nbsp;</td>\n\
\n\
		'+back10+'\n\
\n\
		<td class="rst_middle01"><a onclick="' + PGOnclicks['prev'] + '" class="rst_gw_intable_link" title="' + json_exdata["CSTR_PREVPAGE"] + '" href="' + PGHrefs['prev'] + '"><img alt="' + json_exdata["CSTR_PREVPAGE"] + '" border="0" src="'+ gfx_url +'gfx/nextpage_l_on.gif"></a>&nbsp;&nbsp;</td>\n\
\n\
	';
	}
	else retr += '\n\
\n\
		<td class="rst_middle01"><img alt="" border="0" src="'+ gfx_url +'gfx/firstpage_off.gif">&nbsp;&nbsp;</td>\n\
		<td class="rst_middle01"><img alt="" border="0" src="'+ gfx_url +'gfx/nextpage_l_off.gif">&nbsp;&nbsp;</td>\n\
\n\
	';


	//ï¿½rodek

	var middle_start = Math.round(currpage - (multipage_show / 2)) - 1;
	if (middle_start < 0) middle_start = 0;
	var middle_end = Math.round(currpage + (multipage_show / 2));
	if (middle_end > maxpages_rnd) middle_end = maxpages_rnd;

	var i, xi;
	for (i = middle_start; i<middle_end; i++)	{
		xi = i+1;

		if (i != currpage) retr += '\n\
		';
		else retr += '\n\
			<td class="rst_middle01" style="white-space: nowrap;">\n\
			'+json_exdata["CSTR_WAS_FOUND"]+'&nbsp;<b>'+params['records_cnt']+'</b>&nbsp;'+json_exdata["CSTR_NEWS_COUNTER_2"]+'&nbsp;<font class="rst_orange_bolder1" style="white-space:nowrap;">'+json_exdata["CSTR_PAGE_01"]+'&nbsp;'+xi+'</font>&nbsp;'+json_exdata["CSTR_PAGES_OF"]+'&nbsp;<b>'+maxpages_rnd+'</b></td>\n\
		';
		//
	}

	//10 stron do przodu

	//alert(currpage + "--" + multipage_change + "--" + maxpages);
	if (currpage + multipage_change < maxpages){
		lnk_parx10 = new Array();
		lnk_parx10['Act'] = params['Act'];								lnk_parx10['script'] = params['script'];				lnk_parx10['plfrom'] = params['place_from'];
		lnk_parx10['plto'] = params['place_to'];					lnk_parx10['ctrfrom'] = params['ctrfrom'];			lnk_parx10['ctrto'] = params['ctrto'];
		lnk_parx10['tbid'] = params['tbid'];							lnk_parx10['trwg'] = params['trwg'];						lnk_parx10['idcityfrom'] = params['idcityfrom'];
		lnk_parx10['idcityto'] = params['idcityto'];			lnk_parx10['pg'] = currpage + multipage_change;	lnk_parx10['hm'] = params['rec_per_page'];
		lnk_parx10['trsmsgtp'] = params['trsmsgtp'];			lnk_parx10['trhp'] = trhp;

		//echo "NEXT10: lnk_parx10 <br/>\r\n";

		var xrr4 = new Array();
		xrr4['type'] = 2;											xrr4['url_params'] = lnk_parx10;
		xrr4['mod_rw'] = params['mod_rewr'];	xrr4['url_params2'] = params['addurlparams'];
		xrr4['SzGwDomainLng'] = json_exdata["gw_settings"]['SzGwDomainLng'];

		//alert(xrr4['url_params2']['lang']);

		forw10 += '\n\
		<td class="rst_middle01"><a onclick="return ButtonGetDiffPage(\''+lnk_parx10['pg']+'\')" class="rst_gw_intable_link" title="'+multipage_change+' '+json_exdata["CSTR_PAGES_FORWARD"]+'" href="'+mainsite_links_gen(xrr4)+'"><img alt="'+multipage_change+' '+json_exdata["CSTR_PAGES_FORWARD"]+'" border="0" src="'+ gfx_url +'gfx/nextpage10_r_on.gif"></a>&nbsp;&nbsp;</td>\n\
		';

	}else{
		forw10 = "";
	}

	//Nastï¿½pna
	lnk_parx7 = new Array();
	lnk_parx7['Act'] = params['Act'];								lnk_parx7['script'] = params['script'];			lnk_parx7['plfrom'] = params['place_from'];
	lnk_parx7['plto'] = params['place_to'];					lnk_parx7['ctrfrom'] = params['ctrfrom'];		lnk_parx7['ctrto'] = params['ctrto'];
	lnk_parx7['tbid'] = params['tbid'];							lnk_parx7['trwg'] = params['trwg'];					lnk_parx7['idcityfrom'] = params['idcityfrom'];
	lnk_parx7['idcityto'] = params['idcityto'];			lnk_parx7['pg'] = currpage+1;								lnk_parx7['hm'] = params['rec_per_page'];
	lnk_parx7['trsmsgtp'] = params['trsmsgtp'];			lnk_parx7['trhp'] = trhp;


	//...i ostatnia
	lnk_parx9 = new Array();
	lnk_parx9['Act'] = params['Act'];								lnk_parx9['script'] = params['script'];			lnk_parx9['plfrom'] = params['place_from'];
	lnk_parx9['plto'] = params['place_to'];					lnk_parx9['ctrfrom'] = params['ctrfrom'];		lnk_parx9['ctrto'] = params['ctrto'];
	lnk_parx9['tbid'] = params['tbid'];							lnk_parx9['trwg'] = params['trwg'];					lnk_parx9['idcityfrom'] = params['idcityfrom'];
	lnk_parx9['idcityto'] = params['idcityto'];			lnk_parx9['pg'] = maxpages_rnd-1;						lnk_parx9['hm'] = params['rec_per_page'];
	lnk_parx9['trsmsgtp'] = params['trsmsgtp'];			lnk_parx9['trhp'] = trhp;


	if (currpage < maxpages - 1) {
		var xrr5 = new Array();
		xrr5['type'] = 2;											xrr5['url_params'] = lnk_parx7;
		xrr5['mod_rw'] = params['mod_rewr'];	xrr5['url_params2'] = params['addurlparams'];
		xrr5['SzGwDomainLng'] = json_exdata["gw_settings"]['SzGwDomainLng'];

		var xrr6 = new Array();
		xrr6['type'] = 2;											xrr6['url_params'] = lnk_parx9;
		xrr6['mod_rw'] = params['mod_rewr'];	xrr6['url_params2'] = params['addurlparams'];
		xrr6['SzGwDomainLng'] = json_exdata["gw_settings"]['SzGwDomainLng'];

		if (typeof(window.PGHrefs) == "undefined") window.PGHrefs = new Array();
		if (typeof(window.PGOnclicks) == "undefined") window.PGOnclicks = new Array();
		if (typeof(window.PGEvtFunc) == "undefined") window.PGEvtFunc = new Array();
		PGHrefs['next'] = mainsite_links_gen(xrr5);
		PGOnclicks['next'] = 'return ButtonGetDiffPage(\''+lnk_parx7['pg']+'\')';
		PGEvtFunc['next'] = function(){ButtonGetDiffPage(lnk_parx7['pg'])};

		retr += '\n\
		<td class="rst_middle01">&nbsp;&nbsp;<a onclick="' + PGOnclicks['next'] + '" class="rst_gw_intable_link" title="'+json_exdata["CSTR_NEXTPAGE"]+'" href="' + PGHrefs['next'] + '"><img alt="'+json_exdata["CSTR_NEXTPAGE"]+'" border="0" src="'+ gfx_url +'gfx/nextpage_r_on.gif"></a></td>\n\
		\n\
		<td class="rst_middle01">&nbsp;&nbsp;</td>\n\
\n\
		'+forw10+'\n\
\n\
		<td class="rst_middle01"><a onclick="return ButtonGetDiffPage(\''+lnk_parx9['pg']+'\')" class="rst_gw_intable_link" title="'+json_exdata["CSTR_LAST_PAGE"]+'" href="'+mainsite_links_gen(xrr6)+'"><img alt="'+json_exdata["CSTR_LAST_PAGE"]+'" border="0" src="'+ gfx_url +'gfx/lastpage_on.gif"></a>&nbsp;&nbsp;</td>\n\
			\n\
		<td class="rst_middle01">&nbsp;&nbsp;</td>\n\
	';
	}
	else retr += '\n\
		<td class="rst_middle01">&nbsp;&nbsp;<img alt="" border="0" src="'+ gfx_url +'gfx/nextpage_r_off.gif"></td>\n\
		\n\
		<td class="rst_middle01">&nbsp;&nbsp;<img alt="" border="0" src="'+ gfx_url +'gfx/lastpage_off.gif"></td>\n\
		\n\
		<td class="rst_middle01">&nbsp;&nbsp;</td>\n\
	';

	retr += ' \n\
	 </tr>\n\
	 </table>\n\
	 </div>	\n\
 	\n\
	 <font class="rst_smallbr0"><br/></font>\n\
	';

 	//alert(retr);

	return retr;

}























function ajaxSrchContentPostJSON(url, parameters) {

	//alert(url + "?" + parameters);
	try{
		document.getElementById("txtst01").value = decodeURI(url);
	}catch(err){}

	ObjectCoverON(document.getElementById("rst_outer_main01"), 80, document.getElementById("valtxt_plzwait_lding").value);

	var evalfunc1 = "OuterMainCovOFF()";
	var evalfunc2 = "jsonFinishedOKAction('" + "srchlist" + "', objAJAX)";
	var evalfunc3 = "jsonFinishedFailAction('" + "srchlist" + "', objAJAX)";

	ajaxSrchRawPostJSON(url, parameters, evalfunc1, evalfunc2, evalfunc3);

}


function ajaxSrchRawPostJSON(url, parameters, evalfunc1, evalfunc2, evalfunc3) {

	var method;
	method = 'POST'
	if (method == 'GET')	url = url + "?" + parameters;


	//UWAGA !! NIE Uï¿½YWAï¿½ window.xAJAXSrchJSON1, bo nie zadziaï¿½a z IE - SHITEM !!!!!!!!!!!!!!!!
	if (!xAJAXSrchJSON1) var xAJAXSrchJSON1 = getAJAXObj();

	//alert('xAJAXSrchJSON1: ' + xAJAXSrchJSON1);
	//alert('evalfunc1: ' + evalfunc1);
	//alert('evalfunc2: ' + evalfunc2);
	//alert('evalfunc3: ' + evalfunc3);
	xAJAXSrchJSON1.onreadystatechange = function() {readAJAXSrchPostData(xAJAXSrchJSON1, evalfunc1, evalfunc2, evalfunc3);}
	xAJAXSrchJSON1.open(method, url, true);
	xAJAXSrchJSON1.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xAJAXSrchJSON1.setRequestHeader("Content-length", parameters.length);
	xAJAXSrchJSON1.setRequestHeader("Connection", "close");
	xAJAXSrchJSON1.send(parameters);

}


function jsonFinishedOKAction(mode, objAJAX){



	var dt_num;

	window.RANDOMizer = 0;
	SetAutoRefreshList(35); //Ustaw automatyczne odï¿½wieï¿½anie listy na 40 sekund

	if (mode == "srchlist"){

		AJAXLock = 0; //Wyszukiwanie siï¿½ skoï¿½czyï¿½o, wiï¿½c odblokuj moï¿½liwoï¿½ï¿½ ponownego wyszukiwania
		SubmitLock = 1;
		InitDefaults();
		var XContent = objAJAX.responseText;


		if (JSONMode == 1){
			var dtTag_JSON = "offer_jsondata";
			var TheJSONData = XContent.substring(XContent.search("<"+dtTag_JSON+">") + dtTag_JSON.length + 2, XContent.search("</"+dtTag_JSON+">"));
			//alert(XContent);
		}
		else
		if (JSONMode == 2){
			var TheJSONData = XContent;

			try{
				//document.getElementById("txtst02").value = TheJSONData;
			}catch(er){}
		}

		var TbListResultOK = false;
		try{
			document.getElementById("tb_listresult").style.visibility = "";
			document.getElementById("tb_listresult").style.display = "block";
		}catch(er){
			TbListResultOK = true;
		}

		document.getElementById("dv_listing_content").innerHTML = "";

		//alert("OK:" + TheJSONData); // bart
		var HTML_arr = JSONLister.OutputHTML(TheJSONData);
		//alert("OK:" + HTML_arr); // bart

		if ( (HTML_arr[0] == false && HTML_arr[1] == false) || HTML_arr == false) {
			if(ajaxSrchCurrentPage > 0){
				ajaxSrchCurrentPage = 0;
				if(JSONMode == 1){}
				else if(JSONMode == 2){

					if (typeof(window.HasResettedPageNum) == "undefined")	window.HasResettedPageNum = 0;
					else	window.HasResettedPageNum++;

					var logged_comp_ctr = 0;
					if (typeof(json_exdata["gw_settings"]) != "undefined"){
						if (typeof(json_exdata["gw_settings"]["logged_companydata"]) != "undefined"){
							logged_comp_ctr = json_exdata["gw_settings"]["logged_companydata"]["IdCountry"];
						}
					}

					if (window.HasResettedPageNum < 1){ //Nie wykonuj ponownie jeï¿½eli raz juï¿½ nie byï¿½o wynikï¿½w na strony 0 - skutkuje ZAPï¿½TLENIEM !!
						if ((XFromPar.length > 1 && YFromPar.length > 1) || (XToPar.length > 1 && YToPar.length > 1)) var SrchCommand = 2;
						else var SrchCommand = 1;
						SubmitClearFields();
						JSONLister.Query(document.getElementById("plfrom").value, document.getElementById("plto").value, document.getElementById("cntry_sel1").value, document.getElementById("cntry_sel2").value, document.getElementById("trbody_sel").value, document.getElementById("trweight").value, ajaxSrchCurrentPage, document.getElementById("valinp_recperpage").value, SrchCommand, false, false, document.getElementById("val_curr_trsmsgtp").value, XFromPar, YFromPar, XToPar, YToPar, logged_comp_ctr);
						return false; //Nie wykonuj do koï¿½ca, tylko rozpocznij nowe wyszukiwanie
					}
				}
			}
		}
		window.HasResettedPageNum = -1; //Reset licznika powtï¿½rzeï¿½ wyszukiwaï¿½ strony 0

		if (typeof(window.pageTmpltr) == "undefined"){	window.pageTmpltr = new SoofTemplater();	pageTmpltr.Init();	}
		pageTmpltr.Load("", 1, extra_listing_html); //Multi-szablon
		var pg_params = new Object(); var url_addons = new Object();

		url_addons["lang"] = json_exdata["gw_settings"]["interface_lang"];
		//alert(url_addons["lang"]);

		pg_params['addurlparams'] = url_addons;												pg_params['records_cnt'] = parseInt(JSONLister.dataObject.NoRecords);
		pg_params['currpage'] = parseInt(ajaxSrchCurrentPage);				pg_params['Act'] = document.getElementById("val_curr_act").value;
		pg_params['script'] = json_exdata["CSTR_INFRAME_SCRIPT"];			pg_params['place_from'] = document.getElementById("plfrom").value;
		pg_params['place_to'] = document.getElementById("plto").value;								pg_params['ctrfrom'] = document.getElementById("cntry_sel1").value;
		pg_params['ctrto'] = document.getElementById("cntry_sel2").value;							pg_params['tbid'] = document.getElementById("trbody_sel").value;
		pg_params['trwg'] = document.getElementById("trweight").value;								pg_params['rec_per_page'] = parseInt(document.getElementById("valinp_recperpage").value);
		pg_params['trsmsgtp'] = document.getElementById("val_curr_trsmsgtp").value;		pg_params['mod_rewr'] = json_exdata["gw_settings"]["url_rewrite_on"];

		var maxpages = pg_params['records_cnt'] / pg_params['rec_per_page'];
		if (pg_params['currpage'] > maxpages) pg_params['currpage'] = maxpages - 1;
		if (pg_params['currpage'] < 0) pg_params['currpage'] = 0;


		var pg_html = get_pageing_html(pg_params);	// Jestes na stronie X. Znaleziono Y wiadomosci
		//alert("OK:" + pg_html); // bart
		if (typeof(window.PGHrefs) != "undefined"){
			if (document.getElementById("dv_seo_prevnext")){
				//document.getElementById("dv_seo_prevnext").getElementsByTagName("A").item(0).href = window.PGHrefs['prev'];
				//document.getElementById("dv_seo_prevnext").getElementsByTagName("A").item(1).href = window.PGHrefs['next'];
				document.getElementById("dv_seo_prevnext").getElementsByTagName("A").item(0).href = "#";
				document.getElementById("dv_seo_prevnext").getElementsByTagName("A").item(1).href = "#";
			}
		}
		if (typeof(window.PGOnclicks) != "undefined"){
			if (document.getElementById("dv_seo_prevnext")){

				//document.getElementById("dv_seo_prevnext").getElementsByTagName("A").item(0).onclick = window.PGOnclicks['prev'];
				//document.getElementById("dv_seo_prevnext").getElementsByTagName("A").item(1).onclick = window.PGOnclicks['next'];
				if (typeof(window.PGEvtFunc['prev']) == "function")
					document.getElementById("dv_seo_prevnext").getElementsByTagName("A").item(0).onclick = window.PGEvtFunc['prev'];
				if (typeof(window.PGEvtFunc['next']) == "function")
					document.getElementById("dv_seo_prevnext").getElementsByTagName("A").item(1).onclick = window.PGEvtFunc['next'];
				//alert(document.getElementById("dv_seo_prevnext").getElementsByTagName("A").item(0).onclick + "=||=" + document.getElementById("dv_seo_prevnext").getElementsByTagName("A").item(1).onclick);

			}
		}
		pageTmpltr.AssignVariable("PAGEING_HTML", pg_html, "PAGEING_HTML");
		pageTmpltr.AssignVariableArray(json_exdata, "HEADER_LIST_TR");
		//alert("json_exdata:" + json_exdata); // bart
		pg_html = pageTmpltr.MultiRawFetch("PAGEING_HTML");
		var hdr_html = pageTmpltr.MultiRawFetch("HEADER_LIST_TR");
		//alert("pg_html:" + pg_html); // bart
		//alert("hdr_html:" + hdr_html); // bart

		//alert(HTML_arr[0]);

		try{
			//document.getElementById("txtst02").value = Ext.encode(pg_params);
		}catch(er){}


		if (HTML_arr[0]){
			window.CurrFullTableHTML = listing_table_start + hdr_html + HTML_arr[0] + pg_html + listing_table_end;
			window.CurrCmpctTableHTML = listing_table_start + hdr_html + HTML_arr[1] + pg_html + listing_table_end;


			if (CurrentListMode == 1){ //Zwiniï¿½ta
				document.getElementById("dv_listing_content").innerHTML = window.CurrCmpctTableHTML;
			}
			else { //Rozwiniï¿½ta
				document.getElementById("dv_listing_content").innerHTML = window.CurrFullTableHTML;
			}

		}else{
			window.CurrCmpctTableHTML = window.CurrFullTableHTML = document.getElementById("dv_listing_content").innerHTML = document.getElementById("no_message_div").innerHTML;
		}

		//Sprawdï¿½ czy zalogowany
		if (typeof(json_exdata["gw_settings"]["logged_accesslevel"]) == "undefined"){
			var loggd_acc = 0;
		}
		else{
			if (!json_exdata["gw_settings"]["logged_accesslevel"]) var loggd_acc = 0;
			else var loggd_acc = parseInt(json_exdata["gw_settings"]["logged_accesslevel"]);
		}

		//Pokaï¿½ informacjï¿½ o tym ï¿½e nie znaleziono 100-procentowych wynikï¿½w

		if (/*loggd_acc == 0 && */(obPanel = document.getElementById("highpanel_presenting_similiar_offrs"))){
			if (!JSONLister.SearchHadFullAccuracy && JSONLister.LastSearchWasGis){
				obPanel.style.display = "block";
				obPanel.style.visibility = "";
			}else{ //Ukryj informacjï¿½
				obPanel.style.display = "none";
				obPanel.style.visibility = "hidden";
			}
		}

		//Bez SEO, bo google nie indeksuje Javascriptu
		//document.getElementById("dv_ins_seo_link").innerHTML = XContent.substring(XContent.search("<seodata>") + 10, XContent.search("</seodata>"));
	}
	else if (mode == "exec"){
		if (document.getElementById("val_curr_act").value == "list_mynotepad"){
			RefreshList();
		}
	}
}




function jsonFinishedFailAction(mode, objAJAX){
	//alert("json_fail2");

	window.RANDOMizer = 0;
	SetAutoRefreshList(35); //Ustaw automatyczne odï¿½wieï¿½anie listy na 40 sekund

	if (mode == "srchlist"){

		AJAXLock = 0; //Wyszukiwanie siï¿½ skoï¿½czyï¿½o, wiï¿½c odblokuj moï¿½liwoï¿½ï¿½ ponownego wyszukiwania
		SubmitLock = 1;
		InitDefaults();

	}
}





function getMatchingLanguages(arLanguages) {
	var arMatchingLanguages = new Array(),
		szMatchingLanguages = "(",
		selectedLanguage = json_exdata['gw_settings']['SzGwDomainLng'],
		szMotherLanguage = json_exdata['gw_settings']['motherLanguage'],
		arKnownLanguages = json_exdata['gw_settings']['knownLanguages'],
		arPreferredLanguages = json_exdata['gw_settings']['preferredLanguages'],
		noMaxLanguages = json_exdata['gw_settings']['maxLanguages'],
		counter = 0;
	
	if(arLanguages.exists(selectedLanguage)) {
		arMatchingLanguages[counter++] = selectedLanguage;
	}
		
	if((szMotherLanguage)&&(szMotherLanguage != selectedLanguage)&&(arLanguages.exists(szMotherLanguage))) {
		arMatchingLanguages[counter++] = szMotherLanguage;
	}
	
	if(counter < noMaxLanguages) {
		for(i=0; i<arPreferredLanguages.length; ++i) {
			if(	!arMatchingLanguages.exists(arPreferredLanguages[i])
				&&(arKnownLanguages.exists(arPreferredLanguages[i]))
				&&(arLanguages.exists(arPreferredLanguages[i]))) {
				arMatchingLanguages[counter++] = arPreferredLanguages[i]; 
			}
		}
	}
	
	if(counter < noMaxLanguages) {
		for(i=0; i<arKnownLanguages.length; ++i) {
			if(	!arMatchingLanguages.exists(arKnownLanguages[i])
				&&(arLanguages.exists(arKnownLanguages[i]))) {
				arMatchingLanguages[counter++] = arKnownLanguages[i]; 
			}
		}
	}
	
	if(counter < noMaxLanguages) {
		for(i=0; i<arPreferredLanguages.length; ++i) {
			if(	!arMatchingLanguages.exists(arPreferredLanguages[i])
				&&(arLanguages.exists(arPreferredLanguages[i]))) {
				arMatchingLanguages[counter++] = arPreferredLanguages[i]; 
			}	
		}
	}
	
	if(counter > 0) {
		for(i=0; i<counter && i<noMaxLanguages; ++i) {
			szMatchingLanguages += arMatchingLanguages[i].toLowerCase() + ",";
		}
		return szMatchingLanguages.substr(0, szMatchingLanguages.length-1) + ")";
	}
	else
		return "";
}









function GieldaWWWLister(){

	//Constructor
	this.Init = function(params){

		//alert("gwlstr_init");

		if (typeof(params["VwType"]) != "undefined"){
			this.ViewType = params["VwType"];
		}

		_this = this;

		this.GieldaWWWSettings = json_exdata["gw_settings"];
		//alert(this.GieldaWWWSettings['mobile_fulldata_key']);
		this.objTemplaterFull = new SoofTemplater();
		this.objTemplaterCompact = new SoofTemplater();
		this.objTemplaterExtra = new SoofTemplater();

		this.objTemplaterFull.Init(); this.objTemplaterCompact.Init(); this.objTemplaterExtra.Init();

		this.mlt_good_contents = new Array();
		this.dataObject = new Array();

		this.objTemplaterFull.Load("", 1, full_view_html); //Multi-szablon
		this.objTemplaterCompact.Load("", 1, compact_view_html); //Multi-szablon
		this.objTemplaterExtra.Load("", 1, listtable_extras); //Multi-szablon

	}


	this.Query = function(IdTransMsgType, PlaceFrom, PlaceTo, MixedCountryFrom, MixedCountryTo, TruckBodyId, TruckWeightInfo, Page, Limit, Command, IdCityFrom, IdCityTo, TrsMsgType, XFrom, YFrom, XTo, YTo, IdPrimaryCountry){

		var xarr = new Object();
		var ctrexpd;

		if (Limit*1 < 1) Limit = 20;
		if (typeof(Page) != "number") Page = parseInt(Page);

		xarr['IdTransMsgType'] = parseInt(IdTransMsgType);
		xarr['limit'] = parseInt(Limit);
		xarr['page'] = parseInt(Page);

		//Zabezpieczenia przed przepeï¿½nianiem i takimi tam innymi wybrykami
		MixedCountryFrom = MixedCountryFrom.substring(0, 100);
		MixedCountryTo = MixedCountryTo.substring(0, 100);
		TruckWeightInfo = TruckWeightInfo.substring(0, 100);

		//Dwa tryby wyszukiwania
		//1. Jeï¿½eli wprowadzimy dokï¿½adne miejsce ï¿½rï¿½dï¿½owe/docelowe
		//2. Jeï¿½eli podamy tylko kraj
		//3. Jeï¿½eli wprowadzimy ID miasta ï¿½rï¿½dï¿½owego/docelowego (TODO: WYï¿½ï¿½CZONE i NIEZROBIONE)

		xarr['NoCountryFromType'] = 0;
		if (IdCityFrom < 1 || true){ //TODO: Jeï¿½eli wyszukiwanie pod ID miasta wï¿½ï¿½czone, wyrzuciï¿½ stï¿½d  "|| true"
			PlaceFrom = PlaceFrom.trim();
			slen = PlaceFrom.length;
			if (slen > 1){
				var reg = new RegExp('[0-9]');
				if(PlaceFrom.match(reg)) {
					xarr['SzCodeFrom'] = PlaceFrom;
				}else
					xarr['SzCityFrom'] = PlaceFrom;
			}

			ctrexpd = MixedCountryFrom.split('-');
			//ctrexpd[1] = sql_safe_text(ctrexpd[1]);
			ctrexpd[1] = ctrexpd[1];

			//echo ctrexpd;
			if (strtoupper(ctrexpd[1]) != 'ALL'){
				if (ctrexpd[1].charAt(0) + ctrexpd[1].charAt(1) != 'XX') {
					xarr['SzCountryShortFrom'] = ctrexpd[1]; xarr['NoCountryIDFrom'] = parseInt(ctrexpd[0]);
				}
				else{
					xarr['NoCountryFromType'] = 1;
					xarr['SzCountryShortFrom'] = substr(ctrexpd[1], 2);
					xarr['NoCountryIDFrom'] = ctrexpd[0] - this.GieldaWWWSettings['outof_separator_num'];
					if (xarr['NoCountryIDFrom'] < 0) xarr['NoCountryIDFrom'] = 0;
				}
			}
		}else{
			//TODO: Wyszukiwanie wdg ID miasta
		}


		xarr['NoCountryToType'] = 0;
		if (IdCityTo < 1 || true){ //TODO: Jeï¿½eli wyszukiwanie pod ID miasta wï¿½ï¿½czone, wyrzuciï¿½ stï¿½d  "|| true"
			PlaceTo = PlaceTo.trim();
			slen = PlaceTo.length;
			if (slen > 1){
				var reg = new RegExp('[0-9]');
				if(PlaceTo.match(reg)) {
					xarr['SzCodeTo'] = PlaceTo;
				}else
					xarr['SzCityTo'] = PlaceTo;
			}

			ctrexpd = MixedCountryTo.split('-');
			//ctrexpd[1] = sql_safe_text(ctrexpd[1]);
			ctrexpd[1] = ctrexpd[1];
			//echo ctrexpd;
			if (strtoupper(ctrexpd[1]) != 'ALL'){
				if (ctrexpd[1].charAt(0) + ctrexpd[1].charAt(1) != 'XX') {
					xarr['SzCountryShortTo'] = ctrexpd[1]; xarr['NoCountryIDTo'] = parseInt(ctrexpd[0]);
				}
				else{
					xarr['NoCountryToType'] = 1;
					xarr['SzCountryShortTo'] = substr(ctrexpd[1], 2);
					xarr['NoCountryIDTo'] = ctrexpd[0] - this.GieldaWWWSettings['outof_separator_num'];
					if (xarr['NoCountryIDTo'] < 0) xarr['NoCountryIDTo'] = 0;
				}
			}
		}else{
			//TODO: Wyszukiwanie wdg ID miasta
		}



		if ((XFrom && YFrom) || (XTo && YTo)){
			this.LastSearchWasGis = true;
			if (XFrom) xarr['XFrom'] = parseInt(XFrom.toString().replace(',', '').replace('.', ''));
			if (YFrom) xarr['YFrom'] = parseInt(YFrom.toString().replace(',', '').replace('.', ''));
			if (XTo) xarr['XTo'] = parseInt(XTo.toString().replace(',', '').replace('.', ''));

			if (YTo) xarr['YTo'] = parseInt(YTo.toString().replace(',', '').replace('.', ''));
		}else{
			this.LastSearchWasGis = false;
		}

		xarr['command'] = parseInt(Command);
		xarr['SzLang'] = this.GieldaWWWSettings['interface_lang'];

		TruckBodyId = parseInt(TruckBodyId);
		if (TruckBodyId > 0) {
			xarr['IdTruckBodies'] = new Array();
			xarr['IdTruckBodies'][0] = TruckBodyId;
		}

		xarr['NoWeightIn'] = 0;

		if (parseInt(TrsMsgType) > 0) xarr['IdTransMsgType'] = parseInt(TrsMsgType);


		//Podano kryterium wagi pojazdu
		if (TruckWeightInfo.indexOf('-') !== -1){
			var exx = TruckWeightInfo.replace(',', '.').split('-');
			xarr['NoWeightOut'] = parseFloat(exx[1]) + 0;
			xarr['NoWeightIn'] = parseFloat(exx[0]) + 0;
		}else{
			//xarr['NoWeightOut'] = 0; //Bez tego Mobile bï¿½dzie szybciej zwracaï¿½ wyniki
			xarr['NoWeightIn'] = 0;
			delete xarr['NoWeightOut'];
		}

		if (xarr['NoWeightOut'] >= 999 && xarr['NoWeightIn'] == 0) delete xarr['NoWeightOut'];

		xarr['IdOffice'] = parseInt(this.GieldaWWWSettings['logged_idoffice']);
		xarr['NoLogin'] = parseInt(this.GieldaWWWSettings['logged_nologin']);
		xarr['IdUser'] = parseInt(this.GieldaWWWSettings['logged_iduser']);
		xarr['NoMarket'] = parseInt(this.GieldaWWWSettings['noMarket']);
		
		if (xarr['NoLogin'] > 0 && xarr['IdOffice']) datatype = 1;
		else datatype = 0;
		xarr['SzActivationPassword'] = this.GieldaWWWSettings['mobile_fulldata_key']; //Wygenerowany wczeï¿½niej klucz mobile'a
		
		
		//xarr['SzActivationKeyUncrypted'] = this.GieldaWWWSettings['mobile_keystring']; //Wygenerowany wczeï¿½niej klucz mobile'a
		xarr['NoShowType'] = 1; //Zwracaj dodatkowe parametry


		//Extra parametry dla statystyk
		if (typeof(json_exdata["gwst_dt"]) != "undefined"){
			var gwst_dt = json_exdata["gwst_dt"];
			xarr['GwStatSzAction'] = gwst_dt['SzAction'];
			xarr['GwStatIdSession'] = gwst_dt['IdSession'];
			xarr['GwStatSessTimeStarted'] = gwst_dt['SessTimeStarted'];
			xarr['GwStatIdPartner'] = gwst_dt['IdPartner'];
			xarr['GwStatIdPartnerFrom'] = gwst_dt['IdPartnerFrom'];
			xarr['GwStatSzLink'] = gwst_dt['SzLink'].substring(0, gwst_dt['SzLink'].indexOf('/',8)); //ucina wszystko po domenie
		}



		//if (PARAM_DEBUG == 1) {echo "<br/><br/>"; var_dump(xarr); } //exit;


		if (IdPrimaryCountry){
			IdPrimaryCountry = parseInt(IdPrimaryCountry);
			if (IdPrimaryCountry > 0) 
				xarr['IdPrimaryCountry'] = parseInt(IdPrimaryCountry);
		}
		else {
			var languages = new Array();
			languages['PL'] = 88;
			languages['EN'] = 123;
			languages['DE'] = 81;
			languages['CZ'] = 22;
			languages['SK'] = 102;
			languages['LT'] = 60;
			languages['RU'] = 95;
			languages['BG'] = 15;
			languages['UA'] = 120;
			languages['FR'] = 36;
			languages['RO'] = 99;
			languages['TR'] = 116;
			languages['ES'] = 43;
			languages['HU'] = 127;
			languages['IT'] = 130;
			languages['NL'] = 46;
			languages['SW'] = languages['SE'] = 113;
			
			xarr['IdPrimaryCountry'] = languages[json_exdata["gw_settings"]['SzGwDomainLng']];
		}

		
		
		// wyszukaj tylko oferty o podobienstwie do kryteriow wyszukiwania w skali, BC.
		xarr['NoStartAccuracy'] = 70;
		xarr['NoEndAccuracy'] = 100;

		//Zapisz ostatnie kryteria wyszukiwania
		this.LastSrchParamsArr = xarr;

		var jsonStr_xarr = Ext.encode(xarr);

		var poststr = "xxx=xxx";

		var FinalURL = "/index.rst?JsonData=" + encodeURI(jsonStr_xarr) + "&JsonData=true";

		ajaxSrchContentPostJSON(FinalURL, poststr);

	}


	this.ProcessJSONData = function(obj2){

		//Zassij z bazy nazwy firm

		var i, cntx = obj2.IdTransMsg.length;

		if (typeof(obj2.SzOfficeName) == "object" && typeof(obj2.IdOffice) == "object"){
			obj2.CompanyData = new Array();

			for (i = 0; i<cntx; i++){
				obj2.CompanyData[obj2.IdOffice[i]] = new Array();
				obj2.CompanyData[obj2.IdOffice[i]]['SzName'] = obj2.SzOfficeName[i];
			}
		}//else obj2.CompanyData = this.get_trsmsg_companydata(obj2.IdOffice);

		for (x = 0; x < cntx; x++){
			if (typeof(obj2.ArDistribMsgInfos[x]) == "undefined"){
				obj2.ArDistribMsgInfos[x] = new Array();
				if (typeof(obj2.ArDistribMsgInfos[x][0]) == "undefined"){
					obj2.ArDistribMsgInfos[x][0] = new Array();
					var arrhlp0 = new Array();
					arrhlp0['IdOffice'] = obj2.IdOffice[x];				arrhlp0['NoLogin'] = obj2.NoLogin[x];
					arrhlp0['SzForename'] = obj2.SzForename[x];		arrhlp0['SzSurname'] = obj2.SzSurname[x];
					obj2.ArDistribMsgInfos[x][0] = arrhlp0;
				}
			}
		}


		//Ustaw rodzaj trafnoï¿½ci i kolor cegieï¿½ek
		if (parseInt(obj2.GisAccuracyType) == 0 || typeof(obj2.GisAccuracyType) == "undefined"){
			if (!this.LastSearchWasGis){ //Zwykï¿½e wyszukiwanie
				obj2.AccuracyDisplayType = 3;
			}else{ //Wyszukiwanie GiS - wybï¿½r typ trafnoï¿½ci
				var XFromPar2 = parseInt(XFromPar),	YFromPar2 = parseInt(YFromPar),	XToPar2 = parseInt(XToPar), YToPar2 = parseInt(YToPar);
				if ((XFromPar2 != 0 && YFromPar2 != 0) && !(XToPar2 != 0 && YToPar2 != 0)) obj2.AccuracyDisplayType = 1; //Trafnoï¿½ï¿½ - tylko ï¿½rï¿½dï¿½o
				else if (!(XFromPar2 != 0 && YFromPar2 != 0) && (XToPar2 != 0 && YToPar2 != 0)) obj2.AccuracyDisplayType = 2; //Trafnoï¿½ï¿½ - tylko cel
				else if (XFromPar2 != 0 && YFromPar2 != 0 && XToPar2 != 0 && YToPar2 != 0) obj2.AccuracyDisplayType = 3; //Trafnoï¿½ï¿½ - obydwa (ï¿½rï¿½dï¿½o i cel)
			}

		} //Jeï¿½eli rodzaj trafnoï¿½ci jest juï¿½ zwrï¿½cony przez zewnï¿½trzny program P.Greckiego, to pomiï¿½ to
		else obj2.AccuracyDisplayType = obj2.GisAccuracyType;

		obj2.ResultType = 'gw_search';		obj2.ResultType2 = 0;

		this.dataObject = obj2;

		return obj2;
	}


	//Generuje gotowy kod HTML z tabelï¿½ wynikï¿½w dla danego szablonu
	this.OutputHTML = function(json_encoded){

		try{
			document.getElementById("txtst02").value = json_encoded;
		}catch(er){}

		eval("var json_data = " + json_encoded + ";");
		json_data = this.ProcessJSONData(json_data);

		this.SearchHadFullAccuracy = false; //Zresetuj informacjï¿½ o tym czy byï¿½y 100-procentowe trafienia w wyszukiwaniu GiS
		switch (json_data.NoResultType) {
			// jesli 1 to w wynikach oferty przyblizone tylko
			case 1:
				//alert('oferty przyblizone');
				this.SearchHadFullAccuracy = false;
				break;
			default:
				//alert('oferty dokladne');
				this.SearchHadFullAccuracy = true;
				break;
		}

		var objTemp = this.objTemplaterExtra;

		var dtObj = new Date();
		var curr_timestamp = dtObj.getTime() / 1000;

		var outhtml = '', outhtml_cpt = '';
		var TheMessage, i, xfreefrom_date, xfreeto_date, msg_type_desc, main_partname, show_det_display, freefrom_text, freeto_text, freefrom_text_cpt, freeto_text_cpt;
		var ctrFrom, ctrTo, city_from, city_to, country_flag_from_html, country_flag_to_html, postcode_from, postcode_to, vehicle_type, vehicle_weight, dtf;
		var mz, xpostedfrom_date, xpostedto_date, xpostedfrom_time, xpostedto_time, ctime, acc_percentage, sprogbar_type, progbar_img, full_acc_html, time_left;
		var isfinished_html, hr, hr3600, isfinished_html_full, vehlen_html, add_status, notebook_text, notebook_link_url, notebook_act_ajax, notebook_switch, notebook_text2, notebook_link_url2, notebook_act_ajax2, notebook_switch2, nbook_stl1, nbook_stl2;
		var HTML_A_Target, show_details_link_url, cptrsmsg_link_url, deltrsmsg_link_url, nbk_text, nbk_link_url, nbk_act_ajax, nbk_text2, nbk_link_url2, nbk_act_ajax2, cpt_showdet_txt, msg_notepad_data, company_view_link, company_name, HTML_TrTalkIcon, prtname1, len_aft, len_prev, contact_info, person_talk_link, person_talk_link_trgt, person_talk_onclick, smcont_info_part, html1_SaveToNotepad, country_name_from, country_name_to, NoUserData, SzSurname, SzForename, person_info_link, key2, bzyx, show_details_onclick, company_view_onclick;

		if (json_data.IdTransMsgType.length < 1){//Bez rekordow
			if (this.ViewType == 1)return false;
			else if (this.ViewType == 2)return false;
			else if (this.ViewType == 3) {
				var retx = new Array(false, false);
				return retx;
			}
		}

		//2 - pojazd, 1 - ladunek, 3 - ogï¿½lne
		for (i = 0; i<json_data.IdTransMsgType.length; i++){


			tblvars = new Array();

			if (typeof(json_data.DtLoading) == "object") xfreefrom_date = date('d.m.y', json_data.DtLoading[i]);
			if (typeof(json_data.DtUnloading) == "object") xfreeto_date = date('d.m.y', json_data.DtUnloading[i]);

			switch (parseInt(json_data.IdTransMsgType[i])){

				case 2:

					//msg_type_desc = '('+json_data.IdTransMsg[i]+') '+json_exdata["CSTR_FREE_VEHICLE"];
					msg_type_desc = json_exdata["CSTR_FREE_VEHICLE"];
					main_partname = "VEH_MSG";

					show_det_display = "block";

					freefrom_text = json_exdata["CSTR_FREE_FROM"] + ' ' + xfreefrom_date;
					freeto_text = json_exdata["CSTR_FREE_TO"] + ' ' + xfreeto_date;

					freefrom_text_cpt = json_exdata["CTPL_NEWS_LOAD_CAR_SHORT"] + ' ' + xfreefrom_date;
					freeto_text_cpt = json_exdata["CTPL_NEWS_UNLOAD_CAR_SHORT"] + ' ' + xfreeto_date;

				break;

				case 1:

					//msg_type_desc = '('+json_data.IdTransMsg[i]+') '+json_exdata["CSTR_FREE_CARGO"];
					msg_type_desc = json_exdata["CSTR_FREE_CARGO"];
					main_partname = "CARGO_MSG";

					show_det_display = "block";

					freefrom_text = json_exdata["CSTR_LOADING"] + ': ' + xfreefrom_date;
					freeto_text = json_exdata["CSTR_UNLOADING"] + ': ' + xfreeto_date;

					freefrom_text_cpt = json_exdata["CTPL_NEWS_LOAD_CARGO_SHORT"] + ' ' + xfreefrom_date;
					freeto_text_cpt = json_exdata["CTPL_NEWS_UNLOAD_CARGO_SHORT"] + ' ' + xfreeto_date;
				break;

				case 3:

					//msg_type_desc = '('+json_data.IdTransMsg[i]+') '+json_exdata["CSTR_GENERAL_MSG"];
					msg_type_desc = json_exdata["CSTR_GENERAL_MSG"];
					main_partname = "GENERAL_MSG";  

					show_det_display = "none";
				break;
			}

			//alert(json_data.IdTransMsgType[i]);

			if (this.GieldaWWWSettings['logged_accesslevel'] >= 8){
				//Jeï¿½eli ciï¿½g ma odpowiedniï¿½ dï¿½ugoï¿½ï¿½, to jest "podejrzany" o to ï¿½e moï¿½e nie ï¿½amaï¿½ linii, wiï¿½c uzyj na nim automatycznego ï¿½amacza linii - na wszelki wypadek
				//var TheMessage = stripslashes(json_data.SzMessage[i]);
				TheMessage = str_replace("\n", "<br/>\n", json_data.SzMessage[i]);
				//TheMessage = stripslashes(str_replace("\n", "<br/>\n", html_cnv_goodhtml(TextCut(json_data.SzMessage[i], this.GieldaWWWSettings['max_len_tblSzMsg']))));
				//TheMessage = stripslashes(json_data.SzMessage[i]);
			}else{
				TheMessage = "";
			}

			//TODO: RATING : NIE SKOï¿½CZONE BO JESZCZE W OGï¿½LE NIE JEST NIGDZIE ZROBIONE !!!!
			//user_rating = json_data.UserRatingsData[json_data.IdUserCreate[i]];

			//Teraz zrï¿½b to samo z nazwami miast
			//if (strlen(json_data.SzCityFrom[i]) >= this.GieldaWWWSettings['min_len_tblPlace_brk']) //Miasto ï¿½rï¿½dï¿½owe
			//city_from = this.objPlaceBreaker.CompactTextStream(json_data.SzCityFrom[i]);
			city_from = json_data.SzCityFrom[i];
			//else city_from = json_data.SzCityFrom[i];

			//city_from = TextCut(city_from, this.GieldaWWWSettings['max_len_tblSzMsg']);

			//if (strlen(json_data.SzCityTo[i]) >= this.GieldaWWWSettings['min_len_tblPlace_brk']) //Miasto docelowe
			//city_to = this.objPlaceBreaker.CompactTextStream(json_data.SzCityTo[i]);
			city_to = json_data.SzCityTo[i];
			//else city_to = json_data.SzCityTo[i];

			//city_to = TextCut(city_to, this.GieldaWWWSettings['max_len_tblSzMsg']);

			ctrFrom = json_data.SzCountryShortFrom[i];
			if (ctrFrom.length > 0) {
				if (ctrFrom != 'ALL') country_flag_from_html = '<img src="'+ gfx_url +'gfx/flags/flag' +strtoupper(ctrFrom)+ '.gif">';
				else country_flag_from_html = '';
			}else country_flag_from_html = '';

			ctrTo = json_data.SzCountryShortTo[i];
			if (ctrTo.length > 0) {
				if (ctrTo != 'ALL') country_flag_to_html = '<img src="'+ gfx_url +'gfx/flags/flag' +strtoupper(ctrTo)+ '.gif">';
				else country_flag_to_html = '';
			}else country_flag_to_html = '';

			country_name_from = this.GieldaWWWSettings['CountryArr'][strtoupper(json_data.SzCountryShortFrom[i])]['name'];
			country_name_to = this.GieldaWWWSettings['CountryArr'][strtoupper(json_data.SzCountryShortTo[i])]['name'];

			postcode_from = json_data.SzCodeFrom[i];
			postcode_to = json_data.SzCodeTo[i];

			if (typeof(json_data.SzBodyName[i]) == "string") vehicle_type = ucfirst(json_data.SzBodyName[i]);
			else vehicle_type = "";

			promoClass = "";
			promoMsg = "";
			if(json_data.NoPromote[i] == 1)
			{
				promoClass = "promo";
				promoMsg = json_exdata["CSTR_PROMOTEDOFFER"];
			}
			
			priceClass = "";
			priceMsg = "";
			//json_data.NoPrice[i] = 15.000002;
			if (undefined !== json_data.NoPrice[i] && json_data.NoPrice[i] > 0)
			{
				priceValue = json_data.NoPrice[i] + 0.005 + '';
				//if (i == 2) alert('1: ' + priceValue);
				var posKropka = priceValue.indexOf('.');
				//if (i == 2) alert('2: ' + posKropka);
				if (posKropka !== false && priceValue.length - 1 > posKropka + 2)
					priceValue = priceValue.substr(0, posKropka + 1 + 2);
				//if (i == 2) alert('3: ' + priceValue);					
				// zamiast 13.00 wyswietlaj 13,
				// ale gdy jest 13.30 to tak zostaw
				if (priceValue.indexOf('.00') !== -1)
					priceValue = parseFloat(priceValue) + '';
				//if (i == 2) alert('4: ' + priceValue);
					
				priceClass = "price";
				priceMsg = "<span class='gieldaPriceSpan'>";
				// cena za fracht
				if (json_data.IdTransMsgType[i] == '1')
					priceMsg += json_exdata["CSTR_PRICE_NEWSTYPE_1"] + '<span class=\"gieldaPriceValue\"> ' + priceValue + '&nbsp;' + json_data.SzCurrency[i] + '</span>';
				// stawka za 1 km
				if (json_data.IdTransMsgType[i] == '2')
					priceMsg += json_exdata["CSTR_PRICE_NEWSTYPE_2"] + '<span class=\"gieldaPriceValue\"> ' + priceValue + '&nbsp;' + json_data.SzCurrency[i] + '</span>';
				priceMsg += "</span>";					
					
			}	
			
			// poziom dostepu
			var poziomDostepu = (this.GieldaWWWSettings['logged_accesslevel'] == false) ? 0 : parseInt(this.GieldaWWWSettings['logged_accesslevel']);
			//alert('Poziom dostepu: ' + poziomDostepu);			
			
			// zmienne niezalezne od statusu firmy, stale dla danego typu wiadomosci
			switch (parseInt(json_data.IdTransMsgType[i]))
			{
				// platnik, ladunek
				case 1:
					var linkHelper = json_exdata['LINK_HELPER_MSG1'];
					var linkHelperParams = "'Pomoc', 620, 580";
					var ocenyLabel = 'NEWS_RATING1';
					break;
				// przewoznik, pojazd
				case 2:
					var linkHelper = json_exdata['LINK_HELPER_MSG2'];
					var linkHelperParams = "'Pomoc', 620, 580";
					var ocenyLabel = 'NEWS_RATING2';
					break;
			}
			
			
/* START LATY BLEDOW MOBILE */			
			if (undefined === json_data.Rate || undefined === json_data.Rate[i] || is_array(json_data.Rate[i]) == false)
				showRating2 = false;	// nie pokazujemy ratingu bo albo dziala stary mobile albo user nie ma wystarczajacych praw wg mobile
			else
				showRating2 = true;
				
			//alert('showRating2: ' + showRating2);
				
			//if (undefined === json_data.Rate[i])
			//	json_data.Rate[i] = [ 1, 1, 1, 55, 6, 8, 8, 2, 34, 5, 3, 9, 3, 0 ];
				
			// czy firma z innej gieldy
			// jesli Rate[i][13] = 0 to firma Trans, jesli != 0 to firma importowana
			if (undefined === json_data.IsFromTrans)
				json_data.IsFromTrans = new Array();
			if (undefined === json_data.IsFromTrans[i]) {
				//json_data.IsFromTrans[i] = (json_data.Rate[i][13] == '0') ? '1' : '0';
				json_data.IsFromTrans[i] = (json_data.TransRisk[i] == 'LbRating_CompanyFromOtherMarket') ? '0' : '1';
			}
				
			// jesli wartosc pola czy certyfikat Rzetelny Przewoznik jest poza zakresem
			// *** Pawel powinien poprawic mobile zeby zwracal prawidlowe wartosci
			// wtedy ten if -> do skasowania
			//if (json_data.Rate[i][2] != '1' && json_data.Rate[i][2] != '0')
			//	json_data.Rate[i][2] = '1';
/* KONIEC LATY BLEDOW MOBILE */				
								

if (showRating2 == false) {
	transRisk = "";
	certyfikat = "";
	oceny = "";
} else {
/* START TRANSRISK */					
			// transrisk dla ofert LADUNEK
			transRisk = "";
			if (json_data.IdTransMsgType[i] == '1')
			{
				var templateTransRiskDiv = false;		// zmienna ktorego szablonu uzyc dla diva
				
				// dla niezalogowanych i wszystkich bez pakietu BF
				if (poziomDostepu < 11)
				{
					var linkTransRiskStyle = "text-decoration: underline";
					var linkTransRiskLabel = 'LbSafeCompany_CheckRisk';
					/*
					var linkTransRiskHref = "./?Act=show_ratingHelpMsgType1";
					var linkTransRiskHrefParams = "'Pomoc', 620, 560";					
					*/
					var linkTransRiskHref = "./?Act=show_ratingAboutBF";
					var linkTransRiskHrefParams = "'Pomoc'";
					templateTransRiskDiv = 2;
				// dla zalogowanych z pakietem BF				
				} else {
					// dla firm z innych gield
					// zmien status na 'niezweryfikowana' i nie linkuj w szablonie
					if (json_data.IsFromTrans[i] == '0') {
						var linkTransRiskLabel = 'LbOfficeStatus_0';
						templateTransRiskDiv = 1;
					// dla normalnych firm
					} else {
						var linkTransRiskStyle = "text-decoration: none";
						var linkTransRiskLabel = 'LbOfficeStatus_' + parseInt(json_data.Rate[i][1]);
						var linkTransRiskHref = 'tokenized_redirect.rst?type=km&amp;Act=show_doc_html_company_sec&amp;noTuck=4&amp;adx_pg_title=' + encodeURI(json_exdata["CTPL_BtInfoCompany"]) + '&adx_SelectedNoLogin=&adx_SelectedIdOffice=' + json_data.IdOffice[i];
						var linkTransRiskHrefParams = "'', 800, 600";
						templateTransRiskDiv = 2;
					}
				}
				linkTransRiskLabel = json_exdata[linkTransRiskLabel];				
				
				switch (parseInt(templateTransRiskDiv)) {
					// szablon firmy z innej gieldy (bez linkow)
					case 1:
						transRisk = "\n\
							<div class=\"rst_default01\" style=\"position: relative; margin-top: 15px; color: #044175; white-space: normal; font-weight: normal\">\n\
								<span style=\"color: #87867E\">TransRisk:</span> <span style=\"color: #FF4E00; "+ linkTransRiskStyle +"\">" + linkTransRiskLabel + "</span>\n\
						 	</div>\n\
						 	";
						break;
					// domyslny szablon
					case 2:
						transRisk = "\n\
							<div class=\"rst_default01\" style=\"position: relative; margin-top: 15px; color: #044175; white-space: normal; font-weight: normal\">\n\
								<a href=\"JavaScript:void(null)\" onclick=\"pox_window_ext('" + linkTransRiskHref + "', " + linkTransRiskHrefParams + ");\" style=\"text-decoration: none;\">\n\
								<span style=\"color: #87867E\">TransRisk:</span> <span style=\"color: #FF4E00; "+ linkTransRiskStyle +"\">" + linkTransRiskLabel + "</span>\n\
								</a>\n\
					 		</div>\n\
						 	";					
						break;
				}
			} // end if (json_data.IdTransMsgType[i] == 1)
/* KONIEC TRANSRISK */
			
			
/* START CERTYFIKAT */
			// certyfikat dla ofert PRZEWOZNIK
			certyfikat = "";
			if (json_data.IdTransMsgType[i] == '2')	
			{
				// dla zalogowanych z pakietem BF
				if (poziomDostepu >= 11)
				{
					// jesli firma zglaszajaca ma przyznany certyfikat
					if (json_data.Rate[i][2] == '1')
					{	
						var linkCertyfikatStyle = "text-decoration: none";
						var linkCertyfikatLabel = json_exdata['LbRating_ReliableCarrier'];
						var linkCertyfikatHref = 'tokenized_redirect.rst?type=km&amp;Act=show_doc_html_company_sec&amp;noTuck=4&amp;adx_pg_title=' + encodeURI(json_exdata["CTPL_BtInfoCompany"]) + '&adx_SelectedNoLogin=&adx_SelectedIdOffice=' + json_data.IdOffice[i];
						var linkCertyfikatHrefParams = "'', 800, 600";
						
						// domyslny szablon
						certyfikat = "\n\
							<div class=\"rst_default01\" style=\"position: relative; margin-top: 15px; color: #044175; white-space: normal; font-weight: normal\">\n\
								<a href=\"JavaScript:void(null)\" onclick=\"pox_window_ext('" + linkCertyfikatHref + "', " + linkCertyfikatHrefParams + ");\" style=\"text-decoration: none;\">\n\
								<span style=\"color: #87867E\">" + json_exdata['NEWS_TRANSRISK2'] + "</span> <span style=\"color: #87867E; "+ linkCertyfikatStyle +"\">" + linkCertyfikatLabel + "</span>\n\
								</a>\n\
					 		</div>\n\
						 	";											
					}					
				}				
			} // end if (json_data.IdTransMsgType[i] == 2)
/* KONIEC CERTYFIKAT */				
			
/* START OCENY */				
			// ocena platnika lub przewoznika dla ofert WSZYSTKICH
			oceny = "";
			// dla niezalogowanych i wszystkich bez pakietu BF
			if (poziomDostepu < 11)
			{				
				var linkOcenyLabel = json_exdata['LbRating_ShowCompanyRates'];
				var linkOcenyStyle = "text-decoration: underline";						
				//var linkRatingHref = "./?Act=show_ratingAlert";		// zmiana Mariusz
				//var linkRatingHrefParams = "'', 400, 225";		// zmiana Mariusz
				var linkOcenyHref = "./?Act=show_ratingAboutBF";
				var linkOcenyHrefParams = "'Pomoc'";						
				templateOcenyDiv = 1;
				
			// dla zalogowanych z pakietem BF				
			} else {
				// dla firm z innych gield
				// nie pokazuj ocen tylko label "firma z innej gieldy" i nie podlinkowuj
				if (json_data.IsFromTrans[i] == '0') {
					var linkOcenyLabel = json_exdata[json_data.Rate[i]];
					var linkOcenyStyle = "text-decoration: none";
					templateOcenyDiv = 2;
					
				// dla normalnych firm
				} else {
				    //alert('typ: ' + typeof json_data.IdTransMsgType[i]);
					switch (parseInt(json_data.IdTransMsgType[i]))
					{
						// dla ofert Ladunek
						case 1:
							var noPercent = json_data.Rate[i][8];			// procentowa ocena
							var noPosRates = json_data.Rate[i][9];		// ilosc pozytywnych
							var noNeuRates = json_data.Rate[i][10];		// ilosc neutralnych
							var noNegRates = json_data.Rate[i][11];		// ilosc negatywnych
							var noTendency = json_data.Rate[i][12];		// tendencja							
							break;
						// dla ofert Przewoznik
						case 2:
							var noPercent = json_data.Rate[i][3];			// procentowa ocena
							var noPosRates = json_data.Rate[i][4];		// ilosc pozytywnych
							var noNeuRates = json_data.Rate[i][5];		// ilosc neutralnych
							var noNegRates = json_data.Rate[i][6];		// ilosc negatywnych
							var noTendency = json_data.Rate[i][7];		// tendencja						
							break;
					} // end switch	
					//if (i == 1) {	alert('noPercent: ' + noPercent + ', noPosRates: ' + noPosRates + ', noNeuRates: ' + noNeuRates + ', noNegRates: ' + noNegRates + ', noTendency: '+ noTendency);	}

					
					// jesli brak ocen nie pokazuj ich tylko labela
					if (noPosRates == 0 && noNeuRates == 0 && noNegRates == 0)
					{
						var linkOcenyLabel = json_exdata['LbRating_NoRates'];
						var linkOcenyHref = 'tokenized_redirect.rst?type=km&amp;Act=show_doc_html_company_sec&amp;noTuck=4&amp;adx_pg_title=' + encodeURI(json_exdata["CTPL_BtInfoCompany"]) + '&adx_SelectedNoLogin=&adx_SelectedIdOffice=' + json_data.IdOffice[i];
						var linkOcenyStyle = "text-decoration: none";
						var linkOcenyHrefParams = "'', 800, 600";
						templateOcenyDiv = 2;
					// jesli sa oceny to je pokaz						
					} else {				
						var imgSrc = '';
						var imgTendency = '';
						switch (noTendency) {
							case '-2':
								imgSrc = 'icoTendArrRedDown_s.gif';
								break;
							case '-1':
								imgSrc = 'icoTendArrRedSlantDown_s.gif';
								break;
							case '1':
								imgSrc = 'icoTendArrGreenSlantUp_s.gif';
								break;
							case '2':
								imgSrc = 'icoTendArrGreenUp_s.gif';
								break;
						}
						if (imgSrc != '')
							imgTendency = "<img src=\"http://static.rst.com.pl/gfx/zend/" + imgSrc + "\" style=\"border: none\">";
						
						var linkOcenyHref = 'tokenized_redirect.rst?type=km&amp;Act=show_doc_html_company_sec&amp;noTuck=4&amp;adx_pg_title=' + encodeURI(json_exdata["CTPL_BtInfoCompany"]) + '&adx_SelectedNoLogin=&adx_SelectedIdOffice=' + json_data.IdOffice[i];
						templateOcenyDiv = 3;					
					}
				}
			} // end if (poziomDostepu < 11)
			//alert('templateOcenyDiv: ' + templateOcenyDiv);
			switch (parseInt(templateOcenyDiv))
			{
				case 1:
					oceny = "\n\
						<div class=\"rst_default01\" style=\"position: relative; margin-bottom: 3px; white-space: normal; font-weight: normal\">\n\
							<a href=\"JavaScript:void(null)\" onclick=\"pox_window_ext('" + linkOcenyHref + "', " + linkOcenyHrefParams + ");\" style=\"text-decoration: none;\">\n\
							<span style=\"color: #87867E\">" + json_exdata[ocenyLabel] + "</span> <span style=\"color: #FF4E00; "+ linkOcenyStyle +"\">" + linkOcenyLabel + "</span>\n\
							</a>\n\
							<div style='position: absolute; top: 1px; right: 1px;'><a href=\"" + linkHelper + "\" onclick=\"return pox_window_ext('" + linkHelper + "', " + linkHelperParams + ");\"><img src=\"http://static.rst.com.pl/gfx/zend/icoQuestion_s.gif\" style=\"height: 14px; width: 14px; vertical-align: middle; border: none; margin: 0px; padding: 0\"></a></div>\n\
						</div>\n\
						";						
					break;
				case 2:
					oceny = "\n\
						<div class=\"rst_default01\" style=\"position: relative; margin-bottom: 3px; white-space: normal; font-weight: normal\">\n\
							<span style=\"color: #87867E\">" + json_exdata[ocenyLabel] + "</span> <span style=\"color: #FF4E00; "+ linkOcenyStyle +"\">" + linkOcenyLabel + "</span>\n\
						</div>\n\
						";						
					break;
				case 3:
					oceny = "\n\
						<div class=\"rst_default01\" style=\"position: relative; margin-bottom: 3px; white-space: nowrap; font-weight: normal\">\n\
							<a onclick=\"return pox_window_8x6('"+ linkOcenyHref + "');\" href=\"" + linkOcenyHref + "\" style=\"text-decoration: none;\">\n\
							<span style=\"color: #87867E\">" + json_exdata[ocenyLabel] + "</span> <span style=\"color: #044175\">" + noPercent + "%</span> " + imgTendency + " <span style=\"color: #044175\">(</span><span style=\"color: #007600\">" + noPosRates + "</span><span style=\"color: #044175\">/</span><span style=\"color: #87867E\">" + noNeuRates + "</span><span style=\"color: #044175\">/</span><span style=\"color: #E50303\">" + noNegRates + "</span><span style=\"color: #044175\">)</span>\n\
							</a>\n\
							<div style='position: absolute; top: 1px; right: 1px;'><a href=\"" + linkHelper + "\" onclick=\"return pox_window_ext('" + linkHelper + "', " + linkHelperParams + ");\"><img src=\"http://static.rst.com.pl/gfx/zend/icoQuestion_s.gif\" style=\"height: 14px; width: 14px; vertical-align: middle; border: none; margin: 0; padding: 0\"></a></div>\n\
						</div>\n\
						";
					break;
			} // end switch (templateOcenyDiv)
/* KONIEC OCENY */
}
	
			// zeby nie macic w szablonach JS
			// i tak oferta zawsze zawiera tylko conajwyzej 2 linie:
			// (transrisk + ocena platnika) lub (certyfikat + ocena przewoznika) lub (ocena przewoznika)  
			if (transRisk == "" && certyfikat != "")
				transRisk = certyfikat;
			
			// zeby zajac miejsce na stronie
			if (transRisk == "")
				transRisk = "<div style='height: 28px'></div>";
				
							
			//oceny = "";
			/*
			//json_data.Rate = new Array(); // debug
			//json_data.Rate[i] = "97/0/56/12/234"; // debug
			//json_data.Rate[i] = "LbRating_CompanyFromOtherMarket"; // debug
			if(undefined !== json_data.Rate[i]  && json_data.Rate[i] != "")
			{
				var ocenyTemplate = false;						// zmienna ktorego szablonu uzyc dla diva
				var tabOceny = json_data.Rate[i].split('/');
				
				// nie bedzie wyswietlanych ocen, bo podeslano label
				if (tabOceny.length == 1 && (json_data.Rate[i] == "LbRating_NoCargo" || json_data.Rate[i] == "LbRating_ShowCompanyRates" || json_data.Rate[i] == "LbRating_NoRates" || json_data.Rate[i] == "LbRating_CompanyFromOtherMarket"))
				{
					if (json_data.Rate[i] == "LbRating_CompanyFromOtherMarket")	{
						ocenyTemplate = 1;
						var linkRatingLabel = json_exdata[json_data.Rate[i]];
						var linkRatingStyle = "text-decoration: none";
						
					} else if (json_data.Rate[i] == "LbRating_NoCargo" || json_data.Rate[i] == "LbRating_NoRates") {
						ocenyTemplate = 2;
						var linkRatingLabel = json_exdata[json_data.Rate[i]];
						var linkRatingHref = 'tokenized_redirect.rst?type=km&amp;Act=show_doc_html_company_sec&amp;noTuck=4&amp;adx_pg_title=' + encodeURI(json_exdata["CTPL_BtInfoCompany"]) + '&adx_SelectedNoLogin=&adx_SelectedIdOffice=' + json_data.IdOffice[i];
						var linkRatingStyle = "text-decoration: none";
						var linkRatingHrefParams = "'', 800, 600";
						
					} else if (json_data.Rate[i] == "LbRating_ShowCompanyRates") {
						ocenyTemplate = 2;
						var linkRatingLabel = json_exdata[json_data.Rate[i]];
						var linkRatingStyle = "text-decoration: underline";						
						//var linkRatingHref = "./?Act=show_ratingAlert";		// zmiana Mariusz
						//var linkRatingHrefParams = "'', 400, 225";		// zmiana Mariusz
						var linkRatingHref = "./?Act=show_ratingHelp";
						var linkRatingHrefParams = "'Pomoc', 620, 590";
					}
					
					switch (ocenyTemplate) {
						// szablon firmy z innej gieldy (bez linkow)
						case 1:	
							oceny = "\n\
								<div class=\"rst_default01\" style=\"margin-bottom: 3px; white-space: normal; font-weight: normal\">\n\
									<span style=\"color: #87867E\">" + json_exdata["NEWS_RATING"] + "</span> <span style=\"color: #FF4E00; "+ linkRatingStyle +"\">" + linkRatingLabel + "</span>\n\
								</div>\n\
								";						
							break;
						case 2:
							oceny = "\n\
								<div class=\"rst_default01\" style=\"margin-bottom: 3px; white-space: normal; font-weight: normal\">\n\
									<a href=\"JavaScript:void(null)\" onclick=\"pox_window_ext('" + linkRatingHref + "', " + linkRatingHrefParams + ");\" style=\"text-decoration: none;\">\n\
									<span style=\"color: #87867E\">" + json_exdata["NEWS_RATING"] + "</span> <span style=\"color: #FF4E00; "+ linkRatingStyle +"\">" + linkRatingLabel + "</span>\n\
									</a>\n\
									<a href=\"./?Act=show_ratingHelp\" onclick=\"return pox_window_ext('./?Act=show_ratingHelp', 'Pomoc', 620, 590);\"><img src=\"http://static.rst.com.pl/gfx/zend/icoQuestion_s.gif\" style=\"height: 14px; width: 14px; vertical-align: middle; border: none; margin: 0px 5px; padding: 0\"></a>\n\
								</div>\n\
								";
							break;
					}					
				
				// beda pokazywane oceny, bo podeslano oceny
				} else {
				
					var imgSrc = '';
					var imgTendency = '';
					switch (tabOceny[1]) {
						case '-2':
							imgSrc = 'icoTendArrRedDown_s.gif';
							break;
						case '-1':
							imgSrc = 'icoTendArrRedSlantDown_s.gif';
							break;
						case '1':
							imgSrc = 'icoTendArrGreenSlantUp_s.gif';
							break;
						case '2':
							imgSrc = 'icoTendArrGreenUp_s.gif';
							break;
					}
					if (imgSrc != '')
						imgTendency = "<img src=\"http://static.rst.com.pl/gfx/zend/" + imgSrc + "\" style=\"border: none\">";
					
					var linkRatingHref = 'tokenized_redirect.rst?type=km&amp;Act=show_doc_html_company_sec&amp;noTuck=4&amp;adx_pg_title=' + encodeURI(json_exdata["CTPL_BtInfoCompany"]) + '&adx_SelectedNoLogin=&adx_SelectedIdOffice=' + json_data.IdOffice[i];
				
					oceny = "\n\
							<div class=\"rst_default01\" style=\"margin-bottom: 3px; white-space: nowrap; font-weight: normal\">\n\
								<a onclick=\"return pox_window_8x6('"+ linkRatingHref + "');\" href=\"" + linkRatingHref + "\" style=\"text-decoration: none;\">\n\
								<span style=\"color: #87867E\">" + json_exdata["NEWS_RATING"] + "</span> <span style=\"color: #044175\">" + tabOceny[0] + "%</span> " + imgTendency + " <span style=\"color: #044175\">(</span><span style=\"color: #007600\">" + tabOceny[2] + "</span><span style=\"color: #044175\">/</span><span style=\"color: #87867E\">" + tabOceny[3] + "</span><span style=\"color: #044175\">/</span><span style=\"color: #E50303\">" + tabOceny[4] + "</span><span style=\"color: #044175\">)</span>\n\
								</a>\n\
								<a href=\"./?Act=show_ratingHelp\" onclick=\"return pox_window_ext('./?Act=show_ratingHelp', 'Pomoc', 620, 590);\"><img src=\"http://static.rst.com.pl/gfx/zend/icoQuestion_s.gif\" style=\"height: 14px; width: 14px; vertical-align: middle; border: none; margin: 0px 5px; padding: 0\"></a>\n\
							</div>\n\
							";
				}
			}
			*/			
			

			/* stare
			transRisk = "";
			//json_data.TransRisk = new Array();  // debug 
			//json_data.TransRisk[i] = "LbRating_CompanyFromOtherMarket";	// debug 
			if(undefined !== json_data.TransRisk[i] && json_data.TransRisk[i] != "")
			{
				var transRiskTemplate = false;		// zmienna ktorego szablonu uzyc dla diva
				
				// firma z innej gieldy
				if (json_data.TransRisk[i] == 'LbRating_CompanyFromOtherMarket') {
					transRiskTemplate = 1;
					json_data.TransRisk[i] = 'LbOfficeStatus_0';	// zmien na niezweryfikowana i nie linkuj w szablonie
				}
				// nie wykupiony pakiet BF
				else if (json_data.TransRisk[i] == 'LbSafeCompany_CheckRisk') {
					var linkTransRiskStyle = "text-decoration: underline";
					//var linkTransRiskHref = "./?Act=show_ratingAlert";		// zmiana Mariusz
					//var linkTransRiskHrefParams = "'', 400, 225";			// zmiana Mariusz
					var linkTransRiskHref = "./?Act=show_ratingHelp";
					var linkTransRiskHrefParams = "'Pomoc', 620, 590";					
					transRiskTemplate = 2;
										
				// wykupiony pakiet BF - wiec pokazuj rating lub "brak ocen" przy firmach niezweryfikowanych
				} else {
					var linkTransRiskStyle = "text-decoration: none";
					var linkTransRiskHref = 'tokenized_redirect.rst?type=km&amp;Act=show_doc_html_company_sec&amp;noTuck=4&amp;adx_pg_title=' + encodeURI(json_exdata["CTPL_BtInfoCompany"]) + '&adx_SelectedNoLogin=&adx_SelectedIdOffice=' + json_data.IdOffice[i];
					var linkTransRiskHrefParams = "'', 800, 600";
					transRiskTemplate = 2;
				}
				var linkTransRiskLabel = json_exdata[json_data.TransRisk[i]];
					
				switch (transRiskTemplate) {
					// szablon firmy z innej gieldy (bez linkow)
					case 1:
						transRisk = "\n\
							 <div class=\"rst_default01\" style=\"margin-top: 15px; color: #044175; white-space: normal; font-weight: normal\">\n\
								<span style=\"color: #87867E\">TransRisk:</span> <span style=\"color: #FF4E00; "+ linkTransRiskStyle +"\">" + linkTransRiskLabel + "</span>\n\
						 	</div>\n\
							 	";
						break;
					// domyslny szablon
					case 2:
						transRisk = "\n\
							 <div class=\"rst_default01\" style=\"margin-top: 15px; color: #044175; white-space: normal; font-weight: normal\">\n\
								<a href=\"JavaScript:void(null)\" onclick=\"pox_window_ext('" + linkTransRiskHref + "', " + linkTransRiskHrefParams + ");\" style=\"text-decoration: none;\">\n\
								<span style=\"color: #87867E\">TransRisk:</span> <span style=\"color: #FF4E00; "+ linkTransRiskStyle +"\">" + linkTransRiskLabel + "</span>\n\
								</a>\n\
						 	</div>\n\
							 	";					
						break;
				}
			}
			*/		
			

			
			vehicle_weight = json_data.NoWeight[i] + json_exdata["CSTR_TONNES_SHRT"];

			dtf = json_data.DtFinish[i];
			xpostedfrom_date = date('d.m.y', json_data.DtCreate[i]);
			xpostedto_date = date('d.m.y', dtf);

			xpostedfrom_time = json_exdata["CSTR_HOUR_SHRT"]+'&nbsp;'+date('H:i', json_data.DtCreate[i]);
			xpostedto_time = json_exdata["CSTR_HOUR_SHRT"]+'&nbsp;'+date('H:i', json_data.DtFinish[i]);

			ctime = curr_timestamp;

			acc_percentage = progbar_img = '';

			switch (json_data.AccuracyDisplayType){
				case 2: sprogbar_type = 'red'; break;
				case 3: sprogbar_type = 'blue'; break;
				case 1: sprogbar_type = 'green'; break;
				case 0: sprogbar_type = ""; break;
				default: sprogbar_type = "";
			}


			mz = '';
			if (sprogbar_type != "" && typeof(json_data.GisAccuracy) == "object"){ //Bez cegieï¿½ek jak nie ma trafnoï¿½ci
				if (json_data.GisAccuracy[i] > 0){
					acc_percentage = '<font style="color:#139c07;">' + json_data.GisAccuracy[i] + '%</font>';
					if (json_data.GisAccuracy[i] == 100){
						full_acc_html = '<img src="'+ gfx_url +'gfx/progbars/sprogbar_90p_' + sprogbar_type + '.gif" alt="Percent bar" />' + '&nbsp;&nbsp;' + acc_percentage + '&nbsp;&nbsp;&nbsp;';
					}else{
						if (json_data.GisAccuracy[i] < 10) json_data.GisAccuracy[i] = '0' + json_data.GisAccuracy[i];
						mz = json_data.GisAccuracy[i] + '';
						full_acc_html = '<img src="'+ gfx_url +'gfx/progbars/sprogbar_'+mz.charAt(0)+'0p_'+sprogbar_type+'.gif" alt="Percent bar" />'+'&nbsp;&nbsp;'+acc_percentage+'&nbsp;&nbsp;&nbsp;';
					}
				}else full_acc_html = '';
			}else full_acc_html = '';

			//alert("|--" + sprogbar_type + "," + full_acc_html + "--|");

			time_left = json_data.DtFinish[i] - ctime;

			isfinished_html = '<br/>';
			if (time_left < 0) isfinished_html += json_exdata["CTPL_TitleEndTrans"];
			else{
				isfinished_html += json_exdata["CTPL_TitleDateTrans"] + '<br/>';
				hr = Math.floor(((dtf) - (ctime))/(3600));
				hr3600 = (hr * 3600);
				if((dtf)-(ctime) > 2678400) isfinished_html += Math.floor(((dtf) - (ctime))/(2678400))+' '+json_exdata["CTPL_TXT_MONTHS_SHORT01"]; //31*24*60*60 = 2678400
				else if((dtf)-(ctime) > 86400) isfinished_html += Math.floor(((dtf) - (ctime))/(86400))+' '+json_exdata["CTPL_TXT_DAYS_SHORT01"]; //2*24*60*60 = 172800
				else if((dtf)-(ctime) > 3600) {
					isfinished_html += hr+' '+json_exdata["CTPL_TXT_HOUR_SHORT01"]; //60*60 = 3600
					if((dtf)-(ctime)-(hr3600) > 60) isfinished_html += ( Math.floor(((dtf) - (ctime)  - hr3600)/(60)))+' '+json_exdata["CTPL_TXT_MINUTES_SHORT01"];
					else isfinished_html += Math.floor(((dtf)-(ctime)))+'&nbsp;'+json_exdata["CTPL_TXT_SECONDS_SHORT01"];
				} else {
					if((dtf)-(ctime)-(hr3600) > 60) isfinished_html += ( Math.floor(((dtf) - (ctime)  - hr3600)/(60)))+' '+json_exdata["CTPL_TXT_MINUTES_SHORT01"];
					else isfinished_html += Math.floor(((dtf)-(ctime)))+' ;'+json_exdata["CTPL_TXT_SECONDS_SHORT01"];
				}
			}
			isfinished_html_full = '<br/>'+isfinished_html;

			if (json_data.NoLength[i] > 0.01) vehlen_html = json_exdata["CSTR_LENGTH_SHRT"] +' '+ json_data.NoLength[i] + json_exdata["CSTR_METERS_SHRT"];
			else vehlen_html = '';

			add_status = '';
			if (typeof(json_data.ADR[i]) != "undefined"){
				if (json_data.ADR[i] + 0 > 0 || json_data.ADR[i].length > 1) add_status += 'ADR ';
			}
			if (typeof(json_data.HDS[i]) != "undefined"){
				if (json_data.HDS[i] + 0 > 0 || json_data.HDS[i].length > 1) add_status += 'HDS ';
			}
			if (json_data.BlLift[i] + 0 > 0 || json_data.BlLift[i].length > 1) add_status += json_exdata["CSTR_LIFT"] + ' ';

			if (add_status) add_status = '<br/>' + add_status;


			var nw_arr = new Array();
			nw_arr['Accuracy_Data'] = full_acc_html;				nw_arr['html0_2_basicname'] = msg_type_desc;
			nw_arr['html0_2_desc'] = TheMessage;						nw_arr['html0_2_indate'] = freefrom_text;
			nw_arr['html0_2_outdate'] = freeto_text;				nw_arr['html0_2_indate_cpt'] = freefrom_text_cpt;
			nw_arr['html0_2_outdate_cpt'] = freeto_text_cpt;			nw_arr['html0_3_flaghtml'] = country_flag_from_html;
			nw_arr['html0_3_countryname'] = country_name_from;		nw_arr['html0_3_cityname'] = city_from;
			nw_arr['html0_3_postcode'] = postcode_from;						nw_arr['html0_4_flaghtml'] = country_flag_to_html;
			nw_arr['html0_4_countryname'] = country_name_to;			nw_arr['html0_4_cityname'] = city_to;
			nw_arr['html0_4_postcode'] = postcode_to;							nw_arr['html0_5_weight'] = vehicle_weight;
			nw_arr['html0_5_wehicletype'] = vehicle_type;					nw_arr['html0_5_vehiclelength'] = vehlen_html + add_status;
			nw_arr['html0_6_postdate'] = xpostedfrom_date;				nw_arr['html0_6_posttime'] = xpostedfrom_time;
			nw_arr['html0_7_validdate'] = xpostedto_date;					nw_arr['html0_7_validtime'] = xpostedto_time;
			nw_arr['promoClass'] = promoClass;
			nw_arr['promoMsg'] = promoMsg;
			nw_arr['priceClass'] = priceClass;
			nw_arr['priceMsg'] = priceMsg;
			nw_arr['html0_transRisk'] = (json_exdata["gw_settings"]['isPublicatedTransRisk'] == 1) ? transRisk : "";
			nw_arr['html0_oceny'] = (json_exdata["gw_settings"]['isPublicatedTransRisk'] == 1) ? oceny : "";
			//alert(country_name_from + ': ' + xpostedto_date + ' ' + xpostedto_time); // bart
			//alert(country_name_from + ': ' + isfinished_html); // bart
			nw_arr['html0_6_isfinished_cpt'] = isfinished_html;		nw_arr['html0_6_isfinished_full'] = isfinished_html_full;
			if(undefined !== json_data.SzDebug && json_data.SzDebug[i] && json_data.SzDebug[i].length > 0) {				
				nw_arr['szDebug'] = "<div class='tMobileDebugDiv' style='border: 1px solid red'>" + json_data.SzDebug[i] + "</div>";
			}
			else {
				nw_arr['szDebug'] = "";
			}
			
			//Zamiast array_merge czy nawet JS-owego CONCATa (ktï¿½ry tutaj nie zadziaï¿½a) taki wybryk... Cï¿½ - po prostu piï¿½kno Javascriptu...
			for (var key in nw_arr){
				tblvars[key] = nw_arr[key];
			}



			notebook_text = notebook_link_url = notebook_act_ajax = notebook_switch = notebook_text2 = notebook_link_url2 = notebook_act_ajax2 = notebook_switch2 = nbook_stl1 = nbook_stl2 = '';
			if (this.GieldaWWWSettings['logged_accesslevel'] != 0){

				//add_trsmsg_to_notepad, rmv_trsmsg_from_notepad
				if(this.GieldaWWWSettings['logged_accesslevel'] > 0) {
					nbk_text = json_exdata["CSTR_REMOVE_FROM_NOTEBOOK"];
					nbk_link_url = json_exdata["CSTR_EXEC_SCRIPT"]+'?Act=do_trsmsg_notepad_rmv&IdTransMsg=' + json_data.IdTransMsg[i];
					nbk_act_ajax = 'combinedNtPadAction(\'rmv_trsmsg_from_notepad\', ' + json_data.IdTransMsg[i] + '); return false;';
	
					nbk_text2 = json_exdata["CSTR_SAVE_TO_NOTEBOOK"];
					nbk_link_url2 = json_exdata["CSTR_EXEC_SCRIPT"]+'?Act=do_trsmsg_notepad_save&IdTransMsg=' + json_data.IdTransMsg[i];
					nbk_act_ajax2 = 'combinedNtPadAction(\'add_trsmsg_to_notepad\', ' + json_data.IdTransMsg[i] + '); return false;';
				}

				//Generowanie linkï¿½w notesowych
				//if (json_data.ResultType == 'gw_search'){



					cpt_showdet_txt = json_exdata["CSTR_SHOW_DETAILS"];
					if (typeof(json_data.NotepadData) == "object") msg_notepad_data = json_data.NotepadData[json_data.IdTransMsg[i]];
					else{
						//alert(window.json_notepad_data[json_data.IdTransMsg[i]]);
						//Sprï¿½buj teï¿½ sprawdziï¿½ w danych Javascriptowych
						if (typeof(window.json_notepad_data[json_data.IdTransMsg[i]]) == "undefined" || window.json_notepad_data[json_data.IdTransMsg[i]] == 0){
							//NIE w notesie
							msg_notepad_data = false;
						}else
						if (typeof(window.json_notepad_data[json_data.IdTransMsg[i]]) != "undefined" && window.json_notepad_data[json_data.IdTransMsg[i]] != 0){
							msg_notepad_data = new Array(1);
						}
					}
					//

					if (typeof(msg_notepad_data) == "object"){ //Wiadomoï¿½ï¿½ jest juï¿½ w notatniku
						notebook_text = nbk_text;	notebook_link_url = nbk_link_url;	notebook_act_ajax = nbk_act_ajax;
						notebook_text2 = nbk_text2;	notebook_link_url2 = nbk_link_url2;	notebook_act_ajax2 = nbk_act_ajax2;
						notebook_switch = 'rmv';	notebook_switch2 = 'add'; nbook_stl1 = ''; nbook_stl2 = ''; //nbook_stl1 = 'color:red;';
					}else{
						notebook_text = nbk_text2;	notebook_link_url = nbk_link_url2;	notebook_act_ajax = nbk_act_ajax2;
						notebook_text2 = nbk_text;	notebook_link_url2 = nbk_link_url;	notebook_act_ajax2 = nbk_act_ajax;
						notebook_switch = 'add';	notebook_switch2 = 'rmv'; nbook_stl2 = ''; nbook_stl1 = '';
					}

				//}

				if (this.GieldaWWWSettings['logged_accesslevel'] >= 8){
					show_details_link_url = json_exdata["CSTR_INFRAME_SCRIPT"] + '?Act=show_offdetails&IdTransMsg=' + json_data.IdTransMsg[i];
					cptrsmsg_link_url = json_exdata["CSTR_INFRAME_SCRIPT"] + '?Act=add_offer_form&xcopy_IdTransMsg=' + json_data.IdTransMsg[i];
					deltrsmsg_link_url = json_exdata["CSTR_EXEC_SCRIPT"] + '?Act=do_mymsg_trsmsg_del&IdTransMsg=' + json_data.IdTransMsg[i];
					//HTML_A_Target = ' target="_blank" ';
					HTML_A_Target = '';
				}else{
					show_details_link_url = json_exdata["CSTR_INFRAME_SCRIPT"] + '?Act=show_offdetails&IdTransMsg=' + json_data.IdTransMsg[i];
					//show_details_link_url = json_exdata["CSTR_INFRAME_SCRIPT"] + '?Act=restricted_dialog';
					//HTML_A_Target = '';
					HTML_A_Target = ' target="_blank" ';
				}
			}else{
				cpt_showdet_txt = json_exdata["CSTR_SHOW_DETAILS"];
				//show_details_link_url = json_exdata["CSTR_INFRAME_SCRIPT"] + '?Act=show_offdetails&IdTransMsg=' + json_data.IdTransMsg[i];
				show_details_link_url = json_exdata["CSTR_INFRAME_SCRIPT"] + '?Act=restricted_dialog';
				//HTML_A_Target = '';
				HTML_A_Target = ' target="_blank" ';
			}
			show_details_onclick = "return pox_window_8x6('"+show_details_link_url+"');";


			//echo "<br/>\r\nnotebook_act_ajax<br/>\r\n";


			if (this.ViewType == 2 || this.ViewType == 3) {

				tblvars['html1_SaveToNotepad'] = objTemp.MultiRawFetch('MSGLINKS_TBL_START');

				if (notebook_text) {

					//if (json_data.ResultType == 'gw_mymsgs'){
						//var xarr0 = new Array();
						//xarr0['HTML_A_Target'] = HTML_A_Target;
						//xarr0['deltrsmsg_link_url'] = deltrsmsg_link_url;
						//xarr0['del_trsmsg_txt'] = json_exdata["CTPL_LinkDeleteTransport"];
						//objTemp.AssignVariableArray(xarr0, 'DEL_TRSMSG_LINK');
						//tblvars['html1_SaveToNotepad'] += objTemp.MultiRawFetch('DEL_TRSMSG_LINK');
						//tblvars['html1_SaveToNotepad'] += objTemp.MultiRawFetch('MSGLINKS_TBL_TDSPC');
					//}


					var xarr1 = new Array();

					xarr1['ItTransMsg'] = json_data.IdTransMsg[i];			xarr1['NBK_SWITCH_01'] = notebook_switch;
					xarr1['NBK_SWITCH_02'] = notebook_switch2;					xarr1['notebook_act_ajax'] = notebook_act_ajax;
					xarr1['notebook_act_ajax2'] = notebook_act_ajax2;		xarr1['nbook_stl1'] = nbook_stl1;
					xarr1['nbook_stl2'] = nbook_stl2;										xarr1['notebook_text'] = notebook_text;
					xarr1['notebook_text2'] = notebook_text2;						xarr1['notebook_link_url'] = notebook_link_url;
					xarr1['notebook_link_url2'] = notebook_link_url2;
					objTemp.AssignVariableArray(xarr1, 'NOTEPAD_ONOFF_LNK');

					tblvars['html1_SaveToNotepad'] += objTemp.MultiRawFetch('NOTEPAD_ONOFF_LNK');

					tblvars['dvNtPad_setts'] = ' id="dvSwitchNtPad_' + notebook_switch + '_' + json_data.IdTransMsg[i] + '" ';
				}else{
					tblvars['html1_SaveToNotepad'] += '';
				}

				if (json_data.IdTransMsgType[i] != 3 ) { //&& json_data.ResultType != 'gw_mymsgs'
					var xarr2 = new Array();

					xarr2['A_ONCLICK'] = show_details_onclick;	xarr2['HTML_A_Target'] = ' target="_blank" ';		xarr2['show_details_link_url'] = show_details_link_url;		xarr2['CSTR_SHOW_DETAILS'] = cpt_showdet_txt;

					objTemp.AssignVariableArray(xarr2, 'SHOWDET_LINK');

					//tblvars['html1_SaveToNotepad'] += objTemp.MultiRawFetch('MSGLINKS_TBL_TDSPC');
					tblvars['html1_SaveToNotepad'] += objTemp.MultiRawFetch('SHOWDET_LINK');
				}else{
					tblvars['html1_SaveToNotepad'] += '';
				}

				tblvars['html1_SaveToNotepad'] += objTemp.MultiRawFetch('MSGLINKS_TBL_TDSPC');
				tblvars['html1_SaveToNotepad'] += objTemp.MultiRawFetch('MSGLINKS_TBL_END') + '<br/>';

				if (this.GieldaWWWSettings['logged_accesslevel'] >= 8 || this.GieldaWWWSettings['logged_accesslevel'] == -1){
					//company_view_link = json_exdata["CSTR_INFRAME_SCRIPT"] + '?Act=show_userinfo&TheIdOffice=' + json_data.IdOffice[i] + '&IdTransMsg=' + json_data.IdTransMsg[i] + '';
					//RK - dorzuciłem zmianę replace z pojedynczego apostrofu(' == &#39;) 
					// na accute accent (´ == &#180;) wygladają podobnie a ten drugi nie rozwala kodu js 
					// (we francuskim apostrofy są dość często wykorzystywane)
					// w docelowym oknie będzie zmiana w druga strone. 
					company_view_link = 'tokenized_redirect.rst?type=km&amp;Act=show_doc_html_company_sec&amp;adx_pg_title=' + encodeURI(json_exdata["CTPL_BtInfoCompany"].replace("&#39;","&#180;")) + '&adx_SelectedNoLogin=&adx_SelectedIdOffice=' + json_data.IdOffice[i];
//					references_view_link = 'tokenized_redirect.rst?type=km&amp;Act=show_doc_zend&amp;adx_Zend=index_references_index&amp;adx_pg_title=' + encodeURI(Label.HTMLPOPUP_CAPTION_COMPANYREFERENCE) + '&adx_IdCompanyReferences=' + json_data.IdOffice[i];
					company_name = json_data.CompanyData[json_data.IdOffice[i]]['SzName'];
				}else{
					//company_view_link = '#';
					company_view_link = json_exdata["CSTR_INFRAME_SCRIPT"] + '?Act=restricted_dialog';
//					references_view_link = json_exdata["CSTR_INFRAME_SCRIPT"] + '?Act=restricted_dialog';
					company_name = '';
				}
				
				company_view_onclick = 'return pox_window_8x6(\''+company_view_link+'\');';
//				references_view_onclick = 'return pox_window_ext(\''+references_view_link+'\',null,870,600);';
				var tyk = 0;

				//Wyciï¿½gnij dane kontaktowe
				contact_info = ''; NoUserData = false;
				if (typeof(json_data.ArDistribMsgInfos) == "object"){
					if (typeof(json_data.ArDistribMsgInfos[i]) == "object"){

						//Start for in
						for (key in json_data.ArDistribMsgInfos[i]){

							//YYY
							//key2 = parseInt(key);
							//alert(typeof(key));

							if (key.toString() == "0"){//.length < 5){

								//for (vz in json_data.ArDistribMsgInfos[i][key]){
									//if (tyk < 50) //alert(json_data.ArDistribMsgInfos[i][key][vz]);
									//alert(vz);
									//tyk++;
								//}

								//alert(key2);

								//alert(json_data.ArDistribMsgInfos[i][key]['NoLogin']);

								if (this.GieldaWWWSettings['logged_accesslevel'] >= 8){

									person_info_link = json_exdata["SzUrl_1169"] + '/index.rst?Act=show_doc_html_user&BlFromNews=1&IdGroup=3&SelectedNoLogin=' + json_data.ArDistribMsgInfos[i][key]['NoLogin'] + '&SelectedIdOffice=' + json_data.IdOffice[i] + '&IdOffice=2&NoLogin=13&IdTransMsg=' + json_data.IdTransMsg[i] + '&SzSessionPassword=';

									//alert(json_data.ArDistribMsgInfos[i][key] + "\n i="+i+"\n key="+key);
									person_talk_link = 'transid:' + json_data.IdOffice[i] + '-' + json_data.ArDistribMsgInfos[i][key]['NoLogin'];
									person_talk_onclick = 'transid(\'' + json_data.IdOffice[i] + '-' + json_data.ArDistribMsgInfos[i][key]['NoLogin'] + '\'); return false;';

									SzSurname = json_data.ArDistribMsgInfos[i][key]['SzSurname'];	SzForename = json_data.ArDistribMsgInfos[i][key]['SzForename'];
									//alert(SzSurname + "["+i+"," +key+ "]" + SzForename);
									HTML_TrTalkIcon = '<img class="rst_default01" alt="" src="'+ gfx_url +'gfx/s_available2.gif" border="0"/>';

								}else{
									NoUserData = true;

								}

							} //End if

						} //End for in


					} else NoUserData = true;
				} else NoUserData = true;

				if (NoUserData == true ){
					//person_talk_link = person_info_link = '#';
					person_info_link = json_exdata["CSTR_INFRAME_SCRIPT"] + '?Act=restricted_dialog&redir_url=Y29udmVyc2F0aW9u';
					person_talk_link = person_info_link;
					person_talk_link_trgt = '_blank';
					HTML_TrTalkIcon = ""; SzForename = "";
					SzSurname = "";
					person_talk_onclick = 'return pox_window_8x6(\''+person_talk_link+'\');';
				}
				
				var xarr3 = new Array();
				xarr3['HTML_A_Target'] = HTML_A_Target;										
				xarr3['HTML_TrTalkIcon'] = HTML_TrTalkIcon;
				xarr3['person_talk_onclick'] = person_talk_onclick;				
				xarr3['person_talk_link'] = person_talk_link;
				xarr3['person_talk_link_trgt'] = person_talk_link_trgt;		
				xarr3['person_info_link'] = person_info_link;
				xarr3['val_SzForename'] = SzForename;											
				xarr3['val_SzSurname'] = SzSurname;
				xarr3['CSTR_INFO'] = json_exdata["CSTR_INFO"];
				if (undefined == json_data.PersonLanguages || undefined == json_data.PersonLanguages[i])
					xarr3['szMatchingLanguages'] = "";
				else
					xarr3['szMatchingLanguages'] = getMatchingLanguages(json_data.PersonLanguages[i]);
				objTemp.AssignVariableArray(xarr3, 'PERSON_CONTACT');
				
				if (this.GieldaWWWSettings['logged_accesslevel'] >= 8)	
					contact_info += objTemp.MultiRawFetch('PERSON_CONTACT');



				if (this.GieldaWWWSettings['logged_accesslevel'] >= 8) 
					prtname1 = 'FULL_CONTACT_INFO';
				else 
					prtname1 = 'LIMITED_CONTACT_INFO';

				//alert(contact_info);


				var xarr4 = new Array();
				xarr4['HTML_A_Target'] = HTML_A_Target;						
				xarr4['company_name'] = company_name;
				xarr4['company_view_link'] = company_view_link;		
				xarr4['CSTR_INFO'] = json_exdata["CSTR_INFO"];
				xarr4['contact_info'] = contact_info;							
				xarr4['COMPVIEW_ONCLICK'] = company_view_onclick;
//				xarr4['REFERENCES_ONCLICK'] = references_view_onclick;
				objTemp.AssignVariableArray(xarr4, prtname1);
				tblvars['html0_8'] = objTemp.MultiRawFetch(prtname1) ? objTemp.MultiRawFetch(prtname1) : '';

				this.objTemplaterFull.AssignVariableArray(tblvars, main_partname);
				outhtml += this.objTemplaterFull.MultiRawFetch(main_partname);
			}


			tblvars['html0_8'] = '';


			if (this.ViewType == 1 || this.ViewType == 3) {

				if (typeof(tblvars['html0_2_desc']) != "undefined") len_prev = tblvars['html0_2_desc'].length;
				else len_prev = 0;

				var arr_rep = new Array()
				tblvars['html0_2_desc'] = '&nbsp;' + str_ireplace('<br', '<img src="" width="0" height="0"', WordTextCut(tblvars['html0_2_desc'], this.GieldaWWWSettings['max_len_tblSzMsg_Cpt'] + 4) );

				len_aft = tblvars['html0_2_desc'].length;
				if (len_aft < len_prev) tblvars['html0_2_desc'] += '...';

				//echo "--len_aft--".tblvars['html0_2_desc'];

				if (notebook_text) {
					tblvars['html1_SaveToNotepad'] = '<a class="rst_gw_intable_link" onclick="'+notebook_act_ajax+'" href="'+notebook_link_url+'#"><img alt="" src="'+ gfx_url +'gfx/info_small_icon_rev.gif" border="0"/>&nbsp;'+notebook_text+'</a>';
					tblvars['dvNtPad_setts'] = ' id="dvSwitchNtPad_'+notebook_switch+'_'+json_data.IdTransMsg[i]+'" ';
				}

				//Wyciï¿½gnij dane kontaktowe
				contact_info = ''; NoUserData = false;




				if (typeof(json_data.ArDistribMsgInfos) == "object"){
					//alert("ddd-0");
					if (typeof(json_data.ArDistribMsgInfos[i]) == "object"){

						for (key in json_data.ArDistribMsgInfos[i]){ //UWAGA: Tylko jeden raz siï¿½ wykonuje ! Tak naprawdï¿½ to nie jest pï¿½tla

							if (this.GieldaWWWSettings['logged_accesslevel'] != 0){

								if (this.GieldaWWWSettings['logged_accesslevel'] >= 8){
									person_talk_link = 'transid:' + json_data.IdOffice[i] + '-' + json_data.ArDistribMsgInfos[i][key]['NoLogin'];
									person_talk_onclick = 'transid(\'' + json_data.IdOffice[i] + '-' + json_data.ArDistribMsgInfos[i][key]['NoLogin'] + '\'); return false;';
									smcont_info_part = 'SMALL_CONTACT_INFO';

								}else{
									//person_talk_link = '#';

									person_talk_link = json_exdata["CSTR_INFRAME_SCRIPT"] + '?Act=restricted_dialog';
									person_talk_link_trgt = '_blank';
									person_talk_onclick = 'return pox_window_8x6(\''+person_talk_link+'\');';
									smcont_info_part = 'SMALL_CONTACT_INFO';
								}

								var xarr5 = new Array();

								xarr5['ItTransMsg'] = json_data.IdTransMsg[i];			xarr5['NBK_SWITCH_01'] = notebook_switch;
								xarr5['NBK_SWITCH_02'] = notebook_switch2;					xarr5['notebook_act_ajax'] = notebook_act_ajax;
								xarr5['notebook_act_ajax2'] = notebook_act_ajax2;		xarr5['nbook_stl1'] = nbook_stl1;
								xarr5['nbook_stl2'] = nbook_stl2;										xarr5['notebook_text'] = notebook_text;
								xarr5['notebook_text2'] = notebook_text2;						xarr5['notebook_link_url'] = notebook_link_url;
								xarr5['notebook_link_url2'] = notebook_link_url2;
								objTemp.AssignVariableArray(xarr5, 'NOTEPAD_ONOFF_LNK_CPT');

								html1_SaveToNotepad = objTemp.MultiRawFetch('NOTEPAD_ONOFF_LNK_CPT');

							}
							else if (this.GieldaWWWSettings['logged_accesslevel'] != -1){
								//person_talk_link = '#';
								person_talk_link = json_exdata["CSTR_INFRAME_SCRIPT"] + '?Act=restricted_dialog';
								person_talk_link_trgt = '_blank';
								person_talk_onclick = 'return pox_window_8x6(\''+person_talk_link+'\');';
								html1_SaveToNotepad = '';
								smcont_info_part = 'SMALL_CONTACT_INFO';
							} 
							else {
								person_talk_link = person_talk_link_trgt = person_talk_onclick = html1_SaveToNotepad = '';
								smcont_info_part = 'SMALL_NO_CONTACT_INFO';
							}

							var xarr6 = new Array();



							xarr6['HTML_A_Target'] = HTML_A_Target; 						
							xarr6['person_talk_onclick'] = person_talk_onclick;
							xarr6['person_talk_link'] = person_talk_link; 			
							xarr6['person_talk_link_trgt'] = person_talk_link_trgt;
							xarr6['CSTR_INFO'] = json_exdata["CSTR_INFO"];			
							xarr6['CSTR_TALKING'] = json_exdata["CSTR_TALKING"];
							xarr6['showdet_icon_stdisp'] = show_det_display;		
							xarr6['show_details_link_url'] = show_details_link_url;
							xarr6['cpt_showdet_txt'] = cpt_showdet_txt; 				
							xarr6['Accuracy_Data'] = full_acc_html;
							xarr6['saveToNotePad_html'] = html1_SaveToNotepad;	
							xarr6['SHOWDET_ONCLICK'] = show_details_onclick;
							if (undefined == json_data.PersonLanguages || undefined == json_data.PersonLanguages[i])
								xarr3['szMatchingLanguages'] = "";
							else							
								xarr6['szMatchingLanguages'] = getMatchingLanguages(json_data.PersonLanguages[i]);

							//alert(xarr6['person_talk_link']);

							objTemp.AssignVariableArray(xarr6, smcont_info_part);

							tblvars['html0_8'] = objTemp.MultiRawFetch(smcont_info_part) ? objTemp.MultiRawFetch(smcont_info_part) : '';

							break; //Zakoï¿½cz pï¿½tlï¿½, bo potrzebujemy tylko jednej osoby do widoku skrï¿½conego
						}
					}
				}



				this.objTemplaterCompact.AssignVariableArray(tblvars, main_partname);
				bzyx = this.objTemplaterCompact.MultiRawFetch(main_partname);
				//alert(bzyx);
				outhtml_cpt += bzyx;

			}

		}

		/*/
		//if (typeof(SaveOutput)) {
			//if (this.ViewType == 2 || this.ViewType == 3) this.LastHTMLOutputFull = outhtml;
			//if (this.ViewType == 1 || this.ViewType == 3) this.LastHTMLOutputCompact = outhtml_cpt;
		//}

		//alert(outhtml_cpt);
		//alert(outhtml);
		/*/

		if (this.ViewType == 1) return outhtml_cpt;
		else if (this.ViewType == 2) return outhtml;
		else if (this.ViewType == 3) {
			var retx = new Array(outhtml, outhtml_cpt);
			return retx;
		}

	}
}









//UWAGA: Uzywaï¿½ tylko dla wyï¿½wietlania HTML (przerabia znaki koï¿½ca linii na spacje)
function WordTextCut(text, lengthx){
	var text_arr = new Array();
	if (lengthx <= 0) lengthx = 150;

	if (typeof(text) == "undefined") return text;

	if (text.length > lengthx){
		text = text.replace(/\n/g, ' ' + "\n");
		text = text.replace(/\r/g, ' ' + "\n");
		text_arr = text.split(' ');

		var out_txt = ''; var cnt = 0;
		while(out_txt.length <= lengthx){
			out_txt += text_arr[cnt++] + ' ';
		}
		return out_txt + '...';
	}else return text;
}















function ucfirst( str ) {
	var f = str.charAt(0).toUpperCase();
	return f + str.substr(1, str.length-1);
}
function strtoupper( str ) {
	return str.toUpperCase();
}
function date ( format, timestamp ) {
    var a, jsdate = new Date(timestamp ? timestamp * 1000 : null);
    var pad = function(n, c){
        if( (n = n + "").length < c ) {
            return new Array(++c - n.length).join("0") + n;
        } else {
            return n;
        }
    };
    var txt_weekdays = ["Sunday","Monday","Tuesday","Wednesday",
        "Thursday","Friday","Saturday"];
    var txt_ordin = {1:"st",2:"nd",3:"rd",21:"st",22:"nd",23:"rd",31:"st"};
    var txt_months =  ["", "January", "February", "March", "April",
        "May", "June", "July", "August", "September", "October", "November",
        "December"];

    var f = {
        // Day
            d: function(){
                return pad(f.j(), 2);
            },
            D: function(){
                t = f.l(); return t.substr(0,3);
            },
            j: function(){
                return jsdate.getDate();
            },
            l: function(){
                return txt_weekdays[f.w()];
            },
            N: function(){
                return f.w() + 1;
            },
            S: function(){
                return txt_ordin[f.j()] ? txt_ordin[f.j()] : 'th';
            },
            w: function(){
                return jsdate.getDay();
            },
            z: function(){
                return (jsdate - new Date(jsdate.getFullYear() + "/1/1")) / 864e5 >> 0;
            },

        // Week
            W: function(){
                var a = f.z(), b = 364 + f.L() - a;
                var nd2, nd = (new Date(jsdate.getFullYear() + "/1/1").getDay() || 7) - 1;

                if(b <= 2 && ((jsdate.getDay() || 7) - 1) <= 2 - b){
                    return 1;
                } else{

                    if(a <= 2 && nd >= 4 && a >= (6 - nd)){
                        nd2 = new Date(jsdate.getFullYear() - 1 + "/12/31");
                        return date("W", Math.round(nd2.getTime()/1000));
                    } else{
                        return (1 + (nd <= 3 ? ((a + nd) / 7) : (a - (7 - nd)) / 7) >> 0);
                    }
                }
            },

        // Month
            F: function(){
                return txt_months[f.n()];
            },
            m: function(){
                return pad(f.n(), 2);
            },
            M: function(){
                t = f.F(); return t.substr(0,3);
            },
            n: function(){
                return jsdate.getMonth() + 1;
            },
            t: function(){
                var n;
                if( (n = jsdate.getMonth() + 1) == 2 ){
                    return 28 + f.L();
                } else{
                    if( n & 1 && n < 8 || !(n & 1) && n > 7 ){
                        return 31;
                    } else{
                        return 30;
                    }
                }
            },

        // Year
            L: function(){
                var y = f.Y();
                return (!(y & 3) && (y % 1e2 || !(y % 4e2))) ? 1 : 0;
            },
            //o not supported yet
            Y: function(){
                return jsdate.getFullYear();
            },
            y: function(){
                return (jsdate.getFullYear() + "").slice(2);
            },

        // Time
            a: function(){
                return jsdate.getHours() > 11 ? "pm" : "am";
            },
            A: function(){
                return f.a().toUpperCase();
            },
            B: function(){
                // peter paul koch:
                var off = (jsdate.getTimezoneOffset() + 60)*60;
                var theSeconds = (jsdate.getHours() * 3600) +
                                 (jsdate.getMinutes() * 60) +
                                  jsdate.getSeconds() + off;
                var beat = Math.floor(theSeconds/86.4);
                if (beat > 1000) beat -= 1000;
                if (beat < 0) beat += 1000;
                if ((String(beat)).length == 1) beat = "00"+beat;
                if ((String(beat)).length == 2) beat = "0"+beat;
                return beat;
            },
            g: function(){
                return jsdate.getHours() % 12 || 12;
            },
            G: function(){
                return jsdate.getHours();
            },
            h: function(){
                return pad(f.g(), 2);
            },
            H: function(){
                return pad(jsdate.getHours(), 2);
            },
            i: function(){
                return pad(jsdate.getMinutes(), 2);
            },
            s: function(){
                return pad(jsdate.getSeconds(), 2);
            },
            //u not supported yet

        // Timezone
            //e not supported yet
            //I not supported yet
            O: function(){
               var t = pad(Math.abs(jsdate.getTimezoneOffset()/60*100), 4);
               if (jsdate.getTimezoneOffset() > 0) t = "-" + t; else t = "+" + t;
               return t;
            },
            P: function(){
                var O = f.O();
                return (O.substr(0, 3) + ":" + O.substr(3, 2));
            },
            //T not supported yet
            //Z not supported yet

        // Full Date/Time
            c: function(){
                return f.Y() + "-" + f.m() + "-" + f.d() + "T" + f.h() + ":" + f.i() + ":" + f.s() + f.P();
            },
            //r not supported yet
            U: function(){
                return Math.round(jsdate.getTime()/1000);
            }
    };

    return format.replace(/[\\]?([a-zA-Z])/g, function(t, s){
        if( t!=s ){
            // escaped
            ret = s;
        } else if( f[s] ){
            // a date function exists
            ret = f[s]();
        } else{
            // nothing special
            ret = s;
        }

        return ret;
    });
}


// {{{ base64_decode
function base64_decode( data ) {
    // Decodes data encoded with MIME base64
    //
    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_base64_decode/
    // +       version: 803.2519
    // +   original by: Tyler Akins (http://rumkin.com)
    // *     example 1: base64_decode('S2V2aW4gdmFuIFpvbm5ldmVsZA==');
    // *     returns 1: 'Kevin van Zonneveld'


    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i=0, enc='';

    do {  // unpack four hexets into three octets using index points in b64
        h1 = b64.indexOf(data.charAt(i++));
        h2 = b64.indexOf(data.charAt(i++));
        h3 = b64.indexOf(data.charAt(i++));
        h4 = b64.indexOf(data.charAt(i++));

        bits = h1<<18 | h2<<12 | h3<<6 | h4;

        o1 = bits>>16 & 0xff;
        o2 = bits>>8 & 0xff;
        o3 = bits & 0xff;

        if (h3 == 64)      enc += String.fromCharCode(o1);
        else if (h4 == 64) enc += String.fromCharCode(o1, o2);
        else               enc += String.fromCharCode(o1, o2, o3);
    } while (i < data.length);

    return enc;
}// }}}

// {{{ base64_encode
function base64_encode( data ) {
    // Encodes data with MIME base64
    //
    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_base64_encode/
    // +       version: 803.2519
    // +   original by: Tyler Akins (http://rumkin.com)
    // +   improved by: Bayron Guevara
    // *     example 1: base64_encode('Kevin van Zonneveld');
    // *     returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='

    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i=0, enc='';

    do { // pack three octets into four hexets
        o1 = data.charCodeAt(i++);
        o2 = data.charCodeAt(i++);
        o3 = data.charCodeAt(i++);

        bits = o1<<16 | o2<<8 | o3;

        h1 = bits>>18 & 0x3f;
        h2 = bits>>12 & 0x3f;
        h3 = bits>>6 & 0x3f;
        h4 = bits & 0x3f;

        // use hexets to index into b64, and append result to encoded string
        enc += b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
    } while (i < data.length);

    switch( data.length % 3 ){
        case 1:
            enc = enc.slice(0, -2) + '==';
        break;
        case 2:
            enc = enc.slice(0, -1) + '=';
        break;
    }

    return enc;
}// }}}

// {{{ str_ireplace
function str_ireplace ( search, replace, subject ) {
    // Case-insensitive version of str_replace().
    //
    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_str_ireplace/
    // +       version: 803.2519
    // +   original by: Martijn Wieringa
    // +      input by: penutbutterjelly
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: str_ireplace('l', 'l', 'HeLLo');
    // *     returns 1: 'Hello'

    var i;

		if (typeof(subject) == "undefined" || typeof(search) == "undefined" || typeof(replace) == "undefined") return "";

    if(!(replace instanceof Array)){
        replace=new Array(replace);
        if(search instanceof Array){//If search    is an array and replace    is a string, then this replacement string is used for every value of search
            while(search.length>replace.length){
                replace[replace.length]=replace[0];
            }
        }
    }

    if(!(search instanceof Array))search=new Array(search);
    while(search.length>replace.length){//If replace    has fewer values than search , then an empty string is used for the rest of replacement values
        replace[replace.length]='';
    }

    if(subject instanceof Array){//If subject is an array, then the search and replace is performed with every entry of subject , and the return value is an array as well.
        for(k in subject){
            subject[k]=str_replace(search,replace,subject[k]);
        }
        return subject;
    }


    for(var k=0; k<search.length; k++){
        reg = new RegExp(search[k], 'gi');

				subject = subject.replace(reg, replace[k]);
    }


    return subject;
}// }}}

function substr( f_string, f_start, f_length ) {
    // Return part of a string
    //
    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_substr/
    // +       version: 803.2519
    // +     original by: Martijn Wieringa
    // *         example 1: substr('abcdef', 0, -1);
    // *         returns 1: 'abcde'

    if(f_start < 0) {
        f_start += f_string.length;
    }

    if(f_length == undefined) {
        f_length = f_string.length;
    } else if(f_length < 0){
        f_length += f_string.length;
    } else {
        f_length += f_start;
    }

    if(f_length < f_start) {
        f_length = f_start;
    }

    return f_string.substring(f_start, f_length);
}// }}}


/**
 * @class Ext.util.JSON
 * Modified version of Douglas Crockford"s json.js that doesn"t
 * mess with the Object prototype
 * http://www.json.org/js.html
 * @singleton
 */
var Ext = new Array();
Ext.util = new Array();

Ext.util.JSON = new (function(){
    var useHasOwn = {}.hasOwnProperty ? true : false;

    // crashes Safari in some instances
    //var validRE = /^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/;

    var pad = function(n) {
        return n < 10 ? "0" + n : n;
    };

    var m = {
        "\b": '\\b',
        "\t": '\\t',
        "\n": '\\n',
        "\f": '\\f',
        "\r": '\\r',
        '"' : '\\"',
        "\\": '\\\\'
    };

    var encodeString = function(s){
        if (/["\\\x00-\x1f]/.test(s)) {
            return '"' + s.replace(/([\x00-\x1f\\"])/g, function(a, b) {
                var c = m[b];
                if(c){
                    return c;
                }
                c = b.charCodeAt();
                return "\\u00" +
                    Math.floor(c / 16).toString(16) +
                    (c % 16).toString(16);
            }) + '"';
        }
        return '"' + s + '"';
    };

    var encodeArray = function(o){
        var a = ["["], b, i, l = o.length, v;
            for (i = 0; i < l; i += 1) {
                v = o[i];
                switch (typeof v) {
                    case "undefined":
                    case "function":
                    case "unknown":
                        break;
                    default:
                        if (b) {
                            a.push(',');
                        }
                        a.push(v === null ? "null" : Ext.util.JSON.encode(v));
                        b = true;
                }
            }
            a.push("]");
            return a.join("");
    };

    var encodeDate = function(o){
        return '"' + o.getFullYear() + "-" +
                pad(o.getMonth() + 1) + "-" +
                pad(o.getDate()) + "T" +
                pad(o.getHours()) + ":" +
                pad(o.getMinutes()) + ":" +
                pad(o.getSeconds()) + '"';
    };

    /**
     * Encodes an Object, Array or other value
     * @param {Mixed} o The variable to encode
     * @return {String} The JSON string
     */
    this.encode = function(o){
        if(typeof o == "undefined" || o === null){
            return "null";
        }else if(o instanceof Array){
            return encodeArray(o);
        }else if(o instanceof Date){
            return encodeDate(o);
        }else if(typeof o == "string"){
            return encodeString(o);
        }else if(typeof o == "number"){
            return isFinite(o) ? String(o) : "null";
        }else if(typeof o == "boolean"){
            return String(o);
        }else {
            var a = ["{"], b, i, v;
            for (i in o) {
                if(!useHasOwn || o.hasOwnProperty(i)) {
                    v = o[i];
                    switch (typeof v) {
                    case "undefined":
                    case "function":
                    case "unknown":
                        break;
                    default:
                        if(b){
                            a.push(',');
                        }
                        a.push(this.encode(i), ":",
                                v === null ? "null" : this.encode(v));
                        b = true;
                    }
                }
            }
            a.push("}");
            return a.join("");
        }
    };

    /**
     * Decodes (parses) a JSON string to an object. If the JSON is invalid, this function throws a SyntaxError.
     * @param {String} json The JSON string
     * @return {Object} The resulting object
     */
    this.decode = function(json){
        return eval("(" + json + ')');
    };
})();
/**
 * Shorthand for {@link Ext.util.JSON#encode}
 * @member Ext encode
 * @method */
Ext.encode = Ext.util.JSON.encode;
/**
 * Shorthand for {@link Ext.util.JSON#decode}
 * @member Ext decode
 * @method */
Ext.decode = Ext.util.JSON.decode;














function trim(s)
{
	return rtrim(ltrim(s));
}

function ltrim(s)
{
	var l=0;
	while(l < s.length && s[l] == ' ')
	{	l++; }
	return s.substring(l, s.length);
}

function rtrim(s)
{
	var r=s.length -1;
	while(r > 0 && s[r] == ' ')
	{	r-=1;	}
	return s.substring(0, r+1);
}

function InitJSONListings(){

	if (typeof(window.json_exdata) == "undefined") {
		try {
			if(document.getElementById("json_exdata_arr").value.length > 0) {
				var xyv = base64_decode(document.getElementById("json_exdata_arr").value);
			}
			else 
				xyv = "";

			document.getElementById("txtst02").value = "window.json_exdata = " + xyv + ";";
		}catch(er){ }	

		if(xyv.length > 0)
			eval("window.json_exdata = " + xyv + ";");
	}

	if (typeof(window.json_notepad_data) == "undefined") {
		try{ 
			if(document.getElementById("json_ntpad_stats_arr").value.length > 0) {
				var xvv = base64_decode(document.getElementById("json_ntpad_stats_arr").value);
			}
			else 
				xvv = "";
			
		} catch(er){}
		
		if(xvv.length > 0)
			eval("window.json_notepad_data = " + xvv + ";");
	}

}


//var JSONMode = 1; //Aktywowanie podstawowego trybu wyszukiwania przez JSON (Apache'owy tryb)
var JSONMode = 2; //Aktywowanie peï¿½nego trybu wyszukiwania przez JSON (bezpoï¿½redni tryb)
var JSONLister;









function print_r( array, return_val ) {
    // Prints human-readable information about a variable
    //
    // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_print_r/
    // +       version: 805.2023
    // +   original by: Michael White (http://crestidg.com)
    // +   improved by: Ben Bryan
    // *     example 1: print_r(1, true);
    // *     returns 1: 1

    var output = "", pad_char = " ", pad_val = 4;

    var formatArray = function (obj, cur_depth, pad_val, pad_char) {
        if (cur_depth > 0) {
            cur_depth++;
        }

        var base_pad = repeat_char(pad_val*cur_depth, pad_char);
        var thick_pad = repeat_char(pad_val*(cur_depth+1), pad_char);
        var str = "";

        if (obj instanceof Array || obj instanceof Object) {
            str += "Array\n" + base_pad + "(\n";
            for (var key in obj) {
                if (obj[key] instanceof Array) {
                    str += thick_pad + "["+key+"] => "+formatArray(obj[key], cur_depth+1, pad_val, pad_char);
                } else {
                    str += thick_pad + "["+key+"] => " + obj[key] + "\n";
                }
            }
            str += base_pad + ")\n";
        } else {
            str = obj.toString();
        }

        return str;
    };

    var repeat_char = function (len, pad_char) {
        var str = "";
        for(var i=0; i < len; i++) {
            str += pad_char;
        };
        return str;
    };
    output = formatArray(array, 0, pad_val, pad_char);

    if (return_val !== true) {
        document.write("<pre>" + output + "</pre>");
        return true;
    } else {
        return output;
    }
}// }}}


function str_replace(search, replace, subject) {
	// poprawka BC na puste tablice w JSON
	if (undefined == subject)
		return '';
		
    var f = search, r = replace, s = subject;
    var ra = is_array(r), 
    	sa = is_array(s), 
    	f = [].concat(f), 
    	r = [].concat(r), 
    	s = [].concat(s)
    	i = s.length;

    while (j = 0, i--) {
        while (s[i] = s[i].split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f)
        	{};
    };

    return sa ? s : s[0];
}

function dirname(path) {
    return path.replace(/\\/g,'/').replace(/\/[^\/]*\/?$/, '');
}

function is_array( mixed_var ) {
    return ( mixed_var instanceof Array );
}

/*/
function killer(){
	//alert( print_r(json_exdata["gw_settings"]['CountryArr']['ALL']['name'], true) );

	var xxx = "";
	for (i in json_exdata["gw_settings"]['CountryArr'])	{
		if (typeof(i) != "undefined" && typeof(i) != "function"){
			xxx += print_r(i, true) + "-|-" + i['name'] + "\n";
		}
	}

	try{
		document.getElementById("txtst02").value = xxx;
	}catch(e){}

}

setTimeout("killer()", 2250);
/*/