// #############################################################################
//  mymel6.js  (for the inside pages)
// #############################################################################
//  This script will bounce Big mel up and down and change signage on mouseOver
//  of stars, and fly Lilmel randomly to the cursor to wave.
// #############################################################################
//  copyright 2001 the GRAPHICS department, inc. & Charles K. Reed
// 
//  This file/program is supplied on a lease-free basis for the exclusive use of
//  Mel Farr.  According to the initial contractual terms which succeed any
//  break of business between Mel Farr and GDI, this file/program may NOT be
//  modified, redistributed, or sold to any other parties with the exception of
//  modifying path names to allow operation on a new server environment.
// #############################################################################
//  03/17/04 CKR - note:  posTop, posLeft, pixelTop, and pixelLeft ONLY work on IE, not NS


//Find out if it is okay to run this script
var runScript = false;
var browserName = navigator.appName;
var browserVersion = parseInt(navigator.appVersion);
if ((browserName == "Netscape" && browserVersion >=3) || (browserName == "Microsoft Internet Explorer" && browserVersion >= 4)) {
	runScript = true;
}
else {
	runScript = false;
}

var Total_Reps = 22;		// number of loops to wait if images have not loaded on the onLoad event
var reps_run = 0;			// counter for Total_Reps
var Total_Images = 12;		// Number of rollover images need to be cached
var images_cached = 0;		// Counter for number of rollover images cached (for Net 3.x and IE 4.x)
var cool_to_run = false;

if (runScript) {
	// initialize our new navigation image objects
	var signOn1=new Image();
	var signOn2=new Image();
	var signOn3=new Image();
	var signOn4=new Image();
	var signOn5=new Image();
	var signOn6=new Image();
	var signOn7=new Image();
	var signOn8=new Image();
	var signOn9=new Image();
	var signOn10=new Image();
	var signOn11=new Image();
	var signOn12=new Image();

	// Pre-load sign popups and assign them to variables
	images_cached++;
	signOn1.src="images/signinstarbody.gif";
	images_cached++;
	signOn2.src="images/signinstarcars.gif";
	images_cached++;
	signOn3.src="images/signinstarcontact.gif";
	images_cached++;
	signOn4.src="images/signinstarloc.gif";
	images_cached++;
	signOn5.src="images/signinstarservice.gif";
	images_cached++;
	signOn6.src="images/signinstarspecial.gif";
	images_cached++;
	signOn7.src="images/signinstartrucks.gif";
	images_cached++;
	signOn8.src="images/signinstarused.gif";
	images_cached++;
	signOn9.src="images/signinstarhome.gif";
	images_cached++;
	signOn10.src="images/lilmelleft.gif";
	images_cached++;
	signOn11.src="images/lilmelright.gif";
	images_cached++;
	signOn12.src="images/lilmelwave.gif";
}

function do_cool() {
	if ((document.images) && (images_cached == Total_Images)) {
		cool_to_run = true;
		showMels();
		setuplmel();
	}
	else {
		reps_run++;
		if (reps_run < Total_Reps) {
			timevar = setTimeout("do_cool()", 50);
		}
	}
}


function moveObject(ex,ey,objectid) {
	if (document.layers) {
		var fish = document.mylilmel;
		if (ex < document[objectid].left) {
			fish.document.images["lilmel"].src="images/lilmelleft.gif";
		} else {
			fish.document.images["lilmel"].src="images/lilmelright.gif";
		}
		document[objectid].top = ey;
		document[objectid].left = ex;
	} else if (document.all && !document.getElementById) {
		if (ex < document.all[objectid].style.pixelLeft) {
			document.images["lilmel"].src="images/lilmelleft.gif";
		} else {
			document.images["lilmel"].src="images/lilmelright.gif";
		}
		document.all[objectid].style.pixelTop = ey;
		document.all[objectid].style.pixelLeft = ex;
	} else if (document.getElementById && document.body.style) {
		mydiv=eval("document.getElementById('"+objectid+"').style");
		if (ex < parseInt(mydiv.left)) {
			document.images["lilmel"].src="images/lilmelleft.gif";
		} else {
			document.images["lilmel"].src="images/lilmelright.gif";
		}
		mydiv.top = (ey) + "px";
		mydiv.left = (ex) + "px";
	}
}

