﻿function getBBSelection(ta) 
{ 
var bits = [ta.value,'','','']; 
    if(document.selection)
        { var vs = '#$%^%$#';
        var tr=document.selection.createRange()
        if(tr.parentElement()!=ta) return null;
        bits[2] = tr.text;
        tr.text = vs;
        fb = ta.value.split(vs);
        tr.moveStart('character',-vs.length);
        tr.text = bits[2];
        bits[1] = fb[0];
        bits[3] = fb[1];
        }
    else
        { 
        if(ta.selectionStart == ta.selectionEnd) return null;
         bits=(new RegExp('([\x00-\xff]{'+ta.selectionStart+'})([\x00-\xff]{'+(ta.selectionEnd - ta.selectionStart)+'})([\x00-\xff]*)')).exec(ta.value);
        }
  return bits;
}

function matchPTags(str)
{ 
    str = ' ' + str + ' ';
    ot = str.split(/\[[B|U|I].*?\]/i);
    ct = str.split(/\[\/[B|U|I].*?\]/i);
    return ot.length==ct.length;
}
  
function js_addtag(pTag, ta)
{
    bits = getBBSelection(ta);
    if(bits)
      { if(!matchPTags(bits[2]))
          { alert('\t\tFel\nVerkar som du markerat text som innehåller taggar.');
            return;
          }
        ta.value = bits[1] + '[' + pTag + ']' + bits[2] + '[/' + pTag + ']' + bits[3];
      }
}

function js_insert_url(ta)
{
    bits = getBBSelection(ta);
    if(bits)
    {
        if(!matchPTags(bits[2]))
          { alert('\t\tFel\nVerkar som du markerat text som innehåller taggar.');
            return;
          }
        
        var url = bits[2];
        
        if(url.indexOf("http://") < 0)
            url = "http://" + url;
          
        ta.value = bits[1] + '[url=' + url + ']Länk till ' + url + '[/url]' + bits[3];
    }
    else
    {
       alert("Markera länken och klicka på länk knappen.");
    }
}

function js_insert_media(tag,p,ta)
{
    bits = getBBSelection(ta);
    if(bits)
    {
        if(!matchPTags(bits[2]))
          { alert('\t\tFel\nVerkar som du markerat text som innehåller taggar.');
            return;
          }
        ta.value = bits[1] + '[' + tag + ']' + bits[2] + '[/' + tag + ']' + bits[3];
    }
    else
    {
        if(tag == 'youtube')
        {
            alert("Markera länken till youtube klippet och klicka på youtube knappen igen.");
        }
        else
        {
            alert("Markera länken till bilden och klicka på bild knappen igen.");
        }
       
    }
}