
var KspeedX = 0;
var KspeedY = 0;
var Kleft = 0;
var Ktop = 0;
var Kright = 1000;
var Kdelay = 60;

var WindowWidth  = 500;
var WindowHeight = 300;

var rgmAnimation = new Array("RGMstop(1)");

var dd = new Date();
// 6 RGMs: "1" bis "6"
if ( typeof(rgmNummer) != "number" ) rgmNummer = Math.floor(((dd.getTime() / 1000 / 60 / 60 / 24) % 6) + 1);
var rgmDirectory;

var s1 = new Image();
var sb1 = new Image();
var sl1 = new Image();
var sr1 = new Image();

var gr1 = new Image();
var gr2 = new Image();
var gr3 = new Image();
var gr4 = new Image();
var gr5 = new Image();

var gl1 = new Image();
var gl2 = new Image();
var gl3 = new Image();
var gl4 = new Image();
var gl5 = new Image();

var rr1 = new Image();
var rr2 = new Image();
var rr3 = new Image();
var rr4 = new Image();

var rl1 = new Image();
var rl2 = new Image();
var rl3 = new Image();
var rl4 = new Image();

var wr1 = new Image();
var wr2 = new Image();

var wl1 = new Image();
var wl2 = new Image();

var pl1 = new Image();
var pl2 = new Image();
var plb1 = new Image();

var pr1 = new Image();
var pr2 = new Image();
var prb1 = new Image();

var ap1 = new Image();
var ap2 = new Image();

var dn1 = new Image();
var dn2 = new Image();

var an1 = new Image();
var an2 = new Image();

var mv1 = new Image();
var mv2 = new Image();

var no1 = new Image();
var no2 = new Image();

var ta1 = new Image();
var ta2 = new Image();
var ta3 = new Image();
var ta4 = new Image();
var tb1 = new Image();
var tb2 = new Image();

rgmSwitch(rgmNummer);

var rgmPosX = Kleft;
var rgmPosY = Ktop;
var animTargetX = Kleft;
var rgmSrc = s1.src;

var animSpeedY = KspeedY;

var animNextFlag = true;
var animFlag = true;
var animAction = "s";
var animPhase = 1;
var animPhaseMax = 1;
var animSpeedX = KspeedX;
var animStep = 1;
var animStepMax = 1;
var animDelay = Kdelay;
var mouseLockFlag = false;


/*@cc_on @if (@_win32 && @_jscript_version >= 5) if (!window.XMLHttpRequest)
function XMLHttpRequest() { return new ActiveXObject('Microsoft.XMLHTTP') }
@end @*/
var httpreq = new XMLHttpRequest();

function rgmSetHttp (nr) {
	if (httpreq) {
		httpreq.open('GET', 'setrgm.aspx?rgm='+nr, true);
		httpreq.onreadystatechange = function () {
			if (httpreq.readyState == 4) {
				//alert (httpreq.responseText);
			}
		}
		httpreq.send(null);
	}
}

