// Forum

String.prototype.wordWrap = function(m, b, c) {
  var i, j, s, r = this.split("\n");
    if(m > 0) for(i in r){
      for(s = r[i], r[i] = ""; s.length > m; j = c ? m : (j = s.substr(0, m).match(/\S*$/)).input.length - j[0].length || m, r[i] += s.substr(0, j) + ((s = s.substr(j)).length ? b : ""));
      r[i] += s;
    }
  return r.join("\n");
};

function Validate() {
  if(document.forumtopic) {
    //document.forumtopic.content.value = document.forumtopic.content.value.wordWrap(50, " ", " ");
  }
  if(document.forumposts) {
    //WS(document.forumposts.content.value);
    //document.forumposts.content.value = document.forumposts.content.value.wordWrap(50, " ", false);
  }
  if(document.komentarze) {
    //document.komentarze.tresc.value = document.komentarze.tresc.value.wordWrap(50, " ", true);
  }
  return false;
}

function ValidateLength(e, limit) {
  var Length = e.value.length; 
  if(Length > limit) {
    e.value = e.value.substring(0, limit);
  }
}

function InsertEmot(emot) {
  if(document.forumtopic) {
    var Area = document.forumtopic.content;
  } else if(document.forumposts) {
    var Area = document.forumposts.content;
  }
  Text = emot.alt;
  Area.value += Text;
}

function Tag(Open, End, Text) {
  
  if(document.forumtopic) {
    var Area = document.forumtopic.content;
  } else if(document.forumposts) {
    var Area = document.forumposts.content;
  }

  var Browser=navigator.appName;
  var Browser_v = navigator.appVersion;
  
  if((Browser == "Microsoft Internet Explorer") && Browser_v >= '4') {
    
    Area.focus();
    var Str = document.selection.createRange().text;
    var Selected = document.selection.createRange();
    if(Str.length == 0) {
      Selected.text = Open + Text + End;
      Selected.collapse(true);
      Selected.moveStart("character", -(Text.length+End.length));
      Selected.moveEnd("character", -End.length);
      Selected.select();
      return;
      
    } else {
      Selected.text = Open + Str + End;
    }
    return;
    
  } else {

    var SP = Area.selectionStart;
    var EP = Area.selectionEnd;
    var Before    =  Area.value.substr(0, SP);
    var Selected  =  Area.value.substr(SP, (EP - SP));
    var After     =  Area.value.substr(EP, (Area.value.length - EP));
 
    if(Selected.length == 0) {
      Area.value = Before + Open + Text + End;
      Area.selectionStart = Area.value.length-(Text.length + End.length);
      Area.selectionEnd   = Area.value.length-End.length;
      Area.focus();
    } else {
      Area.value = Before + Open + Selected + End + After;
    }
  }

}
