//Copyright (c) 2003 PAULGRANT.CA
//http://actionfigurechecklist.com

var aJoes = new Array();

var giConstDelete	= 0;
var giConstInsert	= 1;
var giConstUpdate	= 2;

var gsSep			= String.fromCharCode(14);
var gsEnd			= String.fromCharCode(15);

function DoSave(oForm)
{
	var i			= 0;
	var oJoe		= null;
	var iAction		= null;
	var sString		= "";

	if(!oForm)
		return false;

	var oHidUpdate	= oForm.hidUpdate;
	if(!oHidUpdate)
		return false;

	for(i = 0; i < aJoes.length; i++)
	{
		oJoe = aJoes[ i ];
		if(!oJoe)
			break;

		if((oJoe.bModified == true) || ((oJoe.bModifiedProperty == true) && (oJoe.bChecked == true)))
		{
			if(oJoe.bChecked == true)
				iAction = ((oJoe.bFromDB == true) ? giConstUpdate : giConstInsert);
			else
				iAction = giConstDelete;

			sString += iAction
			+ gsSep + oJoe.iJoeId
			+ gsSep + oJoe.iJoeQuantity
			+ gsSep + ((oJoe.iJoeType != null) ? oJoe.iJoeType : 0)
			+ gsEnd;
		}
	}

	if((!sString) || (sString.length < 1))
		return false;

	oHidUpdate.value = sString;

	return true;
}

function DoImgOver(iJoeId, sGroupDesc)
{
	var oJoe = GetJoe(iJoeId);
	if(!oJoe)
		return false;

	var sStatus = oJoe.sJoeName + " (" + sGroupDesc + ") " + ((oJoe.iJoeQuantity > 1) ? oJoe.iJoeQuantity : "");

	DoStatus(sStatus);

	if(oJoe.bAbort == true)
	{
		var sImage = "img" + iJoeId;
		var oImage = document.getElementById(sImage);
		if(oImage)
			oImage.src = oImage.src;

		SetCheckImage(iJoeId, oJoe.iJoeType, oJoe.bChecked);
	}

	return true;
}

function DoAbort(iJoeId)
{
	var oJoe = GetJoe(iJoeId);
	if(!oJoe)
		return false;

	oJoe.bAbort = true;
}

function DoProperties(iJoeId)
{
	var oJoe = GetJoe(iJoeId);
	if(!oJoe)
		return false;

	if(oJoe.bChecked == true)
		oProperties.Open(oJoe);

	return true;
}

function SetCheckImage(iJoeId, iJoeType, bChecked)
{
	var oImage	= null;
	var sImage	= "";
	var sSource	= "";

	sImage = "imgChk" + iJoeId;
	oImage = document.getElementById(sImage);
	if(oImage)
	{
		if(bChecked == true)
			sSource = GetFigureTypeImage(iJoeType);
		else
			sSource = "./Images/Checkbox/Checkbox12x12off.gif"
		oImage.src = sSource;
	}

	return true;
}

function DoCheck(iJoeId)
{
	var oJoe	= null;

	oJoe = GetJoe(iJoeId);
	if(!oJoe)
		return false;

	oJoe.bChecked = ((oJoe.bChecked == true) ? false : true);
	oJoe.bModified = ((oJoe.bModified == true) ? false : true);

	if((oJoe.bChecked == true) && (oJoe.iJoeQuantity < 1))
		oJoe.iJoeQuantity = 1;

	SetCheckImage(iJoeId, oJoe.iJoeType, oJoe.bChecked);

	return true;
}

function SetCheck(iJoeId, iJoeType, iJoeQuantity)
{
	var oJoe	= null;
	var oDiv	= null;
	var sDiv	= "";

	oJoe = GetJoe(iJoeId);
	if(!oJoe)
		return false;

	oJoe.bChecked	= true;
	oJoe.bFromDB	= true;

	oJoe.iJoeType		= iJoeType;
	oJoe.iJoeQuantity	= ((iJoeQuantity) ? iJoeQuantity : 1);

	SetCheckImage(iJoeId, oJoe.iJoeType, oJoe.bChecked);

	if(iJoeQuantity > 1)
	{
		sDiv	= "divQ" + iJoeId;
		oDiv	= document.getElementById(sDiv);
		if(oDiv)
			oDiv.innerHTML = iJoeQuantity;
	}

	return true;
}

function GetJoe(iJoeId)
{
	var i		= 0;
	var oJoe	= null;

	for(i = 0; i < aJoes.length; i++)
	{
		oJoe = aJoes[ i ];
		if(!oJoe)
			break;

		if(oJoe.iJoeId == iJoeId)
			return oJoe;
	}

	return null;
}

function Add(iJoeId, iTribeId, iGroupId, sJoeName)
{
	var iIdx = aJoes.length;

	aJoes[ iIdx ] = new JoeClass(iJoeId, iTribeId, iGroupId, sJoeName);

	return true;
}

function JoeClass(iJoeId, iTribeId, iGroupId, sJoeName)
{
	this.iJoeId			= iJoeId;
	this.iTribeId		= iTribeId;
	this.iGroupId		= iGroupId;
	this.sJoeName		= sJoeName;

	this.iJoeType		= 0;
	this.iJoeQuantity	= 0;

	this.bChecked	= false;
	this.bFromDB	= false;
	this.bAbort		= false;

	this.bModified			= false;
	this.bModifiedProperty	= false;

	return this;
}

//End.
