BTNArray = new Array();



function makeButton(theImages,href,name,prodName,group,onClick,onMOver,onMOut,onMUp,onMDown) {

	this.setImageList = BtnSIL;

	this.getImageCount = BtnGIC;

	this.nextImage = BtnNI;

	this.previousImage = BtnPI;



	this.getImageList = getImageList;

	this.getGroupCount = getGroupCount;

	this.clearGroup = clearGroup;

	this.mouseOver = mouseOver;

	this.mouseOut = mouseOut;

	this.setState = setState;

	this.getState = getState;

	this.setIndex = setState;

	this.getIndex = getState;

	this.setClicked = setClicked;

	this.setUnclicked = setUnclicked;



	this.onChange = null;

	this.onClick = onClick;

	this.onMouseOver = onMOver;

	this.onMouseOut = onMOut;

	this.onMouseUp = onMUp;

	this.onMouseDown = onMDown;



	this.name = name;

	this.type = "Image";

	this.state = 0;

	this.group = group;



	this.imagelist = new Array();      // image names

	this.btnImageArray = new Array();  // image objects

	this.setImageList(theImages);



	this.getElementID = getElementID;

	this.elementResolved = elementResolved;

	this.elementID = null;

}



function BtnGIC() {

	if (!this.elementResolved()) return -1;

	return this.btnImageArray.length;

}



function BtnNI() {

	with(this) {

		if (!this.elementResolved()) return;

		state = parseInt(state);

		if (state == getImageCount()-1)

			state = 0;

		else

			state += 1;



		elementID.src = imagelist[state];

	}

}



function BtnPI() {

	with(this) {

		if (!this.elementResolved()) return;

		state = parseInt(state);

		if (state == 0)

			state = getImageCount()-1;

		else

			state -= 1;



		elementID.src = imagelist[state];

	}

}



function BtnSIL(theImages) {

	with(this) {

		imagelist = theImages.split(",");

		for (var i = 0; i < imagelist.length; i++) {

			this.btnImageArray[i] = new Image();

			this.btnImageArray[i].src = imagelist[i];

		}

	}

}



function getImageList() {

	if (!this.elementResolved()) return "";

	return this.imagelist.join();

}



function getGroupCount() {

	if (!this.elementResolved()) return -1;

	var k = 0;

	for (i = 0; i < BTNArray.length; i++) {

		if (this.group == BTNArray[i].group) k++;

	}

	return k;

}



function setState(newState) {

	if (!this.elementResolved()) return;

	if (newState < 0) return;

	with(this) {

		if (imagelist[newState] != null) {

			elementID.src = btnImageArray[newState].src;

			state = newState;

		}

	}

}



function getState() {

	if (!this.elementResolved()) return -1;

	return this.state;

}



function _B__onMouseOver(ID) {

	if (BTNArray != null && BTNArray.length > ID && BTNArray[ID].state == 0) {

		BTNArray[ID].setState(1);

	}

}



function _B__onMouseOut(ID) {

	if (BTNArray != null && BTNArray.length > ID && BTNArray[ID].state == 1) {

		BTNArray[ID].setState(0);

	}

}



function mouseOver() {

	if (!this.elementResolved()) return;

	if (this.state == 0)

		this.setState(1);

}



function mouseOut() {

	if (!this.elementResolved()) return;

	if (this.state == 1)

		this.setState(0);

}



function setClicked() {

	with(this) {

		if (!this.elementResolved()) return;

		if ((state == 0 || state == 1) && (btnImageArray.length > 2)) {

			clearGroup();

			setState(2);

		} else if (state == 2 && getGroupCount() == 1) {

			setState(1);

		}

	}

}



function _B__setClicked(ID) {

	if (BTNArray != null && BTNArray.length > ID) {

		BTNArray[ID].setClicked();

	}

}



function setUnclicked() {

	if (!this.elementResolved()) return;

	if (this.state == 2) this.setState(0);

}



function clearGroup() {

	if (!this.elementResolved()) return;

	for (var i = 0; i < BTNArray.length; i++) 	{

		if (this.group == BTNArray[i].group) 		{

			BTNArray[i].setUnclicked();

		}

	}

}



