    var openedWindow;

	function resizepwindow(){
/*		var info = getparameter(document.F.parameters.value, "window");
		var xsize = 300;
		var ysize = 200;
		var xleft = GetXCenter(xsize);
		var yleft = GetYCenter(ysize);
//		alert (info);
		if (info == "INFO"){
			alert (info);
			window.moveTo(xleft, yleft);
			window.resizeTo(xsize, ysize);
		}
*/
		return;
	}

	function getfieldfromform(name){
        var dml=document.F;
        var len = dml.elements.length;
        var i=0;	
		var check_len = 0;
		for(var i=0;i<len;i++) {
//					alert (dml.elements[i].name + ": " + dml.elements[i].value);
	                if (dml.elements[i].name==name) {
	                        return dml.elements[i].value;
	                }
		} 
		return "";
	}

	function getfieldfromnamedform(formname, name){
        var dml;
		if (formname == "F")
		{
			dml = document.F;
		} else if (formname == "C") {
			dml = document.C;
		} else {
			return;
		}
        var len = dml.elements.length;
        var i=0;	
		var check_len = 0;
		for(var i=0;i<len;i++) {
//					alert (dml.elements[i].name + ": " + dml.elements[i].value);
	                if (dml.elements[i].name==name) {
	                        return dml.elements[i].value;
	                }
		} 
		return "";
	}

	function getparamvalue(parameters){
//		alert (parameters);
		var newname = parameters.substring(1, parameters.length);
//		alert ("Nowa nazwa:" + newname);
		newname = getfieldfromform(newname);
//		alert ("Nowe pole:" + newname);
		return newname;
	};	

	function getparamvaluefromnamedform(formname, parameters){
//		alert (parameters);
		var newname = parameters;
//		alert ("Nowa nazwa:" + newname);
		newname = getfieldfromnamedform(formname, newname);
//		alert ("Nowe pole:" + newname);
		return newname;
	};	

	function teststring(){
		var j = 0;
		var str = ""
		for (j = 0; j < 204; j++) {
				str = str + "0123456789";
		} // for
		for (j = 0; j < 10; j++) {
				str = str + "0123456789af";
				alert (str.length);
		} // for
		alert (str.indexOf("f"));
	};


	function replacechar(str, oldch, newch) {
		var j = 0;
		var znak = "";
		var new_str = "";

		if (str == null)
			return null;

		for (j = 0; j < str.length; j++) {
			znak = str.charAt(j);
			if (znak == oldch)
				new_str = new_str + newch;
			else
				new_str = new_str + znak;
		} // for
		return new_str;
	}


	function delparameter(a_params, a_paramname) {
		var paramname = "";
		var paramvalue = "";

		var l1 = 0;
		var l2 = 0;
		var ile_naw = 0;
		var poczatekdel = -1;
		var koniecdel = -1;

		//obcinamy nawiasy na poczatku i na koncu
		a_params = trimDelims(a_params);


		//obcinamy spacje i inne dziwne rzeczy
		a_params = stripWhiteSpaces (a_params);

		var j = 0;
		var znak = "";
		for (j = 0; j < a_params.length; j++) {
		  if (koniecdel < 0) {
			znak = a_params.charAt(j);
			if (znak == "(")
				ile_naw += 1;
			if (znak == ")")
				ile_naw -= 1;


			if (ile_naw == 0) {
				if (znak == "=") {
					l2 = j;
					poczatekdel = l1;
					paramname = a_params.substring(l1, l2);
					l1 = l2 + 1;
				}
				if (znak == ";"	|| (j == a_params.length - 1)) {
					l2 = j;
					if ((j == a_params.length - 1) && (znak !=";"))
						l2 = l2 + 1;
					paramvalue = a_params.substring(l1, l2);
					paramvalue = trimDelims (paramvalue);
					l1 = l2 + 1;

					if (paramname == a_paramname) {
						koniecdel = l2;
					}
				} // znak
			} // ile_naw
		  } // koniecdel
		} // for
//		alert (a_paramname + ": od " + poczatekdel + " do " + koniecdel);
//		alert ("paramslength:  " + a_params.length);
		if (koniecdel > 0) {
			return a_params.substring(0, poczatekdel) + a_params.substring(koniecdel+1, a_params.length);
		}
		return a_params;
	}

/*
	function delparameter(param, paramname){
		var l1 = param.indexOf(paramname + "=");
		if (l1 >= 0)
		{
			var l2 = param.indexOf(";", l1 + 1);
			var head = param.substring(0, l1);
			var tail = param.substring(l2+1, param.length);
			param = head + tail;
//			alert ("Po wykasowaniu:" + parameters);
		}
		return param;
	}
*/

	function getparameter(a_params, a_paramname) {
		var paramname = "";
		var paramvalue = "";

		var l1 = 0;
		var l2 = 0;
		var ile_naw = 0;

		//obcinamy nawiasy na poczatku i na koncu
		a_params = trimDelims(a_params);

		//obcinamy spacje i inne dziwne rzeczy
		a_params = stripWhiteSpaces (a_params);

		var j = 0;
		var znak = "";
		for (j = 0; j < a_params.length; j++) {
			znak = a_params.charAt(j);
			if (znak == "(")
				ile_naw += 1;
			if (znak == ")")
				ile_naw -= 1;


			if (ile_naw == 0) {
				if (znak == "=") {
					l2 = j;
					paramname = a_params.substring(l1, l2);
					l1 = l2 + 1;
				}
				if (znak == ";"	|| (j == a_params.length - 1)) {
					l2 = j;
					if ((j == a_params.length - 1) && (znak !=";"))
						l2 = l2 + 1;
					paramvalue = a_params.substring(l1, l2);
					paramvalue = trimDelims (paramvalue);
					l1 = l2 + 1;

					if (paramname == a_paramname) {
//						alert ("xxx" + a_paramname + "||| " + paramname + "|||" + paramvalue);
						return paramvalue;
					}
				} // znak
			} // ile_naw
		} // for
		return "";
	}

/*
	function getparameter(param, paramname){
		var paramvalue = "";
		var l1 = param.indexOf(paramname + "=");
		if (l1 >= 0)
		{
			var l2 = param.indexOf(";", l1 + 1);
			if (l2 >= 0)
				paramvalue = param.substring(l1 + paramname.length + 1, l2);
		}
		paramvalue = trimDelims(paramvalue);
		return paramvalue;
	}
*/
	function setparameter(param, paramname, paramvalue){
		if (paramvalue == "")
			return param;
		return paramname + "=(" + paramvalue + ");" + param;
	}

	function trimDelims(param){
		if (param.charAt(0) == "(")
		{
			// wyciecie nawiasu otwierajacego
			param = param.substring(1, param.length)
			if (param.charAt(param.length-1) == ")")
			{
				param = param.substring(0, param.length - 1)
			}
		}
		return param;
	}


	function getappname()
	{
        var apps = getparameter(document.F.sysparameters.value, "webappname");

		return apps;
	}


function extractApplicationNameFromUrl(url){

  var indexOfSeparator = url.indexOf("//");
  indexOfSeparator=indexOfSeparator + 2;
  modUrl=url.substring(indexOfSeparator,url.length);

  indexOfSeparator = modUrl.indexOf("/") + 1 ;
  modUrl=modUrl.substring(indexOfSeparator,modUrl.length);

	// odcinamy wszystko po znaku ?
	indexOfSeparator=modUrl.indexOf("?");
	if (indexOfSeparator > 2)
		modUrl=modUrl.substring(0,indexOfSeparator);

	//indexOfSeparator=modUrl.indexOf("/");
	// trzeba znaleźć index ostatniego '/'
	indexOfSeparator=modUrl.lastIndexOf("/");
	modUrl=modUrl.substring(0,indexOfSeparator);
//alert(modUrl);
  return modUrl;
}

	function zaznacz(val) {
        var dml=document.F;
        var len = dml.elements.length;
        var i=0;	
		var check_len = 0;
		for(var i=0;i<len;i++) {

	                if (dml.elements[i].name=='MULTISELECT') {
	                        dml.elements[i].checked=val;
							check_len ++;
	                }
		}
		//alert("SpanCheck " + check_len);
		if(check_len>1) {
			for(var i=0;i<check_len ;i++) {
				if (val ==1)
				{
					SpanCheck[i].bgColor= "#B5C6CD";
				}else	
					SpanCheck[i].bgColor= "";
				//alert(SpanCheck[i].id);
			}
		}else{
			if (val ==1)
				{
					SpanCheck.bgColor= "#B5C6CD";
				}else	
					SpanCheck.bgColor= "";
		}

	}

	function allow(parameters) {
//		alert ("Przed:" + parameters);
		var dml=document.F;
        var len = dml.elements.length;
        var i=0;
		var multi = "";
		var el = "";

		// Odczytanie parametr\u00f3w do wielowyboru
		for(var i=0;i<len;i++) {
                if (dml.elements[i].name=='MULTISELECT' && dml.elements[i].checked == 1) {
						el = dml.elements[i].value;
                        multi = multi + el + ",";
                }
	    }

		// Kasowanie starego wielowyboru
		parameters = delparameter (parameters, "multivalue");
		parameters = setparameter (parameters, "multivalue", multi);


//		alert (getparameter(parameters, "multivalue"));
		return parameters;
	}
	function doOkoScan(f)
	{
/*
     if (f.location.href.indexOf('/OIShow.jsp?') > 0) return true;  
//	 alert(f.location.href);
   	 for (i=0; i<f.frames.length; i++)
     {
       t = f.frames[i];
// 	   alert(t.location.href);
 	   if (t.location.href.indexOf('/OIShow.jsp?') > 0) return true;        
       for (j=0; j<t.frames.length; j++)
 	   {
         z = t.frames[j];
//   	     alert(z.location.href);
  	     if (z.location.href.indexOf('/OIShow.jsp?') > 0) return true;        
         for (k=0; k<z.frames.length; k++)
  	     {
          h = z.frames[k];   	
//   	      alert(h.location.href);
  	      if (h.location.href.indexOf('/OIShow.jsp?') > 0) return true;        
         }
  	   }
     }  */
	 return false; 
	}

