function edDoCode( v, formname, textname ) {
  
  startv	= v;
  endv	= v;
  
  // link
  if (startv == "a") {
  
          url = prompt( 'Enter the link url' ,'http://' );
          if ( url != "" ) { startv = "href=\"" + url + "\""; };
  
  
    // for IE
    if ( document.selection ) {
    
        var str = document.selection.createRange().text;
        document.forms[ formname ].elements[ textname ].focus();
        var sel = document.selection.createRange();
        sel.text = "[[LINK " + startv + "]]" + str + "[[/LINK]]";
        return;
        
    // for mozilla
    } else if ( ( typeof document.forms[ formname ].elements[ textname ].selectionStart ) != 'undefined' ) {
    
        var txtarea = document.forms[ formname ].elements[ textname ];
        var selLength = txtarea.textLength;
        var selStart = txtarea.selectionStart;
        var selEnd = txtarea.selectionEnd;
        var oldScrollTop = txtarea.scrollTop;
        //if (selEnd == 1 || selEnd == 2)
        //selEnd = selLength;
        var s1 = (txtarea.value).substring(0,selStart);
        var s2 = (txtarea.value).substring(selStart, selEnd)
        var s3 = (txtarea.value).substring(selEnd, selLength);
        txtarea.value = s1 + '[[LINK ' + startv + ']]' + s2 + '[[/LINK]]' + s3;
        txtarea.selectionStart = s1.length;
        txtarea.selectionEnd = s1.length + 5 + s2.length + startv.length + endv.length;
        txtarea.scrollTop = oldScrollTop;
        txtarea.focus();
        return;
        
    } else {
    
            insert('<' + v + '></' + v + '> ' , formname, textname );
            
    }
          
  } else {
  
    // for IE
    if ( document.selection ) {
    
        var str = document.selection.createRange().text;
        document.forms[ formname ].elements[ textname ].focus();
        var sel = document.selection.createRange();
        sel.text = "<" + startv + ">" + str + "</" + endv + ">";
        return;
        
    // for mozilla
    } else if ( ( typeof document.forms[ formname ].elements[ textname ].selectionStart ) != 'undefined' ) {
    
        var txtarea = document.forms[ formname ].elements[ textname ];
        var selLength = txtarea.textLength;
        var selStart = txtarea.selectionStart;
        var selEnd = txtarea.selectionEnd;
        var oldScrollTop = txtarea.scrollTop;
        //if (selEnd == 1 || selEnd == 2)
        //selEnd = selLength;
        var s1 = (txtarea.value).substring(0,selStart);
        var s2 = (txtarea.value).substring(selStart, selEnd)
        var s3 = (txtarea.value).substring(selEnd, selLength);
        txtarea.value = s1 + '<' + startv + '>' + s2 + '</' + endv + '>' + s3;
        txtarea.selectionStart = s1.length;
        txtarea.selectionEnd = s1.length + 5 + s2.length + startv.length + endv.length;
        txtarea.scrollTop = oldScrollTop;
        txtarea.focus();
        return;
        
    } else {
    
            insert('<' + v + '></' + v + '> ' , formname, textname );
            
    }
  }
}

function edInsert( what , formname, textname ) {
	
	if (document.forms[formname].elements[textname].createTextRange) {
	
		document.forms[formname].elements[textname].focus();
		document.selection.createRange().duplicate().text = what;
		
	} else if ((typeof document.forms[formname].elements[textname].selectionStart) != 'undefined') {
	
	    var tarea = document.forms[formname].elements[textname];
	    var selEnd = tarea.selectionEnd;
	    var txtLen = tarea.value.length;
	    var txtbefore = tarea.value.substring(0,selEnd);
	    var txtafter =  tarea.value.substring(selEnd, txtLen);
	    var oldScrollTop = tarea.scrollTop;
	    tarea.value = txtbefore + what + txtafter;
	    tarea.selectionStart = txtbefore.length + what.length;
	    tarea.selectionEnd = txtbefore.length + what.length;
	    tarea.scrollTop = oldScrollTop;
	    tarea.focus();
	    
	} else {
	
		document.forms[formname].elements[textname].value += what;
		document.forms[formname].elements[textname].focus();
		
	}
	
}
 
 
function edSelector(selObj){

	v = selObj.options[selObj.selectedIndex].value;
	if (v != "") {
		bbcode(v);
		selObj.options[0].selected = true;
	}
	
}

function edWrite( formname, textname ) {
	document.write( "<div id=\"edToolbar\">" );
	document.write( "<a href=\"#\" id=\"button-bold\" onclick=\"edDoCode('strong', '" + formname + "', '" + textname + "'); return false;\">Bold</a>" );
	document.write( "<a href=\"#\" id=\"button-italic\" onclick=\"edDoCode('em', '" + formname + "', '" + textname + "'); return false;\">Italic</a>" );
	document.write( "<a href=\"#\" id=\"button-link\" onclick=\"edDoCode('a', '" + formname + "', '" + textname + "'); return false;\">Link</a>" );
	document.write( "<a href=\"#\" id=\"button-block\" onclick=\"edDoCode('blockquote', '" + formname + "', '" + textname + "'); return false;\">Blockquote</a>" );
	
	document.write( "<a href=\"#\" id=\"button-block\" onclick=\"edDoCode('code', '" + formname + "', '" + textname + "'); return false;\">Code</a>" );
	
	document.write( "</div>" );
}


