	var blnWasFTime = true;
	function trim(szWhat) {
		return(szWhat.replace(/^\s*|\s*$/g, ""));
	}

	function getDocHeight(doc) {
	  var docHt = 0, sh, oh;
	  if (doc.height) docHt = doc.height;
	  else if (doc.body) {
	    if (doc.body.scrollHeight) docHt = sh = doc.body.scrollHeight;
	    if (doc.body.offsetHeight) docHt = oh = doc.body.offsetHeight;
	    if (sh && oh) docHt = Math.max(sh, oh);
	  }
	  return docHt;
	}
	
function delay(gap){ /* gap is in millisecs */
var then,now; then=new Date().getTime();
now=then;
while((now-then)<gap)
{now=new Date().getTime();}
}


	function setIframeHeight(iframeName) {
		//alert("from setIframeHeight");
	  blnWasFTime = false;
	  var iframeWin = window.frames[iframeName];
	  var iframeEl = document.getElementById? document.getElementById(iframeName): document.all? document.all[iframeName]: null;
	  var agt=navigator.userAgent.toLowerCase() 
	  if ( iframeEl && iframeWin ) {
	    iframeEl.style.height = "auto"; // helps resize (for some) if new doc shorter than previous  
					if (agt.indexOf("opera") != -1) {
						delay(800);
					}
		
	    var docHt = getDocHeight(iframeWin.document);
	    // need to add to height to be sure it will all show
	    if (docHt) { 
				
				 if (agt.indexOf("opera") != -1) {
				 	iframeEl.style.height = new String(parseInt(docHt)+40)+'px';
					//alert(iframeEl.style.pixelHeight); 
				 }
				 else{
				 	iframeEl.style.height = new String(parseInt(docHt)+40)+'px';  
				 }
		}
	  }
		document.getElementById('divLoader').style.display='none';
		if (!blnWasFTime){
		document.getElementById('ifrm').style.visibility='visible';
		}
		else{
			blnWasFTime = false;
		}
		
	}
	
	function null3(){}
	
	function loadIframe(iframeName, url) {
	  if ( window.frames[iframeName] ) {
		try{
	    window.frames[iframeName].location = url;   
		}
		catch(e){}
	    return false;
	  }
	  else return true;
	}


	function display_parent_loader(){
		document.getElementById('ifrm').style.visibility='hidden';
		document.getElementById('divLoader').style.display='inline';
	}


	//## startup function ####		
	function frames_init(){	
			//display_parent_loader();
			//document.getElementById('ifrm').style.visibility='hidden';
			if (getQS('sstring')!=''){
				cf2('525','&sstring='+getQS('sstring')+'&fldsubmit=submit');
			}
	try{
			document.getElementById('ifrm').style.width = iframe_width;
			if (!blnWasFTime){
				setIframeHeight('ifrm');
			}
			document.getElementById('ifrm').style.visibility='visible';
			//init();
	}
	catch(e) {}
	}

	function cf(nid){
			//## wygenerowanie nowego 
			generate_pagePath(nid);
			if (arguments.length==2){
				generate_leftMenu(nid,2);
// arguments[1]
			}
			else{
				generate_leftMenu(nid);
			}
		try{
		if (document.getElementById('ifrm')){
		  var agt=navigator.userAgent.toLowerCase() 
			if (agt.indexOf("opera") != -1) {
			delay(800);
			  blnWasFTime = true;
			}
			loadIframe('ifrm','/_engine/page_render.asp?nodeid='+nid);
		}
		else{
			if (window.name=='ifrm'){
		//## odświeżenie obszaru ramki
			document.location.href='/_engine/page_render.asp?nodeid='+nid;
			}
			else
			{	
			document.location.href='/_engine/page_render.asp?nodeid=26&fnodeid='+nid;
			}
		}
		}
		catch(e){
			document.location.href='/_engine/page_render.asp?nodeid=26&fnodeid='+nid;
		}
	}

	function search_post(curform){
		if (document.getElementById('ifrm')){
			curform.target='ifrm';
			curform.action='/default.asp?nodeid=53';
		}
		//else{
		//}
		curform.submit();
		
	}

	//## odswiezacz iframe specjanlnie na potrzeby wyszukiwatki
	function cf2(nid, addqs){
			//## wygenerowanie nowego 
			generate_pagePath(nid);
			if (arguments.length==2){
				generate_leftMenu(nid,arguments[1]);
			}
			else{
				generate_leftMenu(nid);
			}
			//## odświeżenie obszaru ramki
		try{
		if (document.getElementById('ifrm')){
		  var agt=navigator.userAgent.toLowerCase() 
			if (agt.indexOf("opera") != -1) {
			delay(800);
			  blnWasFTime = true;
			}
			loadIframe('ifrm','/_engine/page_render.asp?nodeid='+nid+addqs);
		}
		else{
		//## odświeżenie obszaru ramki
			document.location.href='/_engine/page_render.asp?nodeid=26&fnodeid='+nid+addqs;

		}
		}
		catch(e){
			document.location.href='/_engine/page_render.asp?nodeid=26&fnodeid='+nid+addqs;
		}

			
	}	
	function getQS( sel_col){
	try{
			var ol = document.location.href;
			var prefix = ol.substr(0,ol.indexOf("?")+1);
			var tstr1, tstr2, tarr1, tarr2;
			var qs_base = "";
			var sort_value = "", nsort_value="";
			
			tstr1 = ol.substr(ol.indexOf("?")+1);
			tarr1 = tstr1.split("&");
			for (tstr2 in tarr1){
				tarr2 = tarr1[tstr2].split("=");
				if (tarr2[0]==sel_col){
					sort_value = tarr2[1];
					break;
				}
			}
			return (sort_value);
	}
	catch(E)
	{}
	}		
	
	function generate_pagePath(nid){
		try{
		//hideAll();
		var pathHTML = '';
		var addStr='';
		//pathHTML = arrSiteStruct[5].lb;
		
		pathHTML = '<img src="/_images/trojkat.gif" hspace="2"><img src="/_images/trojkat.gif" hspace="2"><a href="/">Home</a>';
		var iter=0; var nid_numeric = parseInt(nid);
		var indexes_list = '';	var find_nextindex; var parent_nodeid;
		while(true){
			find_nextindex = -1;
			parent_nodeid='';
			
			for(iter=0; iter<arrSiteStruct.length; iter++){
				if (nid_numeric==parseInt(arrSiteStruct[iter].ni)){
					find_nextindex = parseInt(iter);
					parent_nodeid = parseInt(arrSiteStruct[iter].pni); nid_numeric = parent_nodeid;
					if (indexes_list!='') indexes_list+=',';
					indexes_list += find_nextindex;
					break;
				}
			}
			if (find_nextindex==-1) break;
		}
		if (indexes_list!=''){
			var inv_indexes_list = '';
			var tarr = indexes_list.split(',');
			for (iter=tarr.length-1; iter>=0; iter--){
				if (inv_indexes_list!='') inv_indexes_list+=',';
				inv_indexes_list += tarr[iter];				
			}
			if (inv_indexes_list!=''){
				tarr = inv_indexes_list.split(',');
				for(iter=0; iter<tarr.length; iter++){
					if (parseInt(arrSiteStruct[tarr[iter]].ds)==2){
						addStr='';
					}
					else{
					if (parseInt(arrSiteStruct[tarr[iter]].lv)==0) addStr=',2'; else addStr=',1';
					}
					pathHTML += '<img src="/_images/trojkat.gif" hspace="2"><a href="javascript:cf('+arrSiteStruct[tarr[iter]].ni+addStr+');">'+arrSiteStruct[tarr[iter]].lb+'</a>';
				}
			}
//			pathHTML+='';
		}
		document.getElementById('servicepath').innerHTML=pathHTML;
		}catch(e){ }
	}
	
	
	function generate_leftMenu(nid){
		try{
		var menuContent = '';
		var iter=0, iter2, giter; 
		var curr_nodeid = parseInt(nid);
		var curr_nodeindex=-1;
		var curr_nodelevel=-1;
		var curr_nodeparent=-1;
		var curr_nodeindex2;
		var stay_at_level = true;
		var arrItemsLevel1 = '', arrItemsLevel2 = '';
		var splitArr1, splitArr2;
		var blnShowOtherMenuItems = true;
			if (arguments.length==2){
				if (parseInt(arguments[1])==2) blnShowOtherMenuItems = false;
			}
		
		var addStr='';
		for(iter=0; iter<arrSiteStruct.length; iter++){
			if (curr_nodeid==parseInt(arrSiteStruct[iter].ni)){
				curr_nodeindex = iter;
				curr_nodeparent = parseInt(arrSiteStruct[iter].pni);
				curr_nodelevel = parseInt(arrSiteStruct[iter].lv);
				break;
			}
		}
		if (curr_nodelevel==-1) return;	//## nie można wygenerować menu !!!

		for(iter=0; iter<arrSiteStruct.length; iter++){
			if (curr_nodeid==parseInt(arrSiteStruct[iter].pni)){
				stay_at_level = false;
				break;
			}
		}
		if (stay_at_level){	//===== generowanie menu dla ostatniego poziomu
			//## pobierz elementy dla pierwszego poziomu
			var tmpParentID, tmpLevel;
			var PParentID=-1, PParentID2, PParentID3;
			
			if (arguments.length==2){
				if (parseInt(arguments[1])==1){
					tmpParentID = arrSiteStruct[curr_nodeindex].ni;
					tmpLevel = curr_nodelevel;
				}
				else{
					tmpParentID = arrSiteStruct[curr_nodeindex].pni;
					tmpLevel = curr_nodelevel-1;
				}
			}
			else{
				tmpParentID = arrSiteStruct[curr_nodeindex].pni;
				tmpLevel = curr_nodelevel-1;
			}
			
			for(iter=0; iter<arrSiteStruct.length; iter++){
				if (tmpParentID==parseInt(arrSiteStruct[iter].ni)){
					PParentID = parseInt(arrSiteStruct[iter].pni);
					PParentID2 = parseInt(arrSiteStruct[iter].ni);
					PParentID3 = iter;
					tmpLevel--;
					break;
				}
			}				
			if (PParentID!=-1){
				for(iter=0; iter<arrSiteStruct.length; iter++){
					if ( PParentID==parseInt(arrSiteStruct[iter].pni) ){
						if (arrItemsLevel1!='') arrItemsLevel1+=',';
						arrItemsLevel1+=iter;
					}
				}		
				
				if (arrItemsLevel1=='') return;
				//## pobierz elementy dla pierwszego poziomu
				for(iter=0; iter<arrSiteStruct.length; iter++){
					if ( (PParentID2==parseInt(arrSiteStruct[iter].pni)) && (1==parseInt(arrSiteStruct[iter].dsp))){
						if (arrItemsLevel2!='') arrItemsLevel2+=',';
						arrItemsLevel2+=iter;
					}
				}		
			}
			curr_nodeindex2 = PParentID3;
		}
		else{
	
			//## pobierz elementy dla pierwszego poziomu
			for(iter=0; iter<arrSiteStruct.length; iter++){
				if ((curr_nodelevel==parseInt(arrSiteStruct[iter].lv)) && (curr_nodeparent==parseInt(arrSiteStruct[iter].pni)) && (1==parseInt(arrSiteStruct[iter].dsp)) ){
					if (arrItemsLevel1!='') arrItemsLevel1+=',';
					arrItemsLevel1+=iter;
				}
			}		
			if (arrItemsLevel1=='') return;
			//## pobierz elementy dla pierwszego poziomu
			for(iter=0; iter<arrSiteStruct.length; iter++){
				if ( ((curr_nodelevel+1)==parseInt(arrSiteStruct[iter].lv)) && (curr_nodeid==parseInt(arrSiteStruct[iter].pni)) && (1==parseInt(arrSiteStruct[iter].dsp)) ){
					if (arrItemsLevel2!='') arrItemsLevel2+=',';
					arrItemsLevel2+=iter;
				}
			}		
			curr_nodeindex2 = curr_nodeindex;
		}
		
		splitArr1 = arrItemsLevel1.split(',');
		if (arrItemsLevel2!='') splitArr2 = arrItemsLevel2.split(',');
		
		//#### Tworzenie HTML'a dla menu !!!
		menuContent+='<br/><table width="190" border="0" cellspacing="0" cellpadding="1">';
//		menuContent+='<tr><td colspan="3"><img src="/_images/kreska.gif" width="195" height="5"></td></tr>';
		for(giter=0; giter<splitArr1.length; giter++){

			if (blnShowOtherMenuItems || ((!blnShowOtherMenuItems) && (curr_nodeindex==parseInt(splitArr1[giter])))){
				menuContent+='<tr><td width="20" valign="top"><img src="/_images/punktor_menu.gif" hspace="4"/></td>';
				if (parseInt(arrSiteStruct[splitArr1[giter]].ds)==2){
					addStr='';
				}
				else{
					if (parseInt(arrSiteStruct[splitArr1[giter]].lv)==0) addStr=',2'; else addStr=',1';
				}
				if (curr_nodeindex==parseInt(splitArr1[giter]))
					menuContent+='<td width="170" valign="top" colspan="2" class="bmenup"><a href="javascript:cf('+arrSiteStruct[splitArr1[giter]].ni+addStr+');">'+arrSiteStruct[splitArr1[giter]].lb+'</a></td>';
				else				
					menuContent+='<td width="170" valign="top" colspan="2" class="bmenu"><a href="javascript:cf('+arrSiteStruct[splitArr1[giter]].ni+addStr+');">'+arrSiteStruct[splitArr1[giter]].lb+'</a></td>';
				menuContent+='</tr>';
				//menuContent+='<tr><td width="190" colspan="3"><img src="/_images/kreska.gif" width="195" height="5"></td></tr>';
			}
			

			//############################################## tutaj generuje się podmenu level 2
			if ((curr_nodeindex2==parseInt(splitArr1[giter])) && (arrItemsLevel2!='')){
				for(iter2=0; iter2<splitArr2.length; iter2++){
					if (parseInt(arrSiteStruct[splitArr2[iter2]].ds)==2){
						addStr='';
					}
					else{
						if (parseInt(arrSiteStruct[splitArr2[iter2]].lv)==0) addStr=',2'; else addStr=',1';
					}
					menuContent+='<tr><td width="20"></td><td valign="top" width="6"><img src="/_images/punktor_menu1.gif" hspace="2" vspace="5"/></td>';
					if (curr_nodeindex==parseInt(splitArr2[iter2]))
						menuContent+='<td width="164" valign="top" class="bmenup"><a href="javascript:cf('+arrSiteStruct[splitArr2[iter2]].ni+addStr+');">'+arrSiteStruct[splitArr2[iter2]].lb+'</a>';
					else
						menuContent+='<td width="164" valign="top" class="bmenu"><a href="javascript:cf('+arrSiteStruct[splitArr2[iter2]].ni+addStr+');">'+arrSiteStruct[splitArr2[iter2]].lb+'</a>';
					menuContent+='</td></tr>';
				}	
			//	menuContent+='<tr><td colspan="3"><img src="/_images/kreska.gif" width="195" height="5"></td></tr>';	
			}
			//###################################################################################

		}		
		menuContent+='</table>';
		
		document.getElementById('leftmenu').innerHTML=menuContent;
		}catch(e){}
	}
	
	//========================================= OnStart
	window.onload = frames_init;
	//=========================================	OnEnd