/*
 * Usage br_addbutton("b_save","/HTML_RichText/buttons/");
 * Usage br_addbuttons(Array("b_save","b_edit"),"/HTML_RichText/buttons/");
 */ 

var br_path = "./";
var br_imagePath = "";
var br_buttonImgs = new Array();
var br_buttonUrls = new Array();

function br_addSeparators() {
	var children = document.getElementById("appButtonPane");
	if (children) children = children.childNodes;
	else return;
	for (var i = 0; i < children.length; i++) {
		if (children[i].tagName == "DIV") {
			var img = document.createElement("IMG");
			img.src = (appurl?appurl+"/":"")+"images/br_separator.gif";
			img.className = "br-separator";
			children[i].insertBefore(img, children[i].firstChild);
		}
	}
}

function br_replace(src, index) {
	var img = document.createElement("IMG");
	img.src = br_buttonUrls[index] + br_buttonImgs[index] + ".gif";
	img.name = src.name;
	img.alt = src.value;
	img.title = src.value;
	img.className = "br-button";
	img.onmouseover = function() { this.className="br-button-hover"; };
	img.onmouseout = function() { this.className="br-button"; };
	img.onmousedown = function() { this.className="br-button-down"; };
	img.onmouseup = function() { this.className="br-button-hover"; };
	img.srcbutton = src;
	img.onclick = function() { this.srcbutton.click(); }
	src.style.display = "none";
	src.parentNode.insertBefore(img, src);
}

function br_init() {
	if (br_onload) br_onload();
	var inputs, i, n, tmp;
	inputs = document.getElementsByTagName("INPUT");
	for (i=0; i<inputs.length; i++) {
		if ((inputs[i].type == "submit")||(inputs[i].type == "reset")||(inputs[i].type == "button")) {
			for (n in br_buttonImgs) if (br_buttonImgs[n] == inputs[i].name) br_replace(inputs[i], n);
		}
	}
	br_addSeparators();
}

function br_addButton(name,url)
{
	br_buttonImgs.push(name);
	br_buttonUrls.push(url?url:br_imagePath);
}

function br_addButtons(namearray,url)
{
	for(var i in namearray) br_addButton(namearray[i],url?url:br_imagePath);
}

function br_seturl(url)
{
	br_imagePath = url;
}

br_onload = window.onload;
window.onload = br_init;

