function el(id)
{
 return document.getElementById(id)
}

function HideElement(id) { 
 el(id).style.display = 'none'
}

function ShowElement(id) { 
 el(id).style.display = 'block'
}

function ClearField(obj, init)
{
 if (obj.value == init)
  obj.value = ''
}

function ChangeVisibility(id) {
 if (el(id).style.display == 'none') {
   ShowElement(id)
 } 
 else {
   HideElement(id)
 }
}

function SetSmile(e, smile) {
 obj = el(e)
 obj.focus();
 if (document.selection) {
  var s = document.selection.createRange(); 
  s.text = smile
 } else if (typeof(obj.selectionStart)=="number") {
  var start = obj.selectionStart;
  var end = obj.selectionEnd;
  obj.value = obj.value.substr(0, start) + smile + obj.value.substr(end);
  obj.setSelectionRange(end, end);
 } else SetQTag(st, fn, msg)
}

function SetQTag(e, st, fn, msg) {
  text = prompt("BITS", msg)
  if (text != null) SetSmile(e, st + text + fn)
}

function SetTag(e, st, fn, msg)
{
 obj = el(e)
 obj.focus();
 if (document.selection) {
  var s = document.selection.createRange(); 
  if (s.text.length > 0) {
     s.text = st+ s.text + fn
  } else SetQTag(e, st, fn, msg)
 } else if (typeof(obj.selectionStart)=="number") {
  if (obj.selectionStart!=obj.selectionEnd) {
     var start = obj.selectionStart;
     var end = obj.selectionEnd;
     var rs = st + obj.value.substr(start, end - start) + fn
     obj.value = obj.value.substr(0, start) + rs + obj.value.substr(end);
     obj.setSelectionRange(end, end);
   } else SetQTag(st, fn, msg)
 } else SetQTag(st, fn, msg)
}

function SetColor(e, obj)
{
 clr = prompt("BITS", "цвет")
 if (clr != null) {
  SetTag(e, "[color=" + clr + "]", "[/color]", "Тескт, который будет выделен цветом")
 }
}

function SetDTag(e, st, fn, msg)
{
  name = prompt("BITS", msg)
  if (name != null) {
    SetSmile(e, st + name + fn)
  }
}

function Link(e)
{
 addr = prompt("BITS", "адрес")
 if (addr != null) {
  SetTag(e, "[url=" + addr + "]", "[/url]", "Текст на ссылке")
 }
}

function ALink(e)
{
  aname = prompt("BITS", "Имя якоря")
  if (aname != null) {
    SetTag(e, "[alink=" + aname + "]", "[/alink]", "Текст на ссылке")
  }
}

function High(obj, className)
{
  obj.className = "high" + className
}

function Low(obj, className)
{
  obj.className = "low" + className
}

function CheckEmail(email)
{
  isValid = (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email)
  if (!isValid) alert("Адрес электронной почты указан не верно!")
  return isValid;
}