// För att skicka ut felkod istället för alert
// document.felsokform.uttext.value=gangRaknare;
var ajaxInnehallsHojd=5;
var fart=1;
var avstand=0;
var animationKlar=true; 

var globalSidId="";

// För att bevara historyn trots att sidan laddas in via ajax.
// Letar smisdigare lösning eller egen lösning, borde inte vara så svårt
window.dhtmlHistory.create();

function sidListaHamta()
{		
	// Tar in vad som står där uppe och gör om det till smarta grejjer
	inHash=location.hash;
	inVariabelOchVarde="";
	inSidaA="";
	
	if(inHash.indexOf('?')>0)
	{
		inSidaA=sidaFromHash=inHash.substring(1,inHash.indexOf('?'));
		inVariabelOchVarde=inHash.substring(inHash.indexOf('?'),100);
	}
	else
	{
		inSidaA=sidaFromHash=inHash.substring(1,100);
	}
	
	/*
	alert(inSidaA);
	if(inVariabelOchVarde!="")
	{
		alert(inVariabelOchVarde);
	}
	///*/
		
	// Kör förstasidan
	if(globalPaSida=="") // permlink här är en direkt länk till ett innehåll utan att passera javascript
	{
		if(inSidaA=="")
		{
			if(securedJava!="") // Firefox verkar klara sig utan denna men ingen annan
			{
				bytSida('_pages/dashBoard.php','dashBoard');
				sattNyAktiv('c00','tm6');
			}
			else
			{
				bytSida('_pages/news.php','news');
			}
		}
		else
		{
			//sidaFromHash=inHash.substring(1,100);
			if(inVariabelOchVarde!="")
			{
				bytSida('_pages/'+inSidaA+'.php'+inVariabelOchVarde,inSidaA);
			}
			else
			{
				bytSida('_pages/'+inSidaA+'.php',inSidaA);
			}
		}
	}
	else
	{
	}
	
	// Placerar rolovern på rätt ställe om man laddar mo hela sidan eller kommer direkt till en undersida
	// Fixar ma en uppdatering av toppmenyn
	//sidaFromHash=inHash.substring(1,100);
	sidaFromHash=inSidaA;
	if(sidaFromHash=="about")
	{
		sattNyAktiv('999','tm1');
	}
	if(sidaFromHash=="news")
	{
		sattNyAktiv('999','tm2');
	}
	if(sidaFromHash=="members")
	{
		sattNyAktiv('999','tm3');
	}
	if(sidaFromHash=="reports")
	{
		sattNyAktiv('999','tm4');
	}
	if(sidaFromHash=="login")
	{
		sattNyAktiv('c00','tm5');
	}
	if(sidaFromHash=="dashBoard")
	{
		sattNyAktiv('c00','tm6');
	}
	if(sidaFromHash=="forum")
	{
		sattNyAktiv('c00','tm6'); // Tidigare tm7 men den togs bort ur menyn 
	}
}


var sidHistoriaLyssnare = function() 
{
	if(location.hash!="#"+globalSidId)
	{
		sidListaHamta();
	}
}

window.onload = function() 
{
	//alert('onload');
	
	sidListaHamta();
	
	// Sparar historia så man kan bläddra fram och tillbaka
	dhtmlHistory.initialize();
	dhtmlHistory.addListener(sidHistoriaLyssnare);
}

var globalTonaInte=false;

