    
    var counter = 0;    
    var urlPrint = '';
    
    var source_form = '';
	
    
    /**
     * form handler
     * @param new_action
     * @return
     */
    function workAjax(new_action)
    {
  
      if((workAjax.arguments.length > 0) && (new_action.length > 0))
      {
    	  var action = '?action=' + $.param(new_action);
      }
      else
      {
    	  var action = $(".searchFormPKS").attr('action');
      }
      
      source_form = $(".searchFormPKS :input").not(".forminput, .formselect").serialize();
      var param = action + '&' + $(".searchFormPKS").serialize();
      
      run_searcher(url, param);
         
    }    
   
    
    /**
     * form handler
     * @param form
     * @return
     */
    function search_back(form)
    {
    	var par = '?' + $(form).serialize();
    	run_searcher(url, par);
    }
    
    /**
     * Do AJAX query and replace conten on page
     * @param url
     * @param param
     * @return
     */
    function run_searcher(url, param)
    {
    	var timeout;

    	 var aurl = url + param;
         
         //urlPrint = aurl;
         timeout = setTimeout("grayOut(true)", 600);    	

         
         $('#uniqueID').load(aurl, function() {
       	
        	 jump_step();
        	 
        	 //alert("fihish");
           clearTimeout(timeout);
           grayOut(false);
           
           var x=$("#drukujBTN");
           var pat = 'action=search';
           var pat2 = 'act_print=123';
           //if ((aurl.search(pat) > 0) ) // dodac or'a w przypadku zmiennej print
           if ($("*").is(".results"))
           {

             //var param_print = param + $("[value='startStation]'").serialize();
   	        var param_print = param +'&'+ get_station_names();
   	        var urlPrint = 'inc/wyszukiwarkaPolaczenFrontEndPrint.php'+param_print+'&print=1';

   	          x.removeAttr('onclick');
   	          x.unbind();
   	          x.click(function() {
   	            openWindow(urlPrint);
   	        	  //alert(urlPrint);
   	          });
           }
           else
           {
   	          x.removeAttr('onclick');
   	          x.unbind();
   	          x.click(function() {            
   	            window.print();
   	          });
             
           }
           onClickTimeTable();
           //document.searchForm.startStation.focus();
         });
         
         //alert("start");
         //timeout = setTimeout("grayOut(true)", 600);    	
    }
    
    /**
     * 
     */
    $(document).ready(function() {
    	if($("div").is(".#uniqueID"))
    	{
		      var aurl = url
		      //if(postStr)
		        aurl =  aurl + '?' + postStr;
		      if(par)
		        aurl = aurl + '&' + par;
		        
		      urlPrint = aurl;
		      $('#uniqueID').load(aurl, function() {
		        //document.searchForm.startStation.focus();
		    	  jump_step();
		      });
    	}
    })
 
    /**
     * 
     * 
     */
	function jump_step()
	{
	  	  if($("div").is(".isOneResult"))
	      {
	    	  workAjax();        	  
	      }    	
	}
    
