// ########################################### Super konstruktorn för att bygga PIP-windows ## //
var pip_UniktPiPNummer=0; // Kan användas både för id och för att se till att de inte hamnar ovanpå varandra
var pip_maxZIndex=4000;
function skapaEnPip(InPiPId,rubrikText,inSida)
{
	// Sätter pip_UniktPiPNummer till plus ett så att det aldrig finns divar med samma id igång
	pip_UniktPiPNummer+=1;
	
	// Det z-index den ska födas med
	pip_maxZIndex+=1;
	
	kollaScrollPos();
	
	var dynamiskPiP_Innehall="";
	
	// Initierar pip-objekten
	var pipObjekt = document.createElement('div');
	var pipObjekt_ToppBanner = document.createElement('div');
	var pipObjekt_Innehallare = document.createElement('div');
	var pipObjekt_StangKnapp = document.createElement('div');
	var pipObjekt_LasOlasPlacering = document.createElement('div');
	var pipObjekt_MinMaxiMera = document.createElement('div');
	var pipObjekt_storreMindre = document.createElement('div');
	
	// Bara för skojj skull just nu temporärt så slumpar jag ut vart de ska hamna
	var tempXhamn = Math.round(Math.random()*500);
	var tempYhamn = Math.round(Math.random()*100+scrollHojd+100);
	
	// Sätter in de värden vi vill att de ska ha i ## PIP_wrappern
	pipObjekt.id = InPiPId+'_'+pip_UniktPiPNummer;
	pipObjekt.className = 'pip_wrapper';
	pipObjekt.style.position = 'absolute';
	pipObjekt.style.left = tempXhamn+'px';
	pipObjekt.style.top = tempYhamn+'px';
	pipObjekt.style.width = 'auto';
	pipObjekt.style.height = 'auto';
	pipObjekt.style.display = 'block';
	
	// Sätter in de värden vi vill ha i ## pip_ToppBanner
	pipObjekt_ToppBanner.id = 'pip_ToppBanner_'+pip_UniktPiPNummer;
	pipObjekt_ToppBanner.className = 'pip_ToppBanner';
	pipObjekt_ToppBanner.innerHTML = '<span style="margin-left:5px;">'+rubrikText+'</span>';
	
	// Sätter in de värden vi vill ha i ## pip_Innehallare  ------>STEG 1
	pipObjekt_Innehallare.className = 'pip_Innehallare';
	pipObjekt_Innehallare.id = 'pip_Innehallare'+pip_UniktPiPNummer;
	
	var url = inSida;
		
	http.open("GET" , url , true);
		
	http.onreadystatechange = function ()
	{
		if(http.readyState == 4)
		{
			if(http.status == 200) // Färdigladdad
			{
				// Innehållet vi hämtat in
				dynamiskPiP_Innehall = http.responseText;
							
				// Sätter in de värden vi vill ha i ## pip_stangKnapp
				pipObjekt_StangKnapp.id = 'pip_stangKnapp_'+pip_UniktPiPNummer;
				pipObjekt_StangKnapp.className = 'pip_stangKnapp';
				
				// Sätter in de värden vi vill ha i ## pip_lasOlas
				pipObjekt_LasOlasPlacering.id = 'pip_lasOlas'+pip_UniktPiPNummer;
				pipObjekt_LasOlasPlacering.className = 'pip_lasOlas';
				
				// Sätter in de värden vi vill ha i ## pip_minMaxiMera
				pipObjekt_MinMaxiMera.id = 'pip_minMaxiMera'+pip_UniktPiPNummer;
				pipObjekt_MinMaxiMera.className = 'pip_minMaxiMera';
				
				// Sätter in de värden vi vill ha i ## pip_storreMindre
				pipObjekt_storreMindre.id = 'pip_storreMindre'+pip_UniktPiPNummer;
				pipObjekt_storreMindre.className = 'pip_storreMindre';
				
				
				// Klistrar in våra nya objekt på sidan
				document.getElementById('wrapper').appendChild(pipObjekt);
				document.getElementById(pipObjekt.id).appendChild(pipObjekt_ToppBanner);
				document.getElementById(pipObjekt.id).appendChild(pipObjekt_Innehallare);
				document.getElementById(pipObjekt.id).appendChild(pipObjekt_StangKnapp);
				document.getElementById(pipObjekt.id).appendChild(pipObjekt_LasOlasPlacering);
				document.getElementById(pipObjekt.id).appendChild(pipObjekt_MinMaxiMera);
				document.getElementById(pipObjekt.id).appendChild(pipObjekt_storreMindre);
				
				// PIP_wrappern
				document.getElementById(pipObjekt.id).style.zIndex=pip_maxZIndex;
				
				// Gör pip_wrappern genomskinlig så vi kan animera fram den sen
				if(IE)
				{
					document.getElementById(pipObjekt.id).style.filter="alpha(opacity=" + 0 + ")";
				}
							
				if(NotIE)
				{
					document.getElementById(pipObjekt.id).style.opacity = 0;
				}
				
				// Klistrar in innehållet
				document.getElementById(pipObjekt_Innehallare.id).innerHTML=dynamiskPiP_Innehall;
				
				// Tar ut de mått vi ska använda
				pip_Innehallare_Bredd=document.getElementById(pipObjekt_Innehallare.id).offsetWidth;
				pip_Innehallare_Hojd=document.getElementById(pipObjekt_Innehallare.id).offsetHeight;
				
				// Kollar så att de är innom vissa storlekar annars sätts de till det
				if(pip_Innehallare_Bredd<300)
				{
					pip_Innehallare_Bredd=301;
				}
				if(pip_Innehallare_Hojd<50)
				{
					pip_Innehallare_Hojd=51;
				}
				
				// Sätt höjd på innehållet
				document.getElementById(pipObjekt_Innehallare.id).style.width=pip_Innehallare_Bredd+"px";
				document.getElementById(pipObjekt_Innehallare.id).style.height=pip_Innehallare_Hojd+"px";
				
				//////// Sätter egenskaper inklistrade objakt ska ha
				// pip_ToppBanner
				document.getElementById(pipObjekt_ToppBanner.id).onmousedown = function() {dragFonster=true;aktivtDragFonster=pipObjekt.id;return false;}
				
				// pip_stangKnapp_
				document.getElementById(pipObjekt_StangKnapp.id).onclick = function() {this.parentNode.id="stangd";tonaUtRadStangPiPThis(this);return false;}
				setAlphaClass(document.getElementById(pipObjekt_StangKnapp.id),40);
				document.getElementById(pipObjekt_StangKnapp.id).onmouseover = function() {setAlphaClass(this,100);} 
				document.getElementById(pipObjekt_StangKnapp.id).onmouseout = function() {setAlphaClass(this,40);} 
				
				// pip_lasOlas
				document.getElementById(pipObjekt_LasOlasPlacering.id).onclick = function(){ pip_sattAnkare(pipObjekt.id); return false;}
				setAlphaClass(document.getElementById(pipObjekt_LasOlasPlacering.id),40);
				document.getElementById(pipObjekt_LasOlasPlacering.id).onmouseover = function() {setAlphaClass(this,100);} 
				document.getElementById(pipObjekt_LasOlasPlacering.id).onmouseout = function() {setAlphaClass(this,40);} 
				
				// pip_minMaxiMera
				document.getElementById(pipObjekt_MinMaxiMera.id).onclick = function() {pip_minimera(pipObjekt_Innehallare.id,pipObjekt_MinMaxiMera.id,pipObjekt_storreMindre.id); return false;}
				setAlphaClass(document.getElementById(pipObjekt_MinMaxiMera.id),40);
				document.getElementById(pipObjekt_MinMaxiMera.id).onmouseover = function() {setAlphaClass(this,100);} 
				document.getElementById(pipObjekt_MinMaxiMera.id).onmouseout = function() {setAlphaClass(this,40);} 
				
				// pip_storreMindre
				document.getElementById(pipObjekt_storreMindre.id).onmousedown = function() {storleksAndraFonster=true;aktivtStorleksFonster=pipObjekt_Innehallare.id;aktivtDragFonster=pipObjekt.id; return false;}
				setAlphaClass(document.getElementById(pipObjekt_storreMindre.id),40);
				document.getElementById(pipObjekt_storreMindre.id).onmouseover = function() {setAlphaClass(this,100);} 
				document.getElementById(pipObjekt_storreMindre.id).onmouseout = function() {setAlphaClass(this,40);}
				
				// Sätter den pip man klickar på högst upp
				document.getElementById(pipObjekt.id).onclick = function() {pip_flyttaUppZIndex(pipObjekt.id);return false;}
				document.getElementById(pipObjekt_Innehallare.id).onclick = function() {pip_flyttaUppZIndex(pipObjekt.id);return false;}
				document.getElementById(pipObjekt_ToppBanner.id).onclick = function() {pip_flyttaUppZIndex(pipObjekt.id);return false;}
				document.getElementById(pipObjekt_storreMindre.id).onclick = function() {pip_flyttaUppZIndex(pipObjekt.id);return false;}
				
				function pip_flyttaUppZIndex(inPipWrapper)
				{
					pip_maxZIndex+=1;
					if(inPipWrapper!=null && inPipWrapper!="" && inPipWrapper!="stangd")
					{
						document.getElementById(inPipWrapper).style.zIndex=pip_maxZIndex;
					}
				}
				
				FonsterSnabbTonaFram(pipObjekt.id,0);
			}
		}	
	}
	
	http.send(null);
}