/*
	top.secwin = null;
	top.newtitle = '';
	top.oldloc = '';

//, windowtitle , old_location, win);
	function setTitle()
	{
 //     alert(top.newtitle + ' ' + top.secwin.location.href + ' ' + top.newtitle);
      if (top.secwin.document.title.indexOf('http') > 0)
      {
       top.secwin.title = top.newtitle;
       return;
      } 
 	  self.setTimeout('setTitle()', 500);
	}
*/

	// otworz/wywolaj page w ramce/oknie target z parametrami parameters
    
	function isSpecialPage(page)
	{
     if (page == "zax_Login.jsp") return true;
     if (page == "idea/logowanie/login.jsp") return true;
     if (page == "zax_index.jsp") return true;
	 if (page == "AddObjFormShow.jsp")  return true;
	 if (page == "AddObject.jsp")  return true;
 	 if (page == "DictShow.jsp")  return true;
 	 if (page == "SaveFileBrowser.jsp")  return true;
 	 if (page == "zax_WitrynaAdd.jsp")  return true;
  	 if (page == "zax_AktualnosciAdd.jsp")  return true;
  	 if (page == "zax_PytaniaAdd.jsp")  return true;
	 if (page == "zax_Dok_wewAdd.jsp")  return true;
	 if (page == "zax_Akty_prawneAdd.jsp")  return true;
	 if (page == "zax_FormularzeAdd.jsp")  return true;
  	 if (page == "zax_LaczeAdd.jsp")  return true;
 	 if (page == "zax_ModifyOIShow.jsp")  return true;
	 if (page == "ModifyOIShow.jsp")  return true;
	 if (page.length > 12)
	 {
//      alert('Sub ' + page.substring(0, 12));
      if (page.substring(0, 12) == "DictShow.jsp")
       return true;
	 }
	 if (page.length > 12)
	 {
//      alert('Sub ' + page.substring(0, 12));
      if (page.substring(0, 12) == "TreeShow.jsp")
       return true;
	 }

	 return false;
	}

	function stop_oko()
	{
	 if (top.faq_menu != null)
	 {
 	  top.faq_menu.location.href = 'zax_PytaniaMenuOgolne.jsp?sysparameters=packed=(true);';
	 }
	 if (top.aktual_menu != null)
	 {
 	  top.aktual_menu.location.href = 'zax_PytaniaMenuOgolne.jsp?sysparameters=packed=(true);';
	 }
	 if (top.witr_menu != null)
	 {
 	  top.witr_menu.location.href = 'zax_PytaniaMenuOgolne.jsp?sysparameters=packed=(true);';
	 }
	 if (top.witr_menu != null)
	 {
 	  top.witr_menu.location.href = 'zax_PytaniaMenuOgolne.jsp?sysparameters=packed=(true);';
	 }

	}

    /*
		Funkcja wykorzystywana w kreatorze wyszukiwania, sprawdza,
		czy uzytkownik zaznaczyl cokolwiek na liscie.

		autor: Michal Gajewski
		data : Lipiec, 2003
	*/
	function doBeforeAction(page, target, parameters, langVersion) {
        sel = document.forms[0].index;
        inputL = document.forms[0].index_view_only;

        if( sel.selectedIndex == -1 ) {
			if( langVersion == "PL" )
	            alert( 'Nie wybrano kategorii.' );
			else
				alert( "You haven't chosen any category." );
        }
        else {
            if( inputL != null )
                paramVal = inputL.value;
            else
                paramVal = sel.options[sel.selectedIndex].value;

            parameters = parameters+";nextPiece="+paramVal+";langVersion="+langVersion;
		    doaction(page, target, parameters);
		}
	}

	function saveProdTyp(page, target, parameters, descField, maxFLength) {
	    if( descField != null ) {
	        if( fieldLenExeededS( descField, maxFLength ) ) {
	            alert( "Pole 'Opis' nie mo\u017Ce zawiera\u0107 wi\u0119cej ni\u017C "+ maxFLength +" znak\u00F3w." );
	        } else {
	            doaction(page, target, parameters);
	        }
	    }
	}

    /* metoda sprawdzajaca przekroczenie dlugosci pola */
	function fieldLenExeededS( aFormField, fieldMaxLengthS ) {
        if( aFormField == null ) return true;
        if( fieldMaxLengthS == null ) return true;
        if( aFormField.value.length > fieldMaxLengthS ) return true;
        else return false;
	}

	function doworkflowaction(page, target, parameters)
	{
		openedWindow = null;
		doaction(page, target, parameters);
		return openedWindow;
	}

    function doaction(page, target, parameters)
    {  
		doactionHideLink(page, target, parameters, false)
    } 

    /* w zaleznosci od parametru hideLink nastepuje ukrywanie akcji na linkach
	   hideLink przyjmuje wartosci true/ false. Wartosc true ukrywa akcje linkow

	*/
	function doactionHideLink(page, target, parameters, hideLink)
    {  
        // debug
        // alert('doaction begin'+'\npage=[' + page + ']\ntarget=[' + target + ']\nparameters=[' + parameters+']');

		if ('null' == parameters)  parameters = '';

//		alert(page + ' ' + page.indexOf('&') + ' ' + target + ' ' + target.indexOf('&') + ' ' + parameters + ' ' + parameters.indexOf('division'));
        if (page.indexOf('&') > 0 && target.indexOf('&') > 0 && parameters.indexOf('division') > 0)
        {
         k = page.indexOf('&');
         subpage = page.substring(0, k);
		 page = page.substring(k+1);

         k = target.indexOf('&');
         subtarget = target.substring(0, k);
		 target = target.substring(k+1);

         division = getparameter(parameters, "division");
 	     parameters = delparameter(parameters, "division");
 //	     alert(division);
// 	     alert(parameters);
		 /*
         k = parameters.indexOf();
         subparameters = parameters.substring(0, k);
		 parameters = parameters.substring(k+12);
		 */          
//	     alert(subpage + "  " + subtarget+ "  " +  subparameters);
         doaction(subpage, subtarget, parameters);
//       alert(page + "  " + target+ "  " +  parameters);
		 doaction(page, target, division);
		 return;
        }

        if (page == null || page == "") {
			return;
		};
		if (target == null || target == "" || target == "SELF") {
		  target = "_self";
		};
		if (target == "NEW") {
		  target = "_blank";
		};		     
		 

        /*if (page == "zax_LaczeDisplay.jsp" && (top.document.title.indexOf(':') < 0))
        {
  		 return;
        }*/

		if (target.length > 13)
		{
		 val = target.substring(0, 13);
		 if (val == '_noBackWindow')
		 {
            target = target.toLowerCase(); 
		 }
		}

        vtarget = '_noback'; 
        if (target.length >= 7)
        {
		 vtarget = target.substring(0, 6);
        }

		/*if (page != "zax_LaczeDisplay.jsp" )
        {
 		 k = top.document.title.indexOf(':');
		 if (k > 0 && (vtarget != '_noback'))
		 {
          top.document.title =  top.document.title.substring(0, k-1);
		  stop_oko();
		 }
		} */

		if (parameters.length > 0 && parameters.charAt(0) == '$' && parameters.charAt(1) == '$'){
			var commonparameters = getparamvaluefromnamedform("C", "common");
			var newname = parameters.substring(1, parameters.length);
			parameters = getparamvalue(newname);
//			alert(commonparameters);
//			alert(parameters);
			parameters = commonparameters + ';' + parameters;
		} else if (parameters.length > 0 && parameters.charAt(0) == '$'){
			parameters = getparamvalue(parameters);
		}

		// walidacja calego dokumentu
		var vp = getparameter(parameters, "validateaction");

		if (vp != "n") vp = "y";

		if (vp == "y") {
			if (allValidate()== false)
			{
				return;
			}
		}

		if(hideLink== true)
        {
           // dezaktywacja wszystkich linkow na stronie
           // (aby zapobiec wielokrotnemu kliknieciu linku i wyslaniu wielu requestow)
           deactivateLinks();		  
        }


		parameters = allow(parameters);
		
		if (getparameter(parameters, "confirm") == "y")
		{
			parameters = delparameter (parameters, "confirm");
			if (confirm("Czy kontynuowa\u0107 ?") == false)
				return;
		}

		// trzeba zapewni\u00e6 mo\u00bfliwo\u009c\u00e6 modyfikacji parameter\u00f3w
		if (page == null || page == "") {
			return;
		}
		if (target == null || target == "" || target == "SELF") {
		  target = "_self";
		}
		if (target == "NEW") {
		  target = "_blank";
		}

		Validate();
		var info = getparameter(parameters, "window");

		if (info == "INFO") {
			parameters = delparameter (parameters, "window");
			// dla identyfikator\u00f3w multivalue zamienia # na $, bo inaczej nie przejdzie
			var mv = "";
			mv = getparameter(parameters, "multivalue");
			if (mv != null && mv != "")
			{
				mv = replacechar(mv, '#', '$');
				parameters = delparameter(parameters, "multivalue");
				parameters = setparameter(parameters, "multivalue", mv);
			}
			var actionopen = page+"?parameters="+parameters + "&sysparameters=" + document.F.sysparameters.value;
			OpenCenterWithFlags (actionopen, 450, 250, 'resizable=no');

			alert('!!');
		}
	    windowtitle = '';
     	winparams = 'location=yes,menubar=yes,status=yes,top=0,left=0,resizable=yes';  

 		 if (target == '_noback')
 		 {
		  height = top.screen.availHeight - 90;
		  width = top.screen.availWidth - 10;
 		  winparams = 'scrollbars=auto,location=yes,menubar=yes,status=yes,top=0,left=0,resizable=yes,height='+height+',width='+width;
		 }

		
		if (target == "$cigdoc" || target == "#cigdoc")
		{
				winparams = 'location=no,menubar=no,status=no,top=0,left=0,resizable=yes';
				target="_noback";
		}

		wincolor = '#e3e7e8';
		leftmargin = 0;
		if (target.length > 7)
		{
 		  vval2 = target.substring(0, 13);
          if (vval2 == '_nobackwindow')
          {
  	       vval2 = target.substring(14);
		   while(vval2.indexOf('$') != -1)
 		     vval2 = vval2.replace('$',',');

		   if (vval2.indexOf('{') > 0  && vval2.indexOf('}') > 0)
		   {
              i = vval2.indexOf('{');
              k = vval2.indexOf('}');
              windowtitle = vval2.substring(i+1, k);  
//			  alert(windowtitle);
		   }
		   if (vval2.indexOf('[') > 0  && vval2.indexOf(']') > 0)
		   {
              i = vval2.indexOf('[');
              k = vval2.indexOf(']');
              wincolor = vval2.substring(i+1, k);    
		   }
  
           if (vval2.indexOf('leftmargin') >= 0)
           {
              i = vval2.indexOf('leftmargin');             
			  leftmargin = vval2.substring(i + 11); 
			  rest = '';
			  if (leftmargin.indexOf(',') > 0)
			  {
               j = leftmargin.indexOf(',');                              
   			   rest = leftmargin.substring(j+1);
			   leftmargin = leftmargin.substring(0, j);
			  }
			  if (i > 0)
			  {
               vval2 = vval2.substring(0, i-1) + ',' + rest;
			  }
			  else
               vval2 = rest;
           }
//		   alert(vval2);
		   if (vval2.indexOf('{') > 0  && vval2.indexOf('}') > 0)
		   {
              i = vval2.indexOf('{');
              k = vval2.indexOf('}');
              windowtitle = vval2.substring(i+1, k);  
//			  alert(windowtitle);
		   }
		   if (vval2.indexOf('[') > 0  && vval2.indexOf(']') > 0)
		   {
              i = vval2.indexOf('[');
              k = vval2.indexOf(']');
              wincolor = vval2.substring(i+1, k);    
		   }
           winparams =  vval2 + 'status=yes,top=0,left=0';  
		   target = '_nobackwindow';
          }             		 
          else
	  	  {
  		   vval1 = target.substring(0, 7);
           if (vval1 == '_noback')
           {
		    vval2 = target.substring(8);
		    while(vval1.indexOf('$') != -1)
 		      vval2 = vval1.replace('$',',');
			if (vval2.indexOf('{') > 0  && vval2.indexOf('}') > 0)
			{
              i = vval2.indexOf('{');
              k = vval2.indexOf('}');
              windowtitle = vval2.substring(i+1, k);    
			}
 		    if (vval2.indexOf('[') > 0  && vval2.indexOf(']') > 0)
		    {
              i = vval2.indexOf('[');
              k = vval2.indexOf(']');
              wincolor = vval2.substring(i+1, k);    
		    }
	  	    height = top.screen.availHeight - 118;
		    width = top.screen.availWidth - 10;
  		    winparams = 'scrollbars=auto,location=yes,menubar=yes,status=yes,top=0,left=0,resizable=yes,height='+height+',width='+width;
 		    target = '_noback';
           }
		  } 
		}
		
		windowtitleOOMesg = "";
		winparams = 'scrollbars=yes,location=yes,menubar=yes,status=no,resizable=yes';
		if( target == '_oomessage' ) {
			winparams = 'scrollbars=auto,location=no,menubar=no,status=no,top=0,left=0,resizable=yes,width=750,height=350';
			windowtitleOOMesg='Wiadomosc';
			target = '_noback';
		}

		if( target == '_searchresult' ) {
			winparams = 'scrollbars=yes,location=no,menubar=no,status=yes,top=50,left=0,resizable=yes,width=790,height=400';
			windowtitleOOMesg='Wyniki wyszukiwania';
			//target = '_noback';
		}

		if( target == '_specialproduct' ) {
			winparams = 'scrollbars=yes,location=no,menubar=no,status=no,top=10,left=50,resizable=yes,width=650,height=500';
			windowtitleOOMesg='Wiadomosc';
			target = '_noback';
		}

		if( target == '_kalkPrint' ) {
			winparams = 'scrollbars=yes, status=no,toolbar=no,menubar=no,width=700,height=400';
			target = '_noback';
		}

		if( target == '_orderDesc' ) {
		    winparams = 'top=150,left=100,scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,width=650,height=450';
		    windowtitleOOMesg='Opis zam\u00F3wienia';
			target = '_noback';
		}

		if( target == '_close' ) {
		    window.close();
		    return;
		}

		if (target == '_noback' || target == '_nobackwindow' || target == '_nomenu' || (target == '_blank' && parameters.length < 255))
		{
		 //alert(target.length);
         var win =  window.open('', '', winparams);
		 win.document.open();
         var activeWindow = win; 
		 var left = null;
		 if (target == '_nobackwindow')
		 {      
		//	 alert(windowtitle);
             win.document.writeln('<HTML>');
	  	  	 win.document.writeln('<HEAD>');
			 win.document.writeln(' <TITLE>' + windowtitle + '</TITLE>');     
			 win.document.writeln('</HEAD>');
			 win.document.writeln('</HTML>');

	  	  	 win.document.writeln('<FRAMESET cols="' + leftmargin + ',*,3" framespacing=0 border=0 frameborder=no>');
			 win.document.writeln('    <FRAME name="noback_left"  marginWidth=0 marginHeight=0 frameBorder=no noResize scrolling=no>');     
			 win.document.writeln('    <FRAME name="noback_center" marginWidth=0 marginHeight=0 frameBorder=no noResize scrolling=no>');     
			 win.document.writeln('    <FRAME name="noback_right" marginWidth=0 marginHeight=0 frameBorder=no noResize scrolling=no>');        
			 win.document.writeln('</FRAMESET>');
 		     win.document.close();

			 win.noback_left.document.open();
			 win.noback_left.document.writeln('<HTML>');
			 win.noback_left.document.writeln(' <BODY bgcolor="' + wincolor + '">');
			 win.noback_left.document.writeln(' </BODY>');
			 win.noback_left.document.writeln('</HTML>');
	         win.noback_left.document.close();

//			 left = win.noback_left;
 			 win.noback_right.document.open();
			 win.noback_right.document.writeln('<HTML>');
			 win.noback_right.document.writeln(' <BODY bgcolor="' + wincolor + '">');
			 win.noback_right.document.writeln(' </BODY>');
			 win.noback_right.document.writeln('</HTML>');
	         win.noback_right.document.close();

			 win.noback_center.document.open();
 		     win.noback_center.document.writeln('<HTML>');
			 win.noback_center.document.writeln(' <BODY bgcolor="' + wincolor + '">');
			 win.noback_center.document.writeln(' <FORM NAME="F" METHOD="post">');
			 win.noback_center.document.writeln('  <INPUT TYPE="hidden" NAME="sysparameters" VALUE="">');
			 win.noback_center.document.writeln('  <INPUT TYPE="hidden" NAME="parameters" VALUE="">');
			 win.noback_center.document.writeln('  </INPUT>');
			 win.noback_center.document.writeln(' </FORM>');
			 win.noback_center.document.writeln(' </BODY>');
			 win.noback_center.document.writeln('</HTML>');
		     win.noback_center.close();

             activeWindow = win.noback_center; 
		 }
		 else
		 {
		  win.document.writeln('<HTML>');
		  win.document.writeln(' <BODY bgcolor="' + wincolor + '">');
		  win.document.writeln(' <FORM NAME="F" METHOD="post">');
		  win.document.writeln('  <INPUT TYPE="hidden" NAME="sysparameters" VALUE="">');
		  win.document.writeln('  <INPUT TYPE="hidden" NAME="parameters" VALUE="">');
		  win.document.writeln('  </INPUT>');
		  win.document.writeln(' </FORM>');
		  win.document.writeln(' </BODY>');
		  win.document.writeln('</HTML>');
	      win.document.close();
		 }
		 void('');
 		 if (info == ""){

            parameters = setparameter(parameters, "windowtitle", windowtitle);
            parameters = setparameter(parameters, "marginWidth", "0");
            parameters = setparameter(parameters, "wincolor", wincolor);
		 
		    sysparameters = document.F.sysparameters.value;
            sysparameters = setparameter(sysparameters, "isback", "y");
			activeWindow.document.F.parameters.value = parameters;
			activeWindow.document.F.sysparameters.value = sysparameters;
  		    //alert(sysparameters);

			activeWindow.document.F.action = page;
			activeWindow.document.F.target = '_self';
			activeWindow.document.F.submit();		
  		    void('');
/*
			if (left != null)
			{
             left.location.href = "zax_Left.jsp?sysparameters=packed=(true);&parameters=wincolor=(" + wincolor + ");wintitle=(" +  windowtitle + ");"
			}
*/
//		
//			top.title = windowtitle;
//            alert("openedWindow " + openedWindow);
            openedWindow = activeWindow;
			return ;
		 } 
		}
		else
		{
 		 if (info == ""){  		   
 		    document.F.parameters.value = parameters;
            calcLength  = "sysparameters=packed=(true);&parameters=".length + document.F.parameters.value.length;

           // 
          //  alert(getappname());
		    isZaiks = false;
			if (getappname() == '/zaiks' || getappname() == '/portalzaiks')
			{
             if (!isSpecialPage(page))
             {
              isZaiks = true;             
             }
//			 alert('Page: ' + page + ' Target: ' + target + ' Parameters: ' + parameters);
//			 alert(calcLength);
			}

			if ((getparameter(parameters, "post") != "true") && isZaiks && (calcLength < 512) && (target != '_blank'))
			{             
			 while (parameters.indexOf('#') > 0)
			 {
			  parameters = parameters.replace('#', '$');
			 }

			 adress = page + "?sysparameters=packed=(true);&parameters=" + parameters;

			 //alert(adress);

			 if (target == "_self")
              location.href = adress;
			 else
		 	  if (target == "_parent")
               parent.location.href = adress;
              else
			   if (target == "_top")
                top.location.href = adress;
               else
   			   {
//				alert(target);
                if (top.frames[target] != null)
                {
                 top.frames[target].location.href = adress;
                }
				else
 			    {
                 if (parent.frames[target] != null)
                 {
                  parent.frames[target].location.href = adress;
                 }
		 		 else
                  alert('Nie mozliwe wykonanie polecenia !!!');
				}
			   }
			}
			else
			{
			 //alert("2" + target.length);
 			 document.F.parameters.value = parameters;
             document.F.action = page; 
			 document.F.target = target;
			 document.F.submit();		
			}

// debug
/* 					
 				if (! confirm('Nie pokazywac parametrow ?'))
				{
                        alert('doaction end' + 
 							'\nlocation=[' + location.href + ']' + 
 							'\ndocument.F.action=[' + document.F.action + ']' +
							'\ndocument.F.target=[' + document.F.target + ']' +
 							'\ndocument.F.parameters: length='+ document.F.parameters.value.length +
 							'\nvalue:\n'+document.F.parameters.value +
 							'\ndocument.F.sysparameters: length='+ document.F.sysparameters.value.length +
 							'\nvalue:\n'+document.F.sysparameters.value);
                } 
*/ 				

			return;
		 } 
		}
	}


    function dopostaction(page, target, sysparameters, parameters, wincolor)
	{
//		   alert(page);
//		   alert(sysparameters);
		   newDoc = top.frames[target].document.open();
	  	   top.frames[target].document.writeln('<HTML>');
		   top.frames[target].document.writeln(' <BODY bgcolor="' + wincolor + '">');
 		   top.frames[target].document.writeln(' <FORM NAME="F" METHOD="post">');
		   top.frames[target].document.writeln('  <INPUT TYPE="hidden" NAME="sysparameters" VALUE="">');
		   top.frames[target].document.writeln('  <INPUT TYPE="hidden" NAME="parameters" VALUE="">');
		   top.frames[target].document.writeln('  </INPUT>');
		   top.frames[target].document.writeln(' </FORM>');
		   top.frames[target].document.writeln(' </BODY>');
		   top.frames[target].document.writeln('</HTML>');
           top.frames[target].document.close();
		   void('');
 		   
 		   newDoc.F.parameters.value = parameters;
           newDoc.F.sysparameters.value = sysparameters;
     	   apps = getparameter(sysparameters, "webappname");
//Wyeliminowane bo moglo powodowac bledy w Sanplascie ktory nie uzywa prefiksu "portal"
//  	       if (apps == "")
//			 apps = "/portal";
		   if (page.indexOf('http') >= 0)
             newDoc.F.action = page; 
		   else
 		     newDoc.F.action = apps + "/" + page;
		   newDoc.F.target = '_self';
		   newDoc.F.submit();		
		   
   	       void('');		   
	}


	// otworz/wywolaj page w ramce/oknie target z parametrami parameters
	function doactionWindow(page, target, parameters)
	{
//		alert(parameters);
		// walidacja calego dokumentu
		if (allValidate()== false)
			return;

		// trzeba zapewni\u00e6 mo\u00bfliwo\u009c\u00e6 modyfikacji parameter\u00f3w
//		document.F.parameters.value = parameters;
		parameters = allow(parameters);
//		parameters = document.F.parameters.value;
		// trzeba zapewni\u00e6 mo\u00bfliwo\u009c\u00e6 modyfikacji parameter\u00f3w
//		alert (parameters);
		
		if (page == null || page == "") {
			return;
		};
		if (target == null || target == "" || target == "SELF") {
		  target = "_self";
		};
		if (target == "NEW") {
		  target = "_blank";
		};
		// document.F.sysparameters ustawiony wczesniej przed wyslaniem do klienta
        
		//alert ("doaction: " + parameters + "\n target: " + target);
//		document.F.parameters.value = parameters;
//		document.F.action = getappname() + "/" + page;
//		document.F.target = target;
		document.F.submit();		
		window.open(page+"?parameters="+parameters,'myname','resizable=no,width=215,height=240,left=100,top=100');
	}

	function cig_open(parameters, type)
	{
////		alert ("doaction:");
//		var target = "_blank";
//		page = "cig_OIShow.jsp";
//	//	page = "Jump.jsp";
//
//		// document.F.sysparameters ustawiony wczesniej przed wyslaniem do klienta
//
//		alert ("cig_open: " + parameters + "\n target: " + target);
//        doaction(page, target, parameters);

//		alert ("doaction:");
		var target = "_blank";
		var page = "cig_OIShow.jsp";
//	page = "Jump.jsp";

	// document.F.sysparameters ustawiony wczesniej przed wyslaniem do klienta

//		alert ("cig_open: " + parameters + "\n target: " + target);
        doaction(page, target, parameters);

	}

	function cig_alert(parameters, type)
	{
		alert ("doaction:");
	}

	function validate(element, datatype)
	{
//		alert ("Walidacja pola '" + element.name + "' o typie " + datatype);
	}


        //do realizacji pustych skokow
        function nothing() {
            return;
        }    



        //dla GUC
	function guc_open(page, target, parameters)
	{
		//parameters to np.  path=DU.1993.0050_001.htm#50__3    (AKT)
		//parameters to np.  path=DU.1993.0050.htm#50__3        (AKT)
		//parameters to np.  path=DU.1993.0050-met.htm#50__3    (AKT)
		//parameters to np.	 path=HTTP://ABC/SCRIPTS/A1?../../OR/OR/1997/11XX/NSA-1125-ISALU112597_000.HTM..  (ORZECZ.)


		var param = parameters;

		if (param.toUpperCase().indexOf("OR/OR")==-1 && param.toUpperCase().indexOf("OR\\OR")==-1) {
			//TO JEST AKT, np.  path=DU.1994.0312_000.htm
		    //do znaku '_' (przed '#') lub '-' lub 3-go '.' jest nazwa OI
    		//od drugiego '.' do '#" jest nazwa pliku
		    //nazwe pliku musimy uzupelnic do postaci xxxx_xxx.xxx

			var l = param.indexOf("=");
			var atr = param.substring(0, l);
			param = param.substring(l+1, param.length);
			var oi = "";
			var file = "";
			var anch = "";

			var l1 = param.indexOf(".");
			var l2 = param.indexOf(".", l1+1);
			var l3 = param.indexOf(".", l2+1);
			var l5 = param.indexOf("#", l2+1);
			var l6 = param.indexOf(";", l2+1);
			if (l6==-1) l6 = param.length;
			if (l5==-1) l5 = l6;
			if (l3==-1) l3 = l5;
			var l4 = param.indexOf("_", l2+1);
			if ((l4==-1) || (l4>l5)) l4 = param.indexOf("-", l2+1);
			if ((l4==-1) || (l4>l5)) l4 = -1;
			if (l4==-1) {  //trzeba dodac koncowke '_000'
			  oi = param.substring(0, l3);
			  file = param.substring(l2+1, l3) + "_000" + param.substring(l3, l5);
			} else {
			  oi = param.substring(0, l4);
			  file = param.substring(l2+1, l5);
			}

			// oi musi byc bez poprzedzajacych zer, np. zaimast DU.1999.0002 ma byc DU.1999.2
			var ll = oi.indexOf(".0");
			var oi_tmp = "";
			while (ll!=-1) {
			   oi_tmp = oi;
			   oi = oi_tmp.substring(0,ll+1) + oi_tmp.substring(ll+2);
			   ll = oi.indexOf(".0");
			}

			anch = param.substring(l5+1, l6);

			param = atr + '=' + oi;
			if (file != "") param = param + '#' + file;
			if (anch != "") param = param + '#' + anch;

			param = param + ';' + "OIType=AKT;AttrName=ID_LOG;AttrType=S";
	        //	alert("guc_open: " + param);

			if (page.toLowerCase()=="jump.jsp") page="guc_AktShow.jsp";
            doaction(page, "_blank", param);
		} else {
			//TO JEST ORZECZENIE, np. path=HTTP://ABC/SCRIPTS/A1?../../OR/OR/1997/11XX/NSA-1125-ISALU112597_000.HTM..
			// musimy wyciac tylko NSA-1125-ISALU112597

			var l = param.toUpperCase().indexOf(".HTM");
			if (l!=-1) {
			  param = param.substring(0, l);
			  l = param.lastIndexOf("/");
			  if (l==-1) l = param.lastIndexOf("\\");
			  if (l!=-1) {
                 param = "path=" + param.substring(l+1);
			  }
			}
			//usuwamy na koncu nr wersji (czasami jest, ale po co?)
            l = param.indexOf("_000");
			if (l==-1) l = param.indexOf("_001");
			if (l==-1) l = param.indexOf("_002");  //wiecej chyba nie bedzie
			if (l+4 == param.length)
			  param = param.substring(0, l);


 			if (page.toLowerCase()=="jump.jsp") page="guc_OrzShow.jsp";
            doaction(page, "_blank", param);
		}
	}

