var active_scene = "";
var next_scene = 0;
var is1 = true;
var loadtry = 0;
var on_tour = 0;

var pf = "";
var mf = "";
var tf = "";
var rf = "";

var statpg = "";
var statmg = "";
var stattg = "";
var statrg = "";

var moveA = "";
// var moves = "";
var posi = 0;
var play = true;
var counter = 0;
var scounter = 0;
var speed = 50;
var interv = 0;
var lastX = 0;
var lastY = 0;
var lastZ = 90;

var map_id = "";
var active_map = 10000;
var button_id = "";
var button_over = "";
var button_nr = 0;

var cbtmp=0;
var pors = false;

var active_slide = 0;
var islist = false;

var textstring = "";
var rubstring = "";
var mapstring = "";
var liststring = "";
var on_load = new Array("","","","","","","","","","");

var panostring = "";

function resetvar() {
	var pix = new Array;
	for (var i=0; i < cbd.length; i ++) {
		pix[i] = new Image();
		pix[i].src = cbd[i]; 
	}
	for (var j=0; j < mbd.length; j ++) {
		pix[i+j] = new Image();
		pix[i+j].src = cbd[j]; 
	}
	initbase();
}

function setLangupd(lang) {
	setLang(lang);
	reloadscene();
}

function onload0() {
	eval(on_load[0])
}
function onload1() {
	eval(on_load[1])
}
function onload2() {
	eval(on_load[2])
}
function onload3() {
	eval(on_load[3])
}
function onload4() {
	eval(on_load[4])
}
function onload5() {
	eval(on_load[5])
}
function onload6() {
	eval(on_load[6])
}
function onload7() {
	eval(on_load[7])
}
function onload8() {
	eval(on_load[8])
}
function onload9() {
	eval(on_load[9])
}

function MM_callJS(jsStr) { 
  return eval(jsStr)
}

function getrubstring() {
return rubstring;
}

function getbodystring() {
return bodystring;
}

function getmapstring() {
return mapstring;
}

function getliststring() {
return liststring;
}

// Setter vilken splashbild som skall visas
function getsplashstring() {
return splashstring;
}

function getpreloadstring() {
return preloadstring;
}
// Setter vilken panorama som skall visas
function getpanostring() {
return panostring;
}

// Setter vilka hotspots som skall finnas i panoramat
function gethotspotstring() {
return hotspotstring;
}

function setuprub() {
	document.title = getcustname("");
	rubstring = "\<link href\=\"..\/htm\/design0.css\" rel\=\"stylesheet\" type\=\"text\/css\"\>";
	rubstring += "\<body bgcolor=\"#FFFFFF\"\>";
	rubstring += "<table width=\"750\" border=\"0\"><tr><td align=\"left\" valign=\"top\"><h2>" + getcustname("") + "<\/h2>";
	rubstring += "<\/td><td align=\"right\"><h2>" + getalt("") + "  <\/h2><\/td><\/tr><\/table>\<\/body\>";
	setTimeout("updaterubf()", 300);
}

function updaterubf() {
		rf = window.open("htm/masterrub.htm", "rubf");
}

function setuptext() {
	var custoid = getfurl(getcustid(""));
	if (custoid != "") {
		textstring = "http://" + custoid;
//		tf.location.href = "htm/blank.htm";
		stattg = active_scene;
	} 
	else {
		textstring = language;
		textstring += "\/t";
		textstring += active_scene;
		textstring += ".htm";
		stattg = active_scene;
	}
	setTimeout("updatetextf()", 300);
}

function updatetextf() {
		tf = window.open(textstring, "textf");
}

function radioqual(rqual) {
	if (qual == rqual) {return "checked";}
	if (qual == rqual) {return "checked";}
	if (qual == rqual) {return "checked";}
	if (qual == rqual) {return "checked";}
	return "";
}