// Själva byt sida funktionen mot ajax
function bytSida(inSida,sidID,tonaInte) // Om tonaInte är true så kommer den ett varv strunta i att tona fönstret
{
	// Tar innehållet från innehållet så den har något att animera ifrån eftersom jag nedan satt den till auto när den är klar efter animationen
	// Tar sidhöjden på den sida man är på just nu innan man byter
	animeringsobjekt_TaIfran = document.getElementById('ajaxMittInnehall')
	animeringsobjekt_TaIfran_Hojd = animeringsobjekt_TaIfran.scrollHeight;
	document.getElementById('animerarHojdAjax').style.height=animeringsobjekt_TaIfran_Hojd+"px";
	
	//alert('bytSida');
	if(animationKlar)
	{	
		uppTillToppenEnGang=0;
		
		// Gör innehållet genomskinligt tills sidan är färdigladdad
		if(sidID!="Hem" && !tonaInte)
		{
			FonsterSnabbTonaUt('ajaxMittInnehall',underLaddningFonsterAlpha);
		}
		if(tonaInte) // Sätter den globala inte tona till true så att den ett varv inte kommer tonas
		{
			globalTonaInte=true;
		}
	
		globalSidId=sidID;
		
		var ajaxLaddar = document.getElementById('ajaxLaddar');
		
		//var url = inSida + "?rand=" + Math.random();
		var url = inSida;
		
		http.open("GET" , url , true);
		
		http.onreadystatechange = function ()
		{	
			if(http.readyState == 4)
			{
				if(http.status == 200)
				{
					// Hoppar till toppen så det inte blir en flimmer animation på vissa webbläsare
					if(uppTillToppenEnGang==0 && !tonaInte)
					{
						window.scrollTo(0,0);
					}
					uppTillToppenEnGang=1;
					
					// Hämtar in info om innehållet för att kunna trolla lite
					
					document.getElementById('ajaxMittInnehall').innerHTML = http.responseText;
					
					document.getElementById('sidID').innerHTML = sidID;
					
					ajaxLaddar.style.visibility = "hidden";
					
					// Kollar innehållets höjd
					innehallsObjekt = document.getElementById('ajaxMittInnehall');
					
					//innehallsObjekt_hojd = innehallsObjekt.offsetHeight;
					innehallsObjekt_hojd = innehallsObjekt.scrollHeight;
					
					////// Animerar ajaxMittInnehall så att innehållet rymms
					animeraTillRattHojd(innehallsObjekt_hojd);
								
					//location.hash="#"+sidID;
					if(location.hash!="#"+sidID) // Lägger bara till en sida i histoien ifall det inte är samma sida som man är på
					{
						//alert(location.hash + " OCH "+sidID );
						dhtmlHistory.add(sidID);
					}
						
				}
				else
				{
					//alert("Fel nr: " + http.status);
				}
			}
			else
			{
				ajaxLaddar.style.visibility = 'visible';
			}
		}
		http.send(null);
	}
}

// Byter ut vissa delar av sidan.
function bytDelarAvSida(inSida,sidID,inAjaxDiv)
{
	// För att när man öppnar delar av sidan så måste den få fixa sig automatiskt
	document.getElementById('animerarHojdAjax').style.height="auto";
	
	globalSidId=sidID;
	
	var ajaxLaddar = document.getElementById('ajaxLaddar');
		
	//var url = inSida + "?rand=" + Math.random();
	var url = inSida;
		
	http.open("GET" , url , true);
		
	http.onreadystatechange = function ()
	{
		if(http.readyState == 4)
		{
			if(http.status == 200)
			{
						
				pipInladdad=true;
				
				// Hämtar in info om innehållet för att kunna trolla lite
				document.getElementById(inAjaxDiv).innerHTML = http.responseText;

				ajaxLaddar.style.visibility = "hidden";
				
				// Döljer innehållet i fönstret medans det animeras ut för att det börjar hacka så mycket om de är mycke information i fönstret
				if(document.getElementById('pip_Hallare')!="" && document.getElementById('pip_Hallare')!=null)
				{
					document.getElementById('pip_Hallare').style.display = "none";
				}
				if(document.getElementById('pip_sArkiv')!="" && document.getElementById('pip_sArkiv')!=null)
				{
					document.getElementById('pip_sArkiv').style.display = "none";
				}
				
				
				if(location.hash!="#"+sidID) // Lägger bara till en sida i histoien ifall det inte är samma sida som man är på
				{
					dhtmlHistory.add(sidID); 
				}
					
			}
			else
			{
				//alert("Fel nr: " + http.status);
			}
		}
		else
		{
			ajaxLaddar.style.visibility = 'visible';
		}
		
	}
	http.send(null);
}