//funkcje do wyswietlania malego okienka na srodku 
	function GetXCenter(WindowXSize)
	{
	 X = 0 + Math.round(screen.width/2);
	 X = X - Math.round(WindowXSize/2);
	 return(X);
	}

	function GetYCenter(WindowYSize)
	{
	Y = 0 + Math.round(screen.height/2);
	Y = Y - Math.round(WindowYSize/2);
	return(Y);
	}

	function OpenCenter(params,WindowWidth,WindowHeight)
	{
	//NewWindowWidth =200;
	//NewWindowHeight=200;
	//NewWindowWidth =WindowWidth;
	//NewWindowHeigth =WindowHeight;

	X = GetXCenter(WindowWidth);
	Y = GetYCenter(WindowHeight);
	parameters = 'left='+X+',top='+Y+',width='+WindowWidth+',height='+WindowHeight;
	window.open(params,'test',parameters);
	}	

	function OpenCenterWithFlags(params,WindowWidth,WindowHeight,flags)
	{
	//NewWindowWidth =200;
	//NewWindowHeight=200;
	//NewWindowWidth =WindowWidth;
	//NewWindowHeigth =WindowHeight;

	X = GetXCenter(WindowWidth);
	Y = GetYCenter(WindowHeight);
	parameters = flags + ',' + 'left='+X+',top='+Y+',width='+WindowWidth+',height='+WindowHeight;
	window.open(params,'test',parameters);
	}