// Sätter parametrar för aktuell panna ptveiwer
function setuppan(pan_nr) {
		panostring = "";
		var preloadstring = "";
		var hotspotstring = "";
		var extrahotspotstring = "";
		var posx = 0;
		var posy = 0;
		var pannummer = 0;
		var bildnamn = "";
		var highttb = 0;
		var widthtb = 0;
		var appletstring = "";
		var applets = 0;
		var initstring = "{inits=ptviewer:";
		counter = 0;
		var pantmp = getpanstr(parseInt(pan_nr)).split("¤");
		panurl = pantmp[1];

		panostring = "<link href=\"design1.css\" rel=\"stylesheet\" type=\"text/css\">";
		panostring += "<body bgcolor=\"#ffffff\" onLoad=\"parent.statuspanf(\'" + pan_nr + "\')\" onUnload=\"parent.xv0p(" + pan_nr + ")\;\"><p align=\"center\">";
		panostring += "<table width=\"400\" border=\"0\"><tr><td colspan=\"4\" valign=\"middle\">";
//		panostring += "<h3>" + getalt(pan_nr) + "<\/h3><\/td><\/tr><tr><td height=\"115\" colspan=\"4\">";
		panostring += "<applet id=Applet1 archive=ptviewer.jar width=400 height=250 code=ptviewer.class name=ptviewer mayscript=\"true\" VIEWASTEXT>";
		panostring += "<param name = wait 		value = \"..\/" + qual + "\/splash.jpg\">";

		panostring += "<param name = bar_x 		value = 16><param name = bar_y 		value = 138><param name = bar_width 	value = 215><param name = bar_height 	value = 10><param name = barcolor 	value = 0f4a90><param name = quality 	value = 3><param name = bgcolor 	value = ffffff><param name = file		value=\"ptviewer:0\"><param name = bgcolor		value=\"FFFFFF\">"
		panostring += "<param name = fov			value=\"95\"><param name = fovmax		value=\"120\"><param name = fovmin		value=\"50\"><param name = auto		value=\"0.3\">";
//		var topimage = new Image();
//		var bottenimage = new Image();
		
//		if (document.resform.radiobutton[0].checked == true) {topimage.src = "modem\/" + "top.jpg"; bottenimage.src = "modem\/" + "botten.jpg";}
//		if (document.resform.radiobutton[1].checked == true) {topimage.src = "ISDN\/" + "top.jpg"; bottenimage.src = "ISDN\/" + "botten.jpg";}
//		if (document.resform.radiobutton[2].checked == true) {topimage.src = "ADSL\/" + "top.jpg"; bottenimage.src = "ADSL\/" + "botten.jpg";}
//		if (document.resform.radiobutton[3].checked == true) {topimage.src = "bredband\/" + "top.jpg"; bottenimage.src = "bredband\/" + "botten.jpg";}
		
//		preloadstring = "\<PARAM name\=preload value\=\"" + topimage.src + "," + bottenimage.src + "\"\>\"\;";
		preloadstring = "\<param name\=preload value\=\"";
		panostring += "<param name = pano0  		value=\"\{file=..\/" + qual + "\/" + panurl + ".jpg}";
		hotspotstring = "";
		var hotspottmp = gethotspot(pan_nr);
		if ((hotspottmp == "") || (hotspottmp == "undefined")) {
			hostpotstring = "";
		} 
		else {
			var parampan = hotspottmp.split("¤");
			for (var i=0; i < parampan.length; i++) {
				var paramtmp = parampan[i].split(" ");
				posx = paramtmp[0];
				posy = paramtmp[1];
				if (posx != "") {
					hotspotstring += "{hotspot";
					hotspotstring += i;
					hotspotstring += "= x";
					if (qual == "ISDN") {posx = posx * 2; posy = posy * 2;}
					if (qual == "ADSL") {posx = posx * 3; posy = posy * 3;}
					if (qual == "bredband") {posx = posx * 4; posy = posy * 4;}								
					hotspotstring += posx;
					hotspotstring += " y";
					hotspotstring += posy;
					if (! isNaN(parseInt(paramtmp[2]))) {
						hotspotstring += " i'" + icondir + geticon(gettype(paramtmp[2])) + ".gif\'";
						hotspotstring += " q u\'javascript:parent.onload";
						hotspotstring += i;
						hotspotstring += "()\'} ";
						on_load[i] = "loadscene(" + paramtmp[2] + ")\;xvd(\"2:17\")\;";
					}
					if (paramtmp[2] == "b") {
						if (paramtmp.length > 4) {
							hotspotstring += " i'" + icondir + geticon(paramtmp[4]) + ".gif\'";
						}
						else {hotspotstring += " i'" + icondir + "undefined.gif\'";}
						hotspotstring += " q u\'javascript:parent.onload" + i + "()\'} ";
						on_load[i] = "showslide(" + paramtmp[3] + ")\;xvd(\"2:18\")\;";
					}
					if (paramtmp[2] == "l") {
						hotspotstring += " w i\'..\/" + qual + "\/" + getcut(paramtmp[3]) + ".jpg\' u\'javascript:parent.onload" + i + "()\'} ";
						on_load[i] = "panf.document.ptviewer.ToggleHSImage(" + i + ")\;xvd(\"2:19\")\;";
						preloadstring += "..\/" + qual + "\/" + getcut(paramtmp[3]) + ".jpg,";
						if (paramtmp.length > 4) {
							posx = posx + 2;
							posy = posy + 2;
							extrahotspotstring += "= x" + posx + " y" + posy + " i'" + icondir + geticon(paramtmp[4]) + "_a.gif\' q u\'javascript:parent.onload" + i + "()\'}¤";
						}  
						if (paramtmp.length > 5) {
							on_load[i] += "tf = window.open(\"..\/" + language + "\/" + paramtmp[5] + ".htm\", \"textf\")\;";
						}	
					}
					if (paramtmp[2] == "z") {
						appletstring += "<param name=applet" + applets + " value=\"{code= ptzoom.class}{file=../" + qual + "\/" +  getcut(paramtmp[3]) + ".jpg}{pan=" + paramtmp[0] + "}{tilt=" + paramtmp[1] + "}{rot=" + paramtmp[4] + "}{fov=" + paramtmp[5] + "}\">";
						initstring += "startApplet(" + applets + ");";
						applets ++;
						preloadstring += "..\/" + qual + "\/" + getcut(paramtmp[3]) + ".jpg,";
						hotspotstring += " c0000ff q u'ptviewer:startApplet(0)'}";
					}
					if (paramtmp[2] == "g") {
						if (paramtmp.length > 4) {
							hotspotstring += " i'" + icondir + geticon(paramtmp[4]) + ".gif\'";
						}
						else {hotspotstring += " i'" + icondir + "undefined.gif\'";}
						hotspotstring += " q u\'javascript:parent.onload";
						hotspotstring += i;
						hotspotstring += "()\'} ";
						on_load[i] = "startguide(" + paramtmp[3] + ")\;";
					}
					if (paramtmp[2] == "s") {
						hotspotstring += " c000000 p}";
						lastX = posx;
						lastY = posy;
						if (paramtmp.length > 3) {
							lastZ = paramtmp[3];
						}
						else {lastZ = 90;}
					}
				}
			}
		}
//			document.debug1.tf1.value += " " + topimage.height + " , " + bottenimage.height ;
//			highttb = topimage.height / 2;
//			highttb = Math.round(highttb);
//			widthtb = topimage.width / 2;
//			widthtb = Math.round(widthtb);
			hotspotstring += "{hotspot";
			hotspotstring += i;
			hotspotstring += "\= c0000ff x0 y0 p u\'http:\/\/www.panograf.com\' t\'blank\'} ";
//			highttb = bottenimage.height / 2;
//			highttb = Math.round(highttb);
//			hotspotstring += "{hotspot";
//			i++;
//			hotspotstring += i;
			
//			if (document.resform.radiobutton[0].checked == true) {highttb = 500 - highttb;}
//			if (document.resform.radiobutton[1].checked == true) {highttb = 1000 - highttb;}
//			if (document.resform.radiobutton[2].checked == true) {highttb = 2000 - highttb;}
//			if (document.resform.radiobutton[3].checked == true) {highttb = 2688 - highttb;}
			
//			hotspotstring += "\= x" + widthtb + " y" + highttb + " q w i\'" + bottenimage.src + "\' u\'http:\/\/www.panograf.com\' t\'blank\'} ";
			
//		document.debug1.tf1.value += preloadstring + " " + panostring + " " + hotspotstring;
		if (extrahotspotstring != "") {
			var hottmp = extrahotspotstring.split("¤");
			var k = 0;
			for (var j=0; j < hottmp.length; j ++) {
				if (hottmp[j] != "") {
					k = i + j + 1;
					hotspotstring += "{hotspot" + k + hottmp[j];
				}
			}
		}

	if (initstring.length > 16) {
		panostring += initstring + "}";		
	}
	
	if ((lastZ < 70) || (lastZ > 120)) {lastZ = 90;}
	panostring += "{pan=" + lastX + "}{tilt=" + lastY + "}{fov=" + lastZ + "}";
	
	panostring += hotspotstring + "\">";

	if (preloadstring.length > 31) {
		panostring += preloadstring + "\"\>";
	}
	
	panostring += appletstring + "</applet><\/td><\/tr><tr valign=\"middle\" height=\"20\"><td  width=\"328\" height=\"18\">";
//	panostring += "<\/td><td><img src=\"..\/images\/zpv.jpg\" width=\"16\" height=\"16\" alt=\"Zoom In\" onMouseDown=\"parent.dozoomin()\" onMouseOut=\"parent.cbout()\"><\/td><td><img src=\"..\/images\/zmv.jpg\" width=\"16\" height=\"16\" alt=\"Zoom Ut\" onMouseDown=\"parent.dozoomout()\" onMouseOut=\"parent.cbout()\"><\/td><td><img src=\"..\/images\/helpv.jpg\" width=\"16\" height=\"16\" alt=\"Hjälp\" onMouseDown=\"parent.gethelp()\"><\/td><\/tr><\/table>";
//    panostring += "<table width=\"400\" border=\"0\" align=\"right\" cellpadding=\"0\"><tr><td height=\"32\" align=\"left\" valign=\"top\"><div align=\"center\"><a onMouseOver=\"parent.cbover('0')\" onMouseDown=\"parent.dopanleft()\" onMouseOut=\"parent.cbout()\"><img alt=\"Turn left\" name=\"cb0\" src=\"..\/images\/spin_left_up.jpg\" width=\"30\" height=\"30\"><\/a><\/div><\/td><td align=\"left\" valign=\"top\"><div align=\"center\"><a onMouseOver=\"parent.cbover('1')\" onMouseDown=\"parent.dopanup()\" onMouseOut=\"parent.cbout()\"><img alt=\"Look up\" name=\"cb1\" src=\"..\/images\/look_up_up.jpg\" width=\"30\" height=\"30\"><\/a><\/div><\/td><td align=\"left\" valign=\"top\"><div align=\"center\"><a onMouseOver=\"parent.cbover('2')\" onMouseDown=\"parent.dopandown()\" onMouseOut=\"parent.cbout()\"><img alt=\"Look down\" name=\"cb2\" src=\"..\/images\/look_down_up.jpg\" width=\"30\" height=\"30\"><\/a><\/div><\/td><td align=\"left\" valign=\"top\"><div align=\"center\"><a onMouseOver=\"parent.cbover('3')\" onMouseDown=\"parent.dopanright()\" onMouseOut=\"parent.cbout()\"><img alt=\"Turn right\" name=\"cb3\" src=\"..\/images\/spin_right_up.jpg\" width=\"30\" height=\"30\"><\/a><\/div><\/td><td align=\"left\" valign=\"top\"><div align=\"center\"><a onMouseOver=\"parent.cbover('4')\" onMouseDown=\"parent.dozoomin()\" onMouseOut=\"parent.cbout()\"><img alt=\"Zoom in\" name=\"cb4\" src=\"..\/images\/zoom_in_up.jpg\" width=\"30\" height=\"30\"><\/a><\/div><\/td><td align=\"left\" valign=\"top\"><div align=\"center\"><a onMouseOver=\"parent.cbover('5')\" onMouseDown=\"parent.dozoomout()\" onMouseOut=\"parent.cbout()\"><img alt=\"Zoom out\" name=\"cb5\" src=\"..\/images\/zoom_out_up.jpg\" width=\"30\" height=\"30\"><\/a><\/div><\/td><td align=\"left\" valign=\"top\"><div align=\"center\"><a onMouseDown=\"parent.gethelp()\" onMouseOver=\"parent.cbover('6')\" onMouseOut=\"parent.cbout()\"><img alt=\"Help\" name=\"cb6\" src=\"..\/images\/help_up.jpg\" width=\"30\" height=\"30\"><\/a><\/div><\/td><\/tr><\/table>";
//	panostring += "<form name=\"resform\" method=\"post\" action=\"\"><input type=\"radio\" name=\"radiobutton\" value=\"radiobutton\" " + chqual(0) + " onClick=\"parent.setqual('modem');parent.reloadscene();\">80 KB<input type=\"radio\" name=\"radiobutton\" value=\"radiobutton\" " + chqual(1) + " onClick=\"parent.setqual('ISDN');parent.reloadscene();\">150 KB<input type=\"radio\" name=\"radiobutton\" " + chqual(2) + " value=\"radiobutton\" onClick=\"parent.setqual('ADSL');parent.reloadscene();\">350 KB<input type=\"radio\" name=\"radiobutton\" " + chqual(3) + " value=\"radiobutton\" onClick=\"parent.setqual('bredband');parent.reloadscene();\">600 KB<\/form>";
    panostring += "<table width=\"127\" border=\"0\"><form name=\"resform\" method=\"post\" action=\"\"><tr><td width=\"58\" class=\"cont\"> <input type=\"radio\" name=\"radiobutton\" value=\"radiobutton\" " + radioqual("modem") + " onClick=\"parent.setqual('modem');parent.reloadscene();\"> 80 KB<\/td><td width=\"59\" class=\"cont\"> <input type=\"radio\" name=\"radiobutton\" value=\"radiobutton\" " + radioqual("ISDN") + " onClick=\"parent.setqual('ISDN');parent.reloadscene();\">150 KB<\/td><\/tr><tr> <td class=\"cont\"><input type=\"radio\" name=\"radiobutton\" value=\"radiobutton\" " + radioqual("ADSL") + " onClick=\"parent.setqual('ADSL');parent.reloadscene();\">350 KB<\/td><td class=\"cont\"><input type=\"radio\" name=\"radiobutton\" value=\"radiobutton\" " + radioqual("bredband") + " onClick=\"parent.setqual('bredband');parent.reloadscene();\">600 KB<\/td><\/tr><\/form><\/table> ";
    panostring += "<\/td><td  width=\"266\" align=\"left\"> ";
    panostring += "<table width=\"268\" border=\"0\" align=\"right\" cellpadding=\"0\"><tr align=\"center\" valign=\"middle\"> <td width=\"47\" height=\"32\"><div align=\"center\"><a onMouseOver=\"parent.cbover('0')\" onMouseDown=\"parent.dopanleft()\" onMouseOut=\"parent.cbout()\"><img alt=\"Turn left\" name=\"cb0\" src=\"..\/images\/spin_left_up.jpg\" width=\"30\" height=\"30\"><\/a><\/div><\/td><td width=\"30\"><div align=\"center\"><a onMouseOver=\"parent.cbover('1')\" onMouseDown=\"parent.dopanup()\" onMouseOut=\"parent.cbout()\"><img alt=\"Look up\" name=\"cb1\" src=\"..\/images\/look_up_up.jpg\" width=\"30\" height=\"30\"><\/a><\/div><\/td><td width=\"30\"><div align=\"center\"><a onMouseOver=\"parent.cbover('2')\" onMouseDown=\"parent.dopandown()\" onMouseOut=\"parent.cbout()\"><img alt=\"Look down\" name=\"cb2\" src=\"..\/images\/look_down_up.jpg\" width=\"30\" height=\"30\"><\/a><\/div><\/td><td width=\"47\"><div align=\"center\"><a onMouseOver=\"parent.cbover('3')\" onMouseDown=\"parent.dopanright()\" onMouseOut=\"parent.cbout()\"><img alt=\"Turn right\" name=\"cb3\" src=\"..\/images\/spin_right_up.jpg\" width=\"30\" height=\"30\"><\/a><\/div><\/td><td width=\"30\"><div align=\"center\"><a onMouseOver=\"parent.cbover('4')\" onMouseDown=\"parent.dozoomin()\" onMouseOut=\"parent.cbout()\"><img alt=\"Zoom in\" name=\"cb4\" src=\"..\/images\/zoom_in_up.jpg\" width=\"30\" height=\"30\"><\/a><\/div><\/td><td width=\"30\"><div align=\"center\"><a onMouseOver=\"parent.cbover('5')\" onMouseDown=\"parent.dozoomout()\" onMouseOut=\"parent.cbout()\"><img alt=\"Zoom out\" name=\"cb5\" src=\"..\/images\/zoom_out_up.jpg\" width=\"30\" height=\"30\"><\/a><\/div><\/td><td width=\"35\"><div align=\"center\"><a onMouseDown=\"parent.gethelp()\" onMouseOver=\"parent.cbover('6')\" onMouseOut=\"parent.cbout()\"><img alt=\"Help\" name=\"cb6\" src=\"..\/images\/help_up.jpg\" width=\"30\" height=\"30\"><\/a><\/div><\/td><\/tr><\/table> ";
	panostring += "<\/td><\/tr><\/table><\/body>";
	
//	document.logf.log.value = panostring + "    " + on_load;
	setTimeout("updatepanf()", 200);
//		document.debug1.tf1.value += hotspotstring;
}

