////////////////////////////////////////////////////////////////////////////////
// Otwarcie nowego okna przegladarki.
//
// WE:
//   pName - nazwa okienka
//   pUrl - adres otwieranej strony
//
function newWindow(pName, pUrl) {
  win = window.open(pUrl, pName, 'menubar=no, toolbar=no, location=no, scrollbars=no, resizable=no, status=no, width=520, height=370, left=30, top=30')
  win.focus()
}



////////////////////////////////////////////////////////////////////////////////
// Umieszczenie wiadomosci w oknie rozmowy (frame_3 -> frame_2_2).
//
// WE:
//   pMessage - tresc wiadomosci
//   pClass - nazwa klasy css
//
function chatInsert(pMessage, pClass)
{
  if (document.getElementById)
  {
    var newPara = document.createElement("div");
    newPara.className = pClass;
    var newText = document.createTextNode(pMessage);
    newPara.appendChild(newText);
    var bodyRef = document.getElementById("chatWindow");
    bodyRef.appendChild(newPara);

    window.scrollBy(0, 10000);
  }
}



////////////////////////////////////////////////////////////////////////////////
// Lamanie linii w oknie rozmowy.
//
// WE:
//   pClass - nazwa klasy css
//
function chatLineBreak(pClass)
{
if (document.getElementById)
 {
    var newPara = document.createElement("p");
    newPara.className = pClass;
    //var newText = document.createTextNode(txt);
    //newPara.appendChild(newText);
    var bodyRef = document.getElementById("chatWindow");
    bodyRef.appendChild(newPara);
  }
}



////////////////////////////////////////////////////////////////////////////////
// Czyszczenie okna rozmowy (frame_2_2). Jesli podano parametr pMessage to
// po wyczyszczeniu okna pojawi sie w nim wartosc tego parametru.
//
// WE:
//   pMessage - tresc wiadomosci po wyczyszczeniu okna rozmowy
//
function chatClear(pMessage)
{
  if (document.getElementById)
  {
    var para = document.getElementById("chatWindow");
    var bodyRef = document.getElementsByTagName("body").item(0);

    while (document.getElementsByTagName('div').item(0)) {
      bodyRef.removeChild(document.getElementsByTagName('div').item(0));
    }
    
    if (pMessage != '') {
      chatInsert(pMessage, 'text_user');
    }
  }
}



////////////////////////////////////////////////////////////////////////////////
// Wyslanie wiadomosci do serwera (frame_2_1 -> php).
//
// WE:
//   pMessage - tresc wiadomosci
//
function chatSendMessage(pMessage, pUser, pChat)
{
  //document.forms['send_msg'].message.value = parent.frame_3.document.forms['input_msg'].msg.value;
  document.forms['send_msg'].message.value = pMessage;
  document.forms['send_msg'].user_id.value = pUser;
  document.forms['send_msg'].chat_id.value = pChat;

  document.forms['send_msg'].submit();
}



////////////////////////////////////////////////////////////////////////////////
// Inicjacja chata - wyslanie informacji o pojawieniu sie uzytkownika
// (frame_1 -> php).
//
function chatInit() {
  document.forms['talk_daemon'].submit();
}



function removeNastyWords(pText, pNastyWords, pReplacer) {
  var tNastyWords = Array();
  var i = 0;

  pNastyWords = pNastyWords.replace(new RegExp(' ','g'), '');
  tNastyWords = pNastyWords.split(',');

  for (i in tNastyWords) {
    if (pText.indexOf(tNastyWords[i]) > -1)
      pText = pText.replace(tNastyWords[i], pReplacer);
  }
  
  return pText;
}



////////////////////////////////////////////////////////////////////////////////
// Sekwencja funkcji do wysylania wiadomosci.
//
// WE:
//   pMessage - tresc wiadomosci
//   pUser - id uzytkownika
//   pChat - id rozmowy
//
function chatSendMessageSeq(pNick, pMessage, pUser, pChat) {
  if (pMessage != '') {
    // lamanie linii w wiadomosci
    var len = pMessage.length;
    var msg = '';
    var i = 0;
    var space = 0;

    for (i = 0; i < len; i++) {
      if (space == 44) {  // lamanie
        msg = msg + ' ' + pMessage.charAt(i);
        space = 0;
      } else {
        msg += pMessage.charAt(i);

        if (pMessage.charAt(i) != ' ') space++;
          else space = 0;
      }
    }
    //

    if (parent.frame_1.document.forms['nasty_container'].words.value != '')
      msg = removeNastyWords(msg, parent.frame_1.document.forms['nasty_container'].words.value, parent.frame_1.document.forms['nasty_container'].replacer.value);

    parent.frame_2_2.chatLineBreak('text_spacer');
    parent.frame_2_2.chatInsert(pNick + ': ', 'text_1_user');
    parent.frame_2_2.chatInsert(msg, 'text_2_user');

    parent.frame_2_1.chatSendMessage(pMessage, pUser, pChat);
    document.getElementById('msg').value = '';
  }
}



