
//Create a boolean variable to check for a valid Internet Explorer instance.
var xmlhttp = false;

//Check if we are using IE.
try {
	//If the Javascript version is greater than 5.
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
	//If not, then use the older active x object.
	try {
		//If we are using Internet Explorer.
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (E) {
		//Else we must be using a non-IE browser.
		xmlhttp = false;
	}
}

//If we are using a non-IE browser, create a javascript instance of the object.
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
	xmlhttp = new XMLHttpRequest();
}



var timeDelay = 4; // change delay time in seconds
var timeDelay_small = 3; // change delay time in seconds small images
var timeDelay_Falkskar = 4; // change delay time in seconds Falkskar page images
var timeDelay_cafe = 4; // change delay time in seconds Falkskar page images

var Pix = new Array
("images/w859/3141.jpg",
 "images/w859/PSIEK.jpg",
 "images/w859/RolandsCafe.jpg",
 "images/w859/6155.jpg",
 "images/w859/PTrutar.jpg",
 "images/w859/PTvahuggkrokarFalkskar.jpg",
 "images/w859/5565.jpg",
 "images/w859/3015.jpg",
 "images/w859/3022.jpg",
 "images/w859/3026.jpg",
 "images/w859/3031.jpg",
 "images/w859/Wheelhouse.jpg",
 "images/w859/3036.jpg",
 "images/w859/3047.jpg",
 "images/w859/3048.jpg",
 "images/w859/5355.jpg",
 "images/w859/5356.jpg",
 "images/w859/5360.jpg",
 "images/w859/5365.jpg",
 "images/w859/5366.jpg",
 "images/w859/5741B.jpg",
  "images/w859/6238.jpg",
 "images/w859/SolNappHorisont.jpg",
 "images/w859/3049.jpg",
 "images/w859/0269.jpg",
 "images/w859/0271.jpg",
 "images/w859/7278.jpg",
 "images/w859/7530.jpg",
 "images/w859/7545.jpg",
 "images/w859/7567c.jpg",
 "images/w859/7571.jpg",
 "images/w859/7573.jpg",
 "images/w859/7575.jpg",
 "images/w859/7576.jpg",
 "images/w859/7595.jpg",
 "images/w859/7597.jpg",
 "images/w859/7600.jpg",
 "images/w859/7608.jpg",
 "images/w859/218S.jpg",
 "images/w859/225S.jpg",
 "images/w859/226S.jpg",
 "images/w859/S111.jpg",
 "images/w859/S112.jpg",
 "images/w859/Solnedgang_1.jpg",
 "images/w859/Ekolod o sonar.jpg"
);

var Pix_small = new Array
("images/w288/L217.jpg",
 "images/w288/LP_Kvinna_med_torsk.jpg",
 "images/w288/LP_Rolands_cafe.jpg",
 "images/w288/LP_SIEK.jpg",
 "images/w288/LP_Trutar.jpg",
 "images/w288/LP_Tva_huggkrokar_Falkskar.jpg",
 "images/w288/LP_Tva_huggkrokar.jpg",
 "images/w288/LP_3016.jpg",
 "images/w288/LP_3022.jpg",
 "images/w288/LP_3125.jpg",
 "images/w288/LP_3138.jpg",
 "images/w288/LP_Kille_m_makrill_2.jpg",
 "images/w288/L212.jpg",
 "images/w288/L214.jpg",
 "images/w288/L111.jpg",
 "images/w288/L112.jpg",
 "images/w288/L113.jpg",
 "images/w288/L215.jpg",
 "images/w288/LP_Kvinna_med_makrill.jpg",
 "images/w288/L247.jpg"
);

var Pix_Falkskar = new Array
("images/w859/PSIEK.jpg",
 "images/w859/6155.jpg",
 "images/w859/PTvahuggkrokarFalkskar.jpg",
 "images/w859/3015.jpg",
 "images/w859/3026.jpg",
 "images/w859/3031.jpg",
 "images/w859/Wheelhouse.jpg",
 "images/w859/5355.jpg",
 "images/w859/5356.jpg",
 "images/w859/5360.jpg",
 "images/w859/5365.jpg",
 "images/w859/Ekolod o sonar.jpg",
 "images/w859/5366.jpg",
 "images/w859/5741B.jpg",
  "images/w859/6238.jpg",
  "images/w859/218S.jpg",
  "images/w859/225S.jpg",
  "images/w859/226S.jpg",
  "images/w859/S111.jpg",
  "images/w859/S112.jpg",
  "images/w859/Solnedgang_1.jpg",
 "images/w859/SolNappHorisont.jpg"
);

