
function MM_swapImgRestore() { //v2.0
  if (document.MM_swapImgData != null)
    for (var i=0; i<(document.MM_swapImgData.length-1); i+=2)
      document.MM_swapImgData[i].src = document.MM_swapImgData[i+1];
}

function MM_preloadImages() { //v2.0
  if (document.images) {
    var imgFiles = MM_preloadImages.arguments;
    if (document.preloadArray==null) document.preloadArray = new Array();
    var i = document.preloadArray.length;
    with (document) for (var j=0; j<imgFiles.length; j++) if (imgFiles[j].charAt(0)!="#"){
      preloadArray[i] = new Image;
      preloadArray[i++].src = imgFiles[j];
  } }
}

function MM_swapImage() { //v2.0
  var i,j=0,objStr,obj,swapArray=new Array,oldArray=document.MM_swapImgData;
  for (i=0; i < (MM_swapImage.arguments.length-2); i+=3) {
    objStr = MM_swapImage.arguments[(navigator.appName == 'Netscape')?i:i+1];
    if ((objStr.indexOf('document.layers[')==0 && document.layers==null) ||
        (objStr.indexOf('document.all[')   ==0 && document.all   ==null))
      objStr = 'document'+objStr.substring(objStr.lastIndexOf('.'),objStr.length);
    obj = eval(objStr);
    if (obj != null) {
      swapArray[j++] = obj;
      swapArray[j++] = (oldArray==null || oldArray[j-1]!=obj)?obj.src:oldArray[j];
      obj.src = MM_swapImage.arguments[i+2];
  } }
  document.MM_swapImgData = swapArray; //used for restore
}

function MM_displayStatusMsg(msgStr) { //v2.0
  status=msgStr;
  document.MM_returnValue = true;
}

function MM_displayStatusMsg(msgStr) { //v2.0
  status=msgStr;
  document.MM_returnValue = true;
}

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 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;
		}
	}
}

function InitGrp(grp) {
	var cmd = false; if (getCookie) cmd = getCookie(grp);
	if (cmd) {
		eval("GrpDown("+cmd+")");
		eval("GrpRestore("+cmd+")");
	}
}

function getCookie(Name) {
   var search = Name + "="
   var retVal = "";
   if (document.cookie.length > 0) { // if there are any cookies
     offset = document.cookie.indexOf(search);
     if (offset != -1) { // if cookie exists 
         // set index of beginning of value
         end = document.cookie.indexOf(";", offset) 
         // set index of end of cookie value
         offset += search.length 
         if (end == -1) 
            end = document.cookie.length;
         retVal = unescape(document.cookie.substring(offset, end)) ;
     } 
   }
   return(retVal);
}

function setCookie(name, value) {
   document.cookie = name + "=" + escape(value)
}

function GrpDown(grp){
	var i,j=0,downSrc,downOver,objName;
	var cmd = "'" + grp + "'";
	var docGroup=false;
	for (i=1; i < (GrpDown.arguments.length-2); i+=3) {
		objName = GrpDown.arguments[i];
		downSrc = GrpDown.arguments[i+1];
		downOver = GrpDown.arguments[i+2];
		if(!downOver) downOver = downSrc;
		var docGroup = FindGroup(grp, objName);
		if (!docGroup || !downSrc) continue;
		obj = FWFindImage(document,objName,0);
		if (!obj) continue;
		obj.atRestSrc = downSrc; obj.downOver = downOver;
		obj.src = downOver; obj.isDown = true;
		obj.skipMe = true;
		cmd += ",'" + objName + "','" + downSrc + "','" + downOver + "'";
		j++;
	}
	setCookie(grp, cmd);
	if (!docGroup) return;
	var theImages = docGroup.theImages;
	if (theImages) {
		for (i=0; i<theImages.length; i++) {
			var curImg = theImages[i];
			if (curImg && !curImg.skipMe) {
				curImg.atRestSrc = curImg.initialSrc;
				curImg.isDown = false; curImg.downOver = false;
				curImg.src = curImg.initialSrc;
			}
			curImg.skipMe = false;
		}
	}
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_nbGroup(event, grpName) { //v3.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    if ((nbArr = document[grpName]) != null)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = args[i+1];
      nbArr[nbArr.length] = img;
  } }
}