//-----------------------------------------------------------------------------
//  Opis:       Funkcje AJAXa :)
//  Ver:        1.0.0
//  Gen:        19/02/2008
//  Mod:        19/02/2008   
//-----------------------------------------------------------------------------
/* Modyfikacje:

*/

//-----------------------------------------------------------------------------
// Podstawowe zmienne, ktore wykorzystamy w funkcjach
 var tresc;     // tu przechowamy tresc komunikatu powodzenia
 var txtLoad;   // tu przechowamy informacje o stanie wykonywania skryptu
 var beforeText='';  // tekst, ktory zostanie wyswietlony przed cala odpowiedzia
 var afterText='';    // tekst, ktory zostanie wyswietlony na koncu zwracanej wiadomosci
 var destDiv;   // miejsce - DIV, ktory ma zostal zaupgredowany
 var srcDiv;    // DIV, z ktorego pobierane sa dane czy cos tam ;p
 var formek;    // tu przechowamy nazwe formularza ;p
 var url;       // miejsce na URL, pod ktore zostanie wyslane zadanie
 var dane;      // dane, jako zmienne,ktore beda przekazane w adresie / URL
 var metoda;    // metoda jaka dane beda wysylane: POST / GET
 var response;  // zmienna, w ktorej przechowany odpowiedz AJAXa
 var showGfx;   // wyswietl grafike ladowania lub nie;
 var objValue;  // dotyczy obiektow z wartosciami VALUE, zamiast innerHTML 
                // jezeli zwracany wynik ma byc w obj.Value

 function ajaxReset()
 {
    tresc=''; txtLoad=''; beforeText=''; afterText=''; destDiv='';
    srcDiv=''; formek=''; url=''; dane=''; metoda=''; response='';
    showGfx=false; objValue=false;
    
 } 
 // funkcja wysyla zadanie Ajaxa pod podany adres URL wraz z odpowienimi danymi
 function wyslijAjaxa()
 {
      var nAjax = new Ajax.Request( url,
      {method: metoda,  parameters: dane,
       onLoading: showLoading,
       onLoad: showLoading,
       onComplete: showSukces });
 }

 // funkcja umieszcza tekst w destDiv'ie, informujacy nas, ze zadanie jest
 // przetwarzane ...
 function showLoading()
 {
    var gfx='';
    
    if( showGfx == true )
        gfx = '<img align="left" style="float: left; margin: 4px;" src="gfx/loading.gif" alt="ladowanie"/>';
            
    $(destDiv).innerHTML = gfx + txtLoad;
 }
 
 // Funkcja umieszcza dekodowana odpowiedz serwera w destDiv'ie ;p
 function showSukces( resp )
 {
      response = resp.responseText;
      response = beforeText + response.unescapeHTML() + afterText;
      
      if( objValue == true )
        $(destDiv).value = response;
      else
        $(destDiv).innerHTML = response; 
 }
 
 function isset(varname)  
 {
      if(typeof( window[ varname ] ) != "undefined") 
         return true;
      else 
         return false;
}
//-----------------------------------------------------------------------------
// Funkcje do przetwarzania i wykorzystania AJAXa 
//-----------------------------------------------------------------------------

  function form_selectSubsubject(subject)
  {
     ajaxReset();

     destDiv = 'subsubject';
     showGfx = true;
     metoda = 'get';

     txtLoad = '- trwa zapisywanie i generowanie unikatowego kodu<br/>Proszę czekać...';

     url = 'ajax.php';
     dane = 'page=kontakt&opcja=subsubject&wybor='+subject;

     wyslijAjaxa();
     Element.show("subjectTR");
  }


// ----- odtad w dol moŞna wywalic

