var pask_aktiveraPaskRemsa=new Array(); 
pask_aktiveraPaskRemsa[0]="ISSE";
pask_aktiveraPaskRemsa[1]="LADDA";
pask_aktiveraPaskRemsa[2]="ADMIN";
pask_aktiveraPaskRemsa[3]="QQ";
pask_aktiveraPaskRemsa[4]="ZZ";

var pask_aktiveraRemsaNu="";
var pask_charNummer=0;
var pask_Aktiverat=0;

// Initierings riktning och fart
var pask_riktning_X=1;
var pask_riktning_Y=0;

// Var spelares tillstånd
var pask_SpelareDod = 0;

// Spelarens namn
var paskSpelareNamn="";
	
var pask_fart=3;
	
function paskLyssnare(e)
{
	var code;
	if (!e) var e = window.event;
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;
	var character = String.fromCharCode(code);
	
	// En liten kul grejj för Nicke
	if(globalAnvandare=="nicke")
	{
		//window.location.href="http://www.hampis.se/";
	}
	
	// Den här delen styr vår spelare om spelet börjet
	if(pask_Aktiverat==1)
	{
		// Upp
		if(character=='&') 
		{
			pask_riktning_Y=-1;
			pask_riktning_X=0;
		}
		// Ner
		else if(character=='(') 
		{
			pask_riktning_Y=1;
			pask_riktning_X=0;
		}
		// Höger
		else if(character=="'")
		{
			pask_riktning_X=1;
			pask_riktning_Y=0;
		}
		// Vänster
		else if(character=='%')
		{
			pask_riktning_X=-1;
			pask_riktning_Y=0;
		}
	}
	// Om spelet inte börjat så kollar den här delen efter vad som skrivs, skrivs det magiska ordet så startar spelet
	else
	{
		pask_aktiveraRemsaNu+=character;
		
		var forRaknarePerNyckelord=0;
		var aktiveradOchAvbryt=0;
		for(var i = 0; i <pask_aktiveraPaskRemsa.length; i++) 
		{
			var pask_aktiveraPaskRemsa_Array=pask_aktiveraPaskRemsa[i].split("");
			
			/*
			for(var i = 0; i <pask_aktiveraPaskRemsa_Array.length; i++) 
			{
				//document.getElementById('UtvecklingsRutan').innerHTML+="-->"+i+": " +pask_aktiveraPaskRemsa_Array[i] +"<br/>";
			}
			*/
			
			//document.getElementById('UtvecklingsRutan').innerHTML+="charnr: " +pask_charNummer +"<br/>";
			
			// Kollar ifal man matar in rätt bokstav annars tömmer den strängen så man får börja om
			if(character==pask_aktiveraPaskRemsa_Array[pask_charNummer])
			{
				pask_charNummer+=1;
				
				// Kollar om man har rätt sträng inmatad, då ska den utföra det den nu ska utföra			
				// Spelet
				if(pask_aktiveraPaskRemsa[0]==pask_aktiveraRemsaNu && aktiveradOchAvbryt==0)
				{
					aktiveradOchAvbryt=1;
					
					aktiveradOchAvbryt=1;
					pask_Aktiverat=1;
					paskInitiera();
				}
				// Ladda
				if(pask_aktiveraPaskRemsa[1]==pask_aktiveraRemsaNu && aktiveradOchAvbryt==0)
				{
					aktiveradOchAvbryt=1;
					
					aktiveradOchAvbryt=1;
					window.location.href="http://www.wdo.se/ladda";
					
				}
				// Admin
				if(pask_aktiveraPaskRemsa[2]==pask_aktiveraRemsaNu && aktiveradOchAvbryt==0)
				{
					aktiveradOchAvbryt=1;
					
					aktiveradOchAvbryt=1;
					window.location.href="http://www.wdo.se/_admin";
				}
				
				// Redigeringsläge
				if(pask_aktiveraPaskRemsa[3]==pask_aktiveraRemsaNu && aktiveradOchAvbryt==0)
				{
					aktiveradOchAvbryt=1;
					
					onOffRedigeringsbara('admin_iSidanRedigeringsMeny');
				}
				
				// Rullar ner menyn
				if(pask_aktiveraPaskRemsa[4]==pask_aktiveraRemsaNu && aktiveradOchAvbryt==0)
				{
					aktiveradOchAvbryt=1;
					
					scrollaUppNerAdmin();
				}
				
				forRaknarePerNyckelord=1;			
			}
		}
		if(forRaknarePerNyckelord==0)
		{
			pask_aktiveraRemsaNu="";
			pask_charNummer=0;
		}
		
		/*
		if(globalAnvandare!="")
		{
			document.getElementById('UtvecklingsRutan').style.display="block";
			document.getElementById('UtvecklingsRutan').innerHTML="";
			document.getElementById('UtvecklingsRutan').innerHTML+="k: " +character +"<br/>";
			document.getElementById('UtvecklingsRutan').innerHTML+="1: " +pask_aktiveraRemsaNu +"<br/>";
			document.getElementById('UtvecklingsRutan').innerHTML+="2: " +pask_aktiveraPaskRemsa +"<br/>";
			
			document.getElementById('UtvecklingsRutan').innerHTML+="---- " +"<br/>";
			document.getElementById('UtvecklingsRutan').innerHTML+="forRaknarePerNyckelord: " +forRaknarePerNyckelord +"<br/>";
			document.getElementById('UtvecklingsRutan').innerHTML+="forRaknarePerNyckelord: " +pask_aktiveraPaskRemsa.length +"<br/>";
		}
		//*/

	}
}