// Sätter parametrar för aktuell panna Quicktime
function setuppanqtvr(pan_nr) {
		bodystring = "<body bgcolor=\"#FFFFFF\" ";
		bodystring += "onLoad=\"parent.statuspanf(\'";
		bodystring += pan_nr;
		bodystring += "\')\" >";
		
		panostring = "\<embed src=\"";
		if (document.resform.radiobutton[4].checked == true) {panostring += "..\/qtvr\/";}
		if (document.resform.radiobutton[5].checked == true) {panostring += "..\/bigqtvr\/";}
		panostring += pan_name[pan_nr];
		panostring += ".mov\" width=400 height=250 cache=\"true\" controller=\"true\" scale=\"tofit\" pluginspage=\"http:\/\/www.apple.com/quicktime/download\"\>";
}

function ifq() {
//	if ((document.resform.radiobutton[4].checked == true) || (document.resform.radiobutton[5].checked == true)) {
//		return true;
//	}
//	else {
		return false;
//	}
}

function updatepanf() {
	if (ifq()) {
		pf = window.open("htm/masterpanqtvr.htm", "panf");
	}
	else {
		pf = window.open("htm/masterpan.htm", "panf");
	}
}

// Laddar och startar angiven scen
function loadscene(scene_id) {
	if ((scene_id >= 0) && (scene_id <= pan_name.length)) {
		if (scene_id == 0) {scene_id = checkstart();}
		if (supfunc.indexOf("pan") != -1) {
			if (ifq()) {
				setuppanqtvr(scene_id);
			}
			else {
				setuppan(scene_id);
			}
		}
		active_scene = parseInt(scene_id);
		if (! islist) {buttonreset();}
		if (supfunc.indexOf("map") != -1) {updatemapf();}
		if (supfunc.indexOf("rub") != -1) {setuprub();}
		if (supfunc.indexOf("text") != -1) {setuptext();}
		checkscene();
		xv0l();
	}
}