function rgmSwitch (nummer) {
	rgmNummer = parseInt(nummer);
	if (isNaN(rgmNummer) || rgmNummer < 1 || rgmNummer > 6) rgmNummer = 1;
	rgmDirectory = "/sw-media/img/RGM" + rgmNummer + "/";

	s1.src = rgmDirectory+"standfront01.gif";
	sb1.src = rgmDirectory+"standback01.gif";
	sl1.src = rgmDirectory+"standleft01.gif";
	sr1.src = rgmDirectory+"standright01.gif";

	gr1.src = rgmDirectory+"goright01.gif";
	gr2.src = rgmDirectory+"goright02.gif";
	gr3.src = rgmDirectory+"goright03.gif";
	gr4.src = rgmDirectory+"goright04.gif";
	gr5.src = rgmDirectory+"goright05.gif";

	gl1.src = rgmDirectory+"goleft01.gif";
	gl2.src = rgmDirectory+"goleft02.gif";
	gl3.src = rgmDirectory+"goleft03.gif";
	gl4.src = rgmDirectory+"goleft04.gif";
	gl5.src = rgmDirectory+"goleft05.gif";

	rr1.src = rgmDirectory+"runright01.gif";
	rr2.src = rgmDirectory+"runright02.gif";
	rr3.src = rgmDirectory+"runright03.gif";
	rr4.src = rgmDirectory+"runright04.gif";

	rl1.src = rgmDirectory+"runleft01.gif";
	rl2.src = rgmDirectory+"runleft02.gif";
	rl3.src = rgmDirectory+"runleft03.gif";
	rl4.src = rgmDirectory+"runleft04.gif";

	wr1.src = rgmDirectory+"waitright01.gif";
	wr2.src = rgmDirectory+"waitright02.gif";

	wl1.src = rgmDirectory+"waitleft01.gif";
	wl2.src = rgmDirectory+"waitleft02.gif";

	pl1.src = rgmDirectory+"standleft01.gif";
	pl2.src = rgmDirectory+"pointleft01.gif";
	plb1.src = rgmDirectory+"pointleft02.gif";

	pr1.src = rgmDirectory+"standright01.gif";
	pr2.src = rgmDirectory+"pointright01.gif";
	prb1.src = rgmDirectory+"pointright03.gif";

	ap1.src = rgmDirectory+"applause02.gif";
	ap2.src = rgmDirectory+"applause01.gif";

	dn1.src = rgmDirectory+"dontknow01.gif";
	dn2.src = rgmDirectory+"dontknow02.gif";

	an1.src = rgmDirectory+"angry01.gif";
	an2.src = rgmDirectory+"angry02.gif";

	mv1.src = rgmDirectory+"move01.gif";
	mv2.src = rgmDirectory+"move02.gif";

	no1.src = rgmDirectory+"no01.gif";
	no2.src = rgmDirectory+"no02.gif";

	ta1.src = rgmDirectory+"think01.gif";
	ta2.src = rgmDirectory+"think02.gif";
	ta3.src = rgmDirectory+"think03.gif";
	ta4.src = rgmDirectory+"think04.gif";
	tb1.src = rgmDirectory+"think05.gif";
	tb2.src = rgmDirectory+"think06.gif";

	rgmSetHttp (rgmNummer);
}

function idleW3 () {
	if ( (animFlag == true) ) {
		nextPhase ();
		setPhaseW3 ();
	}
	setTimeout('idleW3()', animDelay);
}

function setPhaseW3 () {
	document.getElementById("Rgm").style.left = ""+rgmPosX+"px";
	document.getElementById("Rgm").style.top = ""+rgmPosY+"px";
	document.getElementById("RgmI").src  = rgmSrc;
}

function RGMinit (X) {
	WindowWidth  = window.innerWidth;
	WindowHeight = window.innerHeight;
	rgmPosX = X;
	rgmPosY = 62;
	idleW3();
}

function nextPhase () {
	if ( animNextFlag == true ) {
		animNextFlag = false;

		if ( rgmAnimation.length == 0 ) {
			animFlag = false;
			mouseLockFlag = false;
		} else {
			do {
				eval( aktBef=rgmAnimation[0] ); 
			} while ( aktBef.substr(0,3) != "RGM" )
			rgmAnimation = rgmAnimation.slice(1,rgmAnimation.length);
			mouseLockFlag = ( animAction == "rr" || animAction == "rl" ); //|| animAction == "gl" || animAction == "gr"
		}
	}
	rgmSrc = eval(animAction + animPhase + ".src");

	rgmPosX += animSpeedX;
	if ( animSpeedX < 0 ) {
		if ( rgmPosX+animSpeedX < animTargetX ) {
			rgmPosX = animTargetX;
			animNextFlag = true;
		}
	} else {
		if ( rgmPosX+animSpeedX > animTargetX ) {
			rgmPosX = animTargetX;
			animNextFlag = true;
		}
	}

	/* rgmPosY += animSpeedY; */

	if ( animStep >= animStepMax ) {
		animNextFlag = true;
	}
	animPhase = animPhase % animPhaseMax + 1;
	animStep++;
}

function startAnim() {
	animFlag = true;
	animNextFlag = true;
	animStepMax = 1;
	
}

/* ############################################# */

function RGMgoToX (X) {
	if ( rgmPosX < X ) {
		animAction = "gr";
		animSpeedX = 5;
	} else {
		animAction = "gl";
		animSpeedX = -5;
	}
	animPhaseMax = 5;
	animTargetX = X;
	animDelay = 57;
	animStepMax = 100;
	animStep = 1;
	animPhase = 1;
	animFlag = true;
}

function RGMrunToX (X) {
	if ( rgmPosX < X ) {
		animAction = "rr";
		animSpeedX = 12;
	} else {
		animAction = "rl";
		animSpeedX = -12;
	}
	animPhaseMax = 4;
	animTargetX = X;
	animDelay = 57;
	animStepMax = 100;
	animStep = 1;
	animPhase = 1;
	animFlag = true;
}