function paskInitiera()
{
	// Skriver ut instruktioner
	//alert("Styr din hjälte med piltangenterna. \nLycka till!");
	globalAnvandare = globalAnvandare.substr(0, 1).toUpperCase() + globalAnvandare.substr(1);
	if(globalAnvandare=="")
	{
		globalAnvandare="NoName";
	}
	paskSpelareNamn = prompt("Styr din hjälte med piltangenterna men skriv först in ditt namn för en chans på en plats bland giganterna", globalAnvandare);
	
	if(paskSpelareNamn!=null)
	{
		// Skapar higScoreListan
		var pask_HighScore = document.createElement('div');
				
		pask_HighScore.id = 'pask_HogP';
		pask_HighScore.className = 'pask_HogP';
		pask_HighScore.style.position = 'fixed';
		pask_HighScore.style.left = 10+'px';
		pask_HighScore.style.top = 10+'px';
		pask_HighScore.style.width = 150+'px';
		pask_HighScore.style.height = 'auto';
		pask_HighScore.style.backgroundColor="#999999";
		pask_HighScore.style.color="#FFFFFF";
		pask_HighScore.style.padding=10+"px";
		pask_HighScore.style.display = 'block';
		
		document.body.appendChild(pask_HighScore);
		
		makeGenomskinligMedRollOver(pask_HighScore.id,40,true);
		
		// Klistrar in innehållet i topplistan från topplistemodulen
		http.open("GET" , "../_pages/_moduler/poskVisaTopplistan.php", true);					
		http.onreadystatechange = function ()
		{
			if(http.readyState == 4)
			{
				if(http.status == 200) // Färdigladdad
				{			
					pask_HighScore.innerHTML=http.responseText;
				}
			}	
		}
		http.send(null);
		
		// Tar ut loggans pos så vi kan starta i den pricken
		pask_startX=0;
		pask_startX+=document.getElementById('top_Logga').offsetLeft;
		pask_startX+=document.getElementById('wrapper').offsetLeft;
		
		pask_startY=60;
		pask_startY+=document.getElementById('top_Logga').offsetTop;
		pask_startY+=document.getElementById('wrapper').offsetTop;
		
		var pask_Spelare = document.createElement('div');
				
		pask_Spelare.id = 'pask_Spelare';
		pask_Spelare.className = 'pask_Spelare';
		pask_Spelare.style.position = 'fixed';
		pask_Spelare.style.left = pask_startX+'px';
		pask_Spelare.style.top = pask_startY+'px';
		pask_Spelare.style.width = 11+'px';
		pask_Spelare.style.height = 11+'px';
		pask_Spelare.style.backgroundImage="url(../_images/thaDot.png)";
		pask_Spelare.style.display = 'block';
		pask_Spelare.style.zIndex = '10';
		
		document.body.appendChild(pask_Spelare);
		
		paskHemlighet(pask_Spelare.id);
		
		// skapar första matbiten
		paskMatSkapare();
	}
	else
	{
		pask_Aktiverat=0;
	}
}

