<!--
/*
 Author: JAVASCRIPTFACIL.com <www. javascriptfacil.com> 
*/
var goMaxHontoCount=6;
var level,goMaxCount;
var xStart,xEnd,yStart,yEnd;
var layW,layH,goX,goY,goW,goH;
var pLevel,pForm;
var moveID=-1,goCount=0,layTimerID,tiCount,mkSpeed;
var gameStartFlag=false,moveClickFlag=false;
var moveLayFlag=new Array();
var ax=new Array(),ay=new Array();
var deX=new Array(),deY=new Array();
if (document.images) {
	var imgBox=new Array();
	imgBox[0]=new Image(),imgBox[0].src="box1.gif";
	imgBox[1]=new Image(),imgBox[1].src="box2.gif";
}
// cookie
function timeCookie() {
	var to=new Date();
	to.setTime(to.getTime()+(365*24*60*60*1000));
	var toStr=to.toGMTString();
	return toStr;
}
function writeCookie(le,tk) {
	var str;
	if (le==1) str="Tom_catch1=";
	if (le==2) str="Tom_catch2=";
	if (le==3) str="Tom_catch3=";
	if (le==4) str="Tom_catch4=";
	if (le==5) str="Tom_catch5=";
	document.cookie=str+tk+"; expires="+timeCookie();
}
function readCookie(le) {
	var str;
	if (le==1) str="Tom_catch1=";
	if (le==2) str="Tom_catch2=";
	if (le==3) str="Tom_catch3=";
	if (le==4) str="Tom_catch4=";
	if (le==5) str="Tom_catch5=";
	var omiCookie=document.cookie;
	var Cookie_startPos=omiCookie.indexOf(str);
	if (omiCookie.length == 0) return " --";
	if (Cookie_startPos != -1){
		Cookie_startPos+=11;
		Cookie_endPos=omiCookie.indexOf(";",Cookie_startPos);
		if (Cookie_endPos == -1) Cookie_endPos=omiCookie.length;
		return unescape(omiCookie.substring(Cookie_startPos,Cookie_endPos));
		}
	return " --";
}
function setImgGo(num) {
	if (document.all) document.images["imgBox"].src=imgBox[num].src;
	if (document.layers) document.layers["layGo"].document.images["imgBox"].src=imgBox[num].src;
}
function getLayXYWH(name,flag) {
	if (document.all) {
		if (flag==0) return document.all(name).style.posLeft;
		else if (flag==1) return document.all(name).style.posTop;
		else if (flag==2) return document.all(name).style.posWidth;
		else if (flag==3) return document.all(name).style.posHeight;
	}
	if (document.layers) {
		if (flag==0) return document.layers[name].left;
		else if (flag==1) return document.layers[name].top;
		else if (flag==2) return document.layers[name].clip.width;
		else if (flag==3) return document.layers[name].clip.height;
	}
}
function setLayVisi(name,flag) {
	if (document.all) {
		if (flag) document.all(name).style.visibility="visible";
		else document.all(name).style.visibility="hidden";
	}
	if (document.layers) {
		if (flag) document.layers[name].visibility="show";
		else document.layers[name].visibility="hide";
	}
}
function setLayBg(name,color) {
	if (document.all) document.all(name).style.backgroundColor=color;
	if (document.layers) document.layers[name].bgColor=color;
}
function setLayXY(name,x,y,flag) {
	if (document.all) {
		if (flag) {
			document.all(name).style.posLeft=x;
			document.all(name).style.posTop=y;
		} else {
			document.all(name).style.posLeft+=x;
			document.all(name).style.posTop+=y;
		}
	}
	if (document.layers) {
		if (flag) document.layers[name].moveTo(x,y);
		else document.layers[name].moveBy(x,y);
	}
}
function setLayIn(name,z) {
	if (document.all) document.all(name).style.zIndex=z;
	if (document.layers) document.layers[name].zIndex=z;
}
function moveReturn() {
	var i,name,x,y;
	for (var i=0;i<=goMaxCount-1;i++) {
		if (moveLayFlag[i]) {
			name="lay"+i;
			setLayXY(name,ax[i],ay[i],false);
			x=getLayXYWH(name,0);
			y=getLayXYWH(name,1);
			if ((x>=xStart && x+ax[i]<=xStart) || (x+layW<=xEnd && x+layW+ax[i]>=xEnd)) ax[i]=-ax[i];
			if ((y>=yStart && y+ay[i]<=yStart) || (y+layH<=yEnd && y+layH+ay[i]>=yEnd)) ay[i]=-ay[i];
		}
	}
	tiCount-=2;
	pForm.value=tiCount/10;
}
function downLay(e,num) {
	if (document.all || document.layers) {
		if (gameStartFlag) {
			if (!moveClickFlag) {
				moveID=num;
				setLayIn("lay"+moveID,1);
				moveLayFlag[moveID]=false;
				moveClickFlag=true;
				return false;
			} else {
				var x,y;
				x=getLayXYWH("lay"+moveID,0)+layW/2;
				y=getLayXYWH("lay"+moveID,1)+layH/2;
				if (Math.sqrt((x-goX)*(x-goX)+(y-goY)*(y-goY))<=20) {
					setLayVisi("lay"+moveID,false);
					goCount++;
					if (goCount==1) setImgGo(1);
					moveLayFlag[moveID]=false;
				} else {
					moveLayFlag[moveID]=true;
				}
				setLayIn("lay"+moveID,0);
				moveClickFlag=false;
				moveID=-1;
				if (goCount==goMaxCount) gameEnd();
				return false;
			}
		}
	}
}
function moveLay(e) {
	if (gameStartFlag) {
		if (moveID!=-1) {
			var x,y,adX,adY;
			if (document.all) {
				x=document.body.scrollLeft+event.clientX;
				y=document.body.scrollTop+event.clientY;
			}
			if (document.layers) {
				x=e.pageX,y=e.pageY;
			}
			x=x-layW/2,y=y-layH/2;
			adX=Math.abs(ax[moveID]),adY=Math.abs(ay[moveID]);
			if ((x>xStart+adX && x+layW<xEnd-adX) && (y>yStart+adY && y+layH<yEnd-adY)) {
				setLayXY("lay"+moveID,x,y,true);
			} else 	{
				downLay(e,0);
			}
			return false;
		}
	}
}
function writeFormTk(le,tk) {
	if (document.all) document.forms["Fo"].elements["Le"+le].value=tk;
	if (document.layers) document.layers["layFo"].document.forms["Fo"].elements["Le"+le].value=tk;
}
function gameAx(num) {
	var puma,a;
	puma=Math.floor(Math.random()*2);
	if (puma==0) puma=1;
	else puma=-1;
	a=Math.floor(Math.random()*(num+1));
	if (a<(goMaxCount-2)*5) a=(goMaxCount-2)*5;
	return puma*a;
}
function gameShow() {
	var i;
	for (i=0;i<=goMaxHontoCount;i++) {
		setLayVisi("lay"+i,false);
		setLayXY("lay"+i,deX[i],deY[i],true);
	}
	setImgGo(0);
	for (i=0;i<=goMaxCount-1;i++) setLayVisi("lay"+i,true);
}
// NIVELES
function gameLevel() {
	if (document.all || document.layers) {
		if (!gameStartFlag) {
			level=eval(pLevel.options[pLevel.selectedIndex].value);
			if (level==1) {
				goMaxCount=3;
				document.all ? mkSpeed=100 : mkSpeed=130;
			}
			if (level==2) {
				goMaxCount=4;
				document.all ? mkSpeed=90 : mkSpeed=120;
			}
			if (level==3) { 
				goMaxCount=5;
				document.all ? mkSpeed=80 : mkSpeed=110;
			}
			if (level==4) {
				goMaxCount=6;
				document.all ? mkSpeed=70 : mkSpeed=105;
			}
			if (level==5) {
				goMaxCount=7;
				document.all ? mkSpeed=60 : mkSpeed=100;
			}
			for (i=0;i<=goMaxCount-1;i++) {
				ax[i]=gameAx(goMaxCount*6),ay[i]=gameAx(goMaxCount*6);
			}
			gameShow();
			pForm.value=" --";
		} else {
			pLevel.selectedIndex=goMaxCount-3;
		}
	}
}
function gameStart(flag) {
	if (document.all || document.layers) {
		if (flag==0) {
			if (!gameStartFlag) {
				var i;
				for (i=0;i<=goMaxCount-1;i++) {
					setLayXY("lay"+i,deX[i],deY[i],true);
					setLayVisi("lay"+i,true);
					moveLayFlag[i]=true;
				}
				goCount=0;
				pForm.value=tiCount;
				layTimerID=setInterval("moveReturn()",mkSpeed);
				gameStartFlag=true;
			}
		} else {
			if (gameStartFlag) {
				clearInterval(layTimerID);
				gameStartFlag=false;
				tiCount=1000;
				gameShow();
				pForm.value=" --";
			}
		}
	}
}
function gameEnd() {
	var saca;
	clearInterval(layTimerID);
	gameStartFlag=false;
	tiCount/=10;
	saca=readCookie(level);
	if (saca!=" --") {
		if (saca<tiCount) {
			alert("Nivel "+level+" conseguiste "+tiCount+" puntos\n\n¡Te has superado!");
			writeCookie(level,tiCount);
			writeFormTk(level,tiCount);
		} else alert("Nivel "+level+" esta vez\nsolo "+tiCount+" puntos");
	} else {
		alert("En el Nivel "+level+" has\nconseguido "+tiCount+" puntos");
		writeCookie(level,tiCount);
		writeFormTk(level,tiCount);
	}
	tiCount=1000;
	gameShow();
	for (i=0;i<=goMaxCount-1;i++) {
		ax[i]=gameAx(goMaxCount*6),ay[i]=gameAx(goMaxCount*6);
	}
}
function au_preStart() {
	var i,c;
	for (i=1;i<=5;i++) {
		c=readCookie(i);
		writeFormTk(i,c);
	}
	xStart=getLayXYWH("layFr",0);
	xEnd=xStart+getLayXYWH("layFr",2);
	yStart=getLayXYWH("layFr",1);
	yEnd=yStart+getLayXYWH("layFr",3);
	layW=getLayXYWH("lay0",2);
	layH=getLayXYWH("lay0",3);
	goX=getLayXYWH("layGo",0);
	goY=getLayXYWH("layGo",1);
	goW=getLayXYWH("layGo",2);
	goH=getLayXYWH("layGo",3);
	goX=goX+goW/2,goY=goY+goH/2;
	for (i=0;i<=goMaxHontoCount;i++) {
		deX[i]=getLayXYWH("lay"+i,0);
		deY[i]=getLayXYWH("lay"+i,1);
		moveLayFlag[i]=false;
	}
	level=1,goMaxCount=3,tiCount=1000;
	for (i=0;i<=goMaxCount-1;i++) {
		ax[i]=gameAx(goMaxCount*6),ay[i]=gameAx(goMaxCount*6);
	}
	document.all ? mkSpeed=100 : mkSpeed=130;
}
// End -->