/////////////////////////
//     UBB MEUK        //
/////////////////////////

// als je dan toch deze JavaScript jat, vermeld er dan even de credits bij alsjeblieft
// if you're planning on "borrowing" this code, please give credits
// made by Thomas van den Heuvel aka FangorN - leafblighter[at]gmail[dot]com

var on = new Array();
var ton = new Array();
var off = new Array();
var toff = new Array();
var stack = new Array();

var path = "http://www.sitemasters.be/images/reacties/";

on['b'] = new Image();
on['b'].src = path+"b_on.gif";
on['i'] = new Image();
on['i'].src = path+"i_on.gif";
on['u'] = new Image();
on['u'].src = path+"u_on.gif";
on['url'] = new Image();
on['url'].src = path+"url_on.gif";
on['code'] = new Image();
on['code'].src = path+"code_on.gif";
on['quote'] = new Image();
on['quote'].src = path+"quote_on.gif";

ton['b'] = "[b]";
ton['i'] = "[i]";
ton['u'] = "[u]";
ton['url'] = "[url]";
ton['code'] = "[code]";
ton['quote'] = "[quote]";

off['b'] = new Image();
off['b'].src = path+"b_off.gif";
off['i'] = new Image();
off['i'].src = path+"i_off.gif";
off['u'] = new Image();
off['u'].src = path+"u_off.gif";
off['url'] = new Image();
off['url'].src = path+"url_off.gif";
off['code'] = new Image();
off['code'].src = path+"code_off.gif";
off['quote'] = new Image();
off['quote'].src = path+"quote_off.gif";

toff['b'] = "[/b]";
toff['i'] = "[/i]";
toff['u'] = "[/u]";
toff['url'] = "[/url]";
toff['code'] = "[/code]";
toff['quote'] = "[/quote]";

// http://www.quirksmode.org/js/selected.html was helpful
function getSel(form, field, tagopen, tagclose) {
  var changed = false;

  if(window.getSelection) {
    // netscape/mozilla
    var start = document.forms[form].elements[field].selectionStart;
    var end   = document.forms[form].elements[field].selectionEnd;
    if(end - start > 0) {
      // er is tekst geselecteerd
      var oldtext = document.forms[form].elements[field].value;
      var newtext = oldtext.substring(0, start) + tagopen + oldtext.substring(start, end);
      newtext += tagclose + oldtext.substring(end, oldtext.length);

      document.forms[form].elements[field].value = newtext;

      changed = true;
    }
  } else if(document.selection != "") {
    // explorer

    var txt = document.selection.createRange().text;
    if(txt.length > 0) {
      document.selection.createRange().text = tagopen+txt+tagclose;
      changed = true;
    }
  }

  return changed;
}

function klik(item, form, field) {
  // was er tekst geselecteerd ?
  if(!getSel(form, field, ton[item], toff[item])) {
    // geen tekst geselecteerd - open een tag
    if(document.images[item].src == on[item].src) {
      // sluiten
      tagclose(stack, item, form, field, true);
    } else {
      // openen
      tagopen(stack, item, form, field);
    }
  }
}

function tagopen(arr, tagname, form, field) {
  // objecten zijn call by reference
  arr[arr.length] = tagname;

  // openingstag in form zetten
  document.forms[form].elements[field].value += ton[tagname];

  // plaatje aanpassen
  document.images[tagname].src = on[tagname].src;
}

function tagclose(arr, tagname, form, field, space) {
  var removetag;

  // onthoud de code van de te sluiten tag
  removetag = arr[arr.length-1];

  // sluit de buitenste tag
  document.forms[form].elements[field].value += toff[removetag];

  // plaatje (van LAATSTE tag) veranderen
  document.images[removetag].src = off[removetag].src;

  // kort het array in
  arr.length = arr.length - 1;

  // was dit de goede tag ?
  if(removetag != tagname) {
    tagclose(arr, tagname, form, field, space);
  } else {
    // voeg een spatie na de 'laatste' sluitingstag toe, als space true is
    if(space) {
      document.forms[form].elements[field].value += " ";
    }
  }
}

function foc(form, field) {
  document.forms[form].elements[field].focus();
}

// smiley meuk
function smile(text, form, field) {
  if(window.getSelection || document.getSelection){
  /* Mozilla, Firefox, Safari, Opera, Netscape, Icab */
    var veld = document.forms[form].elements[field];
    var begin = veld.selectionStart;
    var eind = veld.selectionEnd;
    var oud = veld.value;
    veld.value = oud.substring(0, begin) + ' ' + text + ' ' + oud.substring(eind, oud.length);
	foc(form,field);
  }
  else if(document.selection) {
  /* Explorer */
    foc(form,field);
    var selectie = document.selection.createRange();
    selectie.text = ' ' + text + ' ';
  }
}


function hideurl() {
	window.status = "";
}
//-->
