
function HL(el_id, color, color_border)
{
  var e = document.getElementById(el_id);
  e.style.backgroundColor = color;
  e.style.borderColor = color_border;
  //e.style.borderStyle = "solid";
  e.style.borderWidth = 1;
} 

function UHL(el_id, color, color_border)
{
  var e = document.getElementById(el_id);
  e.style.backgroundColor = color;
  e.style.borderWidth = 1;
  e.style.borderColor = color_border;
  //e.style.borderColor = "#4F5E73";
}



function TA_MAX_LEN(TA_ID, MAX_LEN, LID)
{
  var e = document.getElementById(TA_ID);
  var L = document.getElementById(LID);
  L.innerHTML = "Wpisano: " + e.value.length + " &nbsp; / &nbsp;Pozostało: <b>" + (MAX_LEN - e.value.length) + "</b>";
  if (e.value.length > MAX_LEN)
  {
    //alert("Za długi text.");
    e.value=e.value.substr(0, MAX_LEN);
  };

};




function GetTASelection(e)
{
  var s = '';
  if ( document.selection )
  {
    var range = document.selection.createRange(); // The current selection
  	var stored_range = range.duplicate(); // We'll use this as a 'dummy'
  	stored_range.moveToElementText(e); // Select all text
  	stored_range.setEndPoint( 'EndToEnd', range ); // Now move 'dummy' end point to end point of original range
  	e.selectionStart = stored_range.text.length - range.text.length; // Now we can calculate start and end points
  	e.selectionEnd = e.selectionStart + range.text.length;
  	s = document.selection.createRange().text;
  };
  if (s == '') s = (e.value).substring(e.selectionStart, e.selectionEnd);
  return s;
};

function add_tag(eid, otag, ctag)
{
  var s;
  var e = document.getElementById(eid);
  e.focus();
  var sel = GetTASelection(e);
  var new_text = otag + sel + ctag;
  
  if (typeof e.selectionStart != 'undefined')
  {
    e.value = e.value.substring(0, s = e.selectionStart) + new_text + e.value.substr(e.selectionEnd);
    e.selectionStart = s;
    e.selectionEnd = s + new_text.length;
  }
  else if ( (s = document.selection) && (s.createRange) )
  {
    s = s.createRange();
    s.text = new_text;
  };
};


function font_size(eid, xSize)
{
  var s;
  var e = document.getElementById(eid);
  e.focus();
  var sel = GetTASelection(e);
  var new_text = '<span style="font-size: ' + xSize + 'pt;">' + sel + '</span>';
  
  if (typeof e.selectionStart != 'undefined')
  {
    e.value = e.value.substring(0, s = e.selectionStart) + new_text + e.value.substr(e.selectionEnd);
    e.selectionStart = s;
    e.selectionEnd = s + new_text.length;
  }
  else if ( (s = document.selection) && (s.createRange) )
  {
    s = s.createRange();
    s.text = new_text;
  };
};

function font_color(eid, Color)
{
  var s;
  var e = document.getElementById(eid);
  e.focus();
  var sel = GetTASelection(e);
  var new_text = '<span style="color: ' + Color + ';">' + sel + '</span>';
  
  if (typeof e.selectionStart != 'undefined')
  {
    e.value = e.value.substring(0, s = e.selectionStart) + new_text + e.value.substr(e.selectionEnd);
    e.selectionStart = s;
    e.selectionEnd = s + new_text.length;
  }
  else if ( (s = document.selection) && (s.createRange) )
  {
    s = s.createRange();
    s.text = new_text;
  };
};

function add_www_link(eid)
{
  var s;
  var e = document.getElementById(eid);
  e.focus();
  var sel = GetTASelection(e);
  var new_text = '<a href="' + sel + '">' + sel + '</a>';
  
  if (typeof e.selectionStart != 'undefined')
  {
    e.value = e.value.substring(0, s = e.selectionStart) + new_text + e.value.substr(e.selectionEnd);
    e.selectionStart = s;
    e.selectionEnd = s + new_text.length;
  }
  else if ( (s = document.selection) && (s.createRange) )
  {
    s = s.createRange();
    s.text = new_text;
  };
};

function add_email_link(eid)
{
  var s;
  var e = document.getElementById(eid);
  e.focus();
  var sel = GetTASelection(e);
  var new_text = '<a href="mailto:' + sel + '">' + sel + '</a>';
  
  if (typeof e.selectionStart != 'undefined')
  {
    e.value = e.value.substring(0, s = e.selectionStart) + new_text + e.value.substr(e.selectionEnd);
    e.selectionStart = s;
    e.selectionEnd = s + new_text.length;
  }
  else if ( (s = document.selection) && (s.createRange) )
  {
    s = s.createRange();
    s.text = new_text;
  };
};