function pip_sattAnkare(inId)
{
	inObjekt =document.getElementById(inId);
	
	inObjekt_X = inObjekt.offsetLeft;
	inObjekt_Y = inObjekt.offsetTop;
	
	wrapper = document.getElementById('wrapper');
	
	wrapper_X = wrapper.offsetLeft;
	wrapper_Y = wrapper.offsetTop;
		
	kollaScrollPos(); // scrollHojd
	
	if(inObjekt.style.position!='fixed')
	{
		inObjekt.style.position='fixed';
		
		inObjekt.style.left=inObjekt_X+wrapper_X+"px";
		
		inObjekt.style.top=inObjekt_Y-wrapper_Y-scrollHojd+"px";
	}
	else
	{
		inObjekt.style.position='absolute'
		
		inObjekt.style.left=inObjekt_X-wrapper_X+"px";
		
		inObjekt.style.top=inObjekt_Y-wrapper_Y+scrollHojd+"px";
	}
}

function pip_minimera(minimeraDiv,minimerare,storleksAndrare)
{
	status = document.getElementById(minimeraDiv).style.display;
	
	if(status=="" || status=="block")
	{
		document.getElementById(minimeraDiv).style.display='none';
		document.getElementById(minimerare).style.backgroundImage="url(../_images/Cirkel_Plus.png)";
		document.getElementById(storleksAndrare).style.display='none';
	}
	else
	{
		document.getElementById(minimeraDiv).style.display='block';
		document.getElementById(minimerare).style.backgroundImage="url(../_images/Cirkel_Minus.png)";
		document.getElementById(storleksAndrare).style.display='block';
	}
}

