function GrpRestore(grp) { //v2.0
	var docGroup = eval("document.FWG_"+grp);if (!docGroup) return;
	var oldSwap = docGroup.oldSwap;
	var newSwap = docGroup.curSwap;
	if (newSwap) {docGroup.oldSwap = newSwap;	docGroup.curSwap = null;}
	if (oldSwap) {
		for (i=0; i<oldSwap.length; i++) {
			var curImg = oldSwap[i];
			var restore = true;
			if (newSwap) for (j=0; j<newSwap.length; j++) {
				if (curImg == newSwap[j]) {
					restore = false;
				}
			}
			if (restore) {
				if (curImg.atRestSrc) {
					curImg.src = curImg.atRestSrc;
				} else if (curImg.origSrc) {		   
					curImg.src = curImg.origSrc;			
				}
			}
		}
	}
	theImages = docGroup.theImages;
	if (theImages) {
		for (i=0; i<theImages.length; i++) {
			var curImg = theImages[i];
			var restore = true;
			if (newSwap) for (j=0; j<newSwap.length; j++) {
				if (curImg == newSwap[j]) {
					restore = false;
				}
			}
			if (restore) {
				if (curImg.atRestSrc) {
					curImg.src = curImg.atRestSrc;
				} 
			}
		}
	}
}

function FindGroup(grp, imageName) {
	var img = FWFindImage(document, imageName, 0);
	if (!img) return(false);
	var docGroup = eval("document.FWG_"+grp);
	if (!docGroup) {
		docGroup = new Object;
		eval("document.FWG_"+grp+" = docGroup");
		docGroup.theImages = new Array;
	}
	if (img) {
		var i;
		for (i=0; i<docGroup.theImages.length; i++) {
			if (docGroup.theImages[i] == img) break;
		}
		docGroup.theImages[i] = img; 
		if (!img.atRestSrc) {
			img.atRestSrc = img.src;
			img.initialSrc = img.src;
		}
	}
	return(docGroup);
}

function FWFindImage(doc, name, j)
{
	var theImage=false;
	if (doc.images) {
		theImage = doc.images[name];
	}
	if (theImage) return theImage;
	if (doc.layers) {
		for (j=0; j<doc.layers.length; j++) {
			theImage = FWFindImage(doc.layers[j].document, name, 0);
			if (theImage) return(theImage);
		}
	}
	return(false);
}

function GrpRestore(grp){
	var docGroup = eval("document.FWG_"+grp);if (!docGroup) return;
	theImages = docGroup.theImages;
	if (theImages) {
		for (i=0; i<theImages.length; i++) {
			var curImg = theImages[i];
			if (curImg.atRestSrc) {
				curImg.src = curImg.atRestSrc;
			}
		}
	}
}

function GrpSwap(grp){
	var i,j=0,newSrc,objName;
	var docGroup = false;
	for (i=1; i < (GrpSwap.arguments.length-1); i+=2) {
		objName = GrpSwap.arguments[i];
		newSrc = GrpSwap.arguments[i+1];
		docGroup = FindGroup(grp, objName);
		if (!docGroup) continue;
		obj = FWFindImage(document,objName,0);
		if (!obj) continue;
		if (obj.isDown) {
			if (obj.downOver) { 
				obj.src = obj.downOver;
			}
		} else {
			obj.src = newSrc;
			obj.atRestSrc = obj.initialSrc;
		}
		obj.skipMe = true;
		j++;
	}
	if (!docGroup) return;
	theImages = docGroup.theImages;
	if (theImages) {
		for (i=0; i<theImages.length; i++) {
			var curImg = theImages[i];
			if (curImg.atRestSrc && !curImg.skipMe) {
				curImg.src = curImg.atRestSrc;
			}
			curImg.skipMe = false;
		}
	}
}