var Pix_cafe = new Array
("images/w859/RolandsCafe.jpg",
 "images/w859/3047.jpg",
 "images/w859/3048.jpg",
 "images/w859/3049.jpg",
 "images/w859/7278.jpg"
);


var howMany = Pix.length;
var howMany_small = Pix_small.length;
var howMany_Falkskar = Pix_Falkskar.length;
var howMany_cafe = Pix_cafe.length;

timeDelay *= 1000;
timeDelay_small *= 1000;
timeDelay_Falkskar *= 1000;
timeDelay_cafe *= 1000;

var PicCurrentNum = 0;
var PicCurrentNum_small = 0;
var PicCurrentNum_Falkskar = 0;
var PicCurrentNum_cafe = 0;

var PicCurrent = new Image();
var PicCurrent_small = new Image();
var PicCurrent_Falkskar = new Image();
var PicCurrent_cafe = new Image();

var m_currentUrl = "";

PicCurrent.src = Pix[PicCurrentNum];
PicCurrent_small.src = Pix_small[PicCurrentNum_small];
PicCurrent_Falkskar.src = Pix_Falkskar[PicCurrentNum_Falkskar];
PicCurrent_cafe.src = Pix_cafe[PicCurrentNum_cafe];

//Bookeeping so that the same image isn't shown twice within a cycle
var PixShown = new Array(Pix.length);
var PixShown_small = new Array(Pix_small.length);

function GenerateRandom(max)
{
	return Math.floor(Math.random()*max+1);
}

function startPix(currentUrl) 
{
	m_currentUrl = currentUrl;
	
	//Init bookkeeping
	var tmpSize = Pix.length;
	
	while (0 < tmpSize)
	{
		PixShown[tmpSize - 1] = 0;
		tmpSize--;
	}
	
	setInterval("slideshow()", timeDelay);
	setInterval("slideshow_small()", timeDelay_small);
	
	//Only show Falkskar images if that page is shown.
	//Otherwise we get a warning in Firefox error console
	var equalPos = m_currentUrl.indexOf('SubMenu=Falkskar');
	
	if (-1 < equalPos)
	{
		setInterval("slideshow_Falkskar()", timeDelay_Falkskar);
	}
	
	//Only show Cafe images if that page is shown.
	//Otherwise we get a warning in Firefox error console
	var equalPos = m_currentUrl.indexOf('Name=RolandsCafe');
	
	if (-1 < equalPos)
	{
		setInterval("slideshow_cafe()", timeDelay_cafe);
	}
	
	
	//Trigger refresh of schedule page if it is the currrent URL
	if (-1 < m_currentUrl.indexOf('Name=Fishing&SubMenu=Schedule'))
	{
		setInterval("RefreshSchedulePage()", 5000);
	}
	
	//Keep marquee up to date
	//setInterval("MarqueeUpdater()", 10000);
	//MarqueeUpdater();
}

function MarqueeUpdater()
{
	var theUrl="marquee.php";
	var params = "";
	PostRequest(theUrl, params, 'marqueeText', false);
}


function RefreshSchedulePage()
{
	//location.reload(true);
	//var argumentStart =  m_currentUrl.indexOf('?Name=');
	//var args = m_currentUrl.substring(argumentStart, equalPos);
	//var theUrl="schedule_page_content.php" + args;
	//makerequest(theUrl, 'contentarea2', true);
}