// Radera / Stäng PiP med hjälp av parent from this
function radStangPiPThis(inThis)
{
	var hittaClass_Namn="";
	var hittaDiv_ID="";
	
	while(hittaClass_Namn!="pip_wrapper")
	{
		inThis=inThis.parentNode;
		
		hittaClass_Namn=inThis.className;
		hittaDiv_ID=inThis.id;
	}
	
	// alert("ClassNamn: "+hittaClass_Namn+" Id: "+hittaDiv_ID +" inThis: "+ inThis.id);
	inThis.id="stangd"; // Se att den inte ska bli tvär hämtad av annan funktion just då man stänger den
	inThis.parentNode.removeChild(inThis);
	
}

function tonaUtRadStangPiPThis(inThis)  // Fönster som ska tona bort fort och på vilken alpa den ska sluta
{
	alphaIn=0;
	alphaNu_div_ut = 100;
	
	var hittaClass_Namn="";
	var hittaDiv_ID="";
	
	while(hittaClass_Namn!="pip_wrapper")
	{
		inThis=inThis.parentNode;
		
		hittaClass_Namn=inThis.className;
		hittaDiv_ID=inThis.id;
	}
	
	tonaBortStangPiP=setInterval(function()
	{
		if(alphaNu_div_ut>alphaIn)
		{
			if(IE)
			{
				alphaNu_div_ut=alphaNu_div_ut-10;
				document.getElementById(hittaDiv_ID).style.filter="alpha(opacity=" + alphaNu_div_ut + ")";
			}
				
			if(NotIE)
			{
				alphaNu_div_ut=alphaNu_div_ut-5;
				document.getElementById(hittaDiv_ID).style.opacity = alphaNu_div_ut/100;
			}
		}
								
		else // När framtoningen är klar
		{
			inThis.id="stangd"; // Se att den inte ska bli tvär hämtad av annan funktion just då man stänger den
			inThis.parentNode.removeChild(inThis);
			
			clearInterval(tonaBortStangPiP);
		}
	},1)
}

// Sätter hojd och bredd auto // Eller ska vi göra function sattNyHojdBredd() ?!
function sattAutoHojdBredd(inDiv)
{
	document.getElementById(inDiv).style.height="auto";
	document.getElementById(inDiv).style.width="auto";
}

// En funktion som tar ut närmaste PIP innehallare från det ställe man agerat på
function taUtNarmastePIP_Innehallare(inThis)
{
	var hittaClass_Namn="";
	var hittaDiv_ID="";
	
	while(hittaClass_Namn!="pip_Innehallare")
	{
		inThis=inThis.parentNode;
		
		hittaClass_Namn=inThis.className;
		hittaDiv_ID=inThis.id;
	}
	
	pipValdInnehallare=hittaDiv_ID;
	
	return pipValdInnehallare;
}

// Uppdaterar innehållet i en PIP's innehallare
function uppdateraInnehallPIP(valdPIP_Innehallare,tillSida)
{	
	sattAutoHojdBredd(valdPIP_Innehallare);
	
	var url = tillSida;
		
	http.open("GET" , url , true);
		
	http.onreadystatechange = function ()
	{
		if(http.readyState == 4)
		{
			if(http.status == 200) // Färdigladdad
			{
				document.getElementById(valdPIP_Innehallare).innerHTML = http.responseText;			
			}
		}	
	}
	http.send(null);
}