////////////////////////////////////////////////////////////////////////////////
// Inicjalizacja cyklicznego sprawdzania czy nie ma nowych wiadomosci i utrzymywania
// polaczenia uzytkownika z baza.
//
function chatDaemonInit() {
  document.forms['talk_daemon'].submit();
}



////////////////////////////////////////////////////////////////////////////////
// Wlasciwy demon - sprawdzanie czy nie ma nowych wiadomosci i utrzymywanie
// polaczenia uzytkownika z baza.
//
// WE:
//   pInterval - czestotliwosc odswiezania [s]
//   pUser - id uzytkownika
//   pChat - id chata
//
function chatDaemonRefresh(pInterval, pUser, pChat) {
  document.location.href = 'index.php?mode=talk_daemon&user_id=' + pUser + '&chat_id=' + pChat;
}



////////////////////////////////////////////////////////////////////////////////
// Odswiezenie demona uzytkownika.
//
// WE:
//   pInterval - czestotliwosc odswiezania [s]
//   pUser - id uzytkownika
//   pChat - id chata
//
function chatDaemon(pInterval, pUser, pChat) {
  pInterval = pInterval * 1000; // czas w sekundach
  setTimeout("chatDaemonRefresh(" + pInterval + ", " + pUser + ", " + pChat + ")", pInterval);
}



////////////////////////////////////////////////////////////////////////////////
// Wlasciwy demon - sprawdzanie czy nie ma nowych wiadomosci i utrzymywanie
// polaczenia konsultanta z baza.
//
// WE:
//   pKons - id konsultanta
//   pChat - id chata
//   pWords - ocenzurowane slowa
//
function chatDaemonRefreshKons(pKons, pChat) {
  document.location.href = 'index.php?mode=talk_daemon&kons_id=' + pKons + '&chat_id=' + pChat;

  // import niecenzuralnych wyrazow
//  if (parent.frame_1.document.forms['nasty_container'].words.value == '') {
//    parent.frame_1.document.forms['nasty_container'].words.value = pWords;
//  }
}



////////////////////////////////////////////////////////////////////////////////
// Odswiezenie demona konsultanta.
//
// WE:
//   pInterval - czestotliwosc odswiezania [s]
//   pKons - id konsultanta
//   pChat - id chata
//   pWords - ocenzurowane slowa
//
function chatDaemonKons(pInterval, pKons, pChat) {
  pInterval = pInterval * 1000; // czas w sekundach
  setTimeout("chatDaemonRefreshKons(" + pKons + ", " + pChat + ")", pInterval);
}



////////////////////////////////////////////////////////////////////////////////
// Wysylanie wiadomosci przez konsultanta.
//
// WE:
//   pMessage - tresc wiadomosci
//   pKons - id konsultanta
//   pChat - id chata
//
function chatSendMessageKons(pMessage, pKons, pChat)
{
  document.forms['send_msg'].message.value = pMessage;
  document.forms['send_msg'].kons_id.value = pKons;
  document.forms['send_msg'].chat_id.value = pChat;

  document.forms['send_msg'].submit();
}