//koniec


// funkcje walidacji - Ela

// funkcja sprawdza czy podana warosc nie jest pusta
	function isNull( val ) {

		var isValid = false;

	 	if (val+"" == "")
	 		isValid = true;
        

	 	if (val+"" == "null")
	 		isValid = true;
         
			
		return isValid;
	}  // end isNull
	



/* ======================================================================
	FUNCTION:  	isData
	
	INPUT:		str (string) - the string to be tested
	
	RETURN:  	komunikat o bledzie "OK" gdy data poprawna
					
	DESC: 	Funkcja sprawdza, czy data jest poprawna i we wlasciwym formacie ( YY-MM-DD lub YYYY-MM-DD )
	====================================================================== */
    function isData( strData ) {

		// moze byc pusty - od sprawdzania tego czy lancuch pusty mamy inna funkcje
		if (strData+"" == "undefined" || strData+"" == "null" || strData+"" == "")	
			return true;
		

		var len;

		var str = stripWhiteSpaces( strData );
		len = str.length;
		if ( ( len < 6 ) || ( len > 10 ) )
			return false;
			

		var i1, i2, i3;
		

		i1 = str.indexOf( "-", 0);
		if ( ( i1 < 1) || ( i1 > 4) || ( (i1 + 1) == (len-1) )) 
			return false;

		var year = str.substr( 0, i1);
		if ( ( year.length != 2  ) && ( year.length != 4  ) )
			return false; // "Zly rok";
		if ( isNaN( year ) ) 
			return false; //"Zly rok";


		i2 = str.indexOf( "-", i1 + 1);
		if ( ( i2 < 3) || ( i2 > 7) || ( i2 == (len - 1) ) ) 
			return false;

		var mm = str.substring( i1+1, i2);
		if ( isNaN(mm) || ( mm < 0 ) || ( mm > 12) )
			return false; // "Zly miesiac=" + mm;

		var dd = str.substring( i2 +1);
		if ( isNaN(dd) || ( dd < 0 ) || ( dd > 31) ) 
			return false; //"Zly dzien=" + dd;

		
		//new Date(year, month, day) 
		var d = new Date ( year,  mm, dd );

		if ( d == null ) 
			return false; // "Date null";


        //walidacja liczby dni
        daysInMonth=31;
        if(mm==2)
        {	//miesi¦c luty jest specyficzny -lata przestŕpne
            //w roku przestepnym w lutym jest 29 dni
            //rok przestepny to rok podzielny przez 4 lecz nie podzielny przez 100 (chyba ze jest podzielny przez 400)
            if((year%400==0) || (year%4==0 && year%100!=0))
            {      
                daysInMonth=29;
            }                
            else
            {
                daysInMonth=28;
            }
        }
        else
           if((mm<=6 && mm%2==0) || (mm>=9 && mm%2!=0)) //30 dniowe miesi¦ce
           {
               daysInMonth=30;
           }


           if(!(dd>=1 && dd<=daysInMonth))
           {
              return false; 
          }

		return true;   
}

