/***************************************************************************************************************/

function quoteName(name, field) {

  var fEl = parent.document.getElementById(field);

  if (fEl) {

    fEl.focus();
    fEl.value = fEl.value + name + ', ';
  }

  return true;
}

/***************************************************************************************************************/

function toggleChat() {

  var chatBody = document.getElementById('chatBody');
  var chatFrame = document.getElementById('chatFrame');
  var toggleLbl = document.getElementById('toggleLbl');

  if (chatBody && chatFrame && toggleLbl) {

    if (chatBody.style.display == 'none') {

      chatBody.style.display = 'block';
      toggleLbl.innerHTML = 'скрыть';

    } else {

      chatBody.style.display = 'none';
      toggleLbl.innerHTML = 'показать';
    }
  }
}

/***************************************************************************************************************/

function chatReset() {

  chatSetOpt('fontSize', 10);
  chatSetOpt('chatHeight', 60);
  chatSetOpt('chatHistory', 5);
  chatSetOpt('chatRefresh', 20);
  chatSetOpt('nickColor', undefined);

  var chatFrame = parent.document.getElementById('chatFrame');
  chatFrame.height = chatGetOpt('chatHeight');

  var fontSizeEl = parent.document.getElementById('fontSize');
  fontSizeEl.innerHTML = chatGetOpt('fontSize');

  var chatHeightEl = parent.document.getElementById('chatHeight');
  chatHeightEl.innerHTML = chatGetOpt('chatHeight');

  var chatHistoryEl = parent.document.getElementById('chatHistory');
  chatHistoryEl.value = chatGetOpt('chatHistory');

  var chatRefreshEl = parent.document.getElementById('chatRefresh');
  chatRefreshEl.value = chatGetOpt('chatRefresh');

  return true;
}

//if (!getCookie('chatopt')) chatReset();

function chatShow(src) {

  document.write('<iframe id="chatFrame" width="99%" height="'+chatGetOpt('chatHeight')+'" src="'+src+'" frameborder="0"></iframe>');

  return true;
}

function chatSend(catId) {

  var chatFrame = parent.document.getElementById('chatFrame');
  var chatMsgField = parent.document.getElementById('chatMsgField');

  if (chatMsgField) {

    if (chatFrame && chatMsgField.value) {

      chatFrame.src = '/chat/chat.php?a=pm&catid=' + catId + '&msg=' + chatMsgField.value;
    }

    chatMsgField.focus();
    if (!chatMsgField.value.match(/^>.*/)) chatMsgField.value = '';
  }

  return true;
}

function chatReload() {

  var chatFrame = parent.document.getElementById('chatFrame');

  if (chatFrame) chatFrame.src = '/chat/chat.php';

  return true;
}

function chatGetOpt(opt) {

  var chatOpt = [];
  var chatCookie = getCookie('chatopt');

  if (chatCookie) {

    var params = chatCookie.split('&');

    for (var i = 0;  i <= params.length - 1; i++) {

      if (params[i]) {

        var arr = params[i].split('=');
        chatOpt[arr[0]] = arr[1];
      }
    }
  }

  if (chatOpt[opt] != undefined) return chatOpt[opt];
  else return null;
}

function chatSetOpt(opt, value) {

  var chatOpt = [];
  var chatCookie = getCookie('chatopt');

  if (chatCookie) {

    var params = chatCookie.split('&');

    for (var i = 0;  i <= params.length - 1; i++) {

      if (params[i]) {

        var arr = params[i].split('=');
        chatOpt[arr[0]] = arr[1];
      }
    }
  }

  chatOpt[opt] = value;

  var newOpt = '';

  for (var parampam in chatOpt) {

    var chatFrame = parent.document.getElementById('chatFrame');
    chatFrame.document.writeln(parampam + '<br>');
    newOpt = newOpt + parampam + '=' + chatOpt[parampam] + '&';
  }

  var d = new Date();
  var inAWeek = d.getTime() + (1000 * 3600 * 24 * 30);
  d.setTime(inAWeek);

  setCookie('chatopt', newOpt, d, '/');

  return true;
}

function changeChatFrameHeight(dir) {

  var chatFrame = parent.document.getElementById('chatFrame');
  var chatHeightEl = parent.document.getElementById('chatHeight');
  var h = Number(chatFrame.height);
  var step = 30;

  switch (dir) {

    case 0:
      if (h > 30) {
        chatSetOpt('chatHeight', h - step);
        chatFrame.height = h - step;
        chatHeightEl.innerHTML = h - step;
      }
      break;

    case 1:
      if (h < 600) {
        chatSetOpt('chatHeight', h + step);
        chatFrame.height = h + step;
        chatHeightEl.innerHTML = h + step;
      }
      break;
  }

  return true;
}

function changeChatFontSize(dir) {

  var fontSizeEl = parent.document.getElementById('fontSize');
  var fs = Number(chatGetOpt('fontSize')) || 10;
  var step = 1;

  switch (dir) {

    case 0:
      if (fs > 9) {
        chatSetOpt('fontSize', fs - step);
        fontSizeEl.innerHTML = fs - step;
        chatReload();
      }
      break;

    case 1:
      if (fs < 25) {
        chatSetOpt('fontSize', fs + step);
        fontSizeEl.innerHTML = fs + step;
        chatReload();
      }
      break;
  }

  return true;
}

/***************************************************************************************************************/

function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

/***************************************************************************************************************/