///////////////////////// VARIABLAR  // Roll over funktioner
var rollOutLagg=0;

var rullOverObjektStartX=0;
var rullOverObjektStartBredd=0;

var rullOverObjektX=0;
var rullOverObjektBredd=0;

var rollTillX=0;
var rollTillBredd=0;

var rollOverAnimationKlar=true;
var rollOutAnimationKlar=true;

var animFart=1;
var avstand=0;

if(aktivFarg==undefined)
{
	var aktivFarg="999";
}

// Den här förskjuter rolloversträcket lite ifall det är en webbläsare som behöver det
var marginalFixare=0;

var overRollOverObjekt=false;

// Den här funktionen initierar så man vet vilken startposen är för alla menyalternativen
var xPosRollOver= new Array();
var breddRollOver= new Array();
var raknareTillKollaVarden=0;

function kollaRollOverVarden(inObjekt)
{
	objektHallare=document.getElementById(inObjekt);
	initX = objektHallare.offsetLeft;
	initX=initX+marginalFixare;
	initBredd = objektHallare.offsetWidth;
	
	xPosRollOver[raknareTillKollaVarden]=initX;
	breddRollOver[raknareTillKollaVarden]=initBredd;
	
	//alert("N: " +raknareTillKollaVarden + " X: " +xPosRollOver[raknareTillKollaVarden] + " B: " +breddRollOver[raknareTillKollaVarden]);
	
	//alert("N: " +raknareTillKollaVarden + " X: " +initX + " B: " +initBredd);
	
	raknareTillKollaVarden++;
}
	
function sattRullOverXochBredd(xIn, breddIn)
{
	// Sätter startpos så vi kan återgå till den när musen rullar ut
	rullOverObjektStartX=xIn;
 	rullOverObjektStartBredd=breddIn;

	document.getElementById('rollOverDiv').style.left = xIn+"px";
	document.getElementById('rollOverDiv').style.width = breddIn+"px";
}

// En snabb specialare bara för att sätta den rätt då den hamnar olika i olika webbläsare
function satterRollOverY(yIn)
{
	document.getElementById('rollOverDiv').style.top = yIn+"px";
}

// En funktion för att ha olika färg beroende på vad den åker över
function fixaFargPaDen(inFarg)
{
	document.getElementById('rollOverDiv').style.backgroundColor = "#"+inFarg;
}

function sattNyAktiv(inFarg,inObjekt)
{
	
	rollTillX = inObjekt.offsetLeft;
	if(rollTillX==undefined)
	{
		rollTillX = document.getElementById(inObjekt).offsetLeft;
	}
	
	rollTillX=rollTillX+marginalFixare;
	
	rollTillBredd = inObjekt.offsetWidth;
	if(rollTillBredd==undefined)
	{
		rollTillBredd = document.getElementById(inObjekt).offsetWidth;
	}
	
	// Extra tillägg för att de ska sticka lite utanför på bägge sidorna
	rollTillX=rollTillX-5;
	rollTillBredd=rollTillBredd+10;
	
	
	sattRullOverXochBredd(rollTillX, rollTillBredd);
	
	fixaFargPaDen(inFarg);
	
	aktivFarg=inFarg;
}

function rollOverAnim(inObjekt) // Animerar rollovern mellan olika lägen
{
	rollOutLagg=0;
	
	overRollOverObjekt=true;
	
	rollTillX = inObjekt.offsetLeft;
	rollTillX=rollTillX+marginalFixare;
	rollTillBredd = inObjekt.offsetWidth;
	
	rollOverObjekt = document.getElementById('rollOverDiv');
	rullOverObjektX = rollOverObjekt.offsetLeft;
	rullOverObjektBredd = rollOverObjekt.offsetWidth;
	
			
	if(rullOverObjektX<rollTillX && rollOverAnimationKlar || rullOverObjektX>rollTillX && rollOverAnimationKlar)
	{
		rollOverAnimationKlar=false;
		
		rollOverIntervall=setInterval(function()
		{
			// BREDD
			if(rullOverObjektBredd!=rollTillBredd)
			{
				if(rullOverObjektBredd>rollTillBredd)
				{
					rullOverObjektBredd=rullOverObjektBredd-animFart;
				}
				else if(rullOverObjektBredd<rollTillBredd)
				{
					rullOverObjektBredd=rullOverObjektBredd+animFart;
				}
			}
			
			// XPOS
			if(rullOverObjektX<rollTillX && overRollOverObjekt)
			{
				rullOverObjektX=rullOverObjektX+animFart;
				
				avstand=rollTillX-rullOverObjektX;
			}
			
			else if (rullOverObjektX>rollTillX && overRollOverObjekt)
			{
				rullOverObjektX=rullOverObjektX-animFart;
				
				avstand=rullOverObjektX-rollTillX;
			}
				
			else
			{
				rollOverAnimationKlar=true;
				clearInterval(rollOverIntervall);
			}
			
			// Avståndskollare, har olika farter beroende på olia avstånd
			if(avstand>30)
			{
				animFart=Math.round(avstand/20);
			}
			else
			{
				animFart=1;
			}
			
			document.getElementById('rollOverDiv').style.width=rullOverObjektBredd+"px";
			document.getElementById('rollOverDiv').style.left=rullOverObjektX+"px";
				
		},1)
	}
}


function rollOutAnim() // Animerar rollovern tillbaka till den aktiva länken
{
	rollOutLagg=40;
	
	overRollOverObjekt=false;
	
	/*innanStoppAnimIntervall=setInterval(function()
	{	
		if(rollOutLagg>30)
		{
		}
		else
		{
			overRollOverObjekt=false;
			clearInterval(innanStoppAnimIntervall);
		}
	},1)*/
	
	if(rullOverObjektX<rullOverObjektStartX && rollOutAnimationKlar || rullOverObjektX>rullOverObjektStartX && rollOutAnimationKlar)
	{
		rollOutAnimationKlar=false;
		
		rollOutIntervall=setInterval(function()
		{
			rollOutLagg-=1;
			
			if(rollOutLagg<5)
			{
				// BREDD
				if(rullOverObjektBredd!=rullOverObjektStartBredd)
				{
					if(rullOverObjektBredd>rullOverObjektStartBredd)
					{
						rullOverObjektBredd=rullOverObjektBredd-animFart;
					}
					else if(rullOverObjektBredd<rullOverObjektStartBredd)
					{
						rullOverObjektBredd=rullOverObjektBredd+animFart;
					}
				}	
				
				// XPOS
				if(rullOverObjektX<rullOverObjektStartX && !overRollOverObjekt)
				{
					rullOverObjektX=rullOverObjektX+animFart;
					
					avstand=rullOverObjektStartX-rullOverObjektX;
				}
				
				else if (rullOverObjektX>rullOverObjektStartX && !overRollOverObjekt)
				{
					rullOverObjektX=rullOverObjektX-animFart;
					
					avstand=rullOverObjektX-rullOverObjektStartX;
				}
					
				else
				{
					rollOutAnimationKlar=true;
					clearInterval(rollOutIntervall);
				}
				
				// Avståndskollare, har olika farter beroende på olia avstånd
				if(avstand>30)
				{
					animFart=Math.round(avstand/20);
				}
				else
				{
					animFart=1;
				}
				
				document.getElementById('rollOverDiv').style.width=rullOverObjektBredd+"px";
				document.getElementById('rollOverDiv').style.left=rullOverObjektX+"px";
			}
				
		},1)
		
	}
}