function getorio(orio) {
	if (orio == "l") {return "left"}
	if (orio == "c") {return "center"}
	if (orio == "r") {return "right"}
	if (orio == "t") {return "top"}
	if (orio == "m") {return "middle"}
	if (orio == "b") {return "bottom"}
}

function setupmap() {
	var maptmp1 = getmap_array(""); 
	var maptmp2 = maptmp1.split(" ");
	var kartanr = parseInt(maptmp2[0]);
	if (! isNaN(kartanr)) {
	if (maptmp2[2] == "l") {islist = true; setupmaplist(kartanr); }
	else { islist = false;
	var karta = map_page[kartanr].split(" ");
	var kartaX = karta[1];
	var kartaY = karta[2];	
	var kartaC = karta[3];
	var kartaR = karta[4];
	var scenenr = maptmp2[1];
	kartaY = kartaY - 2 * kartaR;
	var colwidth = kartaX / kartaC;
	colwidth = Math.round(colwidth);
	var rowhight = kartaY / kartaR;
	rowhight = Math.round(rowhight);
	var buttons = new Array();
	mapstring = "\<body bgcolor=\"#FFFFFF\" onLoad=\"parent.activebutton()\;parent.statusmapf(\'" + kartanr + "\')\;\"\>";
	mapstring += "\<table width\=\"" + kartaX + "\" height\=\"" + kartaY + "\" align\=\"center\" border\=\"0\" cellpadding\=\"0\" background\=\"..\/images\/" + karta[0] + "\"\>";
	var l = 0;
	for (var k = 0;k < map_array.length;k++) {
		maptmp2 = map_array[k].split("¤");
		maptmp1 = maptmp2[1].split(" ");
		if ((maptmp1[0] == kartanr) && (maptmp1[2] != "q")) {
			buttons[l] = maptmp1[0] + " " + maptmp1[1] + " " + maptmp1[2] + " " + maptmp1[3] + " " + maptmp1[4] + " " + maptmp1[5] + " " + maptmp1[6];
			l++;
		}
	}
	for (var i = 1;i <= kartaR; i++) {
		mapstring += "\<tr\>";
		for (var j = 1;j <= kartaC; j++) {
			mapstring += "\<td"; 
			if (i == 1) {
				mapstring += " width\=\"" + colwidth +"\""; 
			}
			if (j == 1) {
				mapstring += " height\=\"" + rowhight +"\""; 
			}		
			for (var m = 0; m < l; m ++) {
				maptmp1 = buttons[m];
				maptmp2 = maptmp1.split(" ");
				if ((maptmp2[2] == j) && (maptmp2[3] == i)) {
					mapstring += " align\=\"" + getorio(maptmp2[4]) +"\" " + "valign\=\"" + getorio(maptmp2[5]) + "\"\> ";
					var isg = maptmp2[6].indexOf("g");
					if (isg != -1) {
						var dog = parseInt(maptmp2[6].slice(1));
						mapstring += " \<a href\=\"javascript:parent.startguide(\'" + dog + "\')\"\>";
						mapstring += " \<img alt\=\"Effect nr " + dog +"\" src\=\"" + icondir + geticon(gettype(0)) + "_o.gif\" name\=\"g" + dog + "\" width\=\"15\" height\=\"15\" border\=\"0\"\>\<\/a";
					}
					else {
						mapstring += " \<a href\=\"javascript:parent.loadscene(\'" + maptmp2[1] + "\')\"  onMouseOver\=\"parent.buttonisover(\'" + maptmp2[1] + "\')\" onMouseOut\=\"parent.buttonisout()\"\>";
						mapstring += " \<img alt\=\"" + getalt(maptmp2[1]) +"\" src\=\"" + icondir + geticon(gettype(maptmp2[1])) + ".gif\" name\=\"b" + maptmp2[1] + "\" width\=\"15\" height\=\"15\" border\=\"0\"\>\<\/a";
					}	
				}
			}
			mapstring += "\>\<\/td\>";
		}
		mapstring += "\<\/tr\>";	
	}
	mapstring += " \<\/table\> \<\/body\>";
	}
	}	
	setTimeout("openmap()", 300);
}