//////////////////////////////////////////////////////////////////////////    
    function get_station_names()
    {
    	var names = new Object();
    	names['startStationName'] = $(".searchFormPKS [name='startStation']").val();
    	names['stopStationName'] = $(".searchFormPKS [name='stopStation']").val();

    	return $.param(names);
    }


  
  function onClickTimeTable(object_this_form)
  {
    var form = document.searchForm;
    
    if (typeof(form.isTimeTable) != 'undefined')
    {
      var isOn = form.isTimeTable.checked;

      form.timeString.disabled = isOn;
      form.outcome[0].disabled = isOn;
      form.outcome[1].disabled = isOn;
      form.timeShift.disabled = isOn;
    }
  }  
  
  var DHTML_SUITE_THEME_FOLDER = 'javascript/suite-window/window-layout/';
  var DHTML_SUITE_THEME = 'blue';
  var lpWind = 0;
  var windowWidget = new Array();
  var newWindowModel = new Array();
  
  function createNewWindow(win_title, parNrfk, parNrkursu, parDate, parCost)
  {    
    win_title = dummy_url_decode(win_title);
    
    aurl = url + '?action=getDiscounts&nrfk='+parNrfk+'&nrkursu='+parNrkursu+'&date='+parDate+'&cost='+parCost;
    $.get(aurl, function(data){
    	  //alert("Data Loaded: " + data);
           
          var tab = data.split("<delimer/>");
         
          var width = 300;
          var height = 400;
          var x = $(window).width()/2 - (width/2);
          var y = 100 + document.documentElement.scrollTop;
          var id1str = lpWind.toString() + 'u';
          var id2str = lpWind.toString() + 'h';
          
          $('div.DHTMLSuite_window').remove(); // brutalnie usuwa poprzednie okna 
          
          newWindowModel[lpWind] = new DHTMLSuite.windowModel({windowsTheme:false,id:'newWindow', title:win_title, xPos:x,yPos:y,width:width,height:height } );
          newWindowModel[lpWind].addTab({ id:id1str,htmlElementId:id1str,tabTitle:'Ustawowe', textContent:tab[0] } );
          newWindowModel[lpWind].addTab({ id:id2str,htmlElementId:id2str,tabTitle:'Handlowe', textContent:tab[1]  } );
          windowWidget = new DHTMLSuite.windowWidget(newWindowModel[lpWind]).init();

          //lpWind++;    
	 });
   
  }
  
  function createNewWindow_old(win_title, parNrfk, parNrkursu, parDate, parCost)
  {    
    win_title = dummy_url_decode(win_title);
    
    aurl = url + '?action=getDiscounts&nrfk='+parNrfk+'&nrkursu='+parNrkursu+'&date='+parDate+'&cost='+parCost;
    xmlhttp=GetXmlHttpObject();
    if (xmlhttp==null)
      {
      alert ("Your browser does not support XMLHTTP!");
      return;
      }
    
    xmlhttp.onreadystatechange=function()
      {
      if(xmlhttp.readyState==4)
        {                   
          var tab = xmlhttp.responseText.split("<delimer/>");
         
          var width = 300;
          var height = 400;
          var x = $(window).width()/2 - (width/2);
          var y = 100 + document.documentElement.scrollTop;
          var id1str = lpWind.toString() + 'u';
          var id2str = lpWind.toString() + 'h';
          $('div.DHTMLSuite_window').remove(); // brutalnie usuwa poprzednie okna 
          
          newWindowModel[lpWind] = new DHTMLSuite.windowModel({windowsTheme:false,id:'newWindow', title:win_title, xPos:x,yPos:y,width:width,height:height } );
          newWindowModel[lpWind].addTab({ id:id1str,htmlElementId:id1str,tabTitle:'Ustawowe', textContent:tab[0] } );
          newWindowModel[lpWind].addTab({ id:id2str,htmlElementId:id2str,tabTitle:'Handlowe', textContent:tab[1]  } );
          windowWidget = new DHTMLSuite.windowWidget(newWindowModel[lpWind]).init();

          //lpWind++;    
        }
      }
    
    xmlhttp.open("GET",aurl,true);
    xmlhttp.send(null);
   
  }
  
  
function GetXmlHttpObject()
{
  if (window.XMLHttpRequest)
    {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    return new XMLHttpRequest();
    }
  if (window.ActiveXObject)
    {
    // code for IE6, IE5
    return new ActiveXObject("Microsoft.XMLHTTP");
    }
  return null;
}


$.extend({
	  getUrlVars: function(){
	    var vars = [], hash;
	    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
	    for(var i = 0; i < hashes.length; i++)
	    {
	      hash = hashes[i].split('=');
	      vars.push(hash[0]);
	      vars[hash[0]] = hash[1];
	    }
	    return vars;
	  },
	  getUrlVar: function(name){
	    return $.getUrlVars()[name];
	  }
	});


function dummy_url_decode(url) {
    // fixed -- + char decodes to space char
    var o = url;
    var binVal, t, b;
    var r = /(%[^%]{2}|\+)/;
    while ((m = r.exec(o)) != null && m.length > 1 && m[1] != '') {
        if (m[1] == '+') {
            t = ' ';
        } else {
            b = parseInt(m[1].substr(1), 16);
            t = String.fromCharCode(b);
        }
        o = o.replace(m[1], t);
    }
    return o;
}

function include(filename)
{
	var head = document.getElementsByTagName('head')[0];
	
	script = document.createElement('script');
	script.src = filename;
	script.type = 'text/javascript';
	
	head.appendChild(script)
}
