  /*
    AJAX
    //http://www.javarss.com/ajax/j2ee-ajax.html
  */
 
  // Inicializace AJAXu
  function ajax_init()
  {  
    if (window.XMLHttpRequest) 
    {
      AJAXForms = new XMLHttpRequest();
      // branch for IE/Windows ActiveX version
    } // end if 
    else if (window.ActiveXObject) 
    {
      AJAXForms = new ActiveXObject("Microsoft.XMLHTTP");
    } // end else 

  } // end function 
  // ---
  
  //  volani js funkce 'function_name' pres ajax
  function processRequest(function_name, param)
  {
    if ( typeof( window["AJAXForms"]) != "undefined" )                     
    {
      if (AJAXForms.readyState == 4) 
      {
        if (AJAXForms.status == 200) 
        {
          if (function_name == "")
          {
            function_name = "processChange";
          } // end if 
          eval(function_name + "(" + param + ");");   
        } // end if 
        else 
        {
          /* alert ( "Not able to retrieve description" ); */
        } // end else 
      } // end if 
    } // end if 
  } // end function   
  // ---  
  
  // ajaxovy submit - ilustracni priklad - aplikacni funkce se z teto funkce rozpiruje a prejmenuje 
  function ajax_submit() 
  {
    // inicilizace
    ajax_init();
    
    // sestaveni parametru pro volani - pozor v php skriptu (definovanem v promenne "url"), ktery tyto parametry nacita z POST je nutne pouzit "nasi" php funkci "unescape_js()"
    parameters = "";

      // automaticke nacteni dat z vybraneho formulare ve formatu pro URL vcetne prevedeni na escape sekvence pokud je to vyzadovano
      queryString = get_fullformquery("form_prevodnik_kodu");     
      
      // doplneni dalsich parametru - pokud by se posilal text (mezery, spec. znaky a atd..), musel by osetrit js funkci "escape()" => ("napis=" + escape("český nadpis") )
      parameters = parameters + "group=get_sku";    
      parameters = parameters + queryString; // doplneni parametru z fomulare
    // ---
    
    url = get_wwwroot() + "/custom_templates/prevodnik_kodu.php?" + parameters; 
    
    AJAXForms.onreadystatechange = function () { processRequest("nastavSku", ""); } ;
    AJAXForms.open("get", url);
    AJAXForms.send(null);
    
    return false;
  } // end function 
  // ---
  
  
  // implicitni osetreni aktualizace html kodu daty z ajaxe (AJAXForms.responseText) - ilustracni
  function nastavSku(param)
  {
    // ilustracni priklad pouziti s naplnenim divu "asistent" vygenerovanymi daty a naslednym, podminenym, refocusem na input
    var res = ge("sku_new");

    res.innerHTML = AJAXForms.responseText;
  } // end function
  // --- 

  var cislo_polozky = 0;

  function VlozDoObjednavky(sku)
  {
    ge("id_product_check_kod_" + cislo_polozky).value = sku;
    ge("product_check_form_" + cislo_polozky).submit();
    
    cislo_polozky = cislo_polozky + 1;
  } // end function                  

  /*
    // ---
  */

  // funkce nacte vsechny data z poslaneho formulare a preformatuje je do retezce.
  function get_fullformquery(el_form_id)
  {
    queryString="&"; 
    
    var frm = ge(el_form_id);
    var numberElements = frm.elements.length;     
    
    // Pro kazdy element formulare     
    for(var i = 0; i < numberElements; i++) 
    {       
      if (( typeof( frm.elements[i]) != "undefined" ) && (frm.elements[i].nodeName == "SELECT" || frm.elements[i].nodeName == "INPUT") && frm.elements[i].name != "" && frm.elements[i].value != "")
      {    
        if ((frm.elements[i].type == "checkbox") || frm.elements[i].type == "radio")
        {
          if (frm.elements[i].checked == true)
          {
            //alert(frm.elements[i].name + " " + frm.elements[i].value);
            queryString += frm.elements[i].name+"="+ escape(frm.elements[i].value);  // encodeURIComponent // URLEncode
            if(i < numberElements-1) 
            {           
             queryString += "&";
            } // end ifr            
          } // end if 
        } // end if 
        else
        {                  
          queryString += frm.elements[i].name+"="+ escape(frm.elements[i].value); // URLEncode //  encodeURIComponent
          if(i < numberElements-1) 
          {           
           queryString += "&";
          } // end ifr            
        } // end if
         
      } // end if 
    } // end for

    return queryString;
  
  } // end function
