  //----------------------------------------------------
  // 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
	//Nie wiadomo co
	{
	  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();
	}
  }
