function findPosX(obj){
    var curleft = 0;
    if(obj.offsetParent)
        while(1){
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj){
    var curtop = 0;
    if(obj.offsetParent)
        while(1){
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }
$$=function(element){
  	return (typeof element == 'object')?element:document.getElementById(element);
}
//form
function isFunction(a) {
  	return typeof a == 'function';
}
function showForm(ob,sr){
	ob=$$(ob)
	s =$$(sr)
	s.style.visibility="visible"
	s.style.left=findPosX(ob)+"px";
	s.style.top=findPosY(ob)+ob.offsetHeight+"px";
	}
function hideForm(ob){
  $$(ob).style.visibility="hidden"
}

//this dont belong here but ok

   function insertAtCursor(myField, myValue) {
      if (document.selection) {
        myField.focus();
        sel = document.selection.createRange();
        sel.text = myValue;
      }
      else if (myField.selectionStart || myField.selectionStart == "0") {
        var startPos = myField.selectionStart;
        var endPos = myField.selectionEnd;
        myField.value = myField.value.substring(0, startPos)
        + myValue
        + myField.value.substring(endPos, myField.value.length);
      } else {
        myField.value += myValue;
      }
   }
   function replaceSelection(myField, start, end) {
      if (document.selection) {
        myField.focus();
        sel = document.selection.createRange();
        sel.text = start+sel.text+end;
      }
      else if (myField.selectionStart || myField.selectionStart == "0") {
        var startPos = myField.selectionStart;
        var endPos = myField.selectionEnd;
        myField.value = myField.value.substring(0, startPos)
        + start+myField.value.substring(startPos, endPos)+end
        + myField.value.substring(endPos, myField.value.length);
      } else {
        //myField.value += myValue;
      }
   }
   function addSmiley(el,code){
     insertAtCursor(el,code);
   }
   function cS(el,i){
    el.className=(i==0)?"stylebuttons_hover":"stylebuttons";
   }
   function addURL(el,text, URL){
      insertAtCursor(document.getElementById("text_comment"),"[url="+URL+"]"+text+"[/url]");
   }