/* ############################################# */

function RGMstop (delay) {
		animAction = "s";
		animPhaseMax = 1;

		animTargetX = rgmPosX;
		animSpeedX = 0;
		animDelay = 200;
		animStepMax = Math.ceil(delay/200) ;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMstandRight (delay) {
		animAction = "sr";
		animPhaseMax = 1;

		animTargetX = rgmPosX;
		animSpeedX = 0;
		animDelay = 200;
		animStepMax = Math.ceil(delay/200) ;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMstandLeft (delay) {
		animAction = "sl";
		animPhaseMax = 1;

		animTargetX = rgmPosX;
		animSpeedX = 0;
		animDelay = 200;
		animStepMax = Math.ceil(delay/200) ;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMgoRight (steps,delay) {
		animAction = "gr";
		animPhaseMax = 5;

		animTargetX = Kright;
		animSpeedX = 6;
		animDelay = delay;
		animStepMax = steps;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMgoLeft (steps,delay) {
		animAction = "gl";
		animPhaseMax = 5;

		animTargetX = Kleft;
		animSpeedX = -6;
		animDelay = delay;
		animStepMax = steps;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMrunRight (steps,delay) {
		animAction = "rr";
		animPhaseMax = 4;

		animTargetX = Kright;
		animSpeedX = 10;
		animDelay = delay;
		animStepMax = steps;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMrunLeft (steps,delay) {
		animAction = "rl";
		animPhaseMax = 4;

		animTargetX = Kleft;
		animSpeedX = -10;
		animDelay = delay;
		animStepMax = steps;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMwaitRight (steps,delay) {
		animAction = "wr";
		animPhaseMax = 2;

		animTargetX = rgmPosX;
		animSpeedX = 0;
		animDelay = delay;
		animStepMax = steps;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMwaitLeft (steps,delay) {
		animAction = "wl";
		animPhaseMax = 2;

		animTargetX = rgmPosX;
		animSpeedX = 0;
		animDelay = delay;
		animStepMax = steps;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMpointRight0 (delay) {
		animAction = "pr";
		animPhaseMax = 2;

		animTargetX = rgmPosX;
		animSpeedX = 0;
		animDelay = delay;
		animStepMax = 2;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMpointRight (delay) {
		animAction = "prb";
		animPhaseMax = 1;

		animTargetX = rgmPosX;
		animSpeedX = 0;
		animDelay = 200;
		animStepMax = Math.ceil(delay/200) ;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMpointLeft0 (delay) {
		animAction = "pl";
		animPhaseMax = 2;

		animTargetX = rgmPosX;
		animSpeedX = 0;
		animDelay = delay;
		animStepMax = 2;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMpointLeft (delay) {
		animAction = "plb";
		animPhaseMax = 1;

		animTargetX = rgmPosX;
		animDelay = 200;
		animStepMax = Math.ceil(delay/200) ;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMno (steps,delay) {
		animAction = "no";
		animPhaseMax = 2;

		animTargetX = rgmPosX;
		animSpeedX = 0;
		animDelay = delay;
		animStepMax = steps;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMangry (steps,delay) {
		animAction = "an";
		animPhaseMax = 2;

		animTargetX = rgmPosX;
		animSpeedX = 0;
		animDelay = delay;
		animStepMax = steps;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMmove (steps,delay) {
		animAction = "mv";
		animPhaseMax = 2;

		animTargetX = rgmPosX;
		animSpeedX = 0;
		animDelay = delay;
		animStepMax = steps;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMdontknow (steps,delay) {
		animAction = "dn";
		animPhaseMax = 2;

		animTargetX = rgmPosX;
		animSpeedX = 0;
		animDelay = delay;
		animStepMax = steps;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMapplause (steps,delay) {
		animAction = "ap";
		animPhaseMax = 2;

		animTargetX = rgmPosX;
		animSpeedX = 0;
		animDelay = delay;
		animStepMax = steps;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMthink0 (delay) {
		animAction = "ta";
		animPhaseMax = 3;

		animTargetX = rgmPosX;
		animSpeedX = 0;
		animDelay = delay;
		animStepMax = 3;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

function RGMthink (delay) {
		animAction = "tb";
		animPhaseMax = 2;

		animTargetX = rgmPosX;
		animSpeedX = 0;
		animDelay = delay;
		animStepMax = 9;
		animStep = 1;
		animPhase = 1;
		animFlag = true;
}