var paskSvans_Array=new Array();
var paskSvansInit=0;
var paskSvansBollNu=0;
function paskSvans(inSpelObjekt_Id,antalSvansBollar)
{
	// Vårt spelobjekt
	inSpelObjekt=document.getElementById(inSpelObjekt_Id);
	
	// Position på spelobjekt
	inSpelObjekt_X=inSpelObjekt.offsetLeft;
	inSpelObjekt_Y=inSpelObjekt.offsetTop;
	
	///////////////////////////////////
	/////////////////////////////////// Om man vill ha en bestämd längd på svansen
	///////////////////////////////////
	//*
	// Initierar vår svans
	if(paskSvansInit==0)
	{		
		paskSvansInit=1;
		
		for(i=0;i<antalSvansBollar;i++)
		{
			var pask_Svans = document.createElement('div');
					
			pask_Svans.id = 'pask_Svans_'+i;
			pask_Svans.className = 'pask_Svans';
			pask_Svans.style.position = 'fixed';
			pask_Svans.style.width = 3+'px';
			pask_Svans.style.height = 3+'px';
			pask_Svans.style.left=inSpelObjekt_X+3+"px";
			pask_Svans.style.top=inSpelObjekt_Y+3+"px";
			pask_Svans.style.backgroundColor="#999999";
			pask_Svans.style.display = 'block';
			
			document.body.appendChild(pask_Svans);
			
			paskSvans_Array[i]=pask_Svans.id;
		}
	}
	
	
	// Flyttar om det svans objekt som är aktuellt just nu
	paskSvansAktuellBoll_Objekt=document.getElementById(paskSvans_Array[paskSvansBollNu]);
	
	// Position
	paskSvansAktuellBoll_Objekt.style.left=inSpelObjekt_X+3+"px";
	paskSvansAktuellBoll_Objekt.style.top=inSpelObjekt_Y+3+"px";
	
	if(paskSvansBollNu<antalSvansBollar-1)
	{
		paskSvansBollNu+=1;
	}
	else
	{
		paskSvansBollNu=0;
	}
	
	//*/
	
	///////////////////////////////////
	/////////////////////////////////// Om man istllet vill ha tron style så att man skapar edd dödligt spår
	///////////////////////////////////
	/*
	var pask_Svans = document.createElement('div');
					
	pask_Svans.id = 'pask_Svans_'+paskSvansBollNu;
	pask_Svans.className = 'pask_Svans';
	pask_Svans.style.position = 'fixed';
	pask_Svans.style.width = 3+'px';
	pask_Svans.style.height = 3+'px';
	pask_Svans.style.left=inSpelObjekt_X+3+"px";
	pask_Svans.style.top=inSpelObjekt_Y+3+"px";
	pask_Svans.style.backgroundColor="#cccc00";
	pask_Svans.style.display = 'block';
			
	document.body.appendChild(pask_Svans);
			
	paskSvans_Array[i]=pask_Svans.id;
	
	// Position
	pask_Svans.style.left=inSpelObjekt_X+3+"px";
	pask_Svans.style.top=inSpelObjekt_Y+3+"px";
	
	paskSvansBollNu+=1;
	//*/
}

var pask_MatObjektJustNu="";
function paskMatSkapare()
{
	var uniktMatNummer = Math.round(Math.random()*50000);
	
	// Innermåtten på webbläsaren vi ska spela i
	var innerMatt_Bredd=document.body.clientWidth
	var innerMatt_Hojd=document.body.clientHeight;
	
	// Vårt spelobjekt
	inSpelObjekt=document.getElementById('pask_Spelare');
	
	// Position på spelobjekt
	inSpelObjekt_X=inSpelObjekt.offsetLeft;
	inSpelObjekt_Y=inSpelObjekt.offsetTop;
	
	// Positionen maten ska skapas på, ser till så den inte är så nära där vi är just nu
	var godkandNyMatPos=0;
	var matPos_X = Math.round(Math.random()*(innerMatt_Bredd-100))+50;
	var matPos_Y = Math.round(Math.random()*(innerMatt_Hojd-100))+50;
	while (godkandNyMatPos!=2)
	{
		if(inSpelObjekt_X>matPos_X-100 && inSpelObjekt_X<matPos_X+100)
		{
			matPos_X = Math.round(Math.random()*(innerMatt_Bredd-100))+50;
			godkandNyMatPos_X=0;
		}
		else
		{
			godkandNyMatPos_X=1
		}
		
		if(inSpelObjekt_Y>matPos_Y-100 && inSpelObjekt_Y<matPos_Y+100)
		{
			matPos_Y = Math.round(Math.random()*(innerMatt_Hojd-100))+50;
			godkandNyMatPos_Y=0;
		}
		else
		{
			godkandNyMatPos_Y=1;
		}
		
		godkandNyMatPos=godkandNyMatPos_X+godkandNyMatPos_Y;
	}
	
	var pask_Mat = document.createElement('div');
			
	pask_Mat.id = 'pask_Mat_'+uniktMatNummer;
	pask_Mat.className = 'pask_Mat';
	pask_Mat.style.position = 'fixed';
	pask_Mat.style.left = matPos_X+'px';
	pask_Mat.style.top = matPos_Y+'px';
	pask_Mat.style.width = 30+'px';
	pask_Mat.style.height = 30+'px';
	pask_Mat.style.backgroundImage="url(../_images/thaMatDot.png)";
	pask_Mat.style.display = 'block';
	pask_Mat.style.color="#333333";
	pask_Mat.style.fontSize="20px";
	pask_Mat.style.padding="10px";
	pask_Mat.style.textAlign="center";
	
	document.body.appendChild(pask_Mat);
	
	pask_MatObjektJustNu=pask_Mat;
}