var mx=10;
var my=10;
var rx=0;
var ry=-200;
var meltimer=null;

function moveend() {
	rx-=(cx-rx-10)*0.1;
	ry-=(cy-ry-10)*0.1; 
	moveObject(Math.floor(rx),Math.floor(ry),"mylilmel");
	if (rx <= -60 || ry <= -60 || rx >= 800 || ry >= 600) {
		rx = 0;
		ry = -200;
		clearmytimer();
	} else {
		meltimer2=setTimeout("moveend()",50);
	}
}

function melwave() {
	var fish3 = document.mylilmel;
	if (document.layers) {
		fish3.document.images["lilmel"].src="images/lilmelwave.gif";
	} else {
		document.images["lilmel"].src="images/lilmelwave.gif";
	}

	meltimer3=setTimeout("moveend()",2000);
}

function movestart() {
	rx+=(cx-rx-10)*0.1;
	ry+=(cy-ry-10)*0.1; 
	moveObject(Math.floor(rx),Math.floor(ry),"mylilmel");
	if ((rx >= (cx-100)) && (ry >= (cy-100))) {
		meltimer2=setTimeout("melwave()",50);
	} else {
		meltimer=setTimeout("movestart()",50);
	}
}

function trystart() {
	cx=mx;
	cy=my;
	movestart();
	timer=setTimeout("trystart()",15000);
}

function mymousemoved(ex,ey) {
	mx=ex;
	my=ey;
}

function myhandler(e) {
	if (e) {
		ex=e.pageX; 
		ey=e.pageY;
		mymousemoved(ex,ey);
		return routeEvent(e);
	}
	if (event) {
		ex=event.clientX+window.document.body.scrollLeft;
		ey=event.clientY+window.document.body.scrollTop;
		mymousemoved(ex,ey);
	}
	return null;  
}

function clearmytimer() {
	if (meltimer!=null) {
		clearTimeout(meltimer);
		clearTimeout(meltimer2);
		clearTimeout(meltimer3);
	}
}

function setuplmel() {
	if (document.layers) {
		window.captureEvents(Event.MOUSEMOVE);
		window.onMouseMove=myhandler;
		window.onresize=new Function('history.go(0)');
	} else {
		document.onmousemove=myhandler;
	}

	window.onunload = clearmytimer;
	trystart();
}



var jigglestrength=5, melstrength=-6;			// strength of earthquake
var max_jiggles=16;				// duration of earthquake
var thisdiv, thisdiv2;
var i_jiggle=0;
var pause=5;
var x_pos, y_pos, x_melpos=55, y_melpos=131;
var occupied=0, occupied2=0;

function switchSign(signURL) {
	if (document.layers) {
		var fish2 = document.insignage;
		fish2.document.images["mysignage"].src=signURL;
	} else {
		document.images["mysignage"].src=signURL;
	}
}

function jiggleMe(divname,y,x) {
	if (runScript && cool_to_run) {
		var mylink = "images/sign"+divname+".gif";
		switchSign(mylink);
		if ((occupied == 0) && (occupied2 == 0)) {
			i_jiggle=0;
			x_pos=x;
			y_pos=y;
			if (document.layers) {
				thisdiv=eval("document."+divname);
				thisdiv2=eval("document.inbigmel");
				document.inbigmel.top=y_melpos;
				document.inbigmel.left=x_melpos;
			} else if (document.all && !document.getElementById) {
				thisdiv=eval("document.all."+divname+".style");
				thisdiv2=eval("document.all.inbigmel.style");
				document.all.inbigmel.style.posTop=y_melpos;
				document.all.inbigmel.style.posLeft=x_melpos;
			} else if (document.getElementById && document.body.style) {
				thisdiv=eval("document.getElementById('"+divname+"').style");
				thisdiv2=eval("document.getElementById('inbigmel').style");
				document.getElementById("inbigmel").style.top=(y_melpos) + "px";
				document.getElementById("inbigmel").style.left=(x_melpos) + "px";
			}
			jiggleMe2();
		}
	}
}