function setupmaplist(kartanr) {
	var kartaC = map_page[kartanr].split(" ");
	var kartaX = kartaC[1];
	var kartaY = kartaC[2];	
	var rowtmp = ""
	var ro = 0;
	var rows = new Array;
	for (var i=0;i < map_array.length; i ++) {
		var rowtmp2 = map_array[i].split("¤");
		rowtmp = rowtmp2[1].split(" ");
		if (rowtmp[0] == kartanr) {
			rows[ro] = rowtmp[1];
			ro ++;
		}
	}
	kartaY = kartaY - 2 * ro;
	mapstring = "\<link href\=\"..\/htm\/design0.css\" rel\=\"stylesheet\" type\=\"text\/css\"\>";
	mapstring += "\<body bgcolor=\"#FFFFFF\" onLoad=\"parent.statusmapf(\'" + kartanr + "\')\;\"\>";
	mapstring += "\<table width\=\"" + kartaX + "\" height\=\"" + kartaY + "\" align\=\"center\" border\=\"0\" cellpadding\=\"0\" background\=\"..\/images\/" + kartaC[0] + "\"\>";
	kartaX = kartaY - 31 * ro;
	for (i = 0;i < ro; i ++) {
		mapstring += "\<tr\>\<td\>\<div align\=\"right\"\>";
		mapstring += "\<a href\=\"javascript:parent.loadscene(" + rows[i] + ")\"\>" + getalt(rows[i]) + "\<\/a\>\<\/div\>\<\/td\>\<\/tr\>";
	}
	mapstring += "\<tr\>\<td align\=\"left\" valign\=\"bottom\" height\=\"" + kartaX +"\"\>\<div align\=\"left\"\>";
	mapstring += "\<a href\=\"javascript:parent.loadscene(0)\"\>\<img src\=\"..\/images\/map_up.jpg\" width\=\"18\" height\=\"22\" alt\=\"Return to main map\"\>\<\/a\>\<\/div\>\<\/td\>\<\/tr\>";
	mapstring += " \<\/table\> \<\/body\>";
	
	setTimeout("openmap()", 300);
}