var pask_dodligMat=new Array(); 
var pask_dodligMatRaknare=0;
function paskKollaKrock(inSpelObjekt_Id)
{
	// Vårt spelobjekt
	inSpelObjekt=document.getElementById(inSpelObjekt_Id);
	
	// Position på spelobjekt
	inSpelObjekt_X=inSpelObjekt.offsetLeft;
	inSpelObjekt_Y=inSpelObjekt.offsetTop;
	
	// Vårt matobjekt
	matObjekt=pask_MatObjektJustNu;
	
	// Position på matobjektet
	matObjekt_X=matObjekt.offsetLeft;
	matObjekt_Y=matObjekt.offsetTop;
	
	// Kollar om vår spelare rör vid maten
	if(inSpelObjekt_X>matObjekt_X-10 && inSpelObjekt_X<matObjekt_X+50 && inSpelObjekt_Y>matObjekt_Y-10 && inSpelObjekt_Y<matObjekt_Y+50)
	{
		// Gör den tidigare maten dödlig
		paskgorTidigMatDodlig(matObjekt);
		
		// Ökar på farten eftersom man äter fler saker
		pask_fart=pask_fart+(pask_dodligMatRaknare/40);
		
		// skapar mer mat
		paskMatSkapare();
	}
	
	// Kollar om vi rör vid en dödlig matbit, dö är det game over
	for(var i = 0; i <pask_dodligMat.length; i++) 
	{

		// Position på matobjektet
		dodObjekt_X=pask_dodligMat[i].offsetLeft;
		dodObjekt_Y=pask_dodligMat[i].offsetTop;
		
		// Kollar själva rörandet
		if(inSpelObjekt_X>dodObjekt_X-10 && inSpelObjekt_X<dodObjekt_X+50 && inSpelObjekt_Y>dodObjekt_Y-10 && inSpelObjekt_Y<dodObjekt_Y+50)
		{
			pask_SpelareDod=1;
		}
	}
	
	// Om den här är aktiverad så kollas även krock mot alla svansbitar utam de 10 senast skapade som då är för nära huvudet
	/*
	for(var i = 0; i <paskSvansBollNu; i++) 
	{
		// Svansobjekt
		paskSvansAktuellBoll_Objekt=document.getElementById(paskSvans_Array[i]);
				
		// Position
		if(paskSvansAktuellBoll_Objekt!=null)
		{
			paskSvansAktuellBoll_Objekt_X=paskSvansAktuellBoll_Objekt.offsetLeft;
			paskSvansAktuellBoll_Objekt_Y=paskSvansAktuellBoll_Objekt.offsetTop;
			
			// Kollar själva rörandet
			if(i<paskSvansBollNu-20)
			{
				if(inSpelObjekt_X>paskSvansAktuellBoll_Objekt_X-5 && inSpelObjekt_X<paskSvansAktuellBoll_Objekt_X+5 && inSpelObjekt_Y>paskSvansAktuellBoll_Objekt_Y-5 && inSpelObjekt_Y<paskSvansAktuellBoll_Objekt_Y+5)
				{
					alert(" nr:"+i+"  \n paskSvansAktuellBoll_Objekt_X:"+paskSvansAktuellBoll_Objekt_X+"  \n paskSvansAktuellBoll_Objekt_Y:"+paskSvansAktuellBoll_Objekt_Y+"  \n inSpelObjekt_X:"+inSpelObjekt_X+"  \n inSpelObjekt_Y:"+inSpelObjekt_Y+"  \n paskSvansAktuellBoll_ObjektID:"+paskSvansAktuellBoll_Objekt.id+"  \n paskSvansBollNu:"+paskSvansBollNu); 
					
					pask_SpelareDod=1;
				}
			}
		}
	}
	//*/
	
}
var pask=tempMatObjekt="";
function paskgorTidigMatDodlig(matObjekt)
{
	var pask_NeraknareInnanDodlig=50;
	
	if(matObjekt!=undefined) // tempMatObjekt!=matObjekt && 
	{
		tempMatObjekt=matObjekt;
		
		var raknareInnanDodlig=0;
		innanDodligIntervall=setInterval(function()
		{
			if(raknareInnanDodlig>50) // Om man vill stänga av spelet
			{
				pask_dodligMat[pask_dodligMatRaknare]=matObjekt;
				pask_dodligMatRaknare+=1;
				matObjekt.style.backgroundImage="url(../_images/thaMatDotDodlig.png)";
				clearInterval(innanDodligIntervall);
			}
			else
			{
				InnerNedraknare=Math.round(pask_NeraknareInnanDodlig/raknareInnanDodlig);
				
				if(InnerNedraknare>1 && InnerNedraknare<10)
				{
					matObjekt.innerHTML=InnerNedraknare;
				}
				else
				{
					matObjekt.innerHTML="";
				}
				raknareInnanDodlig+=1;
			}
		},1)
	}
}