/* ======================================================================
	FUNCTION:  	isTime
	
	INPUT:		str (string) - the string to be tested
	
	RETURN:  	komunikat o bledzie "OK" gdy data poprawna
					
	DESC: 	Funkcja sprawdza, czy data jest poprawna i we wlasciwym formacie ( YY-MM-DD lub YYYY-MM-DD )
	====================================================================== */
    function isTime( strTime ) {

		// moze byc pusty - od sprawdzania tego czy lancuch pusty mamy inna funkcje
		if (strTime+"" == "undefined" || strTime+"" == "null" || strTime+"" == "")	
			return true;

		var len;

		var str = stripWhiteSpaces( strTime );
		len = str.length;
		if ( ( len < 5 ) || ( len > 5 ) )
			return false;
			
		var i1;
		

		i1 = str.indexOf( ":", 0);
		if ( ( i1 < 1) || ( i1 > 2) ) 
			return false;

		var hour = str.substr( 0, i1);
		if ( isNaN(hour) || ( hour < 0 ) || ( hour > 23) ) 
			return false; //"Zly dzien=" + dd;

		var min = str.substring( i1 +1);
		if ( isNaN(min) || ( min < 0 ) || ( min > 59) ) 
			return false; //"Zly dzien=" + dd;
		return true;   
}


//Walidacja dodatniej liczby typu Long
function isIntPositive(s){

    var n=parseIntNumber(s);
    
    if(isNaN(n) || n<=0 )
    {
        return false;
    }
    
    return true;
}

///////////////////////////////////////////////////////////////////////////
//Konwersja stringa do liczby 
//(jest ona potrzebna bo parseInt nieprawidlowo dziala - dla "3abc" zwraca 3, dla "09" zwraca 0)
function parseIntNumber(str)
{
    var k;
    var number=0;
    var p;
    var n;
    for(k=str.length-1;k>=0;k--)
    {
        n=parseInt(str.charAt(k));
        if(isNaN(n))
        {
            return NaN;
        }

        p=Math.pow(10,str.length-1-k);
     
        number=number+p*str.charAt(k);
    }
    return number;
}

	/* ======================================================================
	FUNCTION:  	isInt
	 
	INPUT:  		numstr (string/number) 	 - the string that will be tested to ensure 
	      										   that each character is a digit
					allowNegatives (boolean) - (optional) when true, allows numstr to be
														negative (contain a '-').  When false,
												      any negative number or a string starting
														with a '-' will be considered invalid.
	
	====================================================================== */
	function isInt( numstr, allowNegatives ) {
		// moze byc pusty - od sprawdzania tego czy lancuch pusty mamy inna funkcje
		if (numstr+"" == "undefined" || numstr+"" == "null" || numstr+"" == "")	
			return true;
	
		// Default allowNegatives to true when undefined or null
		if (allowNegatives+"" == "undefined" || allowNegatives+"" == "null")	
			allowNegatives = true;
	
		var isValid = true;
	
		// convert to a string for performing string comparisons.
		numstr += "";	
	
		// Loop through string and test each character. If any
		// character is not a number, return a false result.
	 	// Include special case for negative numbers (first char == '-').   
		for (i = 0; i < numstr.length; i++) {
	    	if (!((numstr.charAt(i) >= "0") && (numstr.charAt(i) <= "9") || (numstr.charAt(i) == "-"))) {
	       	isValid = false;
	       	break;
			} else if ((numstr.charAt(i) == "-" && i != 0) || 
					(numstr.charAt(i) == "-" && !allowNegatives)) {
	       	isValid = false;
	       	break;
	      }
	         	         	       
	   } // END for   
	   
	   	return isValid;
	}  // end isInt


/* ======================================================================
	FUNCTION:  	isNum
	 
	INPUT:  		numstr (string/number) - the string that will be tested to ensure 
	      										 that the value is a number (int or float)
	
	RETURN:  	true, if all characters represent a valid integer or float
	     			false, otherwise.
	
	====================================================================== */
	function isNum( numstr ) {
		return isNumeric( numstr, ".");
	}


	function isNum( numstr, separator ) {
		if(separator+"" == "")
			separator=".";

		return isNumeric( numstr, separator);
	}