////////////////////////////////////////////////////////////////////////////////
// Sekwencja funkcji do wysylania wiadomosci przez konsultanta.
//
// WE:
//   pNick - nick
//   pMessage - tresc wiadomosci
//   pKons - id konsultanta
//   pChat - id chata
//
function chatSendMessageSeqKons(pNick, pMessage, pKons, pChat) {
  if (pMessage != '') {
    // lamanie linii w wiadomosci
    var len = pMessage.length;
    var msg = '';
    var i = 0;
    var space = 0;

    for (i = 0; i < len; i++) {
      if (space == 44) {  // lamanie
        msg = msg + ' ' + pMessage.charAt(i);
        space = 0;
      } else {
        msg += pMessage.charAt(i);
        
        if (pMessage.charAt(i) != ' ') space++;
          else space = 0;
      }
    }
    //

    if (parent.frame_1.document.forms['nasty_container'].words.value != '')
      msg = removeNastyWords(msg, parent.frame_1.document.forms['nasty_container'].words.value, parent.frame_1.document.forms['nasty_container'].replacer.value);

    parent.frame_2_2.chatLineBreak('text_spacer');
    parent.frame_2_2.chatInsert(pNick + ': ', 'text_1_kons');
    parent.frame_2_2.chatInsert(msg, 'text_2_kons');

    parent.frame_2_1.chatSendMessageKons(pMessage, pKons, pChat);
    document.getElementById('msg').value = '';
  }
}



////////////////////////////////////////////////////////////////////////////////
// Zablokowanie dostepu do chata dla rozmowcy z danej rozmowy.
//
// WE:
//   pChat - id chata
//
function chatSetBan(pChat) {
  if (confirm('Czy na pewno chcesz zablokować rozmówcę?')) {
    var cause = null;
  
    while ((cause == null) || (cause == '')) cause = prompt('Podaj powód blokady rozmówcy:', '');
  
    parent.frame_2_3.location.href = 'index.php?mode=action&action=ban&chat_id=' + pChat + '&cause=' + cause;
  }
}



////////////////////////////////////////////////////////////////////////////////
// Konczenie biezacej rozmowy.
//
// WE:
//   pChat - id rozmowy
//
function chatSetFinished(pChat) {
  if (confirm('Czy na pewno chcesz zakończyć rozmowę?')) {
    parent.frame_2_3.location.href = 'index.php?mode=action&action=finish&chat_id=' + pChat;
  }
}



////////////////////////////////////////////////////////////////////////////////
// Potwierdzenie wykonania czynnosci.
//
// WE:
//   pMessage - tresc potwierdzenia
//   pAction - adres do przeniesienia po potwierdzeniu
//
function confirmMessage(pMessage, pAction) {
  if (window.confirm(pMessage)) {
    location.href = pAction;
    return true;
  } else {
    return false;
  }
}



////////////////////////////////////////////////////////////////////////////////
// Sprawdzenie formularza - edycja konsultanta.
//
// WE:
//   pForm - nazwa formularza
//
function checkKonsulEdit(pForm) {
  var form = document.getElementById(pForm);
  var res = true;
  var msg = '';
  
  if (form.f_name.value == '') {
    res = false;
    msg += '- brak imienia\n'
  }
  
  if (form.f_surname.value == '') {
    res = false;
    msg += '- brak nazwiska\n'
  }
  
  if (form.f_login.value == '') {
    res = false;
    msg += '- brak loginu\n'
  }
  
  if (!res) {
    msg = 'Błąd:\n' + msg;
    alert(msg);
  } else {
    if (form.f_pass.value != '') {
      msg = 'Chcesz zmienić hasło dla konsultanta.\nCzy potwierdzasz tę zmianę?';

      if (confirm(msg)) form.submit();
    } else form.submit();
  }
}



////////////////////////////////////////////////////////////////////////////////
// Sprawdzenie formularza - nowy konsultant.
//
// WE:
//   pForm - nazwa formularza
//
function checkKonsulNew(pForm) {
  var form = document.getElementById(pForm);
  var res = true;
  var msg = '';
  
  if (form.f_name.value == '') {
    res = false;
    msg += '- brak imienia\n'
  }
  
  if (form.f_surname.value == '') {
    res = false;
    msg += '- brak nazwiska\n'
  }
  
  if (form.f_login.value == '') {
    res = false;
    msg += '- brak loginu\n'
  }
  
  if (form.f_pass.value == '') {
    res = false;
    msg += '- brak hasła\n'
  }
  
  if (!res) {
    msg = 'Błąd:\n' + msg;
    alert(msg);
  } else form.submit();
}



function gogo() {
  //document.forms['nasty_container'].enabled.value = pEnabled;
  //document.forms['nasty_container'].words.value = pWords;
  //document.forms['nasty_container'].enabled.value = '1';
  //document.forms['nasty_container'].words.value = '2';
  //document.write('dupa');
}



function setNastyWords(pEnabled) {
  //document.forms['nasty_containter'].enabled.value = pEnabled;
}