function trymap() {
	var custtmp = getcustarr("").split("¤");
	if (custtmp.length > 2) {
		var kartanr = getcustid(""); 
		var bynamn = "";
		var pos1 = custtmp[2].indexOf("by=");
		if (pos1 != -1) {
			pos1 = pos1 + 3;
			var pos2 = custtmp[2].indexOf(":", pos1);
			bynamn = custtmp[2].slice(pos1, pos2);
		}
		
		var kartaC = map_page[getbyid(bynamn)].split(" ");
		var kartaX = kartaC[1];
		var kartaY = kartaC[2];	
		var rowtmp = ""
		var ro = 0;
		var rows = new Array;
		for (var i=0;i < pan_name.length; i ++) {
			rowtmp = pan_name[i].split("¤");
			if (rowtmp.length > 3) {
				if (rowtmp[2] == kartanr) {
					rows[ro] = rowtmp[0];
					ro ++;
				}
			}
		}
		kartaY = kartaY - 2 * ro;
		mapstring = "\<link href\=\"..\/htm\/design0.css\" rel\=\"stylesheet\" type\=\"text\/css\"\>";
		mapstring += "\<body bgcolor=\"#FFFFFF\" onLoad=\"parent.statusmapf(\'" + kartanr + "\')\;\"\>";
		mapstring += "\<table width\=\"" + kartaX + "\" height\=\"" + kartaY + "\" align\=\"center\" border\=\"0\" cellpadding\=\"0\" background\=\"..\/images\/" + kartaC[0] + "\"\>";
		kartaX = kartaY - 31 * ro;
		var j = 1
		for (i = 0;i < ro; i ++) {
			mapstring += "\<tr\>\<td\>\<div align\=\"right\"\>";
			mapstring += "\<a href\=\"javascript:parent.loadscene(" + rows[i] + ")\"\>" + j + " " + getalt(rows[i]) + "\<\/a\>\<\/div\>\<\/td\>\<\/tr\>";
			j ++;
		}
		mapstring += "\<tr\>\<td align\=\"left\" valign\=\"bottom\" height\=\"" + kartaX +"\"\>\<div align\=\"left\"\>";
		mapstring += "\<a href\=\"javascript:parent.loadscene(0)\"\>\<img src\=\"..\/images\/map_up.jpg\" width\=\"18\" height\=\"22\" alt\=\"Return to main map\"\>\<\/a\>\<\/div\>\<\/td\>\<\/tr\>";
		mapstring += " \<\/table\> \<\/body\>";
		islist = true;
		setTimeout("openmap()", 300);	
	}
}

function updatemapf() {
	var maptmp1 = getmap_array(""); 
	var maptmp2 = maptmp1.split(" ");
	map_id = parseInt(maptmp2[0]);
	if (! isNaN(map_id)) {
		
//	document.debug1.tf1.value += map_id + "  " + active_map + "  " + statmg + " \;: ";
		if ((map_id != active_map) || (statmg != map_id)) {
			active_map = map_id;
			setupmap();
		}
		else {
			if ((mf.location.href.indexOf("rror")) != -1) {
				setTimeout("updatelist()", 3000);
			}
			else {
			activebutton();	
			}
		}
	}
//	else {trymap();}
}

function openmap() {
	mf = window.open("htm/mastermap.htm", "mapf");
}

function setuplist() {
	var dirtmp2 = "";
	var nametmp2 = "";
	var lastdir  = "";
	var tableh = 0;
	
	liststring = "";
	
	for (i = 1; i < pan_name.length; i ++) {
		dirtmp2 = getscenedir(i);
		if ((dirtmp2 != lastdir) && (dirtmp2 != "")) {
			liststring += "\<tr align\=\"left\"\>\<td height\=\"25\" colspan\=\"2\"\>\<strong\>" + dirtmp2 + "\<\/strong\>\<\/td\>\<\/tr\>";
			lastdir = dirtmp2;
			tableh = tableh + 28; 	
		}
		nametmp2 = getscenefile(i);
		liststring += "\<tr\>\<td height\=\"20\" align\=\"\center\"\>" + i + "\<\/td\>\<td align\=\"left\"\>\<a href\=\"javascript:parent.loadscene(\'" + i + "\')\">" + nametmp2 + "\<\/a\>\<\/td\>\<\/tr\>";
		tableh = tableh + 23;
	}
	tableh = tableh + 51;
	nametmp2 = "\<body onLoad=\"parent.statusmapf(\'1000\')\;\"\>\<table width\=\"220\" height\=\"" + tableh + "\" border\=\"0\"\>\<tr align\=\"left\"\>\<td height\=\"25\" colspan\=\"2\"\>\<h3\>" + firstup(filtercustname(0)) + "\<\/h3\>\<\/td\>\<\/tr\>\<tr\>\<td width\=\"20\" height\=\"2\" align\=\"center\"\>\<\/td\>\<td width\=\"200\" align=\"left\"\>\<\/td\>\<\/tr\>";
	dirtmp2 = nametmp2 + liststring;
	liststring = dirtmp2;
	liststring += "\<\/table\>\<\/body\>";
	setTimeout("openlist()", 300);
}