function jiggleMe2() {
	jigglestrength=jigglestrength*(-1);
	if (document.layers && i_jiggle<max_jiggles) {
		occupied=1;
		thisdiv.top+=jigglestrength;
		thisdiv.left+=jigglestrength;
		thisdiv2.top+=melstrength;
		var timer=setTimeout("jiggleMe2()",pause);
		i_jiggle++;
	} else if (document.all && !document.getElementById && i_jiggle<max_jiggles) {
		occupied=1;
		thisdiv.posTop+=jigglestrength;
		thisdiv.posLeft+=jigglestrength;
		thisdiv2.posTop+=melstrength;
		var timer=setTimeout("jiggleMe2()",pause);
		i_jiggle++;
	} else if (document.getElementById && document.body.style && i_jiggle<max_jiggles) {
		occupied=1;
		thisdiv.top=(parseInt(thisdiv.top)+jigglestrength) + "px";
		thisdiv.left=(parseInt(thisdiv.left)+jigglestrength) + "px";
		thisdiv2.top=(parseInt(thisdiv2.top)+melstrength) + "px";
		var timer=setTimeout("jiggleMe2()",pause);
		i_jiggle++;
	} else {
		clearTimeout(timer);
		thisdiv.posTop=y_pos;
		thisdiv.posLeft=x_pos;
		occupied=0;
	}
}

function offMel() {
	if (runScript && cool_to_run) {
		var shrinkMel=0;
		switchSign("images/signinstarhome.gif");
		if ((occupied == 0) && (occupied2 == 0)) {
			i_jiggle=0;
			if (document.layers) {
				thisdiv2=eval("document.inbigmel");
				if (thisdiv2.top < y_melpos) {
					shrinkMel = 1;
				}
			} else if (document.all && !document.getElementById) {
				thisdiv2=eval("document.all.inbigmel.style");
				if (thisdiv2.posTop < y_melpos) {
					shrinkMel = 1;
				}
			} else if (document.getElementById && document.body.style) {
				thisdiv2=eval("document.getElementById('inbigmel').style");
				if (parseInt(thisdiv2.top) < y_melpos) {
					shrinkMel = 1;
				}
			}
			if (shrinkMel == 1) {
				offMel2();
			}
		}
	}
}

function offMel2() {
	if (document.layers && i_jiggle<max_jiggles) {
		occupied2=1;
		thisdiv2.top-=melstrength;
		var timer=setTimeout("offMel2()",pause);
		i_jiggle++;
	} else if (document.all && !document.getElementById && i_jiggle<max_jiggles) {
		occupied2=1;
		thisdiv2.posTop-=melstrength;
		var timer=setTimeout("offMel2()",pause);
		i_jiggle++;
	} else if (document.getElementById && document.body.style && i_jiggle<max_jiggles) {
		occupied2=1;
		thisdiv2.top=(parseInt(thisdiv2.top)-melstrength) + "px";
		var timer=setTimeout("offMel2()",pause);
		i_jiggle++;
	} else {
		clearTimeout(timer);
		occupied2=0;
	}
}

function showMels() {
	if (document.layers) {
		document.inbigmel.visibility="show";
		document.mylilmel.visibility="show";
	} else if (document.all && !document.getElementById) {
		document.all.inbigmel.style.visibility="visible";
		document.all.mylilmel.style.visibility="visible";
	} else if (document.getElementById && document.body.style) {
		document.getElementById("inbigmel").style.visibility="visible";
		document.getElementById("mylilmel").style.visibility="visible";
	}
}

function showLilMel() {
	if (document.layers) {
		document.mylilmel.visibility="show";
	} else if (document.all && !document.getElementById) {
		document.all.mylilmel.style.visibility="visible";
	} else if (document.getElementById && document.body.style) {
		document.getElementById("mylilmel").style.visibility="visible";
	}
}

function hideLilMel() {
	if (document.layers) {
		document.mylilmel.visibility="hide";
	} else if (document.all && !document.getElementById) {
		document.all.mylilmel.style.visibility="hidden";
	} else if (document.getElementById && document.body.style) {
		document.getElementById("mylilmel").style.visibility="hidden";
	}
}