//---- FUNKCJE GENEROWANIA POD GRUPY WYBRANEJ GRUPY :) -----------------
  function grp_ShowSubGroups( idgrp )
  {
     ajaxReset();
     destDiv = 'subGrp';
     showGfx = true;
     metoda = 'get';
     
     txtLoad = '- trwa generowanie listy podgrup<br/>Proszę czekać...';
     
     url = 'ajax.php';
     dane = 'page=grupy&opcja=showSubGrp&idgrp='+idgrp;
     wyslijAjaxa();
  }
  
  function grp_ShowSub2Groups( idpgrp )
  {
     ajaxReset();
     destDiv = 'sub2Grp';
     showGfx = true;
     metoda = 'get';
     
     txtLoad = '- trwa generowanie listy podgrup<br/>Proszę czekać...';
     
     url = 'ajax.php';
     dane = 'page=grupy&opcja=showSub2Grp&idpgrp='+idpgrp;
     wyslijAjaxa();
  }
//-----------------------------------------------------------------------------
// Generowanie formularza - zapis
  function form_zapiszFormularz()
  {
     ajaxReset();
     var formek = zak_formGenerate( true );
     var id_zak = $('idzak').value;
     var opis = $('formOpis').value;
     var nazwa = $('formNazwa').value;
     var idMod = $('id_mod').value;
     
     destDiv = 'formDiv';
     showGfx = true;
     metoda = 'get';
     beforeText = '<div id="scriptCode"><b>Proszę wkleić ten kod, w miejsce'
                 +', gdzie ma być pokazany formularz:</b><br/>';
     afterText = '</div>';
     
     txtLoad = '- trwa zapisywanie i generowanie unikatowego kodu<br/>Proszę czekać...';
     
     url = 'ajax.php';
     dane = 'page=form&opcja=zapisz&idzak='+id_zak+'&idmod='+idMod+'&skrypt='+formek+'&nazwa='+nazwa+'&opis='+opis;

     wyslijAjaxa();
  }

//-----------------------------------------------------------------------------
  function mgi_pokazGrpSelect( idzak )
  {
      ajaxReset();
      
      destDiv = 'adresatDiv';
      metoda = 'get';
      afterText = '<br/><a href="#" onclick="return grp_pokazAdresy(0);">pokaŞ adresy</a>';
    //  afterText += '<div id="grpAdresyDiv"></div>';
      showGfx = true;
      txtLoad = '- trwa wczytywanie grup mailingowych<br/>Prosze czekać...';
      
      url = 'ajax.php';
      dane = 'page=mgi&opcja=pokazGrpSelect&idzak='+idzak;
      
      wyslijAjaxa();
  }
//-----------------------------------------------------------------------------
  function mgi_pobierzMgiTytul( idmgi )
  {
      ajaxReset();
      
      destDiv = 'tytul_emaila';
      metoda = 'get';
      showGfx = false;
      txtLoad = '';
      objValue = true;
      url = 'ajax.php';
      dane = 'page=mgi&opcja=podajMgiTytul&idmgi='+idmgi;
      
      wyslijAjaxa();
      return false;
  }
//-----------------------------------------------------------------------------
  function mgi_persolSelect( opcja, idzak )
  {
     if( opcja == 'tak' )
     {
          ajaxReset();
          
          destDiv = 'personDiv';
          metoda = 'get';
          showGfx = true;
          beforeText = '<label>Wybierz pole:</label><br/>';
          txtLoad = 'trwa generowanie listy dostępnych pól...';
          url = 'ajax.php';
          dane = 'page=mgi&opcja=personDiv&idzak='+idzak;
          
          wyslijAjaxa();
     }
     else $('personDiv').innerHTML = '';
  }
//-----------------------------------------------------------------------------
  function pokazLekarzy( idSpecjalnosci )
  {

          ajaxReset();
          
          destDiv = 'lekarzSelectTd';
          metoda = 'get';
          showGfx = true;
          txtLoad = 'trwa generowanie listy dostępnych pól...';
          url = 'ajax.php';
          dane = 'page=lekarz&idSpecjalnosci='+idSpecjalnosci;

          wyslijAjaxa();
          Element.show('lekarzSelectTr');  
  }