function updatelist() {
	setuplist();
}

function openlist() {
	window.open("htm/masterlist.htm", "mapf");
}

function makegstr(sx,sy,sz,gx,gy,gz,t) {
	sx = parseFloat(sx);
	sy = parseFloat(sy);
	sz = parseFloat(sz);
	gx = parseFloat(gx);
	gy = parseFloat(gy);
	gz = parseFloat(gz);
	t = parseFloat(t);
	var stepstring = "";
	var steps = 0;
	var dir = 1;
	var dir2 = 1;

	var dX = 0;
	var dY = 0;
	var dZ = 0;
	
	steps = Math.round(t / speed);
	dX = ((180 + gx) - (180 + sx));
	if (dX > 0) {dir = -1;}
	else {dir = 1;}
	if (Math.abs(dX) < 180) {dir2 = -1;}
	else {dir2 = 1;dX = Math.abs(dX) - 180;}
	dir = dir * dir2;
	dX = parseFloat(dX / steps * dir);
	dY = parseFloat(((90 + gy) - (90 + sy)) / steps);
	dZ = parseFloat((sz - gz) / steps * -1); 
	document.logf.log.value += "X:" + dX + "  Y:" + dY + "  Z:" + dZ + " steg:" + steps;
	for (var j=1; j < steps; j ++){
		sx = sx + dX;
		if (sx > 180) {sx = sx - 360}
		if (sx < -180) {sx = sx + 360}
		sy = sy + dY;
		sz = sz + dZ;
		stepstring += "panf.document.ptviewer.gotoView(" + sx + "," + sy + "," + sz + ")\;¤";
	}
	stepstring += "panf.document.ptviewer.gotoView(" + gx + "," + gy + "," + gz + ")\;¤";
	return stepstring;
}

function getguideid(guideid) {
	var gnr = 0;
	var pos = 0;
	for (var i=0; i < guide_array.length; i ++) {
		gnr = guide_array[i].split("¤");
		if (gnr[0] == guideid) {
			pos = guide_array[i].indexOf("¤");
			return guide_array[i].slice(pos+1);
			i = guide_array.length;
		}
	}
	return "";
}

function startguide(guideid) {
	xvd("2:20");
	play = true;
	counter = 0;

	var moves = getguideid(parseInt(guideid)).split("¤");
	for (counter=0; counter < moves.length; counter ++) {
	if (moves[counter] != undefined) {
		var movestr = moves[counter].split(" ");	
		if (movestr[0] == "p") {
			var tstart = parseInt((new Date()).getTime()) + parseInt(movestr[1]);
			var nowt = "";
			do {
				nowt = (new Date()).getTime();
			} while (nowt < tstart);
		}
		if (movestr[0] == "ls") {
			if (movestr.length > 2) {
				setTimeout("eval(loadscene(parseInt(movestr[1])))", parseInt(movestr[2]));
			}
			else {loadscene(movestr[1]);}
		}
		if (movestr[0] == "sc") {
			if (movestr.length > 2) {
				setTimeout("eval(panf.document.ptviewer.ShowHSImage(parseInt(movestr[1])))", parseInt(movestr[2]));
			}
			else {eval(panf.document.ptviewer.DrawHSImage(parseInt(movestr[1])));}
		}
		if (movestr[0] == "cc") {
			if (movestr.length > 2) {
				setTimeout("eval(panf.document.ptviewer.HideHSImage(parseInt(movestr[1])))", parseInt(movestr[2]));
			}
			else {eval(panf.document.ptviewer.HideHSImage(parseInt(movestr[1])));}
		}
		if (movestr[0] == "sa") {
			if (movestr.length > 2) {
				setTimeout("eval(panf.document.ptviewer.startApplet(parseInt(movestr[1])))", parseInt(movestr[2]));
			}
			else {panf.document.ptviewer.startApplet(parseInt(movestr[1]));}
		}
		if (movestr[0] == "ca") {
			if (movestr.length > 2) {
				setTimeout("eval(panf.document.ptviewer.stopApplet(parseInt(movestr[1])))", parseInt(movestr[2]));
			}
			else {panf.document.ptviewer.stopApplet(parseInt(movestr[1]));}
		}
		if (movestr[0] == "st") {
			tf = window.open("..\/" + language + "\/" + movestr[1] + ".htm", "textf");
		}
		if ((movestr[0] == "gt") && (movestr.length > 4)) {
			eval(panf.document.ptviewer.stopAutoPan());
			eval(panf.document.ptviewer.moveTo(parseFloat(movestr[1]), parseFloat(movestr[2]), parseFloat(movestr[3]), parseFloat(movestr[4])));
			eval(panf.document.ptviewer.waitWhilePanning());
		}
		if (! isNaN(parseInt(movestr[0]))) {
			var X = panf.document.ptviewer.pan();
			var Y = panf.document.ptviewer.tilt();
			var Z = panf.document.ptviewer.fov();
			moveA = makegstr(X, Y, Z, movestr[0], movestr[1], movestr[2], movestr[3]).split("¤");
			document.logf.log.value += moveA;
			if (moveA.length > 0) {
				counter ++;
				scounter = 0;
				panf.document.ptviewer.stopAutoPan();				
				interv = setInterval("runshow()", speed);
			}
		}
	}
	}
}

function runshow() {
	if (play && (scounter < moveA.length)) {
		eval(moveA[scounter]);
		scounter ++;
	}
	else {
		clearInterval(interv);
		interv = 0;
		eval(panf.document.ptviewer.stopAutoPan());
	}
}

function reloadscene() {
	loadscene(active_scene);
}

function statuspanf(statp) {
	statpg = parseInt(statp);
}

function statusmapf(statm) {
	statmg = parseInt(statm);
//	document.debug1.tf1.value += statmg;
}

