/* ---------------------------------------------------------------------------------- */

var b = 2;  //bold
var i = 2;  //italics
var k = 2;  //keyword
var c = 2;  //code
	
function add_tag_common(form_name, textarea_name, v, tagadd, newbut, tagclose, oldbut, tag_name) {
	eval("field = window.document."+form_name+"."+textarea_name);
	if (eval(v)%2 == 0) {
		eval("window.document."+form_name+"."+tag_name+".value = newbut;");
		insertAtCursor(field, tagadd);// append tag to the post
	} else {
		eval("window.document."+form_name+"."+tag_name+".value = oldbut;");
		insertAtCursor(field, tagclose); // append tag to the post
	}
	
	//update_textbox_size(form_name, textarea_name);
	eval(v+"++;");
}

/* ---------------------------------------------------------------------------------- */

function add_tag_url(form_name, textarea_name) {
	eval("field = window.document."+form_name+"."+textarea_name);
	var link_text = prompt("Enter the text for the link:", "");
	var link_url = prompt("Enter the URL for the link:", "");
	
	var result = "[URL=" + link_url + "]" + link_text + "[/URL]";   // generate tag
	insertAtCursor(field, result);                                  // append tag to the post

	//update_textbox_size(form_name, textarea_name);
}

/* ---------------------------------------------------------------------------------- */

function add_tag_img(form_name, textarea_name) {
	eval("field = window.document."+form_name+"."+textarea_name);
	var image_caption = prompt("Enter the caption for the image:", "");
	var image_file = prompt("Enter the filename of the image:", "");
	var image_width = prompt ("Enter the width for the thumbnail:", "");
	var image_float = prompt ("Enter an alignment option: (Center, Left, Right)", "");
	
	var result = "[IMG=" + image_file + ";" + "w=" + image_width + ";" + "f=" + image_float + "]" + image_caption + "[/IMG]";   // generate tag
	insertAtCursor(field, result);                                        // append tag to the post

	//update_textbox_size(form_name, textarea_name);
}

/* ---------------------------------------------------------------------------------- */

function insertAtCursor(myField, myValue) {
	//IE support
	if (document.selection) {
		myField.focus();
		sel = document.selection.createRange();
		sel.text = myValue;
	}
	//MOZILLA/NETSCAPE support
	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);
		remainder = myField.value.substring(endPos, myField.value.length).length;
	} else {
		myField.value += myValue;
	}

	cursorPosition = myField.value.length + myValue.length - remainder;
	setCursorPosition(myField,cursorPosition,cursorPosition);
}

/* ---------------------------------------------------------------------------------- */

// NOTE:  posStart <= posEnd; if posStart and posEnd are different values, the difference will be selected 
function setCursorPosition(myField,posStart,posEnd) {
	myField.focus();
	if( myField.setSelectionRange ) {
		myField.setSelectionRange(posStart,posEnd);
	} else if( myField.createTextRange ) {
		var range = myField.createTextRange();
		range.collapse(true);
		range.moveEnd('character',posEnd);
		range.moveStart('character',posStart);
		range.select();
	}
}

/* ---------------------------------------------------------------------------------- */

function update_textbox_size(form_name, textarea_name) {
	eval("box_length = window.document."+form_name+"."+textarea_name+".rows;");
	eval("text_length = window.document."+form_name+"."+textarea_name+".textLength;");

	eval("divisor = window.document."+form_name+"."+textarea_name+".cols");

	if (text_length / divisor > (box_length-2)) {
		eval("rows = text_length / window.document."+form_name+"."+textarea_name+".cols;");
		rows_to_add = rows - box_length;
		eval("window.document."+form_name+"."+textarea_name+".rows = box_length + 1 + rows_to_add;");
	}

	eval("window.document."+form_name+"."+textarea_name+".focus();");
}