/* ======================================================================
	FUNCTION:  	isNum
	 
	INPUT:  		numstr (string/number) - the string that will be tested to ensure 
	      										 that the value is a number (int or float)
	
	RETURN:  	true, if all characters represent a valid integer or float
	     			false, otherwise.
	
	====================================================================== */
	function isNumeric( numstr, separator ) {

       	var resultNumStr = "";

		// Return immediately if an invalid value was passed in
		if (numstr+"" == "undefined" || numstr+"" == "null" || numstr+"" == "")	
			return true;
	
		var isValid = true;
		var sep = separator;		
		var decCount = 0;		// number of decimal points in the string
	
		// convert to a string for performing string comparisons.
		numstr += "";	
	

        // wyciecie znaku spacji z liczby 
        for (i = 0; i < numstr.length; i++) {
			if (numstr.charCodeAt(i) != 160 && numstr.charCodeAt(i) != 32 ){
             	resultNumStr = resultNumStr + numstr.charAt(i);
            }
        }

    	if (resultNumStr.length >0)
           numstr = resultNumStr;



		// Loop through string and test each character. If any
		// character is not a number, return a false result.
	 	// Include special cases for negative numbers (first char == '-')
		// and a single decimal point (any one char in string == '.').   
		for (i = 0; i < numstr.length; i++) {
			// track number of decimal points
			if (numstr.charAt(i) == sep)
				decCount++;
	
	    	if (!((numstr.charAt(i) >= "0") && (numstr.charAt(i) <= "9") || 
					(numstr.charAt(i) == "-") || (numstr.charAt(i) == sep))) {
	       	isValid = false;
	       	break;
			} else if ((numstr.charAt(i) == "-" && i != 0) ||
					(numstr.charAt(i) == sep && numstr.length == 1) ||
				  (numstr.charAt(i) == sep && decCount > 1)) {
	       	isValid = false;
	       	break;
	      }         	         	       
	//if (!((numstr.charAt(i) >= "0") && (numstr.charAt(i) <= "9")) || 
	   } // END for   
	   
	  
	   	return isValid;
	}  // end isNum
	

/* ======================================================================
	FUNCTION:  	stripWhiteSpaces
	
	INPUT:		str (string) - the string to be tested
	
	RETURN:  	string bez spacji
					
	DESC: 	Funkcja wycina spacje ze stringa
	====================================================================== */
function stripWhiteSpaces( str )
{
	var 	resultStr = "";

	if (str.length==2){
     	if ((str.charAt(0) == "\r") && (str.charAt(1) == "\n"))
  		  return "";
    }

	// Return immediately if an invalid value was passed in
	if (str+"" == "" || str == null)	
		return "";

	// Make sure the argument is a string
	str += "";
	//alert("dlugosc ==" + str.length +"==");
	// Loop through entire string, adding each character from the original
	// string if it is a number
	for (var i=0; i < str.length; i++)
	{
      if ( (str.charAt(i) != " ") && (str.charAt(i) != "\r") && (str.charAt(i) != "\n") )
       	resultStr = resultStr + str.charAt(i);
	  else if( i+1 < str.length ){  // czy nastepny znak nie jest spacja
	                                // spacja moze wystapic w zdaniu
		//alert("str.charAt(i)="+str.charAt(i)+"=str.charAt(i+1)="+str.charAt(i+1)+"=");
        if ( (str.charAt(i+1) != " ") && (str.charAt(i+1) != "\r") && (str.charAt(i+1) != "\n") )
          resultStr = resultStr + str.charAt(i);
      }

				 
   } // end for loop      


   return resultStr;
}
/* ======================================================================
	FUNCTION:  	checkLength
	
	INPUT:		pole, ktore ma byc testowane, jego maksymalna dlugosc
	
	RETURN:  	false zawartosc pola zawiera wiecej znakow niz podano jako parametr
					
	DESC: Funkcja sprawdza, czy isosc znakow w danym polu formatki jest mniejsza od zadanej
	====================================================================== */
function checkLength( fld, n) {

	len = fld.length;

	if( len > n)
		return false;
	return true;
}

/* ======================================================================*/
// funkcje zwracajace komunikat o bledzie 
/* ======================================================================*/
    function getNullErrorStr( fldName ) 
    {
	  return "Pole '"+fldName + "' musi byc wype\u0142nione \n";
    }
    function getDataErrorStr( fldName, value ) 
    {
	   return "W polu '" + fldName + "' warto\u015B\u0107 '"+ value +"' jest nieprawid\u0142owa, dopuszczalne formaty to 'YY-MM-DD' oraz 'YYYY-MM-DD'.\n";  
    }
    function getTimeErrorStr( fldName, value ) 
    {
	   return "W polu '" + fldName + "' warto\u015B\u0107 '"+ value +"' jest nieprawid\u0142owa, dopuszczalne formaty to 'HH:MM'.\n";  
    }
    function getIntErrorStr( fldName, value ) 
    {
	   return "W polu '" + fldName + "' warto\u015B\u0107 '"+ value +"' nie jest liczba ca\u0142kowita.\n";  
    }
    function getIntNegativeErrorStr( fldName, value ) 
    {
	   return "W polu '" + fldName + "' warto\u015B\u0107 '"+ value +"' musi byc wi\u0119ksza od zera.\n";  
    }
    function getIntPositiveErrorStr( fldName, value ) 
    {
	   return "W polu '" + fldName + "' warto\u015B\u0107 '"+ value +"' nie mo\u017Ae byc mniejsza od zera.\n";  
    }
    function getCurrencyErrorStr( fldName, value ) 
    {
	   return "W polu '" + fldName + "' warto\u015B\u0107 '"+ value +"' jest nieprawid\u0142owa.\n";  
    }
    function getNumErrorStr( fldName, value ) 
    {
	   return "W polu '" + fldName + "' warto\u015B\u0107 '"+ value +"' nie jest liczb\u0105.\n";  
    }
    function getMaxLengthErrorStr( fldName, nChars ) 
    {
	   return "W polu '"+ fldName + "' wpisano ponad " + nChars + " znak\u00F3w.\n";  
    }
    function getMaxValueErrorStr( fldName, nvalue, max ) 
    {
	   return "W polu '"+ fldName + "' warto\u015B\u0107 '"+nvalue+"' przekracza maksymalny zakres : "+max+".\n"; 
    }
    function getMinValueErrorStr( fldName, nvalue, min ) 
    {
	   return "W polu '"+ fldName + "' warto\u015B\u0107 '"+nvalue+"' przekracza minimalny zakres : "+min+".\n";
    }
	function getMaskErrorStr( fldName, value ) 
    {
	   return "W polu '" + fldName + "' warto\u015B\u0107 '"+ value +"' jest niezgodna z wymaganym formatem.\n";  
    }



/* ======================================================================
	FUNCTION:  	validate
	
	INPUT:		pole, ktore ma byc testowane, 
				typ pola
				czy wymagany
				opis pola
				maksymalny rozmiar
				minimalna wartosc
				maksymalna wartosc
	
	RETURN:  	false gdy wystapil blad
					
	DESC: Funkcja sprawdza wprowadzone dane w danym polu

	  // !!!!! dodac test dla stringow dla zakresu min i max
 ======================================================================*/
	function validate(element, datatype, mandatory,  description, size, min, max)	
	{

	      var msg="";
		  var value="";	
		  var type = "";
          var sep = "";


		  // czy wartosc jest czytana z elementu
		  // czy podana w zmiennej element
		  if (element.value+"" == "undefined" )
			  value = element;
		  else {
			  value = element.value; 
			  type = element.type;
          }

//		  alert ("Walidacja pola '" + element.name + "' o typie " + datatype+" wartosc " + element.value+" mandatory "+mandatory);
 		  //alert("value dlugosc przed = "+value.length+" nie puste");
		  value = stripWhiteSpaces(value);
 		  //alert("value dlugosc po = "+value.length+" nie puste");
		  // sprawdzenie czy pola jest wymagane
//		alert("description = "+description+" vval2 = "+value);


	  

		  if (( mandatory.toUpperCase()=='Y') && (isNull( value ) == true ))
            msg += getNullErrorStr(description);

//??
//alert ("wartosc "+value);
		  if ( (datatype.length>1 )&&(isNull( value ) == false ))
			  if (compare_with_mask(datatype,value)==false) 
		        msg += getMaskErrorStr(description,value);



		  // sprawdzenie formatu daty
		  if (( datatype.toUpperCase()=='D') &&  (isData( value ) == false  )) 
            msg += getDataErrorStr(description, value);

			// sprawdzenie formatu czasu
		  if (( datatype.toUpperCase()=='T') &&  (isTime( value ) == false  )) 
            msg += getTimeErrorStr(description, value);

		  // testowanie liczb calkowitych
		  if (type+"" !="radio"){
  		    if (( datatype.toUpperCase()=='I') && (isInt( value ) == false )) 
              msg += getIntErrorStr(description, value);
          }

  		    if (( datatype.toUpperCase()=='N') && (isInt( value, false ) == false )) 
              msg += getIntNegativeErrorStr(description, value);

  		    if (( datatype.toUpperCase()=='P') && (isIntPositive( value ) == false )) 
              msg += getIntPositiveErrorStr(description, value);

 		  if (( datatype.toUpperCase()=='F') && (isNum( value ) == false )) 
            msg += getNumErrorStr(description, value);

		  
 		  if ( datatype.toUpperCase()=='W') {

			  if (value.indexOf(".") >=0)
                sep = '.';
  			  if (value.indexOf(",") >=0)
                sep = ',';

              if (isNum( value, sep ) == false   
                  || (value  <0) 
                  || ((sep.lenght >0) && (value.indexOf(sep) >=0) && ((value.indexOf(sep) +3 )< value.length)  )
                 )
              {
                 msg += getCurrencyErrorStr(description, value);
               }
          }

          // sparwdzenie dlugosci
		  if ( size >0 && checkLength( value, size) == false )
		     msg += getMaxLengthErrorStr( description, size );


          // testowanie zakresu
		  // testowany jest zakres dla daty i liczn
		  // !!!!! dodac test dla stringow

   	      if ((isNull(min)== false  || isNull(min)== false ) 
			    && isNull( value ) == false ) {

    		  if (( datatype.toUpperCase()=='D') &&  (isData( value ) == true  )){


			    if (isNull(min)== false && (value < min))
  		           msg += getMinValueErrorStr( description, value, min );

			    if (isNull(max)== false && (value > max ))
  		           msg += getMaxValueErrorStr( description, value, max );


              }
			  
  		      if (( datatype.toUpperCase()=='I') && (isInt( value ) == true )){ 
                
			    if (isNull(min)== false && (value - min < 0))
  		           msg += getMinValueErrorStr( description, value, min );


			    if (isNull(max)== false && (value - max > 0))
  		           msg += getMaxValueErrorStr( description, value, max );

			  }
          }



  	      if ( msg.length > 0 ) {
//		    alert( "Pole "+description+" zosta\u00b3o nieprawid\u00b3owo wype\u00b3nione: \n\n" + msg ); 
		    alert( msg ); 

		    if (element.value+"" != "undefined" ){
				element.focus();
            }

			return false;
          }

		  return true;		  
	}


