// design.js

var imgbar_state = 0;		// 0=normal, 1=zooming in progress, 2=panorama
var imgbar_savedheight = 0;
var imgbar_savedlogopos = 0;
var imgbar_hlogo = 52;
var imgbar_ylogo = 4;
var imgbar_ytext = 12;
var imgbar_slidesteps = 15;

function nextRandomImageBar()
{
	document.getElementById("krpano_imagebar").style.backgroundImage="url(" + krpano_rootpath + "panos/"+krpano_imagebars[ Math.floor(Math.random()*(krpano_imagebars.length-1+0.5))] + "imagebar.jpg)";
}
function getWindowHeight()
{
	var windowHeight=0;
	if (typeof(window.innerHeight)=='number') {	windowHeight=window.innerHeight; }
	else
	{
		if (document.documentElement && document.documentElement.clientHeight) { windowHeight=document.documentElement.clientHeight; }
		else { if (document.body && document.body.clientHeight) { windowHeight=document.body.clientHeight; } }
	}
	return windowHeight;
}

function showFlash()
{
	var imagebar = String( document.getElementById("krpano_imagebar").style.backgroundImage );

	var von = imagebar.indexOf("panos/") + 6;
	var bis = imagebar.indexOf("imagebar.jpg");

	var ver = "";
	var pano = imagebar.slice(von,bis);

	var xmlpath = pano + ".xml";

	var adr = krpano_rootpath + 'krpano'+ver+'.html?xml=panos/' + xmlpath + '&krpanologo=false';
	var so = '<iframe id="iframeview" src="http://www.gigapixel.com/vancouver/van-giga12.html" name="Bildframe'+pano+'" width="100%" height="100%" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" style="z-Index:101"><p style="padding:10%;"></iframe>';

	document.getElementById("krpano_imagebar").innerHTML = so;
}

function hideFlash()
{
	document.getElementById("krpano_imagebar").innerHTML = '';
}

function imgbar_getspace()
{
	var hwindow = getWindowHeight();
	var hheader = document.getElementById("krpano_imagebar").offsetTop;

	var hfooter = imgbar_hlogo + imgbar_ylogo;
	if (hfooter < 16)
		hfooter = 16;

	var hspace = hwindow - hheader - hfooter;
	if (hspace < imgbar_savedheight)
		hspace = imgbar_savedheight;

	return hspace;
}

function incHeightImageBar()
{
	if (imgbar_state == 0)
	{
		imgbar_state = 1;

		// hide content/footer/showpano-button
		document.getElementById("krpano_showpano").style.display = "none";
		document.getElementById("krpano_footerwrapper").style.display  = "none";
		document.getElementById("krpano_contentwrapper").style.display = "none";

		imgbar_savedheight  = document.getElementById("krpano_imagebar").offsetHeight;
		imgbar_savedlogopos = (document.getElementById("krpano_imagebar").offsetTop + imgbar_savedheight) - document.getElementById("krpano_logo").offsetTop;
	}

	var hheader = document.getElementById("krpano_imagebar").offsetTop;
	var hspace  = imgbar_getspace();
	var hcur    = parseInt( document.getElementById("krpano_imagebar").offsetHeight, 10 );
	var hinc    = hspace / imgbar_slidesteps;

	if (hcur < hspace)
	{
		hcur = hcur + hinc;
		if (hcur > hspace)
			hcur = hspace;

		document.getElementById("krpano_imagebar").style.height = hcur + "px";
		document.getElementById("krpano_logo").style.top = (hheader + hcur + imgbar_ylogo) + "px";

		if (hcur >= hspace)
		{
			// done
			document.getElementById("krpano_hidepano").style.top     = (hheader + hcur + imgbar_ytext) + "px";
			document.getElementById("krpano_hidepano").style.display = "inline";

			imgbar_state = 2;

			setTimeout( 'showFlash()', 1 );
		}
		else
		{
			setTimeout( 'incHeightImageBar()', 1 );
		}
	}

	return;
}

function decHeightImageBar()
{
	if (imgbar_state == 2)
	{
		imgbar_state = 1;

		// hide panorama and close-pano-buttons
		hideFlash();
		document.getElementById("krpano_hidepano").style.display = "none";
	}

	var hheader = document.getElementById("krpano_imagebar").offsetTop;
	var hspace  = imgbar_getspace();
	var hcur    = parseInt( document.getElementById("krpano_imagebar").offsetHeight, 10 );
	var hdec    = hspace / imgbar_slidesteps;

	if (hcur > imgbar_savedheight)
	{
		hcur = hcur - hdec;
		if (hcur < (imgbar_savedheight+1))
			hcur = imgbar_savedheight;

		document.getElementById("krpano_imagebar").style.height = hcur + "px";
		document.getElementById("krpano_logo").style.top        = (hheader + hcur - imgbar_savedlogopos) + "px";

		if ((hcur-imgbar_savedheight) < 1.0)
		{
			// done - restore hidden elements
			document.getElementById("krpano_showpano").style.display = "inline";
			document.getElementById("krpano_showpano").style.display = "inline";
			document.getElementById("krpano_footerwrapper").style.display  = "inline";
			document.getElementById("krpano_contentwrapper").style.display = "inline";

			imgbar_state = 0;
		}
		else
		{
			setTimeout( 'decHeightImageBar()', 1 );
		}
	}

	return;
}

function showImagebarPano()
{
	if (imgbar_state == 0)
	{
		incHeightImageBar();
	}
}

function hideImagebarPano()
{
	if (imgbar_state == 2)
	{
		decHeightImageBar();
	}
}

function resizeImagebarpano()
{
	if (imgbar_state == 2)
	{
		var hheader = document.getElementById("krpano_imagebar").offsetTop;

		var hspace = imgbar_getspace();

		document.getElementById("krpano_imagebar").style.height = hspace + "px";
		document.getElementById("krpano_logo").style.top        = (hheader + hspace + imgbar_ylogo) + "px";
		document.getElementById("krpano_hidepano").style.top    = (hheader + hspace + imgbar_ytext) + "px";

		if (document.getElementById("iframeview"))
			document.getElementById("iframeview").style.height = hspace + "px";
	}

	return true;
}

window.onresize = resizeImagebarpano;