// Byter ut vissa delar av sidan med EXTRA animerin BARA FÖR ATT BYTA NYHET I KREANEWS (JUST NU IAF)
var alphaNu_div_ut = 0;
function bytDelarAvSidaExtraAnim(inSida,sidID,inAjaxDiv,inAnimDiv)
{
	// För att när man öppnar delar av sidan så måste den få fixa sig automatiskt
	document.getElementById('animerarHojdAjax').style.height="auto";
	
	globalSidId=sidID;
	
	var ajaxLaddar = document.getElementById('ajaxLaddar');
	
	alphaNu_div_ut = 100;
	
	tonaFram_Div_ut=setInterval(function()
	{
		if(alphaNu_div_ut>20)
		{
			alphaNu_div_ut=alphaNu_div_ut-20;
			
			if(inAnimDiv!="")
			{	
				if(IE)
				{
					document.getElementById(inAnimDiv).style.filter="alpha(opacity=" + alphaNu_div_ut + ")";
				}
					
				if(NotIE)
				{
					document.getElementById(inAnimDiv).style.opacity = alphaNu_div_ut/100;
				}
			}
		}
								
		else // När framtoningen är klar
		{
			clearInterval(tonaFram_Div_ut);
			
			var url = inSida;
				
			http.open("GET" , url , true);
				
			http.onreadystatechange = function ()
			{
				if(http.readyState == 4)
				{
					if(http.status == 200)
					{
								
						// Hämtar in info om innehållet för att kunna trolla lite
						document.getElementById(inAjaxDiv).innerHTML = http.responseText;
		
						ajaxLaddar.style.visibility = "hidden";
						
						if(IE)
						{
							document.getElementById(inAnimDiv).style.filter="alpha(opacity=" + 20 + ")";
						}
							
						if(NotIE)
						{
							document.getElementById(inAnimDiv).style.opacity = 0.2;
						}
						
						FonsterSnabbTonaFram(inAnimDiv,20);
		
						if(location.hash!="#"+sidID) // Lägger bara till en sida i histoien ifall det inte är samma sida som man är på
						{
							dhtmlHistory.add(sidID); 
						}
							
					}
					else
					{
						//alert("Fel nr: " + http.status);
					}
				}
				else
				{
					ajaxLaddar.style.visibility = 'visible';
				}
				
			}
			http.send(null);
		}
	},1)
	
}

// Animerar diven animerarHojdAjax till rätt höjd
var ajaxHelsidaUppNerIntervall="";
function animeraTillRattHojd(inHojd)
{	
	if(ajaxHelsidaUppNerIntervall!="")
	{
		clearInterval(ajaxHelsidaUppNerIntervall);
	}
	
	animeringsobjekt = document.getElementById('animerarHojdAjax')
	
	//animeringsobjektHojd=document.getElementById('inneHallare').scrollHeight;
	//animeringsobjektHojd = animeringsobjekt.offsetHeight;
	animeringsobjektHojd = animeringsobjekt.scrollHeight;
			
	if(animeringsobjektHojd-10<inHojd && animationKlar || animeringsobjektHojd+10>inHojd && animationKlar )
	{
		animationKlar=false;
		
		ajaxHelsidaUppNerIntervall=setInterval(function()
		{
			// Är det här bättre? Slipper man åka med och att det flimmrar
			//window.scrollTo(0,0);
			
			if(animeringsobjektHojd<inHojd)
			{
				animeringsobjektHojd=animeringsobjektHojd+fart;
				avstand =inHojd-animeringsobjektHojd;
			}
					
			else if (animeringsobjektHojd>inHojd)
			{
				animeringsobjektHojd=animeringsobjektHojd-fart;
				avstand = animeringsobjektHojd-inHojd;
			}
				
			else
			{
				animationKlar=true;
				clearInterval(ajaxHelsidaUppNerIntervall);
				ajaxHelsidaUppNerIntervall="";
				fart=1;
						
				// Gör innehållet synligt igen
				if(location.hash!="#Hem" && location.hash!="")
				{
					FonsterSnabbTonaFram('ajaxMittInnehall',underLaddningFonsterAlpha);
				}
				FonsterSnabbTonaFram('ajaxMittInnehall',underLaddningFonsterAlpha);
				
			}	
			
			// Avståndskollare, har olika farter beroende på olia avstånd
			if(avstand>30)
			{
				fart=Math.round(avstand/10);
			}
			else if(avstand>10)
			{
				fart=2;
			}
			else
			{
				fart=1;
			}
			
			// Sätter själva effekten
			document.getElementById('animerarHojdAjax').style.height=animeringsobjektHojd+"px";
			if(animationKlar)
			{
				// Om något skulle falla utanför pga inte helt perfekt animation så fixar den här till så att sidan går över till auto 
				// DÅ kan den inte misslyckas, ovan på BytSida här jag något som måste vara med för det här att fungera
				document.getElementById('animerarHojdAjax').style.height="auto";
			}
					
		},1)
	}
}



