  
    var s_timer;
    var s_active;
    var s_count;
    var q_oldvalue;
    var q_loading_string = "<div style=\"text-align:center;\">loading...</div>";


    function $(id) 
   {
        return document.getElementById(id);
    }

    function s_toggleVisibility(id, visible) {
    
        if (visible == false) $(id).style.display = "none";
        else $(id).style.display = "block";
    }

//miasta
    
    function am_prepare() {
    
        obj = $("am_q");
        if (!document.all)
          obj.addEventListener("keyup", qm_keypress, false); 
        else
          obj.attachEvent("onkeydown", qm_keypress);

        obj.onblur = function() { s_toggleVisibility("am_s", false); };
        obj.onfocus = function() {  }

        $("am_s").onfocus = function() { s_toggleVisibility("am_s", true); };
        $("am_s").onblur = function() { s_toggleVisibility("am_s", false); };
    }
    
    function sm_choose(no) {

        $("am_q").value = no;
        s_toggleVisibility("am_s", false);
        window.setTimeout(function() { $("am_q").focus(); }, 100);
    }
    
    function qm_keypress_s(e) {
    
        window.clearTimeout(s_timer);

        switch (e.keyCode) {
            case 13:	//enter
              sm_choose($("ssm").value);
              m_search();
              break;

            case 27:	//esc
              q_oldvalue = "";
              s_toggleVisibility("am_s", false);
	$("am_q").focus();
              break;

            default:
              break;
        }
    }

    function qm_keypress(e) {
    
        window.clearTimeout(s_timer);
        switch (e.keyCode) {
            case 27:	//esc
              q_oldvalue = "";
              s_toggleVisibility("am_s", false);
              break;

            case 9:	//tab
              q_oldvalue = "";
              s_toggleVisibility("am_s", false);
              break;

            case 38:	//strzalka w gore
	s_toggleVisibility("am_s", true);
              break;

            case 40:	//strzalka w dol
              q = $("am_q").value;
              if (q.length > 0) {
	s_toggleVisibility("am_s", true);
	$("ssm").onblur = function() { s_toggleVisibility("am_s", true); };
	$("ssm").focus();
	$("am_s0").selected = true;
              } else
                s_toggleVisibility("am_s", false);
              break;

            default:
              q = $("am_q").value;
              if (q.length >= 0) {
                  s_timer = window.setTimeout(sm_get, 400);
                  return;
              } else
                s_toggleVisibility("am_s", false);
              break;
        }

    }
    
    function sm_prepare(s) {
        
        if (s.length == 0) {s_toggleVisibility("am_s", false); return;}

        s = s.split("\n");
        s_count = s.length-1;

        if (s_count > 10) s_size = 10;
        else s_size = s_count+1;

        r = 'Sugestie:<br><SELECT id="ssm" name="ssm" size=' +s_size+ ' onDblClick="sm_choose(this.value);m_search();" style="width: 100%;">';

        for (i = 0; i < s_count; i++) 
          r += '<OPTION value="' + s[i] + '" id="am_s' + i + '">' + s[i] + '';

          r += '</SELECT>';

        ams = $("am_s");
        ams.innerHTML = r;

        if (!document.all)
          $("ssm").addEventListener("keyup", qm_keypress_s, false);
        else
          $("ssm").attachEvent("onkeydown", qm_keypress_s);

        $("ssm").onfocus = function() { s_toggleVisibility("am_s", true); };
        $("ssm").onclick = function() { s_toggleVisibility("am_s", true); $("ssm").onblur = function() { s_toggleVisibility("am_s", false); };};

        s_toggleVisibility("am_s", true);
    }
    
    function sm_get() {
    
        q_oldvalue = $("am_q").value;

        advAJAX.get({
            url : "/ajax/miasta.php",
            parameters : {
              t : "get_suggestions",
              q : q_oldvalue
            },
            onInitialization : function(obj) { if (window.opera) obj.url +="&l=1"; },
            onSuccess : function(obj) { sm_prepare(obj.responseText) },
            onError : function(obj) {  }
        });
    }
    
    function m_search() {
    
        q = $("am_q").value;
        q_oldvalue = q;
        advAJAX.get({
            url : "/ajax/miasta.php",
            parameters : {
              t : "get_entry",
              q : q
            },
            onInitialization : function() {  },
            onSuccess : function(obj) { 
	if ($("am_woj")) $("am_woj").value = obj.responseText;
	//$("am_woj").options[obj.responseText].selected = true;
	},
            onError : function(obj) {  }
        });
    }

    function get_miastoByKod() {
    
        qk = $("kod").value;

        advAJAX.get({
            url : "/ajax/miasta.php",
            parameters : {
              t : "get_miastoByKod",
              q : qk
            },
            onInitialization : function() {  },
            onSuccess : function(obj) 
	{ 
	m = obj.responseText.split("\n");
	if ($("am_q") && $("am_q").value == "" && m[0] && m[0] != "" && m[0] != "undefined") $("am_q").value = m[0]; 
	if ($("am_woj") && $("am_woj").value == "" && m[1] && m[1] != "" && m[1] != "undefined") $("am_woj").value = m[1];
	},
            onError : function(obj) {  }
        });
    }

//numery archiwalne

    function arch_search(form) {

       // q = $("nrarch[]").value;
         q=document.forms[form].elements['nrarch[]'].value;

        advAJAX.get({
            url : "/ajax/numery_archiwalne.php",
            parameters : {
              t : "get_entry",
              q : q
            },
            onInitialization : function() { $("view_arch").innerHTML = q_loading_string; },
            onSuccess : function(obj) { $("view_arch").innerHTML = obj.responseText; },
            onError : function(obj) {  }
        });
    }


