  //----------------------------------------------------
  // Ustawienia ciacha
  //----------------------------------------------------

  var expDays = 30;
  var exp = new Date();
  exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

  //----------------------------------------------------
  // Badamy przegladarke
  //----------------------------------------------------
  var clientPC = navigator.userAgent.toLowerCase();
  var clientVer = parseInt(navigator.appVersion);

  var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
  var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
		&& (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
		&& (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
  var is_moz = 0;

  var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
  var is_mac = (clientPC.indexOf("mac")!=-1);
  
  //----------------------------------------------------
  // Wyciagnij wartosc ciacha z ciagu
  //----------------------------------------------------

  function getCookieVal(offset) {
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1)
      endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
  }
  
  //----------------------------------------------------
  // Odczytuje ciacho
  //----------------------------------------------------

  function GetCookie(name) {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
      var j = i + alen;
      if (document.cookie.substring(i, j) == arg)
        return getCookieVal (j);
      i = document.cookie.indexOf(" ", i) + 1;
      if (i == 0) break;
    }
    return null;
  }
  
  //----------------------------------------------------
  // Ustawia ciacho
  //----------------------------------------------------

  function SetCookie(name, value) {
    var argv = SetCookie.arguments;
    var argc = SetCookie.arguments.length;
    var expires = (argc > 2) ? argv[2] : null;
    var path = (argc > 3) ? argv[3] : null;
    var domain = (argc > 4) ? argv[4] : null;
    var secure = (argc > 5) ? argv[5] : false;
    document.cookie = name + "=" + escape (value) +
      ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
      ((path == null) ? "" : ("; path=" + path)) +
      ((domain == null) ? "" : ("; domain=" + domain)) +
      ((secure == true) ? "; secure" : "");
  }
  
  //----------------------------------------------------
  // Usuwa ciacho / czy w ogole jest nam potrzebne?
  //----------------------------------------------------

  function DeleteCookie(name) {
    var exp = new Date();
    exp.setTime (exp.getTime() - 1);
    var cval = GetCookie (name);
    document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
  }
  
  //----------------------------------------------------
  // Prosty tag ([tag]tekst[/tag])
  //----------------------------------------------------

  function simpletag(thetag) {
    tag("[" + thetag + "]", "[/" + thetag + "]");
  }
  
  //----------------------------------------------------
  // Taguje tekst
  //----------------------------------------------------
  
  function tag(bbopen, bbclose) {
  	var txtarea = document.form.text;
    if ((clientVer >= 4) && is_ie && is_win) {
      //Win IE
      theSelection = document.selection.createRange().text;
      if (!theSelection) {
        txtarea.value += bbopen + bbclose;
        txtarea.focus();
        return;
      }
      document.selection.createRange().text = bbopen + theSelection + bbclose;
      txtarea.focus();
      return;
    } else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))	{
      //Mozilla/gecko
      mozTag(txtarea, bbopen, bbclose);
      return;
    } else {
      //inna
      txtarea.value += bbopen + bbclose;
      txtarea.focus();
    }
    storeCaret(txtarea);
  }
  
  //----------------------------------------------------
  // Taguje tekst pod mozilla
  //----------------------------------------------------
  
  function mozTag(txtarea, open, close) {
    var selLength = txtarea.textLength;
    var selStart = txtarea.selectionStart;
    var selEnd = txtarea.selectionEnd;
    if (selEnd == 1 || selEnd == 2) {
      selEnd = selLength;
    }

    var s1 = (txtarea.value).substring(0,selStart);
    var s2 = (txtarea.value).substring(selStart, selEnd);
    var s3 = (txtarea.value).substring(selEnd, selLength);
    txtarea.value = s1 + open + s2 + close + s3;
    return;
  }   
  
  //----------------------------------------------------
  // Wstawia emotke do tekstu
  //----------------------------------------------------

  function emoticon(s) {
    var txtarea = document.form.text;
    s = ' ' + s + ' ';
    if (txtarea.createTextRange && txtarea.caretPos) {
      var caretPos = txtarea.caretPos;
      caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + s + ' ' : caretPos.text + s;
      txtarea.focus();
    } else {
      txtarea.value  += s;
      txtarea.focus();
    }
  }