function paskHemlighet(inSpelObjekt_Id)
{
	// Vårt spelobjekt
	inSpelObjekt=document.getElementById(inSpelObjekt_Id);
	
	// Position på spelobjekt
	inSpelObjekt_X=inSpelObjekt.offsetLeft;
	inSpelObjekt_Y=inSpelObjekt.offsetTop;
	
	// Innermåtten på webbläsaren vi ska spela i
	var innerMatt_Bredd=document.body.clientWidth
	var innerMatt_Hojd=document.body.clientHeight;
	
	var liv=1;
	
	//document.getElementById('UtvecklingsRutan').style.display="block";
		
	paskHemligtIntervall=setInterval(function()
	{
		document.getElementById('UtvecklingsRutan').innerHTML="";
			
		if(pask_SpelareDod==1) // Om man vill stänga av spelet
		{
			slutPoang=Math.round((pask_dodligMatRaknare*1000000)/(innerMatt_Bredd*innerMatt_Hojd));
					
			// Skriver in spelarens namn i topplistan!
			http.open("GET" , "../_pages/_moduler/poskTopplistaSpara.php?Namn="+paskSpelareNamn+"&Poang="+slutPoang+"&Bredd="+innerMatt_Bredd+"&Hojd="+innerMatt_Hojd, true);					
			http.onreadystatechange = function ()
			{
				if(http.readyState == 4)
				{
					if(http.status == 200) // Färdigladdad
					{			
						document.getElementById('pask_HogP').innerHTML=http.responseText;
					}
				}	
			}
			http.send(null);
	
			alert('Game Over\n---------------------------------------\nDu ' +paskSpelareNamn + ', klarade: '+pask_dodligMatRaknare +'\nmed måtten: ' + innerMatt_Bredd + 'x' +innerMatt_Hojd+'\nvilket ger dig en poäng på:'+slutPoang+'!');
			clearInterval(paskHemligtIntervall);
		}
		else // Annars spelar det på
		{
			// Kollar krockar
			// Upp
			if(inSpelObjekt_Y<0)
			{
				inSpelObjekt_Y=innerMatt_Hojd-20;
			}
			// Ner
			else if(inSpelObjekt_Y>innerMatt_Hojd)
			{
				inSpelObjekt_Y=20;
			}
			// Vanster
			else if(inSpelObjekt_X<0)
			{
				inSpelObjekt_X=innerMatt_Bredd-20;
			}
			// Hoger
			else if(inSpelObjekt_X>innerMatt_Bredd)
			{
				inSpelObjekt_X=20;
			}
			
			// Räknar ut objektets flytt
			inSpelObjekt_X+=pask_fart*pask_riktning_X;
			inSpelObjekt_Y+=pask_fart*pask_riktning_Y;
			
			// Flyttar spelobjektet
			inSpelObjekt.style.left=inSpelObjekt_X+"px";
			inSpelObjekt.style.top=inSpelObjekt_Y+"px";
					
			// Kollar krock med mat, dödliga objekt och kanske andra saker
			paskKollaKrock(inSpelObjekt_Id);
			
			// Ger spelaren en svans 
			paskSvans(inSpelObjekt_Id,50);
					
		}
	},1)
}