function slideshow()
{
	//Check if any image havn't been shown within current cycle
	var i;
	var nbrImgNotShown = 0;
	var watchdog = 100;
	
	for (i = 0; i < PixShown.length; i++)
	{
		if (0 == PixShown[i])
		{
			nbrImgNotShown++;
		}
	}

	//Clear if no img not shown => New cycle
	if (0 == nbrImgNotShown)
	{
		for (i = 0; i < PixShown.length; i++)
		{
			PixShown[i] = 0;
		}
	}
	
	//Due to above check; there will always be at least 1 image not shown within the current cycle
	do
	{
		PicCurrentNum = GenerateRandom(howMany);
		
		if (PicCurrentNum >= howMany) 
		{
			PicCurrentNum = 0;
		}
		
		watchdog--;
	}while ((0 < watchdog) && (1 == PixShown[PicCurrentNum]));

	
	PicCurrent.src = Pix[PicCurrentNum];
	document["ChangingPix"].src = PicCurrent.src;
	PixShown[PicCurrentNum] = 1;
	PicCurrentNum++;
}



function slideshow_OLD()
{
	if (PicCurrentNum >= howMany) 
	{
		PicCurrentNum = 0;
	}
	
	PicCurrent.src = Pix[PicCurrentNum];
	document["ChangingPix"].src = PicCurrent.src;
	
	PicCurrentNum++;
}

function slideshow_small()
{
	//Check if any image havn't been shown within current cycle
	var i;
	var nbrImgNotShown = 0;
	var watchdog = 100;
	
	for (i = 0; i < PixShown_small.length; i++)
	{
		if (0 == PixShown_small[i])
		{
			nbrImgNotShown++;
		}
	}

	//Clear if no img not shown => New cycle
	if (0 == nbrImgNotShown)
	{
		//alert ("No sequence for small img start!");
		for (i = 0; i < PixShown_small.length; i++)
		{
			PixShown_small[i] = 0;
		}
	}
	
	//Due to above check; there will always be at least 1 image not shown within the current cycle
	do
	{
		PicCurrentNum_small = GenerateRandom(howMany_small);
		
		if (PicCurrentNum_small >= howMany_small) 
		{
			PicCurrentNum_small = 0;
		}
		
		watchdog--;
	}while ((0 < watchdog) && (1 == PixShown_small[PicCurrentNum_small]));

	//alert ("Img num small img: " + PicCurrentNum_small);
	
	PicCurrent_small.src = Pix_small[PicCurrentNum_small];
	document["ChangingPix_small"].src = PicCurrent_small.src;
	PixShown_small[PicCurrentNum_small] = 1;
	PicCurrentNum_small++;
}

function slideshow_Falkskar()
{
	PicCurrentNum_Falkskar++;

	if (PicCurrentNum_Falkskar == howMany_Falkskar) 
	{
		PicCurrentNum_Falkskar = 0;
	}
	
	PicCurrent_Falkskar.src = Pix_Falkskar[PicCurrentNum_Falkskar];
	document["ChangingPix_Falkskar"].src = PicCurrent_Falkskar.src;
}

function slideshow_cafe()
{
	PicCurrentNum_cafe++;

	if (PicCurrentNum_cafe == howMany_cafe) 
	{
		PicCurrentNum_cafe = 0;
	}
	
	PicCurrent_cafe.src = Pix_cafe[PicCurrentNum_cafe];
	document["ChangingPix_cafe"].src = PicCurrent_cafe.src;
}

function showLoadMsg (msg, isLoading, showEnable)
{
   hidden = document.getElementById('loadpanel');
	
   if (showEnable)
   {
	   if (isLoading)
	   {
		   hidden.innerHTML = '<img src="images/indicator.gif" alt="" /> ' + msg;
	   }
	   else
	   {
	      hidden.innerHTML = msg;
	   }
   }
}

	
function PostRequest(theUrl, params, targetElement, loadMsgEnable)
{
   var obj = document.getElementById(targetElement);
   var r = Math.floor(Math.random()*999999+1);
   
   
   if (0 < params.length)
   {
      params += "&rand=" + r;
   }
   else
   {
      params = "&rand=" + r;
   }   
  
   xmlhttp.open("POST", theUrl, true);
   
   //Send the proper header information along with the request
   xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   xmlhttp.setRequestHeader("Content-length", params.length);
   xmlhttp.setRequestHeader("Connection", "close");

   xmlhttp.onreadystatechange = function() 
   {
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
      {
	
	 obj.innerHTML = xmlhttp.responseText;
         showLoadMsg("", false,loadMsgEnable);
      }
      else if (xmlhttp.readyState < 4)
      {
         showLoadMsg("Uppdaterar...", true,loadMsgEnable);
      }
   }

   xmlhttp.send(params);
}

    
    