// Funktion som frågar om man vill göra något just innan man gör det. Rätt bra att ha :)
function sakraAnvandarHandling(inFraga,inFilTill,inThis)
{		
	if(inFraga!=false)// Om det finns en fråga frågar vi
	{
		var confirmGrejj = confirm(inFraga); 
		if (confirmGrejj == true)
		{
			// Tar ut aktuell innehallare
			valdPIP_Innehallare=taUtNarmastePIP_Innehallare(inThis);
			
			// Uppdaterar innehållet
			uppdateraInnehallPIP(valdPIP_Innehallare,inFilTill);
		}
		else
		{
		}
	}
	else // Annars gör vi bara
	{
		// Tar ut aktuell innehallare
		valdPIP_Innehallare=taUtNarmastePIP_Innehallare(inThis);
			
		// Uppdaterar innehållet
		uppdateraInnehallPIP(valdPIP_Innehallare,inFilTill);
	}
}

/////////// ################################################# Temporärt

// ################################ Bara för att reta Nicke
var antalNickePips =0;
function nickePip() 
{
	antalNickePips=0;
	
	kollaScrollPos();
	
	intervall_nickePip=setInterval(function()
	{
			
		if(antalNickePips<200) 
		{
			var pipObjekt = document.createElement('div');
			var tempXhamn = Math.round(Math.random()*1000);
			var tempYhamn = Math.round(Math.random()*500)+scrollHojd;
			var tempId=tempXhamn+tempYhamn;
			
			pipObjekt.id = 'pip_nickeDiv'+tempId;
			pipObjekt.className = 'pip_nickar';
			pipObjekt.style.position = 'absolute';
			pipObjekt.style.right = tempXhamn+'px';
			pipObjekt.style.top = tempYhamn+'px';
			pipObjekt.style.height = 50+'px';
			pipObjekt.style.width = 50+'px';
			pipObjekt.style.display = 'block';
			//pipObjekt.style.backgroundColor ='#FCF';
			pipObjekt.style.backgroundImage='url(../_images/admin_Bg.png)';

			document.getElementById('wrapper').appendChild(pipObjekt);
			
			document.getElementById(pipObjekt.id).onclick = function() {nickePip();return false;}
			
			antalNickePips+=1;
			
			// Genomskinlighet och roll over
			if(IE)
			{
				document.getElementById(pipObjekt.id).style.filter="alpha(opacity=" + 40 + ")";
			}
					
			if(NotIE)
			{
				document.getElementById(pipObjekt.id).style.opacity = 40/100;
			}
			
			document.getElementById(pipObjekt.id).onmouseover = function() {setAlphaClass(this,100);} 
			document.getElementById(pipObjekt.id).onmouseout = function() {setAlphaClass(this,40);} 
		}
	
		else 
		{
			clearInterval(intervall_nickePip);
			//makeGenomskinligMedRollOver('pip_nickar',30,true);
		}
		
	},1)
	
}

// Användes säkert till något smart då jag byggde den, nu har jag ingen aning...
var pip_Hallare_hojd = 0;
var pip_sArkiv_hojd = 0;

var pip_Hallare_klar = false;
var pip_sArkiv_klar = false;

function fixaHojdPaPiPInnehall() 
{
	pip_Hallare_hojd = 0;
	pip_sArkiv_hojd = 0;

	pip_Hallare_klar = false;
	pip_sArkiv_klar = false;

	piPWrapperObjekt = document.getElementById('pip_wrapper');
	piPWrapperObjekt_hojd = piPWrapperObjekt.offsetHeight;
	
	rattaHojdPiP=setInterval(function()
	{
	//!pip_Hallare_klar || !pip_sArkiv_klar || !animationKlar_PiP_Hojd)
		if(1==3)
		{
			if(pip_Hallare_hojd<piPWrapperObjekt_hojd)
			{
				pip_Hallare_hojd=piPWrapperObjekt_hojd;
			}
			else
			{
				pip_Hallare_klar = true;
			}
			
			if(pip_sArkiv_hojd<piPWrapperObjekt_hojd)
			{
				pip_sArkiv_hojd=piPWrapperObjekt_hojd;
			}
			else
			{
				pip_sArkiv_klar = true;
			}
		}
								
		else // När man vet att det är klart
		{
			alert("klar");
			clearInterval(rattaHojdPiP);
		}
		
		document.getElementById('pip_Hallare').style.height = pip_Hallare_hojd +"px";
		document.getElementById('pip_sArkiv').style.height = pip_sArkiv_hojd +"px";
			
	},1)
}