function statustextf(statt) {
	stattg = parseInt(statt);
}

function statusrubf(statt) {
	statrg = parseInt(statr);
}

function ckpan() {
	if (supfunc.indexOf("pan") != -1) {
		if (statpg == active_scene) {return true;} else {return false;}
	}
	else {return true;}
}

function ckmap() {
	if (supfunc.indexOf("map") != -1) {
		if (statmg == map_id) {return true;} else {return false;}
	}
	else {return true;}
}

function cktext() {
	if (supfunc.indexOf("text") != -1) {
		if (stattg == active_scene) {return true;} else {return false;}
	}
	else {return true;}
}

function ckrub() {
	if (supfunc.indexOf("rub") != -1) {
		if (stattg == active_scene) {return true;} else {return false;}
	}
	else {return true;}
}

function scenestatus() {
	if (ckpan() && ckmap() && cktext()) {
		return true;
	}
	else {
		return false;
	}
}

function checkscene() {
	loadtry++;
	if (scenestatus()) {
		isl = false;
		loadtry = 0;
	}
	else {
		if (loadtry > 30) {errorload();} 
		else {
		isl = true;
		setTimeout("checkscene()", 1000);
		}
	}
}

function errorload() {
	isl = false;
	loadtry = 0;
//	alert(" Pan " + statpg + "  " + active_scene + "\n Map " + statmg + "  " + map_id + "\n Text " + stattg + "  " + active_scene);
	if ((statpg != active_scene) && (supfunc.indexOf("pan") != -1)) {updatepanf();} 
	if ((statmg != map_id) && (supfunc.indexOf("map") != -1)) {updatemapf();}
	if ((stattg != active_scene) && (supfunc.indexOf("text") != -1)) {setuptext();}
}

function openblank() {
	tf = window.open("htm/blank.htm", "textf");
}

function activebutton() {
		var btmp3 = "b" + active_scene;
		if ((! islist) && (mapf.document.images[btmp3] != undefined)) {
		mapf.document.images[btmp3].src = icondir + geticon(gettype("")) + "_a.gif";
	}
}

function buttonreset() {
	var buttontmp1;
	var buttontmp2;
	for (var ib = 0; ib <= (mapf.document.images.length - 1); ib ++) {
		if (mapf.document.images[ib].name.indexOf("b") != -1) {
			buttontmp1 = mapf.document.images[ib].name.split("b");
			buttontmp2 = gettype(buttontmp1[1]);
			mapf.document.images[ib].src = icondir + geticon(buttontmp2) + ".gif";
		}
	}
}

function buttonisover(tmp) {
	if (isl == false) {
		button_id = "b" + tmp;
		button_nr = gettype(tmp);
		mapf.document.images[button_id].src = icondir + geticon(button_nr) + "_o.gif";
	}
}

function buttonisout() {
	if (isl == false) {
		button_over = "b" + active_scene;
		if (button_over == button_id) {
			mapf.document.images[button_id].src = icondir + geticon(button_nr) + "_a.gif";
			} 
		else {
			mapf.document.images[button_id].src = icondir + geticon(button_nr) + ".gif";
		}
	}
}

function cbover(cb_index) {
	cbtmp = cb_index;
	panf.document.images["cb" + cbtmp].src = cbd[cbtmp];
}

function cbout() {
	panf.document.images["cb" + cbtmp].src = cbu[cbtmp];
//	if ((! isl) && (ifq() == false) && (cbtmp != 6) && (pors == false))  {
		panf.document.ptviewer.stopAutoPan();
//	}
}

function mbover(mb_index) {
	cbtmp = mb_index;
	if ((cbtmp == 2) && pors) {
		document.images["mb" + cbtmp].src = mbd[3];		
	}
	else {
		document.images["mb" + cbtmp].src = mbd[cbtmp];
	}
}

function mbout() {
	if ((cbtmp == 2) && pors) {
		document.images["mb" + cbtmp].src = mbu[3];		
	}
	else {
		document.images["mb" + cbtmp].src = mbu[cbtmp];
	}

}

function sorp() {
	if (mf.location.href.indexOf("still") == -1) {
		pors = true; 
		mf = window.open("swedish\/still.htm", "mapf");
	}
	else {
		tillpan();
	}
}

function tillpan() {
			pors = false;
			cbtmp = 2;
			mbout();
			reloadscene();
}

function dopanleft() {if ((! isl) && (ifq() == false)) {panf.document.ptviewer.startAutoPan(-1.0,0,1.0);}}

function dopanright() {if ((! isl) && (ifq() == false)) {panf.document.ptviewer.startAutoPan(1.0,0,1.0);}}

function dopanup() {if ((! isl) && (ifq() == false)) {panf.document.ptviewer.startAutoPan(0,1.0,1.0);}}

function dopandown() {if ((! isl) && (ifq() == false)) {panf.document.ptviewer.startAutoPan(0,-1.0,1.0);}}

function dozoomin() {if ((! isl) && (ifq() == false)) {panf.document.ptviewer.startAutoPan(0,0,0.99);}}

function dozoomout() {if ((! isl) && (ifq() == false)) {panf.document.ptviewer.startAutoPan(0,0,1.01);}}

function gethelp() {if (! isl) {window.open(("..\/" + language + "\/help.htm"), "helpf", "width=413,height=549");}}

function showslide(slide_id) {
	if ((slide_id >= 1) && (slide_id <= 14)) {
		var temp2 = slide[slide_id].split(" ");
//		var temp1 = "..\/images\/" + temp2[0] + ".jpg";
		bodystring = "background-image: url(..\/images\/" + temp2[0] + ".jpg)\;";
		temp2 = "..\/" + language + "\/bt" + slide_id + ".htm";
		mf = window.open("masterimage.htm", "mapf");
		tf = window.open(temp2, "textf");
	}
}

function opentextf(texturl) {
	tf = window.open(texturl, "textf");
}