/**
#ver 12.05.2008
**/
var is_sended = false;
document.onkeypress = qa_onkeypress;

function qa_onkeypress(e) {
   var pressed = 0;
   var we = null;
   var form = document.forms['qa_form'];
   if (!form) return;
   if (window.event) we = window.event;
   if (we) {
      pressed = we.keyCode == 10 || (we.keyCode == 13 && we.ctrlKey);
   } else if (e) {
      pressed =
      (e.which == 10 && e.modifiers == 2) ||
      (e.keyCode == 0 && e.charCode == 106 && e.ctrlKey) ||
      (e.keyCode == 13 && e.ctrlKey)
   }
   if (pressed) {
      //if (is_sended) {
      //   alert('Виділення вже відправлене');
      //} else {
         qa_prepare();
      //}
   }
}

function trimn(str) {
   str = '' + str;
   return str.replace(/[\n\r]|\s+/g, ' ').replace(/^\s+|\s+$/g, '');
}

function qa_prepare(opt) {
   var selection = null;
   var text = null;

   if (document.getSelection) {
      text = document.getSelection();
      if (text == null) {
         alert('Текст не видiлено');
         return;
      }
      text = trimn(text);
      if (text.length == 0) return;
   } else {
      selection = document.selection;
   }

   var context = null;
   if (selection) {
      var range = selection.createRange();
      if (!range) return;
      range.expand('word');
      text = trimn(range.text);
      if (text.length == 0) return;

      var prepend = range.duplicate();
      prepend.moveStart('word', -10);
      prepend.setEndPoint('EndToStart', range);

      var append = range.duplicate();
      append.setEndPoint('StartToEnd', range);
      append.moveEnd('word', 10);

      context = '...' + trimn(prepend.text) + "\n[==>" + text + "<==]\n" + trimn(append.text) + '...';
   } else {
      context =text;
   }

   if (context.length > 250) {
      alert('Виділений текст занадто великий. Виділіть, будь-ласка, менше.');
      return;
   }

   var ts = new Date().getTime();
   var result = confirm('[==>'+context+'<==]' + "\n\n" + 'Надіслати повідомлення з помилкою?'+"\n\n"+'Ваш браузер залишиться на тій же сторінці');


   var dt = new Date().getTime() - ts;
   if (result) {
      qa_submit(context);
   } else {
      if (!opt && dt < 50) {
         var th = this;
         var sv = document.onkeyup;
         document.onkeyup = function(e) {
            if (!e) e = window.event;
            if (e.keyCode == 17) {
               document.onkeyup = sv;
               qa_prepare(true);
            }
         }
      }
   }
}

function qa_submit(context) {
   var form = document.forms['qa_form'];
   if (!form) return;
   form.text.value = context;
   form.submit();
   is_sended = true;
   alert('Дякуємо');	
}