/* ======================================================================
	FUNCTION:  	allValidate
	
	INPUT:		
	
	RETURN:  	false gdy wystapil blad
					
	DESC: Funkcja sprawdza wprowadzone dane dla calego dokumentu
		  Kazde dane do sprawdzenia powinny byc wlozone do osobnego pola 
		  typu hidden o nazwie VXXDATA$IGNORE a wartosci jako string
		  skladajacy sie z danych pola do sprawdzenia 
		  wartosci$typu$mandatory$description$size$min$max$name pola do sprawdzenia
		  ( 5 danych do sprawdzenia powinno byc w dokumencie 5 pol o nazie VXXDATA$IGNORE)
 ======================================================================*/
	function allValidate()	
	{

        var dml=document.F;
        var len = dml.elements.length;
        var i=0;
        var name_elem ="";
        var value_elem ="";
        var value ="";
        var datatype ="";
        var mandatory ="";
        var description ="";
        var name ="";
        var value_prev ="";
        var name_prev ="";
        var size="";
        var mask="";

		// pobranie wszystkich elementow
		for(var i=0;i<len;i++) {
	
//			alert(dml.elements[i].name+" wartosc "+ dml.elements[i].value);

			// werfikacja elementow typu hidden
			if (dml.elements[i].type.toLowerCase()=='hidden')
			{
				name_elem = dml.elements[i].name;
				// tylko pola o nazwie - VXXDATA$IGNORE
   	 	        var l1 = name_elem.indexOf("VXXDATA$IGNORE");
        		if (l1 == 0)
				{


					value_elem = dml.elements[i].value;

					var e_1 = value_elem.indexOf("$");
					value = value_elem.substring(0, e_1);

//					dml.elements[i].value = value;


					var e_2 = value_elem.indexOf( "$", e_1+1);
					datatype = value_elem.substring(e_1+1, e_2);

					var e_3 = value_elem.indexOf( "$", e_2 + 1);
					mandatory = value_elem.substring(e_2+1, e_3);

				
					var e_4 = value_elem.indexOf( "$", e_3 + 1);
					description = value_elem.substring(e_3+1, e_4);

					var e_5 = value_elem.indexOf( "$", e_4 + 1);
					size = value_elem.substring(e_4+1, e_5);
				
					var e_6 = value_elem.indexOf( "$", e_5 + 1);
					min = value_elem.substring(e_5+1, e_6);

					var e_7 = value_elem.indexOf( "$", e_6 + 1);
					max = value_elem.substring(e_6+1, e_7);

					name = value_elem.substring(e_7+1);
//					alert ("name"+name);

					// pomijane sa pola $IGNORE
		  	 	    var l2 = name.indexOf("$IGNORE");
        			if (l2 < 0){


		       		   // pobranie wprowadzonej wartosci przez uzytkownika 
					   // dla pola ktore bedie walidowane
						value = getValueElement(name);	
//        		    alert ("Walidacja pola '" +dml.elements[i].name+" name "+name +" value_elem --" +value_elem+" value : "+ value + " datatype " +datatype+  " mandatory - "+mandatory+" description - "+description);

						// wywolanie walidacji dla danego pola 
						if (validate(value, datatype, mandatory,  description, size, min, max) == false){


							setFocusElement(name);
							return false; 
					    }
					}

				}	

			}

	    }

        return true;


    }


/* ======================================================================
	FUNCTION:  	getValueElement
	
	INPUT:		nazwa pola, ktore ma byc testowane
	
	RETURN:  	wartosc pola
					
	DESC: Funkcja zwraca wartosc danego pola
 ======================================================================*/
	function getValueElement( l_name)	
	{

        var dml=document.F;
        var len = dml.elements.length;
        var k=0
        var l_value ="";
		// pobranie wszystkich elementow
		for(var k=0;k<len;k++) {
//			alert (" 1:= "+dml.elements[k].name+"   =   "+l_name);
			if (dml.elements[k].name == l_name){
				l_value = dml.elements[k].value;
				return l_value;
            }
        }
		return l_value;
    }

/* ======================================================================
	FUNCTION:  	setFocusElement
	
	INPUT:		nazwa pola, ktore ma byc testowane
	
	RETURN:  	
					
	DESC: Funkcja ustawia fokus danego pola
 ======================================================================*/
	function setFocusElement( l_name)	
	{

        var dml=document.F;
        var len = dml.elements.length;
        var k=0
        var l_value ="";

		// pobranie wszystkich elementow
		for(var k=0;k<len;k++) {
			if (dml.elements[k].name == l_name){
				dml.elements[k].focus();
				return;
            }
        }
		return;
    }

/* ======================================================================
	FUNCTION:  	findActive
	
	INPUT:		a_value varto\u009c\u00e6 szukanego pola 
	
	RETURN:  	pole kt\u00f3re aktualnie jest podswietlone 
					
	DESC: Funkcja znajduje chekbox dla wybranej pozycji na podstawie jego warto\u009cci
 ======================================================================*/
	function findActive(a_value){
		// brak checkbox\u00f3w 

			if (F.MULTISELECT == null)
				return null;			
			if ( (a_value  == null) || (a_value ==""))
			{
				return null;
			}
			if (F.MULTISELECT.length == null)
			{ // jest tylko 1 pozycja 
				if (F.MULTISELECT.value==a_value) {
					return F.MULTISELECT;					
				}
			}else{ // jest wi\u00eacej ni\u00bf jedna pozycja
				for(var i=0;i<F.MULTISELECT.length;i++) {					
				//	alert(F.MULTISELECT[i].type);
						if (F.MULTISELECT[i].value==a_value) {
								return F.MULTISELECT[i];					
						}
				}
			}
			// nie znalziono 			
			return null; 		
	}


//Przekonwertowanie wszystkich pol MULTI 
function Validate(){
	if (document.F.elements.length != null)
	{	
    	for ( var i=0; i <  document.F.elements.length ; i++ ) {
			//alert(document.F.elements[i].name);
			listToString(document.F.elements[i]);
		}
	}
	
}
//zamienia w polach typu multi wszystkie opcje na jedn\u00b9 z  wszystkimi warto\u009cciami
function listToString(a_name){
	//alert("test" + a_name.length);
	
	var l_oper = "";
	if(a_name.name != null){
	l_oper = getOper(a_name.name);
		if (  ((l_oper.indexOf("MULTI")>-1)/*(l_oper == "MULTI")*/ || (l_oper == "NOREPEATS") || (l_oper == "NOREPEATSID")) && ((a_name.type == "select-multiple") || (a_name.type == "select-one")) && (a_name.length>0)  )
		{	
			//alert("["+a_name.options[0].value+"]");	
			// zamiana wszystkich opcji 
			for ( var i=1; i <  a_name.length ; i++ ) {
					//a_name.options[0].value += "\u00a0" + a_name.options[ i ].value ;
					//a_name.options[i].value = '';

					a_name.options[i].selected = true;
			}

			a_name.options[0].selected = true;
//    	alert("["+a_name.options[0].value+"]");	
			//alert(a_name.value);
			// kasia ///alert("["+a_name.options[0].value+"]");					
		
		}
	}
	

}
// pobranie operatora 
function getOper(a_name){		
	var l_oper = "";
	var  l_ind = a_name.indexOf("$");		
	if ( l_ind >0  ) {
		var l_indLast = a_name.lastIndexOf("$");

		if ( (l_indLast >0) && (l_indLast != l_ind) ){
			l_oper = a_name.substring(l_ind+1, l_indLast);
		}else{
			l_oper = a_name.substring(l_ind+1);
		}

	}	
	return l_oper;
}
 function update_zobacz(menuFrame, id, objType, title, file)
 {
   if (menuFrame != null)
   {
    //alert("Tutaj 1");
//	alert(top.document.title);
	top.document.title += ' : ' + title;
  //  alert(menuFrame + ' ' + id + ' ' + objType + ' ' + title + ' ' + file);
    new_loc = menuFrame.location.href;
	new_loc.substring(0, new_loc.length-2);
	if (new_loc.indexOf('&parameters') > 0)
	{
     new_loc = new_loc.substring(0, new_loc.indexOf('&parameters'));
	}
	id = id.replace('#','$');
    new_loc += "&parameters=ID=(" + id + ");objType=(" + objType + ");windowtitle=(" + title + ")";


    menuFrame.location.replace('zax_Tlo.html');
	void('');

    menuFrame.location.replace(new_loc);
   }


 }

 function extractParam(paramname, params)
 {
   alert(paramname);
   return '0';
 }

 function update_oko(menuFrame, params, title, file)
 {
   //alert("parametry -"+ params +"-");
   if (menuFrame != null)
   {
//    alert("maciek");
	id = getparameter(params, 'ID_XML');
	objType = getparameter(params, 'OIType');
    k = id.indexOf('!035!');
	id = id.substring(0, k) + '#' + id.substring(k+5, id.length);
	top.document.title += ' : ' + title;
    new_loc = menuFrame.location.href;
	new_loc.substring(0, new_loc.length-2);
	if (new_loc.indexOf('&parameters') > 0)
	{
     new_loc = new_loc.substring(0, new_loc.indexOf('&parameters'));
	}
	id = id.replace('#','$');
    new_loc += "&parameters=ID=(" + id + ");flash=(true);objType=(" + objType + ");windowtitle=(" + title + ")";

//    menuFrame.location.replace('zax_Tlo.html');
	void('');
//    alert(new_loc);   
    menuFrame.location.href = new_loc;
   }
   else
    top.document.title = title;


 }


 function setFocus()
 {
  if (document.F.elements.length > 2)
  {
   for (i=0; i<document.F.elements.length ; i++)
   {
//	   alert(document.F.elements[i].type);
     if (document.F.elements[i].type)
     {
   	  if (document.F.elements[i].type == "text")
	  {
        document.F.elements[i].focus();
		return;
      }

 	  if (document.F.elements[i].type == "textarea")
	  {
        document.F.elements[i].focus();
		return;
      }
	  
 	  if (document.F.elements[i].type == "select-one")
	  {
        document.F.elements[i].focus();
		return;
      }

 	  if (document.F.elements[i].type == "select-multiple")
	  {
        document.F.elements[i].focus();
		return;
      }

     } 
   }
  }
 }
 

