<!--TypeStyler(TM) 3.0 Generated JavaScript.

var needsTSImageInit = true
var tsobjects = new Array()
var barNeedsClearing = 0
var waitingformouseup = 0
var curgroupname = ""

function show(msg)
	{
	window.status = msg
	return true
	}

function igif(id)
	{
	tsimages[id] = new Image()
	tsimages[id].src = "images/" + id + ".gif"
	}

function tsobject( row, col, isrollover, springloaded, actionkind, groupid,
					minDownTargetIndex, maxDownTargetIndex,
					targetOverObjectIndex, targetOverObjectImageIndex, 
					targetDownObjectIndex, targetDownObjectImageIndex,
					targetOutObjectIndex, targetOutObjectImageIndex)
	{
	this.row = row
	this.col = col

	this.isrollover = isrollover;
	this.springloaded = springloaded;
	this.actionkind = actionkind;
	this.groupid = groupid;
	this.currentState = 0
	
	this.state = 0
	this.downstate = 0
	this.overstate = 0

	this.targetDownMinImageIndex = minDownTargetIndex
	this.targetDownMaxImageIndex = maxDownTargetIndex

	this.targetOverObjectIndex = targetOverObjectIndex
	this.targetOverObjectImageIndex = targetOverObjectImageIndex

	this.targetDownObjectIndex = targetDownObjectIndex
	this.targetDownObjectImageIndex = targetDownObjectImageIndex

	this.targetOutObjectIndex = targetOutObjectIndex
	this.targetOutObjectImageIndex = targetOutObjectImageIndex

	this.controllingObjectIndex = targetOverObjectIndex
	this.controllingState = targetOverObjectImageIndex

	return this
	}

function setimage(groupname, row, col, theOverState, theDownState)
	{
	id =  ( groupname + "_" + row + "_" + col)

	if (theDownState)
		{
		newsrc = eval( "tsimages." + id + "_" + theDownState + ".src")
		if (newsrc != document.images[id].src)
			document.images[id].src =  newsrc
		}
	else
		{
		newsrc = eval( "tsimages." + id + "_" + theOverState + ".src")
		if (newsrc != document.images[id].src)
			document.images[id].src =  newsrc 
		}
	}

function settargetimage(groupname, row, col, theImageState)
	{
	if (theImageState >= 0)
		{
		id =  ( groupname + "_" + row + "_" + col)
		newsrc = eval( "tsimages." + id + "_" + theImageState + ".src")
		if (newsrc != document.images[id].src)
			document.images[id].src =  newsrc
		}
	}

function tsclearovers()
	{
	switch(curgroupname)
		{
		case "CLICK_A_DOODLE":
			if (barNeedsClearing)
				{
				barNeedsClearing = false
								
				for (i = 0; i < tsobjects.length; i++)
					{
					if (tsobjects[i].isrollover)
						tsobjects[i].overstate = 0	
						
					if (tsobjects[i].downstate == 2)
						{
						t = tsobjects[i].targetDownObjectIndex
						if (t >= 0) 		
							{
							tsobjects[t].controllingObjectIndex = i;
							tsobjects[t].controllingState = 2;
							}
						}
					}
				setobjectstates(curgroupname)			
				}
			break;
		}
	}

