
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_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  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);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//used for the category scroller
function P7_HScroller(el,dr,tx,ox,spd) { //v1.6 by PVII
	var g;
	var gg;
	var fr;
	var sp;
	var pa = '';
	var slw = true;
	var m = false;
	var w;
	var ww;
	var lx;
	var rx;

	tx=parseInt(tx);
	if ((g = MM_findObj(el)) != null) {
		gg = (document.layers) ? g : g.style;
	} else {
		return;
	}
	if (dr == "Stop") {
		if (g.toMove) {
			clearTimeout(g.p7Magic);
		}
		g.toMove = false;
	}
	if ((parseInt(navigator.appVersion) > 4 || navigator.userAgent.indexOf("MSIE") > -1) && !window.opera) {
		pa = "px";
	}
	if (navigator.userAgent.indexOf("NT") > -1 || navigator.userAgent.indexOf("Windows 2000") > -1) {
		slw = false;
	}
	if (spd == "Slow") {
		sp = (slw) ? 2 : 1;
		fr = (slw) ? 40 : 30;
	} else if(spd=="Medium") {
		sp = (slw) ? 4 : 1;
		fr = (slw) ? 40 : 10;
	} else if(spd=="Fast") {
		sp = (slw) ? 40 : 5;
		fr = (slw) ? 40 : 10;		
	} else {
		//sp = (slw) ? 8 : 4;//original
		sp = (slw) ? 6 : 2;//lj-custom change to script
		fr = (slw) ? 40 : 10;
	}
	if (spd == "Warp") {
		sp = 5000;
	}
	var xx = parseInt(gg.left);
	if (isNaN(xx)) {
		if (g.currentStyle) {
			xx = parseInt(g.currentStyle.left);
		} else if(document.defaultView) {
			xx = parseInt(document.defaultView.getComputedStyle(g,"").getPropertyValue("left"));
		} else {
			xx=0;
		}
	}
	if (document.all || document.getElementById) {
		w = parseInt(g.offsetWidth);
		if (!w) {
			w = parseInt(g.style.pixelWidth);
		}
		if (g.hasChildNodes) {
			for (wx = 0; wx < g.childNodes.length; wx++) {
				ww = parseInt(g.childNodes[wx].offsetWidth);
				if (ww > w) {
					w = ww;
				}
			}
		}
	} else if(document.layers) {
		w = parseInt(g.clip.width);
	}
	lx = tx - w + parseInt(ox);
	rx = tx;
	if (dr == "Right"){
		if (xx > lx) {
			m = true;
			xx -= sp;
			if (xx < lx) {
				xx = lx;
			}
		}
	}
	if (dr == "Left") {
		if (xx < rx) {
			m = true;
			xx += sp;
			if (xx > rx) {
				xx = rx;
			}
		}
	}
	if (dr == "Reset") {
		gg.left = tx + pa;
		if (g.toMove) {
			clearTimeout(g.p7Magic);
		}
		g.toMove=false;
	}
	if (m) {
		gg.left = xx + pa;
		if (g.toMove) {
			clearTimeout(g.p7Magic);
		}
		g.toMove=true;
		eval("g.p7Magic=setTimeout(\"P7_HScroller('" + el + "','" + dr + "'," + tx + "," + ox + ",'" + spd + "')\"," + fr + ")");
	} else {
		g.toMove=false;
	}
}

//used for the category scroller rollover
/*
Gradual-Highlight Image Script II- 
By J. Mark Birenbaum (birenbau@ugrad.cs.ualberta.ca)
Permission granted to Dynamicdrive.com to feature script in archive
For full source to script, visit http://dynamicdrive.com
*/
nereidFadeObjects = new Object();
nereidFadeTimers = new Object();
/* object - image to be faded (actual object, not name);
 * destop - destination transparency level (ie 80, for mostly solid)
 * rate   - time in milliseconds between trasparency changes (best under 100)
 * delta  - amount of change each time (ie 5, for 5% change in transparency)
 */
function nereidFade(object, destOp, rate, delta){
if (!document.all)
return
    if (object != "[object]"){  //do this so I can take a string too
        setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
        return;
    }
        
    clearTimeout(nereidFadeTimers[object.sourceIndex]);
    
    diff = destOp-object.filters.alpha.opacity;
    direction = 1;
    if (object.filters.alpha.opacity > destOp){
        direction = -1;
    }
    delta=Math.min(direction*diff,delta);
    object.filters.alpha.opacity+=direction*delta;

    if (object.filters.alpha.opacity != destOp){
        nereidFadeObjects[object.sourceIndex]=object;
        nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
    }
}

