﻿var timerId=null;var timerRunning=false;var ajaxStatusEl=null;var ajaxInfoEl=null;var logStatusEl=null;var logInfoEl=null;//ponizsze tablice do wylaczania/wlaczania pol formularzyvar btns		=new Array();var inps		=new Array();var selects		=new Array();var textareas	=new Array();var linkSpans	=new Array();var MIN_SRCH_CODE_LENGTH=3;var MAX_DELIVERY_QUANTITY=1000;var MAX_SINGLE_OPER_QUANT=1000;var MAX_USER_NO_ACTIVITY_TIME=1200; //sekundy =20minvar NO_ACTIVITY_WARNING_TIME=1080;  //sekundy =18minvar CHECK_USER_ACTIVITY_INTERVAL=60000; // milisekundy function initAdvAjax(){	advAJAX.setDefaultParameters({		mimeType:"text/plain",		url:"dispatcher.php",		 timeout: 30000,		 onTimeout:function(obj){		 	alert('Przekroczono dopuszczalny czas oczekiwania na odpowiedź z serwera ('+obj.timeout/1000+'s).\n Zostanie wykonana próba odświerzenia strony');		 	location.reload(true);		 },		 //retryCount: 0,		 //retryDelay:1000,		 //onRetry : function(obj) { alert("Ponów próbę połączenia..."+obj._retryNo +" z "+obj.retryCount); },		 onLoading:function(obj){ 		 //	ajaxLoadInfo('on');			disableForms();		 	AJAX_IN_PROGRESS=true;			 },		 onComplete:function(obj){		 //	ajaxLoadInfo('off');		 	enableForms();				 	AJAX_IN_PROGRESS=false;		 },		 onError:function(obj){		 	coreError(obj.status);		 }	}); 	}function ajaxLoadInfo(stat){			var dlgHTML="<div id='ajaxLoadInfo' class='jqmWindow' style='display:none;text-align:center'><img src='templates/default/img/spin_loader.gif'><br><strong>Trwa pobieranie danych...</strong></div>";	if(document.getElementById('ajaxLoadInfo')==undefined){		$('body').append(dlgHTML);		$('#ajaxLoadInfo').jqm();	}		if(stat=='on'){		$('#ajaxLoadInfo').jqmShow({toTop:true});	}else{		$('#ajaxLoadInfo').jqmHide();	}}function getElById(id){	var el=document.getElementById(id);	if(el==undefined || el==null){		var calledFromFun=getFunName(getElById.caller);		alert(calledFromFun+" :: brak elementu :: "+id);		return false;	}	return el;	}function _depricated_$(id){ // to samo co getElById  - dla ulatwienia skrocona nazwa... :)	var el=document.getElementById(id);	if(el==undefined || el==null){		var calledFromFun=getFunName($.caller);		alert(calledFromFun+" :: brak elementu :: "+id);		return false;	}	return el;	}function getFunName(funStr){	if(funStr==null)return;	funStr=funStr.toString();	fName = funStr.substr('function '.length);        // trim off "function "    fName = fName.substr(0, fName.indexOf('('));    return(fName);     }function errLog(msg){	var calledFrom=getFunName(errLog.caller);	alert(calledFrom+" wystąpił problem : "+msg);}String.prototype.trim = function() {   return this.replace(/^\s+|\s+$/g,'');}function defined( constant_name )  {    // http://kevin.vanzonneveld.net    // +   original by: Waldo Malqui Silva    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +    revised by: Brett Zamir (http://brettz9.blogspot.com)  // %          note 1: Because this function can (albeit only temporarily) overwrite a global variable,  // %          note 1: it is not thread-safe (normally not a concern for JavaScript, but would be if used  // %          note 1: in a threaded environment, e.g., DOM worker threads)    // *     example 1: defined('IMAGINARY_CONSTANT1');    // *     returns 1: false     var tmp = this.window[constant_name];        this.window[constant_name] = this.window[constant_name] ? 'changed'+this.window[constant_name].toString() : 'changed';    var returnval = this.window[constant_name] === tmp;    if (!returnval) { // Reset        this.window[constant_name] = tmp;    }     return returnval;}function strip_tags(str, allowed_tags) {    // Strip HTML and PHP tags from a string    //     // +    discuss at: http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_strip_tags/    // +       version: 810.2110    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +   improved by: Luke Godfrey    // +      input by: Pul    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +   bugfixed by: Onno Marsman    // +      input by: Alex    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // *     example 1: strip_tags('<p>Kevin</p> <br /><b>van</b> <i>Zonneveld</i>', '<i><b>');    // *     returns 1: 'Kevin <b>van</b> <i>Zonneveld</i>'    // *     example 2: strip_tags('<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>', '<p>');    // *     returns 2: '<p>Kevin van Zonneveld</p>'    // *     example 3: strip_tags("<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>", "<a>");    // *     returns 3: '<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>'    var key = '', tag = '', allowed = false;    var matches = allowed_array = [];    var allowed_keys = {};    var replacer = function(search, replace, str) {        return str.split(search).join(replace);    };    // Build allowes tags associative array    if (allowed_tags) {        allowed_array = allowed_tags.match(/([a-zA-Z]+)/gi);    }	    str += '';    // Match tags    matches = str.match(/(<\/?[^>]+>)/gi);    // Go through all HTML tags    for (key in matches) {        if (isNaN(key)) {            // IE7 Hack            continue;        }        // Save HTML tag        html = matches[key].toString();        // Is tag not in allowed list? Remove from str!        allowed = false;        // Go through all allowed tags        for (k in allowed_array) {            // Init            allowed_tag = allowed_array[k];            i = -1;            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+'>');}            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+' ');}            if (i != 0) { i = html.toLowerCase().indexOf('</'+allowed_tag)   ;}            // Determine            if (i == 0) {                allowed = true;                break;            }        }        if (!allowed) {            str = replacer(html, "", str); // Custom replace. No regexing        }    }    return str;}//Element.prototype.getElementsByClassName = function(cl){//	var retnode = [];//	var myclass = new RegExp('\\b'+cl+'\\b');//	var elem = this.getElementsByTagName('*');//	for (var i = 0; i < elem.length; i++) {//	var classes = elem[i].className;//	if (myclass.test(classes)) retnode.push(elem[i]);//	}//	return retnode;//	};//	HTMLTableRowElement.getElementsByClassName = function(cl) {//	var retnode = [];//	var myclass = new RegExp('\\b'+cl+'\\b');//	var elem = this.getElementsByTagName('*');//	for (var i = 0; i < elem.length; i++) {//	var classes = elem[i].className;//	if (myclass.test(classes)) retnode.push(elem[i]);//	}//	return retnode;//	//}document.getElementsByClassName = function(cl) {	var retnode = [];	var myclass = new RegExp('\\b'+cl+'\\b');	var elem = this.getElementsByTagName('*');	for (var i = 0; i < elem.length; i++) {	var classes = elem[i].className;	if (myclass.test(classes)) retnode.push(elem[i]);	}	return retnode;	};//	HTMLTableRowElement.getElementsByClassName = function(cl) {//	var retnode = [];//	var myclass = new RegExp('\\b'+cl+'\\b');//	var elem = this.getElementsByTagName('*');//	for (var i = 0; i < elem.length; i++) {//	var classes = elem[i].className;//	if (myclass.test(classes)) retnode.push(elem[i]);//	}//	return retnode;//};function initGlobalPosManVars(){	startClock();	coreBrowserCheck();	ajaxStatusEl=document.getElementById('ajaxStatus');	ajaxInfoEl=document.getElementById('ajaxInfo');	logStatusEl=document.getElementById('loginStatus');	logInfoEl=document.getElementById('loginInfo');	getAllFormControls();	setInterval("coreGetUserLastActivityTime()",CHECK_USER_ACTIVITY_INTERVAL);	advAJAX.setDefaultParameters({		mimeType:"text/plain",				 timeout: 30000,		 onTimeout:function(obj){		 	alert('Przekroczono dopuszczalny czas oczekiwania na odpowiedÄ½ z serwera ('+obj.timeout/1000+'s).\n Zostanie wykonana prÃ³ba odÂ¶wierzenia strony');		 	location.reload(true);		 },		 retryCount: 0,		 retryDelay:1000,		 onRetry : function(obj) { alert("PonÃ³w prÃ³bÄ poÅÂ±czenia..."+obj._retryNo +" z "+obj.retryCount); },		 onLoading:function(obj){ 		 	disableForms();		 },		 onComplete:function(obj){		 	enableForms();		 },		 onError:function(obj){		 	coreError(obj.status);		 }		 	});	}function unlogPosManUser(){	advAJAX.post({		mimeType:"text/plain",		url:"run/user.run.php",		parameters:{			"run":"unload_unlog_user"		},		onSuccess:function(obj){alert('unlog ok')},		onError:function(){alert('unlog error');}	});}function coreMainNavigation(navParam){	document.location='index.php?nav='+navParam;	}function isNumeric(sText){   var validChars = "0123456789";   var isNumber=true;   var ch;   for (i = 0; i < sText.length && isNumber == true; i++)       {       ch = sText.charAt(i);       if (validChars.indexOf(ch) == -1)          {         isNumber = false;         }      }   return isNumber; }  function stopClock(){  if (timerRunning) cleartimeout(timerId);  timerRunning=false;}function showTime(){  var data=new Date();  var godziny=data.getHours();  var minuty=data.getMinutes();      minuty=((minuty<10)? ":0": ":")+minuty;  var sekundy=data.getSeconds();      sekundy=((sekundy<10)? ".0": ".")+sekundy;  var czas=""+godziny+minuty+sekundy;  var el=document.getElementById('posManClock');  if(el!=null){  	el.innerHTML=czas;  	timerId=setTimeout("showTime()",100);  	timerRunning=true;	  }  }function startClock (){  stopClock();  showTime();}/* * metody przetwarzania XML */ function xmlGetFirstChildValue(xmlObj){ 	/* 	 * pobiera obiekt XML 	 * zwraca wartosc pierwszego wezla 	 */ 	var ch=xmlObj.documentElement.childNodes; 	ch=xmlPrepArr(ch);	if(ch.length>0){		return ch[0].firstChild.nodeValue;	}else{		alert("brak wÄzÅÃ³w odpowiedzi");		return null;	}	 } function xmlPrepArr(elArr){ 	/* 	 * pobiera tablice wezlow XML (z wyniku .childNodes) 	 * przeprowadza sprawdzanie typow dla kompatybilnosci IE/inne  	 */ 	var newArr=new Array(); 	var j=0; 	for(var i=0;i<elArr.length;i++){ 		if(elArr[i].nodeType==1){ // jesli typ==1 to mamy wezel, else to moze byc np. bialy znak w ff 			newArr[j]=elArr[i]; 			j++; 		} 	} 	return newArr; }/* * metody do informacji o przetwarzaniu ajax */ var statOp=1; //opacity start 1..0function infoShow(){	//statOp=1;	ajaxStatusEl.style.opacity=1;  //0-1	ajaxStatusEl.style.filter='alpha(opacity=100)';	if(ajaxStatusEl!=null)		ajaxStatusEl.style.display='block';}function infoSet(info){	if(ajaxInfoEl!=null){		ajaxInfoEl.innerHTML=info;		infoShow();	}}function infoSetHide(info){		if(statOp==1){	statOp=0.99;		if(ajaxInfoEl!=null){			ajaxStatusEl.style.opacity=1;  //0-1			ajaxStatusEl.style.filter='alpha(opacity=100)';			ajaxInfoEl.innerHTML=info;			infoShow();					 setTimeout("infoFadeOut()",4000);		}	}else{		if(ajaxInfoEl!=null)ajaxInfoEl.innerHTML=info;		statOp=0.99;	}	}function infoFadeOut() {	if(ajaxStatusEl!=null){		statOp=statOp-0.05;		ajaxStatusEl.style.opacity=statOp;  //0-1		ajaxStatusEl.style.filter = 'alpha(opacity=' + statOp*100 + ')';//0-100		if(statOp>0.1){			setTimeout('infoFadeOut()',100);		}else{			ajaxStatusEl.style.display='none';			statOp=1;		}	}		}/* * do logInfo */ var logStatOp=1;	// opacity 1..0 function logInfoShow(){ 	//logStatOp=1;	if(logStatusEl!=null)		logStatusEl.style.display='block';}function logInfoSet(info){	if(logInfoEl!=null){		logInfoEl.innerHTML=info;		logInfoShow();	}}function logInfoSetHide(info){	if(logStatOp==1){	logStatOp=0.99;	if(logInfoEl!=null){		logStatusEl.style.opacity=1;  //0-1		logStatusEl.style.filter='alpha(opacity=100)';		logInfoEl.innerHTML=info;		logInfoShow();		setTimeout("logInfoFadeOut()",4000);	}else{		alert('brak logInfoEl')			}	}}function logInfoFadeOut() {	if(logStatusEl!=null){		logStatOp=logStatOp-0.02;		logStatusEl.style.opacity=logStatOp;  //0-1		logStatusEl.style.filter = 'alpha(opacity=' + statOp*100 + ')';//0-100		if(logStatOp>0.1){			setTimeout('logInfoFadeOut()',100);		}else{			logStatusEl.style.display='none';			logStatOp=1;		}	}		}///////////////function getAllFormControls(){	btns=null;	btns=document.getElementsByTagName('button');				var tmpInps=document.getElementsByTagName('input');	var inpCount=0;	for(var i=0;i<tmpInps.length;i++){//alert(tmpInps[i].disabled);		//if (tmpInps[i].disabled==false){			inps[inpCount]=tmpInps[i];			inpCount++;				//}	}				var tmpSel=document.getElementsByTagName('select');	var selCount=0;	for(var i=0; i< tmpSel.length; i++){		if(tmpSel[i].disabled==false){			selects[selCount]=tmpSel[i];			selCount++;		}	}	textareas	=document.getElementsByTagName('textarea');	/*var linkSpans1 	=document.getElementsByClassName('extCancellRequest');	var linkSpans2 	=document.getElementsByClassName('extSetOnTheWay');	var linkSpans3 	=document.getElementsByClassName('relPosBtn');	var linkSpans4 	=document.getElementsByClassName('relPosCancellBtn');	var linkSpans5 	=document.getElementsByClassName('relReqCancellBtn');		linkSpans=linkSpans1.concat(linkSpans2,linkSpans3,linkSpans4, linkSpans5);	*/ }function disableForms(){ return;	getAllFormControls();	alert(inps.length);	for(var i=0;i<btns.length;i++){		btns[i].disabled=true;	}	for(var i=0;i<inps.length;i++){		inps[i].disabled=true;		//inps[i].style.background="lime";	}	for(var i=0;i<selects.length;i++){		selects[i].disabled=true;	}	for(var i=0;i<textareas.length;i++){		textareas[i].disabled=true;	}	for(var i=0;i<linkSpans.length;i++){		linkSpans[i].style.display='none';	}	}function enableForms(){return;	//alert(inps.length);	getAllFormControls();	alert(inps.length);	for(var i=0;i<btns.length;i++){			btns[i].disabled=false;	}		for(var i=0;i<inps.length;i++){		inps[i].disabled=false;		inps[i].style.background="lime";	}	for(var i=0;i<selects.length;i++){		selects[i].disabled=false;	}	for(var i=0;i<textareas.length;i++){		textareas[i].disabled=false;	}		for(var i=0;i<linkSpans.length;i++){		linkSpans[i].style.display='block';	}}function ddisableForms(){	getAllFormControls();	alert(inps.length);	for(var i=0;i<btns.length;i++){		btns[i].disabled=true;	}	for(var i=0;i<inps.length;i++){		inps[i].disabled=true;		//inps[i].style.background="lime";	}	for(var i=0;i<selects.length;i++){		selects[i].disabled=true;	}	for(var i=0;i<textareas.length;i++){		textareas[i].disabled=true;	}	for(var i=0;i<linkSpans.length;i++){		linkSpans[i].style.display='none';	}	}function eenableForms(){	//alert(inps.length);	getAllFormControls();	alert(inps.length);	for(var i=0;i<btns.length;i++){			btns[i].disabled=false;	}		for(var i=0;i<inps.length;i++){		inps[i].disabled=false;		inps[i].style.background="lime";	}	for(var i=0;i<selects.length;i++){		selects[i].disabled=false;	}	for(var i=0;i<textareas.length;i++){		textareas[i].disabled=false;	}		for(var i=0;i<linkSpans.length;i++){		linkSpans[i].style.display='block';	}}function submitOnEnterKey(e, functionName){	//functionName - funkcja do odpalenia gdy wcisniety zostanie klawisz enter	var keyNum;		if(window.event) // IE	  {	  keyNum = e.keyCode;	  }	else if(e.which) // Netscape/Firefox/Opera	  {	  keyNum = e.which;	  }	 	 if(keyNum==13){ //13 - kod klawisza enter                var regexp = /^.*\(\);?$/;                if (regexp.test(functionName)) {                    var el = e.target;                    functionName = functionName.replace("()","(el)");                }                	 	setTimeout(function(){eval(functionName)}, 10);	 } 	}function coreShowTab(clickedTabId, toShowId, toHideClass){		var toHide=document.getElementsByClassName(toHideClass);	for(var i=0;i<toHide.length;i++){		toHide[i].style.display='none';	}	var toShowEl=document.getElementById(toShowId);	toShowEl.style.display='block';		var tabs=document.getElementsByClassName('selected');	for(var i=0;i<tabs.length;i++){		tabs[i].className='tabLink';	}	var clickedTab=document.getElementById(clickedTabId);	clickedTab.className='selected';}function coreGetRadioValue(radioName){	var radioArr=document.getElementsByName(radioName);	if(radioArr!=null)		for(var i=0;i<radioArr.length;i++){			if(radioArr[i].checked==true)				return radioArr[i].value;		}	return 0;//jesli nie znaleziono zaznaczonego elementu radio }function coreDeselectRadios(rName){	var radioArr=document.getElementsByName(rName);	if(radioArr!=null)		for(var i=0;i<radioArr.length;i++){			radioArr[i].checked=false;		}	}function diagLogAs(log,pass){	var usEl=document.getElementById('username');	var passEl=document.getElementById('password');	usEl.value=log;	passEl.value=pass;	ajaxLogUser();	}function coreBrowserCheck(){	var broEl=document.getElementById('browserWarning');	if(navigator.appName=="Microsoft Internet Explorer"){		broEl.style.display='block';		broEl.innerHTML='UWAGA! System PosMan wspÃ³Åpracuje najlepiej z przeglÂ±darkÂ± <a href=\'http://firefox.pl\'>Mozilla FireFox</a><br> Twoja przeglÂ±darka to <big>Internet Explorer</big><br>NiektÃ³re funkcje mogÂ± niedziaÅaÄ lub system moÅ¼e funkcjonowaÄ niestabilnie.';			}else{		broEl.style.display='none';			}	}function changeListSize(flag,list1,list2){	var listEl1=document.getElementById(list1);	var listEl2=document.getElementById(list2);	if(listEl1==null || listEl2==null){		alert('changeListSize():: brak '+list1+' lub '+list2);		return;	}	if(flag<0){		if(listEl1.offsetHeight>41)		listEl1.style.height=(listEl1.offsetHeight-40)+"px";		if(listEl2.offsetHeight>41)		listEl2.style.height=(listEl2.offsetHeight-40)+"px";		}else{		listEl1.style.height=(listEl1.offsetHeight+40)+"px";		listEl2.style.height=(listEl2.offsetHeight+40)+"px";	}}function selectAllChecks(checkboxName){	var chcks=document.getElementsByName(checkboxName);	if(chcks==null){		alert('selectAllChecks():: brak elementu '+checkboxName);		return;	}	for(var i=0;i<chcks.length;i++)			chcks[i].checked=true;}function deselectAllChecks(checkboxName){	var chcks=document.getElementsByName(checkboxName);	if(chcks==null){		alert('selectAllChecks():: brak elementu '+checkboxName);		return;	}	for(var i=0;i<chcks.length;i++)			chcks[i].checked=false;}function coreShowPosInfo(posCode){	var newWindow=window.open("popups/posTemplateInfo.php?pos_code="+posCode, "DescriptiveWindowName", "resizable=no,width=800, height=600, scrollbars=yes,status=no, top=200" );		if (window.focus) {newWindow.focus();}}		function clearInput(txtInput){	//czysci domyslna zawartosc : 0	if(txtInput.value.trim()=='0')		txtInput.value='';	}	function setDefaultInputValue(el,val){	if(el.value.trim()=='')		el.value=val;	}function onlyReal(inp,fixed){	onlyCurrency(inp,fixed);}function onlyCurrency(inp, fixed){	if(fixed==undefined)		fixed=2;	var num = inp.value.toString().replace(',','.');	var currencyValue=parseFloat(num).toFixed(fixed);	if(isNaN(currencyValue)){		if(inp.hasAttribute('defaultValue')){			if(inp.getAttribute('defaultValue')!=undefined){				currencyValue=inp.getAttribute('defaultValue');			}		}else				currencyValue=0;	}	inp.value=currencyValue;	}function onlyInteger(txtInput){	var sText=txtInput.value;			   var validChars = "0123456789";      var ch;   for (i = 0; i < sText.length; i++)       {       ch = sText.charAt(i);       if (validChars.indexOf(ch) == -1)          {         	infoSetHide('Proszę wprowadzić wartość liczbową!');         	if(i!=0 && i< sText.length){         		var old=sText;         		sText=old.substring(0,i);         		sText+=old.substring(i+1);         	}else if(i==0){         		var old=sText;         		sText=old.substring(i+1);		         	}else if(i==sText.length-1){         		var old=sText;         		sText=old.substring(0,i);         		         		          	}         }      }   txtInput.value=sText;   if(!isNumeric(sText))   	onlyInteger(txtInput);	}	function onlyAlfaNum(txtInput){	var sText=txtInput.value;			   var validChars = "abcdefghijklmnoprstquwxyzABCDEFGHIJKLMNOPRSTQUWXYZ_0123456789";      var ch;   for (i = 0; i < sText.length; i++)       {       ch = sText.charAt(i);       if (validChars.indexOf(ch) == -1)          {         	infoSetHide('Proszę wprowadzić wartość liczbową!');         	if(i!=0 && i< sText.length){         		var old=sText;         		sText=old.substring(0,i);         		sText+=old.substring(i+1);         	}else if(i==0){         		var old=sText;         		sText=old.substring(i+1);		         	}else if(i==sText.length-1){         		var old=sText;         		sText=old.substring(0,i);         		         		          	}         }      }   txtInput.value=sText;   //if(!isNumeric(sText))   //	onlyAlfaNum(txtInput);	}function coreGetUserLastActivityTime(){	advAJAX.post({		timeout:0,		mimeType:"text/plain",		url:"auth/user_get_last_activity_time.php",		onSuccess:function(obj){			//alert(obj.responseText);			if(obj.responseText.trim() >=MAX_USER_NO_ACTIVITY_TIME && obj.responseText.trim()< 10000000){				document.location='./auth/user_logout.php?info=1';				}else if(obj.responseText.trim() >=NO_ACTIVITY_WARNING_TIME && obj.responseText.trim()< 10000000){				infoSet("UWAGA!<br>Wykryto bezczynnoÂ¶Ä. Wylogowanie nastÂ±pi za "+(MAX_USER_NO_ACTIVITY_TIME-NO_ACTIVITY_WARNING_TIME )+" sek.<br><button onclick='coreUserActivity()'>przedÅuÅ¼ sesje!</button>"	);			}		},		 onLoading:function(obj){			//alert('load');		 },		 onComplete:function(obj){		 	//alert('complete');		 },		 		onError:function(){					}	});}function coreUserActivity(){	//przedluzenie sesji uzytkownika	//po kliknieciu na guziku 'awaryjnym'	infoSetHide('Sesja uÅ¼ytkownika przedÅuÅ¼ona');	advAJAX.post({		mimeType:"text/plain",		timeOut:3000,		retry:10,		url:"auth/user_stretch_session_time.php",		onSuccess:function(obj){					},		onError:function(){			alert('coreUserActivity() :: ajax error');		}	});		}function coreError(errInfo){		//alert(errInfo); //debugInfo		//alert('Serwer nie odpowiada.\nIstnieją dwie możliwe przyczyny tej sytuacji:\n1. Serwer jest przeciążony.\n2. Wystąpił problem z Twoim połączeniem internetowym.\nSprobuj wykonać operację ponownie.');	enableForms();	infoSetHide('Brak poÅÂ±czenia z serwerem.');		}function filterTable(tabId, cont){	//cont = to element rodzic tabeli ktora chcemy przefiltrowac	//wewnatrz niego bedziemy umieszczac kontrolki filtracji		var tab=document.getElementById(tabId);	if(tab==undefined){		return; // gdy  nie znajdziemy tabelki do filtracji - zaniechaj dalszych dzialan	}	if(cont==undefined){		var contener=tab.parentNode;	}else		var contener=document.getElementById(cont);			if(contener==undefined)		return;				if(document.getElementById(tabId+'filter')==undefined){			var fDiv=document.createElement('div');		fDiv.className="filter";		fDiv.setAttribute("id",tabId+'filter');		fDiv.innerHTML='Filtracja: ';		var sCols=document.createElement('select');		sCols.setAttribute("id",tabId+"_colNames");		var sVals=document.createElement('select');		sVals.setAttribute("id", tabId+"_colValues");		fDiv.appendChild(sCols);		fDiv.appendChild(sVals);		var noFiltOption=new Option('brak filtracji','noFilter');		noFiltOption.onclick=function(){noFilterTable(tabId);};		sCols.options[sCols.options.length]=noFiltOption;	}else{		sCols=document.getElementById(tabId+"_colNames");		sVals=document.getElementById(tabId+"_colValues");			sCols.options.length=1;		sVals.options.length=0;	}			var tHead=tab.getElementsByTagName( 'thead' )[0];		if(tHead==undefined){		infoSetHide('brak sekcji thead w tabeli '+tabId);		return;	}	var ths=tHead.getElementsByTagName('th');			for(var i=0; i<ths.length; i++){			if(ths[i].childNodes[0].innerHTML.trim()!=''){					var op=new Option(ths[i].childNodes[0].innerHTML, i);				sCols.options[sCols.options.length]=op;					//$('body').append("<div 	id='dialogx'>trwa analiza kolumny</div>");		op.onclick=function(){ //wybrano kolumne z pierwszego selecta			//wyczysc drugi select								//$('#dialogx').dialog();			sVals.options.length=0;			var colIndex=this.value;	//index wybranej kolumny			var tbody=tab.getElementsByTagName('tbody')[0];			if(tbody==undefined){				infoSetHide('brak tbody');				return;						}			//zwijanie ewentualnie rozwinietych wierszy w tabeli moje posy dla asr			if(tabId=='myReturnablePosTab'){				var rowsToDel=document.getElementsByClassName('posRetInsRow');				for(var i =0; i< rowsToDel.length; i++)					tab.getElementsByTagName('tbody')[0].removeChild(rowsToDel[i]);			}//koniec zwijania			//zwijanie ewnentualnie rozwinietych wierszy w tabeli inwentaryzacji			if(tabId=='invMainTab'){				var rowsToDel=document.getElementsByClassName('invMainTabDetailsRow');				for(var i =0; i< rowsToDel.length; i++)					tab.getElementsByTagName('tbody')[0].removeChild(rowsToDel[i]);			}//koniec zwijania						for(var i=0;i<tbody.rows.length;i++){	// petla po wszystkich wierszach tabelki				//tbody.rows[i].cells[colIndex].innerHTML.match(/[\/(][\s\S]*[\/)]/) // wywala wszystko w nawiasach				//najpierw sprawdz czy takiej wartosci nie ma juz przypadkiem w selekcie				var isInSelect=false; // flaga okreslajaca czy aktualnie przetwarzana wartosc kolumy jest juz w selekcie				for(var j=0; j< sVals.options.length; j++){					//alert(tbody.rows[i].cells[colIndex].innerHTML.replace(/[\/(][\s\S]*[\/)]/,""));					var currValue=strip_tags(tbody.rows[i].cells[colIndex].innerHTML.replace(/[\/(][\s\S]*[\/)]/,"")).trim();					if(currValue.trim()==''){//proba siegniecia w glab jesli komorka jest pusta						if(currValue=tbody.rows[i].cells[colIndex].childNodes[0]!=undefined)							currValue=tbody.rows[i].cells[colIndex].childNodes[0].innerHTML;						}											if(strip_tags(sVals.options[j].text).trim()==currValue){						// znaleziono odpowiednia wartosc w tablicy...						isInSelect=true;											}									}				if(!isInSelect){					var currValue=strip_tags(tbody.rows[i].cells[colIndex].innerHTML.replace(/[\/(][\s\S]*[\/)]/,""));								if(currValue.trim()==''){						if(currValue=tbody.rows[i].cells[colIndex].childNodes[0]!=undefined)						currValue=tbody.rows[i].cells[colIndex].childNodes[0].innerHTML;					}					var option=new Option(currValue,currValue);					sVals.options[sVals.options.length]=option;					option.onclick=function(){ 	// klikniecie na opcji w selekcjie 2(WYBOR WARTOSCI) 												// FILTRACJA TABELI!																		for(var k=0;k<tbody.rows.length;k++){							var currCell=strip_tags(tbody.rows[k].cells[colIndex].innerHTML.replace(/[\/(][\s\S]*[\/)]/,"")).trim();							if(currCell.trim()==''){ //proba siegniecia wglab, jesli komorka jest pusta								if(tbody.rows[k].cells[colIndex].childNodes[0]!=undefined)									currCell=tbody.rows[k].cells[colIndex].childNodes[0].innerHTML;							}							if(currCell == this.value.trim()){																//pokaz								tbody.rows[k].style.display='';							}else{								//ukryj																tbody.rows[k].style.display='none';							}						}						zebraTable(tabId);						if(document.getElementById(tabId+"_totalQ")!=undefined){ // jesli tabela ma wlaczone podliczanie sumy to wykonaj ponowne przeliczenie po przefiltrowaniu							countTable(tabId);						}						if(document.getElementById(tabId+"_totalAll")!=undefined){ // jesli tabela ma wlaczone podliczanie sumy to wykonaj ponowne przeliczenie po przefiltrowaniu							countTableAll(tabId);						}					}				}			}			//$('#dialogx').dialog('destroy');		};	  }		}		if(document.getElementById(tabId+'filter')==undefined)		contener.insertBefore(fDiv,document.getElementById(tabId));						}function old_filterTable(tabId){	newFilter(tabId);	var tab=document.getElementById(tabId);	var sCols=document.getElementById('filColNames');	var sVals=document.getElementById('filColValues');	while(sCols.options.length>1)sCols.options.length=1;	sVals.options.length=0;	if(tab==undefined){		infoSetHide('brak elementu o id='+tabId);		return;	}	var tHead=tab.getElementsByTagName( 'thead' )[0];		if(tHead==undefined){		infoSetHide('brak sekcji thead w tabeli '+tabId);		return;	}	var ths=tHead.getElementsByTagName('th');		for(var i=0; i<ths.length; i++){		var op=new Option(ths[i].childNodes[0].innerHTML, i);		sCols.options[sCols.options.length]=op;				op.onclick=function(){ //wybrano kolumne z pierwszego selecta			//wyczysc drugi select			sVals.options.length=0;			var colIndex=this.value;	//index wybranej kolumny			var tbody=tab.getElementsByTagName('tbody')[0];			if(tbody==undefined){				infoSetHide('brak tbody');				return;						}			for(var i=0;i<tbody.rows.length;i++){	// petla po wszystkich wierszach tabelki				//tbody.rows[i].cells[colIndex].innerHTML.match(/[\/(][\s\S]*[\/)]/)				//najpierw sprawdz czy takiej wartosci nie ma juz przypadkiem w selekcie				var isInSelect=false; // flaga okreslajaca czy aktualnie przetwarzana wartosc kolumy jest juz w selekcie				for(var j=0; j< sVals.options.length; j++){					//alert(tbody.rows[i].cells[colIndex].innerHTML.replace(/[\/(][\s\S]*[\/)]/,""));					var currValue=strip_tags(tbody.rows[i].cells[colIndex].innerHTML.replace(/[\/(][\s\S]*[\/)]/,"")).trim();					if(strip_tags(sVals.options[j].text).trim()==currValue){						// znaleziono odpowiednia wartosc w tablicy...						isInSelect=true;											}									}				if(!isInSelect){					var option=new Option(strip_tags(tbody.rows[i].cells[colIndex].innerHTML.replace(/[\/(][\s\S]*[\/)]/,"")),strip_tags(tbody.rows[i].cells[colIndex].innerHTML.replace(/[\/(][\s\S]*[\/)]/,"")));					sVals.options[sVals.options.length]=option;					option.onclick=function(){ 	// klikniecie na opcji w selekcjie 2(WYBOR WARTOSCI) 												// FILTRACJA TABELI!																		for(var k=0;k<tbody.rows.length;k++){							if(strip_tags(tbody.rows[k].cells[colIndex].innerHTML.replace(/[\/(][\s\S]*[\/)]/,"")).trim() == this.value.trim()){								//pokaz								tbody.rows[k].style.display='';							}else{								//ukryj																tbody.rows[k].style.display='none';							}						}					}				}			}					};			}	}function noFilterTable(tabId){	//kasuje filtracje z podanej tabelki	var tabEl=document.getElementById(tabId);		if(tabEl==undefined){		infoSetHide('brak tabeli o id = '+tabId);		return;	}		var tbody=tabEl.getElementsByTagName('tbody')[0];			if(tbody==undefined){				infoSetHide('brak tbody');				return;						}				for(var i=0;i<tbody.rows.length;i++){	// petla po wszystkich wierszach tabelki		tbody.rows[i].style.display="";						}	zebraTable(tabId);	if(document.getElementById(tabId+"_totalQ")!=undefined){ // jesli tabela ma wlaczone podliczanie sumy to wykonaj ponowne przeliczenie po przefiltrowaniu		countTable(tabId);	}	if(document.getElementById(tabId+"_totalAll")!=undefined){ // jesli tabela ma wlaczone podliczanie sumy to wykonaj ponowne przeliczenie po przefiltrowaniu		countTableAll(tabId);	}}function clearFilterSelects(tabId){	//tabId = id tabelki dla ktorej chcemy wyczyscic selecty	//id selectow utworzone zostaly na podstawie takiej: tabId+'_colNames' / tabId+'_colValues'	var sCols=document.getElementById(tabId+'_colNames');	var sVals=document.getElementById(tabId+'_colValues');	if(sCols==undefined || sVals==undefined){		return; // jesli nei utworzono jeszcze selectow(bo np. nie ma wynikow w tabeli) to zakoncz funkcje 	}	sCols.options.length=1;	sVals.options.length=0;	}function countTable(tabId){ 	if(document.getElementById(tabId) == undefined)		return;	var rows=document.getElementById(tabId).getElementsByTagName('tbody')[0].getElementsByTagName('tr');	var total=0;	for(var i=0; i< rows.length ; i++){		var lastCellIndex=rows[i].cells.length-1;		if(rows[i].style.display!='none')		total+=parseInt(rows[i].cells[lastCellIndex].innerHTML,10);			}	var totalElement=document.getElementById(tabId+"_totalQ");	if(totalElement==undefined){		var parentEl=document.getElementById(tabId).parentNode;		var newTotalEl=document.createElement("div");		newTotalEl.innerHTML="suma : "+total;		newTotalEl.className="totalQ";		newTotalEl.id=tabId+"_totalQ";		parentEl.insertBefore(newTotalEl, document.getElementById(tabId).nextSibling);			}else{		totalElement.innerHTML="suma : "+total;	}}function countTableAll(tabId){	if(document.getElementById(tabId) == undefined)		return;	var ths=document.getElementById(tabId).getElementsByTagName('th');	var rows=document.getElementById(tabId).getElementsByTagName('tbody')[0].getElementsByTagName('tr');		var totals=new Object();	for(var i =0; i<ths.length; i++){		totals[ths[i].childNodes[0].innerHTML]=0;		for(var j=0 ; j<rows.length; j++){			if(rows[j].style.display!='none'){				if(rows[j].cells[i].childNodes[0].tagName=="INPUT" && rows[j].cells[i].childNodes[0].getAttribute('type')=='text'){					//alert(parseFloat(rows[j].cells[i].childNodes[0].value)); 					totals[ths[i].childNodes[0].innerHTML]+=parseFloat(rows[j].cells[i].childNodes[0].value);					}else{					totals[ths[i].childNodes[0].innerHTML]+=parseFloat(rows[j].cells[i].innerHTML);				}			}			}	}		var totalElement=document.getElementById(tabId+"_totalAll");	if(totalElement==undefined){		var parentEl=document.getElementById(tabId).parentNode;		var newTotalEl=document.createElement("div");		newTotalEl.innerHTML="<strong>sumy</strong><br>";		for(var i=0; i< ths.length; i++){			if(!isNaN(totals[ths[i].childNodes[0].innerHTML]))			newTotalEl.innerHTML+=ths[i].childNodes[0].innerHTML +" : "+roundNumber(totals[ths[i].childNodes[0].innerHTML],2)+"<br>";		}				newTotalEl.className="totalAll";		newTotalEl.id=tabId+"_totalAll";		parentEl.insertBefore(newTotalEl, document.getElementById(tabId).nextSibling);			}else{		totalElement.innerHTML="<strong>sumy</strong><br>";		for(var i=0; i< ths.length; i++){			if(!isNaN(totals[ths[i].childNodes[0].innerHTML]))			totalElement.innerHTML+=ths[i].childNodes[0].innerHTML +" : "+roundNumber(totals[ths[i].childNodes[0].innerHTML],2)+"<br>";		}	}}function zebraTable(tabId){	//zebrowanie tabelek po filtracji...	var tab=document.getElementById(tabId);		if(tab==undefined)		return;			var tb=tab.getElementsByTagName('tbody')[0];		var visRows=new Array();	var ile=0;	for(var i=0; i<tb.rows.length;i++){		if(tb.rows[i].style.display!='none'){			visRows[ile]=tb.rows[i];			ile++;		}	}	for(var i=0;i<visRows.length;i++){		if(i % 2!=0){			visRows[i].className='zebra';					}else{			visRows[i].className='';		}	}		}/*Element.prototype.deleteTBody=function(){	var tb=this.getElementsByTagName('tbody')[0];	if(tb!=undefined){		this.removeChild(tb);			}}* */function coreToggleVis(elId){	var el=document.getElementById(elId);	if(el.tagName=="TABLE"){		if(el.style.display=="none"){			el.style.display="table";		}else if(el.style.display=="table"){			el.style.display="none";		}	}else{		if(el.style.display=="none"){			el.style.display="block";		}else if(el.style.display=="block"){			el.style.display="none";		}		}	}function tableCaption(tabEl, cap){		tabEl.createCaption().innerHTML=cap;}function tableHeaders(tabEl, thLabs){	//thLabs -  tablica etykiet tekstowych do wstawienia w th	var ths=[]; // tablica elementow th	var thead=tabEl.createTHead();	var fRow=thead.insertRow(-1);	fRow.className="header";	for (var i=0; i<thLabs.length; i++){		ths[i]=document.createElement('th');		ths[i].innerHTML="<div class='thLabel'>"+thLabs[i]+"</div>";		fRow.appendChild(ths[i]);	}}function tableAddRow(tabEl, rowVals, doOnClick, clsName, widths, style){	//IE6+ compatible :)	var tbody=null;	if(tabEl.tBodies[0]==undefined){		tbody=document.createElement('tbody');		tabEl.appendChild(tbody);	}else		tbody=tabEl.tBodies[0];				var newRow=document.createElement('tr'); // to nie dziala w ie 	tbody.appendChild(newRow);	//var newRow=tabEl.insertRow(-1); 	for(var i = 0 ; i<rowVals.length; i++){		var ncell=newRow.insertCell(-1);		ncell.innerHTML=(rowVals[i]);		if(widths!=undefined){			ncell.style.width=widths[i]+"px";		}	}				if(doOnClick!=undefined && doOnClick!=null){		newRow.setAttribute('onclick', doOnClick);	}	if(clsName!=undefined && clsName!=null){		newRow.className=clsName;	}	if(style!=undefined && style!=null){alert(style);		newRow.setAttribute('style', style);	}}function tableMarkCol(tab, colInd, clsName, colWidth){	var tbody=tab.tBodies[0];	for(var i=0; i<tbody.rows.length; i++){		for(j=0; j<tbody.rows[i].cells.length; j++){			if(j==colInd){				tbody.rows[i].cells[j].className=clsName;				if(colWidth!=undefined)					tbody.rows[i].cells[j].style.width=colWidth+"px";			}			}	}	}function tableClearAll(tabEl){	tabEl.deleteCaption();	tabEl.deleteTHead();	//tabEl.deleteTBody(); // ie tego nie obsluguje	while(tabEl.rows.length>0)		tabEl.deleteRow(-1);	tabEl.deleteTFoot();}function tableDeleteTBody(tabEl){	if(tabEl==undefined)return;	var tb=tabEl.getElementsByTagName('tbody')[0];	if(tb!=undefined){		this.removeChild(tb);			}}function htmlentities (string, quote_style) {    // http://kevin.vanzonneveld.net    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +   improved by: nobbler    // +    tweaked by: Jack    // +   bugfixed by: Onno Marsman    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // -    depends on: get_html_translation_table    // *     example 1: htmlentities('Kevin & van Zonneveld');    // *     returns 1: 'Kevin &amp; van Zonneveld'    // *     example 2: htmlentities("foo'bar","ENT_QUOTES");    // *     returns 2: 'foo&#039;bar'     var histogram = {}, symbol = '', tmp_str = '', entity = '';    tmp_str = string.toString();        if (false === (histogram = this.get_html_translation_table('HTML_ENTITIES', quote_style))) {        return false;    }        for (symbol in histogram) {        entity = histogram[symbol];        tmp_str = tmp_str.split(symbol).join(entity);    }        return tmp_str;}function addslashes( str ) {    // http://kevin.vanzonneveld.net    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +   improved by: Ates Goral (http://magnetiq.com)    // +   improved by: marrtins    // +   improved by: Nate    // +   improved by: Onno Marsman    // *     example 1: addslashes("kevin's birthday");    // *     returns 1: 'kevin\'s birthday'     return (str+'').replace(/([\\"'])/g, "\\$1").replace(/\0/g, "\\0");}function htmlspecialchars (string, quote_style) {    // http://kevin.vanzonneveld.net    // +   original by: Mirek Slugen    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +   bugfixed by: Nathan    // +   bugfixed by: Arno    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // -    depends on: get_html_translation_table    // *     example 1: htmlspecialchars("<a href='test'>Test</a>", 'ENT_QUOTES');    // *     returns 1: '&lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;'     var histogram = {}, symbol = '', tmp_str = '', entity = '';    tmp_str = string.toString();        if (false === (histogram = this.get_html_translation_table('HTML_SPECIALCHARS', quote_style))) {        return false;    }        for (symbol in histogram) {        entity = histogram[symbol];        tmp_str = tmp_str.split(symbol).join(entity);    }        return tmp_str;}function get_html_translation_table(table, quote_style) {    // http://kevin.vanzonneveld.net    // +   original by: Philip Peterson    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +   bugfixed by: noname    // +   bugfixed by: Alex    // +   bugfixed by: Marco    // +   bugfixed by: madipta    // +   improved by: KELAN    // +   improved by: Brett Zamir (http://brettz9.blogspot.com)    // %          note: It has been decided that we're not going to add global    // %          note: dependencies to php.js. Meaning the constants are not    // %          note: real constants, but strings instead. integers are also supported if someone    // %          note: chooses to create the constants themselves.    // *     example 1: get_html_translation_table('HTML_SPECIALCHARS');    // *     returns 1: {'"': '&quot;', '&': '&amp;', '<': '&lt;', '>': '&gt;'}        var entities = {}, histogram = {}, decimal = 0, symbol = '';    var constMappingTable = {}, constMappingQuoteStyle = {};    var useTable = {}, useQuoteStyle = {};        // Translate arguments    constMappingTable[0]      = 'HTML_SPECIALCHARS';    constMappingTable[1]      = 'HTML_ENTITIES';    constMappingQuoteStyle[0] = 'ENT_NOQUOTES';    constMappingQuoteStyle[2] = 'ENT_COMPAT';    constMappingQuoteStyle[3] = 'ENT_QUOTES';     useTable     = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS';    useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT';     if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') {        throw Error("Table: "+useTable+' not supported');        // return false;    }     // ascii decimals for better compatibility    entities['38'] = '&amp;';    if (useQuoteStyle !== 'ENT_NOQUOTES') {        entities['34'] = '&quot;';    }    if (useQuoteStyle === 'ENT_QUOTES') {        entities['39'] = '&#039;';    }    entities['60'] = '&lt;';    entities['62'] = '&gt;';     if (useTable === 'HTML_ENTITIES') {      entities['160'] = '&nbsp;';      entities['161'] = '&iexcl;';      entities['162'] = '&cent;';      entities['163'] = '&pound;';      entities['164'] = '&curren;';      entities['165'] = '&yen;';      entities['166'] = '&brvbar;';      entities['167'] = '&sect;';      entities['168'] = '&uml;';      entities['169'] = '&copy;';      entities['170'] = '&ordf;';      entities['171'] = '&laquo;';      entities['172'] = '&not;';      entities['173'] = '&shy;';      entities['174'] = '&reg;';      entities['175'] = '&macr;';      entities['176'] = '&deg;';      entities['177'] = '&plusmn;';      entities['178'] = '&sup2;';      entities['179'] = '&sup3;';      entities['180'] = '&acute;';      entities['181'] = '&micro;';      entities['182'] = '&para;';      entities['183'] = '&middot;';      entities['184'] = '&cedil;';      entities['185'] = '&sup1;';      entities['186'] = '&ordm;';      entities['187'] = '&raquo;';      entities['188'] = '&frac14;';      entities['189'] = '&frac12;';      entities['190'] = '&frac34;';      entities['191'] = '&iquest;';      entities['192'] = '&Agrave;';      entities['193'] = '&Aacute;';      entities['194'] = '&Acirc;';      entities['195'] = '&Atilde;';      entities['196'] = '&Auml;';      entities['197'] = '&Aring;';      entities['198'] = '&AElig;';      entities['199'] = '&Ccedil;';      entities['200'] = '&Egrave;';      entities['201'] = '&Eacute;';      entities['202'] = '&Ecirc;';      entities['203'] = '&Euml;';      entities['204'] = '&Igrave;';      entities['205'] = '&Iacute;';      entities['206'] = '&Icirc;';      entities['207'] = '&Iuml;';      entities['208'] = '&ETH;';      entities['209'] = '&Ntilde;';      entities['210'] = '&Ograve;';      entities['211'] = '&Oacute;';      entities['212'] = '&Ocirc;';      entities['213'] = '&Otilde;';      entities['214'] = '&Ouml;';      entities['215'] = '&times;';      entities['216'] = '&Oslash;';      entities['217'] = '&Ugrave;';      entities['218'] = '&Uacute;';      entities['219'] = '&Ucirc;';      entities['220'] = '&Uuml;';      entities['221'] = '&Yacute;';      entities['222'] = '&THORN;';      entities['223'] = '&szlig;';      entities['224'] = '&agrave;';      entities['225'] = '&aacute;';      entities['226'] = '&acirc;';      entities['227'] = '&atilde;';      entities['228'] = '&auml;';      entities['229'] = '&aring;';      entities['230'] = '&aelig;';      entities['231'] = '&ccedil;';      entities['232'] = '&egrave;';      entities['233'] = '&eacute;';      entities['234'] = '&ecirc;';      entities['235'] = '&euml;';      entities['236'] = '&igrave;';      entities['237'] = '&iacute;';      entities['238'] = '&icirc;';      entities['239'] = '&iuml;';      entities['240'] = '&eth;';      entities['241'] = '&ntilde;';      entities['242'] = '&ograve;';      entities['243'] = '&oacute;';      entities['244'] = '&ocirc;';      entities['245'] = '&otilde;';      entities['246'] = '&ouml;';      entities['247'] = '&divide;';      entities['248'] = '&oslash;';      entities['249'] = '&ugrave;';      entities['250'] = '&uacute;';      entities['251'] = '&ucirc;';      entities['252'] = '&uuml;';      entities['253'] = '&yacute;';      entities['254'] = '&thorn;';      entities['255'] = '&yuml;';    }        // ascii decimals to real symbols    for (decimal in entities) {        symbol = String.fromCharCode(decimal);        histogram[symbol] = entities[decimal];    }        return histogram;}function inArray(arr, val){  for(var i in arr){  		if(arr[i] == val){  			//alert(this[i]+" =="+ v);  			return true;  		}  	}  	return false;}function fetchInputsRow(tab, nms, validate){	 	var res = new Array();	var rowCount=0;	for(var i=0; i<tab.tBodies[0].rows.length; i++){		var inps=new Array();		var sls=new Array();		inps = tab.tBodies[0].rows[i].getElementsByTagName('input');		sls =  tab.tBodies[0].rows[i].getElementsByTagName('select');		var found=false;		var ob = new Object();		for(var j=0; j<inps.length; j++){			if(inps[j].getAttribute('name')!=undefined){				if(inArray(nms, inps[j].getAttribute('name') )){ 					found=true;					//res[i]=new Object();					var foundName=inps[j].getAttribute('name');					switch(inps[j].getAttribute('type')){						case "text" :							ob[foundName]=inps[j].value;						break;						case "checkbox" :							if(inps[j].checked)								ob[foundName]=1;							else								ob[foundName]=0;							break;						default:							ob[foundName]=inps[j].value;						break;					}				}			}		}//koniec petli dla inputow		for(var j=0;j<sls.length; j++){			if(sls[j].getAttribute('name')!=undefined){				if(inArray(nms, sls[j].getAttribute('name') )){					found=true;					var foundName=sls[j].getAttribute('name');					ob[foundName]=sls[j].options[sls[j].selectedIndex].value;									}			}			}				res[rowCount]=ob;		if(found)			rowCount++;	}	var valid=true;	if(validate==true){ // w kazdym wierszu musza byc wszystkie wartosci z pol nms		for(var i=0;i<res.length;i++){			for(var j=0; j<nms.length; j++){				var isThisEmpty=eval("(res[i]."+nms[j]+");");				if(isThisEmpty==undefined){alert('warning');					return new Array(); // return empty array if undefined found				}				}		}	}		return res;}function concatRowVals(obArr, colName){	var delimiter="|";			var ret="";	for(var i =0 ; i<obArr.length ; i++){		if(i>0)ret+=delimiter;		var tmpStr=eval("obArr[i]."+colName)+""; // dodaj na koncu pusty string zeby przekonwertowac na typ string i uzyc metody replace ponizej				ret+=tmpStr.replace(/\|/g, " "); // wymien delimiter na spacje ( na wszelki wypadek )	}	return ret;}function skeletonize(str){	// na potrzeby bezpiecznego przesylania danych 	return escape(encodeURIComponent(str+" ")); // spacja specjalnie}function exit( status ) {    // http://kevin.vanzonneveld.net    // +   original by: Brett Zamir (http://brettz9.blogspot.com)    // +      input by: Paul    // +   bugfixed by: Hyam Singer (http://www.impact-computing.com/)    // +   improved by: Philip Peterson    // +   bugfixed by: Brett Zamir (http://brettz9.blogspot.com)    // %        note 1: Should be considered expirimental. Please comment on this function.    // *     example 1: exit();    // *     returns 1: null     var i;     if (typeof status === 'string') {        alert(status);    }     //this.window.addEventListener('error', function (e) {e.preventDefault();e.stopPropagation();}, false);     var handlers = [        'copy', 'cut', 'paste',        'beforeunload', 'blur', 'change', 'click', 'contextmenu', 'dblclick', 'focus', 'keydown', 'keypress', 'keyup', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'resize', 'scroll',        'DOMNodeInserted', 'DOMNodeRemoved', 'DOMNodeRemovedFromDocument', 'DOMNodeInsertedIntoDocument', 'DOMAttrModified', 'DOMCharacterDataModified', 'DOMElementNameChanged', 'DOMAttributeNameChanged', 'DOMActivate', 'DOMFocusIn', 'DOMFocusOut', 'online', 'offline', 'textInput',        'abort', 'close', 'dragdrop', 'load', 'paint', 'reset', 'select', 'submit', 'unload'    ];        function stopPropagation (e) {        e.stopPropagation();        // e.preventDefault(); // Stop for the form controls, etc., too?    }    for (i=0; i < handlers.length; i++) {     //   this.window.addEventListener(handlers[i], function (e) {stopPropagation(e);}, true);    }     if (this.window.stop) {        this.window.stop();    }       // throw '';   window.stop();}function concatSelectValues(sel, deli){	if(typeof sel == "undefined")		return;	var ccv=""; // concatedvalues		var selectedCount=0;	for(var i=0; i<sel.options.length; i++){		if(sel.options[i].selected){			if(selectedCount>0)				ccv+=deli;		ccv +=sel.options[i].value;		selectedCount++;		}	}	if(selectedCount==0)		return false;	else			return ccv;}function getSelectValue(sel){	return sel.options[sel.selectedIndex].value;	}function roundNumber(num, dec) {	var result = Math.round( Math.round( num * Math.pow( 10, dec + 1 ) ) / Math.pow( 10, 1 ) ) / Math.pow(10,dec);	return result;}function validDate(d, dateFormat){	//alert(d+" "+dateFormat);	//d = date to check	var valid=true;	switch(dateFormat){		case "dd-mm-yyyy" :			var da=d.split("-");			if(da.length<3)valid=false;			if(da[0]<1 || da[0]>31)valid=false;			if(da[1]<1 || da[1]>12)valid=false;			if(da[2]<1890 || da[2]>2200)valid=false;		break;		case "mm-yyyy" :			var da=d.split("-");			if(da.length<2)valid=false;			if(da[0]<1 || da[0]>12)valid=false;			if(da[1]<1890 || da[1]>2200)valid=false;		break;		case "yyyy-mm-dd":		//ToDo....		break;			}	return valid;}function info(infoTxt,dlgTitle, showBtn, isModal,width, buttons){	var dlgWidth=300;		if(width!=undefined)				dlgWidth=width;				if(document.getElementById('dlgDialog')!=undefined){    $("#dlgDialog").dialog( "destroy" );    $("#dlgDialog").remove();  }		$('body').append("<div id='dlgDialog'>"+infoTxt+"</div>");				if(showBtn==undefined)			showBtn=true;		if(isModal==undefined)			isModal=true;				if(dlgTitle==undefined)			dlgTitle="";                var btns = {};                if (typeof buttons != "object") {                    btns = {ok: function() {                            $(this).remove();                    }}                } else {                    for (var i in buttons) {                        if (i == "ok") {                            btns[i] = function() {                                buttons.ok.call();                                $(this).remove();                            }                        } else {                             btns[i] = buttons[i];                        }                    }                }						if(showBtn){				$("#dlgDialog").dialog({				modal:isModal,				title:dlgTitle,				width:dlgWidth,				buttons: btns			});		}else{			$("#dlgDialog").dialog({				modal:isModal,				width:dlgWidth,				title:dlgTitle							});					}	}function windowDialog(infoTxt,dlgTitle, showBtn, isModal,width){	var dlgWidth=900;		if(width!=undefined)				dlgWidth=width;				if(document.getElementById('dlgWindow')==undefined){		$('body').append("<div id='dlgWindow'>"+infoTxt+"</div>");				if(showBtn==undefined)			showBtn=true;		if(isModal==undefined)			isModal=true;				if(dlgTitle==undefined)			dlgTitle="";								if(showBtn){				$("#dlgWindow").dialog({				modal:isModal,				title:dlgTitle,				width:dlgWidth,				buttons:{					ok:function(){						$(this).dialog('close');					}				}			});		}else{			$("#dlgWindow").dialog({				modal:isModal,				width:dlgWidth,				title:dlgTitle							});					}				}else{		$("#dlgWindow").html(infoTxt);		$("#dlgWindow").dialog('open');		$("#dlgWindow").dialog('option', 'title', dlgTitle);	}	}function errInfo(infoTxt,dlgTitle){        $(".sIFR-replaced").hide();	if(document.getElementById('dlgDialogWarn')==undefined){		$('body').append("<div id='dlgDialogWarn'><span style='color:darkred; '><strong>"+infoTxt+"</strong></span></div>");		if(dlgTitle==undefined){			dlgTitle="Błąd";		}else{				dlgTitle=dlgTitle;		}			$("#dlgDialogWarn").dialog({			modal:1,			title:dlgTitle,			zIndex:999,			//stack:true,			dialogClass:'errorDialog',			buttons:{				"ok":function(){					$(this).remove();                                        $(".sIFR-replaced").show();				}			},                        close: function(){                                    $(".sIFR-replaced").show();                                }		});	}else{		$("#dlgDialogWarn").html(infoTxt);		$("#dlgDialogWarn").dialog('open');	}	}function ask(infoTxt,dlgTitle, onYes, onNo){	if(document.getElementById('dlgDialogAsk')==undefined){		$('body').append("<div id='dlgDialogAsk'>"+infoTxt+"</div>");		if(dlgTitle==undefined && dlgTitle!="")			dlgTitle="<span>Pytanie</span>";		else			dlgTitle="<span>"+dlgTitle+"</span>";			$("#dlgDialogAsk").dialog({			modal:true,			title:dlgTitle,			zIndex:998,			buttons:{								"nie":function(){					$(this).dialog('close');				},				"tak":function(){					//eval(onYes);					onYes.call(this,null);					$(this).remove();				}				},			close:function(){				if(onNo!=undefined){						onNo.call(this, null);						}				}		});	}else{		$("#dlgDialogAsk").html(infoTxt);		$("#dlgDialogAsk").dialog('open');	}	}function showLastWindowDialog(){	$("#dlgWindow").dialog('open');}function hideEditDialog(){	$("#dlgDialogEdit").dialog('close');}$(function(){// zainicjalizuj editDialogeditDialog('');hideEditDialog(); // inicjalizacja - stworz dialog i odrazu go ukryj});function editDialog(infoTxt,dlgTitle, onYes, onNo, width){	var dlgWidth=300;	if(width!=undefined)		dlgWidth=width;			if(dlgTitle==undefined && dlgTitle!="")		dlgTitle="Edycja";	//else	//	dlgTitle="<span style='color:red'>"+dlgTitle+"</span>";					if(document.getElementById('dlgDialogEdit')==undefined){		$('body').append("<div id='dlgDialogEdit'>"+infoTxt+"</div>");		var b2='abc';		$("#dlgDialogEdit").dialog({			modal:false,			title:dlgTitle,			width:dlgWidth,			zIndex:900,			//stack:true,			buttons:{								"anuluj":function(){					if(onNo!=undefined && onNo!=null)						onNo.call(this,null);					$(this).dialog('close');				},				"zapisz":function(){					//eval(onYes);					onYes.call(this,null);					$(this).dialog('close');				}				},			close:function(){				if(onNo!=undefined){						onNo.call(this, null);						}				}		});	}else{		$("#dlgDialogEdit").dialog('option', 'width', dlgWidth);		$("#dlgDialogEdit").dialog('option', 'title', dlgTitle);		$("#dlgDialogEdit").dialog('option', 'buttons', { 				"anuluj":function(){					$(this).dialog('close');					if(onNo!=undefined && onNo!=null)						onNo.call(this,null);				},				"zapisz":function(){					//eval(onYes);					$(this).dialog('close');					onYes.call(this,null);				}			});		$("#dlgDialogEdit").html(infoTxt);		$("#dlgDialogEdit").dialog('open');	}		}function showLastEditDialog(){	$("#dlgDialogEdit").dialog('open');}//function editDialog2(infoTxt,dlgTitle, onYes, onNo, width){	var dlgWidth=300;	if(width!=undefined)		dlgWidth=width;			if(dlgTitle==undefined && dlgTitle!="")		dlgTitle="Edycja";	//else	//	dlgTitle="<span style='color:red'>"+dlgTitle+"</span>";					if(document.getElementById('dlgDialogEdit2')==undefined){		$('body').append("<div id='dlgDialogEdit2'>"+infoTxt+"</div>");		var b2='abc';		$("#dlgDialogEdit2").dialog({			modal:false,			title:dlgTitle,			width:dlgWidth,			zIndex:920,			//stack:true,			buttons:{								"anuluj":function(){					if(onNo!=undefined && onNo!=null)						onNo.call(this,null);					$(this).dialog('close');				},				"zapisz":function(){					//eval(onYes);					onYes.call(this,null);					$(this).dialog('close');				}				},			close:function(){				if(onNo!=undefined){						onNo.call(this, null);						}				}		});	}else{		$("#dlgDialogEdit2").dialog('option', 'width', dlgWidth);		$("#dlgDialogEdit2").dialog('option', 'title', dlgTitle);		$("#dlgDialogEdit2").dialog('option', 'buttons', { 				"anuluj":function(){					$(this).dialog('close');					if(onNo!=undefined && onNo!=null)						onNo.call(this,null);				},				"zapisz":function(){					//eval(onYes);					$(this).dialog('close');					onYes.call(this,null);				}			});		$("#dlgDialogEdit2").html(infoTxt);		$("#dlgDialogEdit2").dialog('open');	}		}function showLastEditDialog2(){	$("#dlgDialogEdit2").dialog('open');}function validateFormPart(selector){	var unfilled=0;	$(selector).each(function(i){		if($(this).attr('req')==1){			if($(this).val().trim()==""){ //alert($(this).attr('id'));				unfilled++;				$(this).css("background", "red");				$(this).keydown(function(){					$(this).css("background", "white");				});				$(this).click(function(){					$(this).css("background", "white");				});			}			}	});	return unfilled;}function ymd2dmy(d){		var da=d.split("-");		var newDate=da[2]+"-"+da[1]+"-"+da[0];		return newDate;	}//JQUERY UI SETTINGS$.datepicker.setDefaults({	dateFormat: 'dd-mm-yy',	firstDay: 1,	monthNames: ['Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec','Lipiec','Sierpień','Wrzsesień','Październik','Listopad','Grudzień'],	monthNamesShort:['Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec','Lipiec','Sierpień','Wrzsesień','Październik','Listopad','Grudzień'],	dayNamesMin: ['Nie', 'Pon', 'Wt', 'Śr', 'Czw', 'P', 'Sob'],	changeMonth:1,	changeYear:1 }); function validNip(nip){ 	nip=nip.trim();	 	// numer 10 cyfrowy	if(nip.length!=10)		return false;	else		return true;}function validPesel(pesel){	// numer 11 cyfrowy	if(pesel.length!=11)			return false;	else		return true;}function setMaxTextLength(el, len){	// kontroluje max ilosc znakow w elemencie ( np. texarea ktory nie obsluguje maxlength)	if(el.value.length>len){		info("Przekroczono maksymalną ilość znaków "+len+".<br>Nadmiar tekstu zostanie usunięty", "Uwaga");		var str = el.value.substr(0, len);		el.value = str;	}	}function addAdToClipboard(adId){	advAJAX.post({		currentModuleClassName:"ModAdClipboard",				parameters:{			run:"addAdToClipboard",			autoParams:1,			param1:adId		},		onSuccess:function(obj){}		});}function removeAdFromClipboard(adId){	advAJAX.post({		currentModuleClassName:"ModAdClipboard",				parameters:{			run:"removeAdFromClipboard",			autoParams:1,			param1:adId		},		onSuccess:function(obj){}			});	}function validatePhone(number) {    var phoneReg = /^((\+|00)?[0-9]{2})? ?(([0-9]{2} ?[0-9]{3} ?[0-9]{2} ?[0-9]{2})|([0-9]{3} ? [0-9]{3} ?[0-9]{3}))$/;    if (!phoneReg.test(number)) {        return false;    } else {        return true;    }//    number = number.toString();//    if (!parseInt((number.replace(/[ -\+]/gi,'')))) {//        return false;//    } else {//        return true;//    }}function validateEmail(email) {	var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;	if (!emailReg.test(email))			return false;		else			return true;}function validateAlpha(txt) {    var alphaReg = /^[qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_\-\. ]*$/;    if (!alphaReg.test(txt))			return false;		else			return true;}function validateAlphaNum(txt) {    var alphaNumReg = /^[01234567890\(\)\?,\.@qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_\- ]*$/;    if (!alphaNumReg.test(txt))			return false;		else			return true;}function validateInt(num) {    if (!parseInt(num)) {        return false;    } else {        return true;    }}function validateFloat(num) {    if (!parseFloat(num)) {        return false;    } else {        return true;    }}function validatePassword(txt) {    var passReg = /^.*(?=.{6,})(?=.*\d).*$/;    if (!passReg.test(txt)) {        return false;    } else {        return true;    }}function validatePostal(code) {        var postalReg = /^[0-9]{2}-[0-9]{3}$/;    if (!postalReg.test(code)) {;        return false;    } else {        return true;    }}function fieldFocus(el,fieldDesc) {	$(el).focus(function(){		if($(el).val()==fieldDesc){			$(el).val("");			$(".bottomWidgetsContents p span").slideUp("slow");		}	});	$(el).blur(function(){		if($(el).val()==""){			$(el).val(fieldDesc);			}	});}function stripLineBreaks(string) {    return string.replace(/(['"\\\/\n\r\t]{1})/g,"\\$1");}function sLB(string) {    return stripLineBreaks(string);}function strip_tags (input, allowed) {    // Strips HTML and PHP tags from a string    //    // version: 1102.614    // discuss at: http://phpjs.org/functions/strip_tags    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +   improved by: Luke Godfrey    // +      input by: Pul    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +   bugfixed by: Onno Marsman    // +      input by: Alex    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +      input by: Marc Palau    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +      input by: Brett Zamir (http://brett-zamir.me)    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +   bugfixed by: Eric Nagel    // +      input by: Bobby Drake    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +   bugfixed by: Tomasz Wesolowski    // +      input by: Evertjan Garretsen    // +    revised by: Rafał Kukawski (http://blog.kukawski.pl/)    // *     example 1: strip_tags('<p>Kevin</p> <b>van</b> <i>Zonneveld</i>', '<i><b>');    // *     returns 1: 'Kevin <b>van</b> <i>Zonneveld</i>'    // *     example 2: strip_tags('<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>', '<p>');    // *     returns 2: '<p>Kevin van Zonneveld</p>'    // *     example 3: strip_tags("<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>", "<a>");    // *     returns 3: '<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>'    // *     example 4: strip_tags('1 < 5 5 > 1');    // *     returns 4: '1 < 5 5 > 1'    // *     example 5: strip_tags('1 <br/> 1');    // *     returns 5: '1  1'    // *     example 6: strip_tags('1 <br/> 1', '<br>');    // *     returns 6: '1  1'    // *     example 7: strip_tags('1 <br/> 1', '<br><br/>');    // *     returns 7: '1 <br/> 1'    allowed = (((allowed || "") + "").toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join(''); // making sure the allowed arg is a string containing only tags in lowercase (<a><b><c>)    var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,        commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;    return input.replace(commentsAndPhpTags, '').replace(tags, function ($0, $1) {        return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';    });}function define (name, value) {    // Define a new constant    //    // version: 903.3016    // discuss at: http://phpjs.org/functions/define    // +      original by: Paulo Freitas    // +       revised by: Andrea Giammarchi (http://webreflection.blogspot.com)    // + reimplemented by: Brett Zamir (http://brett-zamir.me)    // *        example 1: define('IMAGINARY_CONSTANT1', 'imaginary_value1');    // *        results 1: IMAGINARY_CONSTANT1 == 'imaginary_value1'    var defn, replace, script, that = this,        d = this.window.document;    var toString = function (name, value) {        return 'const ' + name + '=' + (/^(null|true|false|(\+|\-)?\d+(\.\d+)?)$/.test(value = String(value)) ? value : '"' + replace(value) + '"');    };    try {        eval('const e=1');        replace = function (value) {            var replace = {                "\x08": "b",                "\x0A": "\\n",                "\x0B": "v",                "\x0C": "f",                "\x0D": "\\r",                '"': '"',                "\\": "\\"            };            return value.replace(/\x08|[\x0A-\x0D]|"|\\/g, function (value) {                return "\\" + replace[value];            });        };        defn = function (name, value) {            if (d.createElementNS) {                script = d.createElementNS('http://www.w3.org/1999/xhtml', 'script');            } else {                script = d.createElement('script');            }            script.type = 'text/javascript';            script.appendChild(d.createTextNode(toString(name, value)));            d.documentElement.appendChild(script);            d.documentElement.removeChild(script);        };    } catch (e) {        replace = function (value) {            var replace = {                "\x0A": "\\n",                "\x0D": "\\r"            };            return value.replace(/"/g, '""').replace(/\n|\r/g, function (value) {                return replace[value];            });        };        defn = (this.execScript ?        function (name, value) {            that.execScript(toString(name, value), 'VBScript');        } : function (name, value) {            eval(toString(name, value).substring(6));        });    }    defn(name, value);}/* str_replace** This function returns a string or an array with all occurrences of* [search] in [subject] replaced with the given [replace] value.* If you don't need fancy replacing rules (like regular expressions), you should always use this function.** @param	string	search* @param	string	replace* @param	string	string*/function str_replace (search, replace, subject){var result = "";var  oldi = 0;for (i = subject.indexOf (search); i > -1; i = subject.indexOf (search, i)){result += subject.substring (oldi, i);result += replace;i += search.length;oldi = i;}return result + subject.substring (oldi, subject.length);}function drawOverlay(cont, ovrId) {    if (ovrId != undefined) {ovrId = "id='"+ovrId+"'";} else {ovrId="";}    var overlay = "<div "+ ovrId+" class='overlay'><div><img src='templates/piecyki/img/ajax-loader.gif' /></div></div>"    var contPos = $(cont).css("position");    if (contPos == "static");    $(cont).css("position", "relative");    $(cont).prepend(overlay);}