/*******************************************************************************
*	Skrypty walidacji danej z podaną maska 
*	autor:	Z.Wroblewski
*	
*	funkcja walidująca:
*		compare_with_mask(maska, dana)
*	 zwraca 
*		true  - gdy format podanej danej opowiada masce,
*		false - w przeciwnym wypadku
*	
*	Poprawność maski nie jest sprawdzana !!!!
*	Maska składa się z wyrażeń regularnych i części stałych miądzy tymi wyrażeniami.
*	
*	Format wyrażenia :
*	!%<t><len_min>-<len_max>!^		
*	lub
*	!%<t><len_min>+!^
*	lub
*	!%<t><len>!^
*	



*	gdzie :
*	!%		- znacznik początku wyrażenia
*	!^		- znacznik konca wyrażenia
*	t		- typ zmiennej , zawsze jednoliterowy możliwe wartości to (obecnie):
*							i - liczba
*							c - dowolny napis
*	l_min	- minimalna długość zmiennej
*	l_max	- maksymalna długość zmiennej 
*	l_len   - długość zmiennej 
*	
*	Przyklad :
*	!%i3!^		- liczba integer o długości 3 znaków 
*	!%i3+!^		- liczba integer o długości co najmniej 3 znaków 
*	!%i3-10!^	- liczba integer o długości od 3 do 10 znaków 
*	
*	
*	Maska na polski kod pocztowy:
*	!%i2!^-!%i3!^
*	
*******************************************************/

var g_maska_token ;
var g_maska_fix ;
var g_maska_t_ind  ;
var g_maska_f_ind ;
var g_maska_maska="" ;
//var ar_token;

function validuj_z_wyrreg(ar_dana , ar_token){
//funkcja analizuje token wyrażenia regularnego i sprawdza czy dana odpowiada temu wyrazeniu
// ar_token - nie moze zawierać znaku początka i konca (!% i !^)
//g_maska_type  - typ zmiennej 
//g_maska_len_min - minimalna dlugosc
//g_maska_len_max - maksymalna dlugosc
var l_typ="";
var l_min=0;
var l_max=0;
var l_s="",l_s1="";
var i;
l_typ = ar_token.substring(0,1);
i=ar_token.indexOf("-");
if (i<0 ){
	i=ar_token.indexOf("+");
	l_max=-1;
}

if (i<0 ){
//brak wymaganego znaku + lub -
	l_s = ar_token.substring(1);
	if ( isNaN (l_s )){return false; }//błedna maska 
	l_min = parseInt(l_s);
	l_max = l_min;
}else
{
	l_s = ar_token.substring(1,i);
	if ( isNaN (l_s )){return false; }//błedna maska 
	l_min = parseInt(l_s);
		if (l_max==0){
			l_s = ar_token.substring(i+1,ar_token.length);
			if ( isNaN (l_s )){return false; } //błedna maska 
			l_max =parseInt(l_s); 
	}
}

if ( ( ar_dana.length < l_min ) ||  ( (ar_dana.length > l_max ) && (l_max > 0 )) ) {
//	alert ("dlugosc");
	return false;
}

//sprawdzenie typu tu rozszerzamy jezeli chcemy kole3jne typy
//alert ("typ"+ l_typ + "******"+ ar_dana );
if (l_typ == "i" && isNaN(ar_dana) ) { 	return false;}

return true;
}

//function get_from_mask(g_maska_maska , g_maska_token, g_maska_fix , g_maska_t_ind  , g_maska_f_ind){
function get_from_mask(){
//funkcja wycina z maski token z wyrażeniem regularnym, 
//token z częścia stałe ,
//indeks jednego i drufiego w masce
// usuwa wybrane elemety z maski
// !%i10-100!^ 
var c_tok_bg="!%";
var c_tok_end="!^";
var l_token=""; //wyr reg
var l_fix="" ;  //częśc stała 
var l_t_ind=0 ;
var l_f_ind =0 ;
var l_t_end_ind;
var l_ind_do=0 ;
l_t_ind = g_maska_maska.indexOf (c_tok_bg);
l_t_end_ind = g_maska_maska.indexOf ( c_tok_end ,l_t_ind);
//jaka czesc zosanie obcieta 
if (l_t_ind ==0 ){
	l_ind_do = g_maska_maska.indexOf ( c_tok_bg , l_t_ind +1 );
	if (l_ind_do <0  ){ l_ind_do =  g_maska_maska.length ;}
}
if (l_t_ind > 0 ){ l_ind_do =  l_t_end_ind+2 ;}
if (l_t_ind < 0 ){ l_ind_do =  g_maska_maska.length ;}

if ( l_t_ind ==0 && l_t_end_ind > 0  ){
	l_f_ind  = l_t_end_ind +2;
	if  (l_f_ind == g_maska_maska.length ) { l_f_ind = -1 ;}
}
if (l_t_end_ind > 0 && l_t_end_ind > l_t_ind ){
	l_token=g_maska_maska.substring(l_t_ind+2, l_t_end_ind);
}
if ( l_f_ind < l_t_ind ){
	l_fix = g_maska_maska.substring(l_f_ind, l_t_ind);
	}
	else
	{
	l_fix = g_maska_maska.substring( l_f_ind ,l_ind_do   );
}

//przypianie do globalnych
//jezeli pierwsza jest fix to zwracamy tylko fix
if ( l_f_ind < l_t_ind && l_f_ind >-1 ){
	g_maska_maska = g_maska_maska.substring( l_t_ind  );
}
else {
	g_maska_maska = g_maska_maska.substring( l_ind_do  );
}
if (l_f_ind ==0){
	g_maska_token="" ;
	g_maska_t_ind = -1;
}
else {
	g_maska_token=l_token ;
	g_maska_t_ind  = l_t_ind ;
}
g_maska_fix =l_fix ;
g_maska_f_ind = l_f_ind;
//alert(g_maska_maska+"***"+g_maska_token+"***"+ g_maska_fix +"***"+ g_maska_t_ind  +"***"+ g_maska_f_ind+"***"+l_ind_do );
}

function compare_with_mask(maska, dana){
g_maska_maska=maska ;
do {

	g_maska_token=""; g_maska_fix="";g_maska_t_ind =-1 ; g_maska_f_ind=-1 ;
	get_from_mask(); 
	
//alert(g_maska_token+"********"+g_maska_fix+"********"+g_maska_t_ind +"********"+ g_maska_f_ind);
	if ( g_maska_f_ind==0) {
			//na poczatku jest fix
//	alert (dana.substring(0,g_maska_fix.length)+"*******"+g_maska_fix )
		if (! (dana.substring(0,g_maska_fix.length)==g_maska_fix )){
//			alert ("fix1 ");
			l_ok=false;
			break;
		}
	}
	if ( g_maska_t_ind==0) {
		if ( g_maska_f_ind >0 ) {
			l_do = dana.indexOf(g_maska_fix) ; }
		else{
			l_do = dana.length ; 
		}
		//odczyt czesci do wyr_reg
		l_s= dana.substring(0,l_do);
		l_ok=validuj_z_wyrreg  (l_s, g_maska_token);
//alert (dana.substring(0,g_maska_fix.length)+"***"+g_maska_fix )
		if (! l_ok ){
			l_ok=false;
			break;
		}
		//sprawdzenie fixa
		if (! (dana.substring(l_do,l_do+ g_maska_fix.length)==g_maska_fix )){
//			alert ("fix2 ");
			l_ok=false;
			break;
		}
	}
	if (g_maska_fix.length >0 ) {
		dana=dana.substring( dana.indexOf(g_maska_fix) +g_maska_fix.length ); }
	else 
	{
		dana="" 
	}
//} while ((! g_maska_maska.length==0 )&& confirm("tak?" + g_maska_maska +"====="+dana))//
} while (! g_maska_maska.length==0 )

if (! dana =="") {
//alert ("dana "+ dana);
	l_ok=false ;
}

return l_ok;
}


function dobackaction(target, parameters)
{  
 var page = getparameter(parameters, "backPage");
 var params = getparameter(parameters, "backParams");
 doaction(page, target, params);
}

function checkBVer()
{ 
 ver = navigator.userAgent.toLowerCase().substring(30,31) + navigator.userAgent.toLowerCase().substring(32,33); 
 return ver;
}


/*******************************************************************************
*	KONIEC Skrypty walidacji danej z podaną maska 
*/



/*******************************************************************************
*	Dla wszystkich linkow na stronie ustawienie akcji onClik na pusta.
*   
*/
function deactivateLinks()
{
   for (i=0; i<document.links.length; i++) 
   {
     document.links[i].href ='#';
     document.links[i].onClick ='';
   } 
}