function tsevent(evt, groupname, button)
	{
	var temp, mini, maxi
	
	if(document.images) 
		{
		if (needsTSImageInit)
			initImages()
			
		curgroupname = groupname
		switch(groupname)
			{
			case "CLICK_A_DOODLE":
				if (evt.type == "mouseover")
					{
					barNeedsClearing = false	
					
					for (i = 0; i < tsobjects.length; i++)
						{
						if (tsobjects[i].isrollover)
							tsobjects[i].overstate = 0	
						}
					if (tsobjects[button].isrollover)
						{
						tsobjects[button].overstate = 1;
					
						t = tsobjects[button].targetOverObjectIndex
						if (t >= 0) 		
							{
							tsobjects[t].controllingObjectIndex = button;
							tsobjects[t].controllingState = 1;
							}
						}
					setobjectstates(groupname)
					}
				else if (evt.type == "mouseout")
					{
					barNeedsClearing = true
					setTimeout("tsclearovers()", 10)

					if (tsobjects[button].isrollover)
						{
						tsobjects[button].overstate = 0;
					
						t = tsobjects[button].targetOutObjectIndex
						if (t >= 0) 		
							{
							tsobjects[t].controllingObjectIndex = button;
							tsobjects[t].controllingState = 3;
							}
						}
					}
				else if (evt.type == "mousedown")
					{
					if ( ! waitingformouseup )
						{
						if (tsobjects[button].isrollover)
							{
							waitingformouseup = true
							barNeedsClearing = false	
							
							if ( ! tsobjects[button].springloaded )
								{
								for (i = 0; i < tsobjects.length; i++)
									{
									if (tsobjects[i].isrollover)
										tsobjects[i].overstate = 0	
									}

								for (i = 0; i < tsobjects.length; i++)
									{
									if (tsobjects[i].isrollover)
										tsobjects[i].downstate = 0	
									}
								}

							tsobjects[button].downstate = 2;
							
							t = tsobjects[button].targetDownObjectIndex
							if (t >= 0) 		
								{
								if (tsobjects[button].springloaded)
									{
									mini = tsobjects[button].targetDownMinImageIndex
									maxi = tsobjects[button].targetDownMaxImageIndex
									
									if (tsobjects[t].controllingObjectIndex != button)
										tsobjects[button].targetDownObjectImageIndex = tsobjects[t].currentState
									
									if (tsobjects[button].actionkind == 1)
										{
										tsobjects[button].targetDownObjectImageIndex--
										if (tsobjects[button].targetDownObjectImageIndex < mini)
											tsobjects[button].targetDownObjectImageIndex = maxi
										}
									else if (tsobjects[button].actionkind == 2)
										{
										tsobjects[button].targetDownObjectImageIndex++
										if (tsobjects[button].targetDownObjectImageIndex > maxi)
											tsobjects[button].targetDownObjectImageIndex = mini
										}
									else if (tsobjects[button].actionkind == 4)
										{
										if (maxi > mini)
											do {temp = Math.round(Math.random() * maxi) + mini} while (temp == tsobjects[button].targetDownObjectImageIndex)
										else temp = mini
										tsobjects[button].targetDownObjectImageIndex = temp
										if (tsobjects[button].targetDownObjectImageIndex > maxi)
											tsobjects[button].targetDownObjectImageIndex = mini
										}
									}
								tsobjects[t].controllingObjectIndex = button;
								tsobjects[t].controllingState = 2;		// DOWN state of this rollover controls target image
								}
							}
						setobjectstates(groupname)
						}
					}
				else if (evt.type == "mouseup")
					{
					waitingformouseup = false
					barNeedsClearing = false	
					
					if (tsobjects[button].isrollover)
						{
						if (tsobjects[button].springloaded)
							{
							for (i = 0; i < tsobjects.length; i++)
								{
								if (tsobjects[i].isrollover)
									tsobjects[i].overstate = 0	
								}

							for (i = 0; i < tsobjects.length; i++)
								{
								if (tsobjects[i].isrollover && tsobjects[i].springloaded)
									tsobjects[i].downstate = 0	
								}

							tsobjects[button].overstate = 1;		// SPRINGLOADED -- mouse is up so back to the OVER state we were in before click
							}
						}
					setobjectstates(groupname)
					}
				break
			default:;
			}
		}
	}
	
function setobjectstates(g)
	{
	var s, d, c, r, t;

	for (var i = 0; i < tsobjects.length; i++)
		{
		if ( ! tsobjects[i].isrollover )
			{
			t = tsobjects[i].controllingObjectIndex
			if (t >= 0)
				{
				s = tsobjects[i].controllingState
				if (s == 1)				// over
					tsobjects[i].currentState = tsobjects[t].targetOverObjectImageIndex
				else if (s == 2) 	 	// down
					tsobjects[i].currentState = tsobjects[t].targetDownObjectImageIndex
				else if (s == 3)		// out
					tsobjects[i].currentState = tsobjects[t].targetOutObjectImageIndex
				else if (s == 4)		// up
					tsobjects[i].currentState = tsobjects[t].targetOutObjectImageIndex
				}
			}
		}

	for (var i = 0; i < tsobjects.length; i++)
		{
		r = tsobjects[i].row
		c = tsobjects[i].col

		if (tsobjects[i].isrollover)
			{
			t = tsobjects[i].targetDownObjectIndex
			if ( ! tsobjects[i].springloaded )
				{
				if (tsobjects[i].targetDownObjectImageIndex == tsobjects[t].currentState)
					tsobjects[i].downstate = 2
				else
					tsobjects[i].downstate = 0
				}
			s = tsobjects[i].overstate
			d = tsobjects[i].downstate
			setimage(g,r,c,s,d)
			}
		}

	for (var i = 0; i < tsobjects.length; i++)
		{
		r = tsobjects[i].row
		c = tsobjects[i].col

		if ( ! tsobjects[i].isrollover )
			{
			t = tsobjects[i].controllingObjectIndex
			if (t >= 0)
				{
				s = tsobjects[i].controllingState
				if (s >= 1 && s <= 4)				//  must be over(1) to up(4)
					{
					settargetimage(g,r,c,tsobjects[i].currentState)
					}
				}
			}
		}
	}



function initImages()
   {
	if (document.images && needsTSImageInit)  
		{
		tsimages = new Object()
		needsTSImageInit = false

		curgroupname = 'CLICK_A_DOODLE'
		n = curgroupname + '_'
		igif(n + '1_3_0'); igif(n + '1_3_1'); igif(n + '1_3_2')
		igif(n + '5_1_0'); igif(n + '5_1_1'); igif(n + '5_1_2'); igif(n + '5_1_3')

		tsobjects[0] = new tsobject(5,1, 1,1,4,0, 0,0, -1,-1, -1,-1, -1,-1)
		tsobjects[1] = new tsobject(1,3, 0,0,4,0, 0,0, -1,-1, -1,-1, -1,-1)

		barNeedsClearing = true
		tsclearovers()
		setobjectstates(curgroupname)
		}
	}

// end generated JavaScript. -->