function panorama( url, xwidth, xheight)
{
	iMyWidth = (window.screen.width - xwidth ) / 2 ;
	iMyHeight = (window.screen.height - xheight ) / 2;
	return window.open(url, "panorama","height="+xheight+",width="+xwidth+",left=" + iMyWidth + ",top=" + iMyHeight + ",screenX=" + iMyWidth + ",screenY=" + iMyHeight + ",scrollbars=auto, toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,directories=no,resizable=no");
}

function add_arg(addr,promenna,val)
{
	var roz_addr= addr.split("?");
	if (roz_addr.length==1)
		out=roz_addr[0]+'?'+promenna+'='+val;
	else
	{
		var promenne=roz_addr[1].split("&");
		var nove_prom='';
		var vlozeno=false;
		for(i = 0; i < promenne.length; i++)
		{
			var temp=promenne[i].split("=");
		  if (nove_prom.length==0)
		  	nove_prom+="?";
			else
			  nove_prom+="&";
			if (temp[0]==promenna)
			{
			  vlozeno=true;
			  nove_prom+=temp[0]+"="+val;
			}
			else
			  nove_prom+=temp[0]+"="+temp[1];
		}
		if (vlozeno==false)
		{
		  if (nove_prom.length==0)
		  	nove_prom+="?";
			else
			  nove_prom+="&";
		  nove_prom+=promenna+"="+val;
		}
		out=roz_addr[0]+nove_prom;
	}
	return out;
}

	function validace()
	{
		var el=document.getElementById("start_zoom");
		start_zoom=parseFloat(el.value);
		var el=document.getElementById("max_zoom");
		max_zoom=parseFloat(el.value);
		var el=document.getElementById("min_zoom");
		min_zoom=parseFloat(el.value);
		if (min_zoom>165)
		{
			alert("Minimální zoom musí být menší než 165.");
			return false;
		}
		if (max_zoom<12)
		{
			alert("Minimální zoom musí být větší než 12.");
			return false;
		}
		if (min_zoom<max_zoom)
		{
			alert("Nesedí minimální a maximální zoom.");
			return false;
		}
		if (start_zoom>min_zoom)
		{
			alert("Startovací zoom nesedí s minimálním zoomem.");
			return false;
		}
		if (start_zoom<max_zoom)
		{
			alert("Startovací zoom nesedí s maximálním zoomem.");
			return false;
		}
		return true;
	}
	function info()
	{
		if (!document.embeds[0])
			var uhel=document.ptviewer.tilt();
		else
			var uhel=document.embeds[0].tilt();
		var el=document.getElementById("v_uhel");
		el.value=uhel;

		if (!document.embeds[0])
			var uhel=document.ptviewer.pan();
		else
			var uhel=document.embeds[0].pan();
		var el=document.getElementById("h_uhel");
		el.value=uhel;

		if (!document.embeds[0])
			var zoom=document.ptviewer.fov();
		else
			var zoom=document.embeds[0].fov();
		var el=document.getElementById("zoom");
		el.value=zoom;

		return;
	}
	function zmen()
	{
		var el1=document.getElementById("h_uhel");
		var h_hodnota=el1.value;
		var el2=document.getElementById("v_uhel");
		var v_hodnota=el2.value;
		if (((h_hodnota.length==1)&&(h_hodnota[0]='-'))||((v_hodnota.length==1)&&(v_hodnota[0]='-')))
		{
		}
		else
		{
			var h_uhel=parseFloat(el1.value);
			var v_uhel=parseFloat(el2.value);
			var el=document.getElementById("zoom");
			var zoom=parseFloat(el.value);
			if ((zoom>=12)&&(zoom<=165))
			{
				if (!document.embeds[0])
					document.ptviewer.gotoView(h_uhel,v_uhel,zoom);
				else
					document.embeds[0].gotoView(h_uhel,v_uhel,zoom);
				info();
			}
		}
	}
	function posunvlevo()
	{
		if (!document.embeds[0])
			document.ptviewer.panLeft();
		else
			document.embeds[0].panLeft();
		info();
		return false;
	}
	function posunvpravo()
	{
		if (!document.embeds[0])
			document.ptviewer.panRight();
		else
			document.embeds[0].panRight();
		info();
		return false;
	}
	function posunnahoru()
	{
		if (!document.embeds[0])
		{
			document.ptviewer.panUp();
		}
		else
		{
			document.embeds[0].panUp();
		}
		info();
		return false;
	}
	function posundolu()
	{
		if (!document.embeds[0])
		{
			document.ptviewer.panDown();
		}
		else
		{
			document.embeds[0].panDown();
		}
		info();
		return false;
	}

	function zoomin(i)
	{
		if (i==0)
		{
			if (!document.embeds[0])
				document.ptviewer.ZoomIn();
			else
				document.embeds[0].ZoomIn();
		}
		else
		{
			if (!document.embeds[0])
			{
				var zoom=document.ptviewer.fov();
				var h_uhel=document.ptviewer.pan();
				var v_uhel=document.ptviewer.tilt();
			}
			else
			{
				var zoom=document.embeds[0].fov();
				var h_uhel=document.ptviewer.pan();
				var v_uhel=document.ptviewer.tilt();
			}
			zoom-=i;
			if (!document.embeds[0])
				document.ptviewer.gotoView(h_uhel,v_uhel,zoom);
			else
				document.embeds[0].gotoView(h_uhel,v_uhel,zoom);
		}
		info();
		return false;
	}
	function zoomout(i)
	{
		if (i==0)
		{
			if (!document.embeds[0])
				document.ptviewer.ZoomOut();
			else
				document.embeds[0].ZoomOut();
		}
		else
		{
			if (!document.embeds[0])
			{
				var zoom=document.ptviewer.fov();
				var h_uhel=document.ptviewer.pan();
				var v_uhel=document.ptviewer.tilt();
			}
			else
			{
				var zoom=document.embeds[0].fov();
				var h_uhel=document.embeds[0].pan();
				var v_uhel=document.embeds[0].tilt();
			}
			zoom+=i;
			if (!document.embeds[0])
				document.ptviewer.gotoView(h_uhel,v_uhel,zoom);
			else
				document.embeds[0].gotoView(h_uhel,v_uhel,zoom);
		}
		info();
		return false;
	}


	function nastavzoom(i)
	{
		var el=document.getElementById("zoom");
		zoom=el.value;
		if (i==0)
		{
			var el=document.getElementById("start_zoom");
		}
		else
		{
			if (i>0)
				var el=document.getElementById("max_zoom");
			else
				var el=document.getElementById("min_zoom");
		}
		el.value=zoom;
		return false;
	}
	var UA = function()
	{
		var sUA = navigator.userAgent.toLowerCase();
		var oReturn =  {
			bIsWebKit : sUA.indexOf("applewebkit") > -1,
			bIsSafari : sUA.indexOf("safari") > -1,
			bIsKonq: navigator.product != null && navigator.product.toLowerCase().indexOf("konqueror") > -1,
			bIsOpera : sUA.indexOf("opera") > -1,
			bIsXML : document.contentType != null && document.contentType.indexOf("xml") > -1,
			bHasTransparencySupport : true,
			bUseDOM : true,
			nFlashVersion : null,
			nOperaVersion : null,
			nGeckoBuildDate : null,
			nWebKitVersion : null
		};

		oReturn.bIsKHTML = oReturn.bIsWebKit || oReturn.bIsKonq;
		oReturn.bIsGecko = !oReturn.bIsWebKit && navigator.product != null && navigator.product.toLowerCase() == "gecko";
		if(oReturn.bIsGecko){ oReturn.nGeckoBuildDate = new Number(sUA.match(/.*gecko\/(\d{8}).*/)[1]) };
		oReturn.bIsIE = sUA.indexOf("msie") > -1 && !oReturn.bIsOpera && !oReturn.bIsKHTML && !oReturn.bIsGecko;
		oReturn.bIsIEMac = oReturn.bIsIE && sUA.match(/.*mac.*/) != null;
		if(oReturn.bIsOpera){ oReturn.nOperaVersion = new Number(sUA.match(/.*opera(\s|\/)(\d+\.\d+)/)[2]) };
		if(oReturn.bIsIE || (oReturn.bIsOpera && oReturn.nOperaVersion < 7.6)){ oReturn.bUseDOM = false };
		if(oReturn.bIsWebKit){ oReturn.nWebKitVersion = new Number(sUA.match(/.*applewebkit\/(\d+).*/)[1]) };
		if(window.hasFlash && (!oReturn.bIsIE || oReturn.bIsIEMac)){
			var flashDescription = (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description;
			oReturn.nFlashVersion = parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1));
		};
		if(sUA.match(/.*(windows|mac).*/) == null ||
		oReturn.bIsIEMac || oReturn.bIsKonq ||
		(oReturn.bIsOpera && oReturn.nOperaVersion < 7.6) ||
		(oReturn.bIsSafari && oReturn.nFlashVersion < 7) ||
		(!oReturn.bIsSafari && oReturn.bIsWebKit && oReturn.nWebKitVersion < 124) ||
		(oReturn.bIsGecko && oReturn.nGeckoBuildDate < 20020523)){
			oReturn.bHasTransparencySupport = false;
		};

		if(!oReturn.bIsIEMac && !oReturn.bIsGecko && document.createElementNS){
			try {
				document.createElementNS("http://www.w3.org/1999/xhtml", "i").innerHTML = "";
			} catch(e){
				oReturn.bIsXML = true;
			};
		};

		oReturn.bUseInnerHTMLHack = oReturn.bIsKonq || (oReturn.bIsWebKit && oReturn.nWebKitVersion < 312) || oReturn.bIsIE;

		return oReturn;
	}();

pano_object = {
	initjava : function()
	{
		myHeader = document.getElementById("pano_object");
		pano_object.insertjava(myHeader, file_pan, wait_pan, barcolor_pan, auto_pan, panmin_pan ,panmax_pan, pan_pan, tilt_pan, fovmin_pan, fovmax_pan, fov_pan);

	},

	initqt : function()
	{
		myHeader = document.getElementById("pano_object");
		pano_object.insertqt(myHeader, file_pan);
	},

	initdetect : function()
	{
		myHeader = document.getElementById("detect_object");
		pano_object.insertdetect(myHeader);
	},

	createObjectParameter : function(nodeObject, sName, sValue)
	{
		var node = document.createElement("param");

		node.setAttribute("name", sName);
		node.setAttribute("value", sValue);
		nodeObject.appendChild(node);
	},

	insertjava : function(myElement, file, wait, barcolor, auto, panmin ,panmax, pan, tilt, fovmin, fovmax, fov)
	{
		if(!UA.bUseDOM)
		{
		  outHTML = "<object codebase=\"http://java.sun.com/update/1.4.2/jinstall-1_4-windows-i586.cab#Version=1,4,0,0\"  height=\"240\" width=\"360\" classid=\"clsid:8AD9C840-044E-11D1-B3E9-00805F499D93\" name=\"ptviewer\" id=\"ptviewer\">";
			outHTML+= "<param name=\"archive\" value=\"ptviewer.jar\"><param name=\"code\" value=\"ptviewer.class\"><param name=\"type\" value=\"application/x-java-applet;version=1.4\"><param name=\"mayscript\" value=\"true\">";
			outHTML+= "<param name=\"scriptable\" value=\"false\"><param name=\"file\" value=\""+file+"\"><param name=\"wait\" value=\""+wait+"\">";
			outHTML+= "<param name=\"bar_x\" value=\"24\"><param name=\"bar_y\" value=\"142\"><param name=\"bar_width\" value=\"311\"><param name=\"bar_height\" value=\"21\">";
			outHTML+= "<param name=\"barcolor\" value=\""+barcolor+"\"><param name=\"bgcolor\" value=\"ffffff\"><param name=\"auto\" value=\""+auto+"\"><param name=\"panmin\" value=\""+panmin+"\"><param name=\"panmax\" value=\""+panmax+"\"><param name=\"pan\" value=\""+pan+"\"><param name=\"tiltmin\" value=\"-90\">";
			outHTML+= "<param name=\"tiltmax\" value=\"90\"><param name=\"tilt\" value=\""+tilt+"\"><param name=\"fovmin\" value=\""+fovmin+"\"><param name=\"fovmax\" value=\""+fovmax+"\"><param name=\"fov\" value=\""+fov+"\">";
			outHTML+= "<comment>";
      outHTML+= "<embed type=\"application/x-java-applet;version=1.4\" archive=\"modules/panorama/ptviewer.jar\" code=\"ptviewer.class\" swLiveConnect=\"true\"	swLiveConnect=\"true\" name=\"ptviewer\" id=\"ptviewer\" width=\"360\" height=\"240\" bar_x=\"24\" bar_y=\"142\" bar_width=\"311\" bar_height=\"21\" bgcolor=\"ffffff\" tiltmin=\"-90\" tiltmax=\"90\" pluginspage =\"http://java.sun.com/products/plugin/index.html#download\" file=\""+file+"\" wait=\""+wait+"\" barcolor=\""+barcolor+"\" auto=\""+auto+"\" panmin=\""+panmin+"\" panmax=\""+panmax+"\" pan=\""+pan+"\" tilt=\""+tilt+"\" fovmin=\""+fovmin+"\" fovmax=\""+fovmax+"\" fov=\""+fov+"\">";
			outHTML+="<noembed>alt=\"Your browser understands the &lt;APPLET&gt; tag but isn't running the applet, for some reason.\" Your browser is completely ignoring the &lt;APPLET&gt; tag!</noembed></embed></comment></object>";
			myElement.innerHTML = [outHTML].join("");
		}
		else
		{
			nodeJava = document.createElement("object");

			nodeJava.setAttribute("codebase","http://java.sun.com/update/1.4.2/jinstall-1_4-windows-i586.cab#Version=1,4,0,0");
			nodeJava.setAttribute("height","240");
			nodeJava.setAttribute("width","360");
			nodeJava.setAttribute("classid","clsid:8AD9C840-044E-11D1-B3E9-00805F499D93");
			nodeJava.setAttribute("name","ptviewer");
			nodeJava.setAttribute("id","ptviewer");


			pano_object.createObjectParameter(nodeJava,"type","application/x-java-applet;version=1.4");
			pano_object.createObjectParameter(nodeJava,"archive","ptviewer.jar");
			pano_object.createObjectParameter(nodeJava,"code","ptviewer.class");
			pano_object.createObjectParameter(nodeJava,"mayscript","true");
			pano_object.createObjectParameter(nodeJava,"scriptable","false");
			pano_object.createObjectParameter(nodeJava,"file",file);
			pano_object.createObjectParameter(nodeJava,"wait",wait);
			pano_object.createObjectParameter(nodeJava,"bar_x","24");
			pano_object.createObjectParameter(nodeJava,"bar_y","142");
			pano_object.createObjectParameter(nodeJava,"bar_width","311");
			pano_object.createObjectParameter(nodeJava,"bar_height","21");
			pano_object.createObjectParameter(nodeJava,"barcolor",barcolor);
			pano_object.createObjectParameter(nodeJava,"bgcolor","ffffff");
			pano_object.createObjectParameter(nodeJava,"auto",auto);
			pano_object.createObjectParameter(nodeJava,"panmin",panmin);
			pano_object.createObjectParameter(nodeJava,"panmax",panmax);
			pano_object.createObjectParameter(nodeJava,"pan",pan);
			pano_object.createObjectParameter(nodeJava,"tiltmin","-90");
			pano_object.createObjectParameter(nodeJava,"tiltmax","90");
			pano_object.createObjectParameter(nodeJava,"tilt",tilt);
			pano_object.createObjectParameter(nodeJava,"fovmin",fovmin);
			pano_object.createObjectParameter(nodeJava,"fovmax",fovmax);
			pano_object.createObjectParameter(nodeJava,"fov",fov);


			nodeEmbed = document.createElement("embed");
			nodeJava.appendChild(nodeEmbed);

			nodeEmbed.setAttribute("type","application/x-java-applet;version=1.4");
			nodeEmbed.setAttribute("archive", "modules/panorama/ptviewer.jar");
			nodeEmbed.setAttribute("code","ptviewer.class");
			nodeEmbed.setAttribute("swLiveConnect","true");
			nodeEmbed.setAttribute("swLiveConnect","true");
			nodeEmbed.setAttribute("name","ptviewer");
			nodeEmbed.setAttribute("id","ptviewer");
			nodeEmbed.setAttribute("width","360");
			nodeEmbed.setAttribute("height","240");
			nodeEmbed.setAttribute("file",file);
			nodeEmbed.setAttribute("wait",wait);
			nodeEmbed.setAttribute("bar_x","24");
			nodeEmbed.setAttribute("bar_y","142");
			nodeEmbed.setAttribute("bar_width","311");
			nodeEmbed.setAttribute("bar_height","21");
			nodeEmbed.setAttribute("barcolor",barcolor);
			nodeEmbed.setAttribute("bgcolor","ffffff");
			nodeEmbed.setAttribute("auto",auto);
			nodeEmbed.setAttribute("panmin",panmin);
			nodeEmbed.setAttribute("panmax",panmax);
			nodeEmbed.setAttribute("pan", pan);
			nodeEmbed.setAttribute("tiltmin","-90");
			nodeEmbed.setAttribute("tiltmax","90");
			nodeEmbed.setAttribute("tilt",tilt);
			nodeEmbed.setAttribute("fovmin",fovmin);
			nodeEmbed.setAttribute("fovmax",fovmax);
			nodeEmbed.setAttribute("fov",fov);
			nodeEmbed.setAttribute("pluginspage",  "http://java.sun.com/products/plugin/index.html#download");


			myElement.appendChild(nodeJava);
		}
	},
	insertqt : function(myElement, file)
	{
		if(!UA.bUseDOM)
		{
		  outHTML = "<object codebase=\"http://www.apple.com/qtactivex/qtplugin.cab\"  height=\"240\" width=\"360\" classid=\"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B\" name=\"quicktime\" id=\"quicktime\">";
			outHTML+= "<param name=\"src\" value=\""+file+"\"><param name=\"autoplay\" value=\"true\"><param name=\"controller\" value=\"false\">";
      outHTML+= "<embed src=\""+file+"\" cache=\"true\" controller=\"false\" scale=\"tofit\"	name=\"quicktime\" id=\"quicktime\" pluginspage=\"http://www.apple.com/quicktime/download\" width=\"360\" height=\"240\"></embed>";
			outHTML+="</object>";
			myElement.innerHTML = [outHTML].join("");
		}
		else
		{
			nodeJava = document.createElement("object");

			nodeJava.setAttribute("codebase","http://www.apple.com/qtactivex/qtplugin.cab");
			nodeJava.setAttribute("height","240");
			nodeJava.setAttribute("width","360");
			nodeJava.setAttribute("classid","clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B");
			nodeJava.setAttribute("name","quicktime");
			nodeJava.setAttribute("id","quicktime");


			pano_object.createObjectParameter(nodeJava,"src",file);
			pano_object.createObjectParameter(nodeJava,"autoplay","true");
			pano_object.createObjectParameter(nodeJava,"controller","false");

			nodeEmbed = document.createElement("embed");
			nodeJava.appendChild(nodeEmbed);

			nodeEmbed.setAttribute("name","quicktime");
			nodeEmbed.setAttribute("id","quicktime");
			nodeEmbed.setAttribute("width","360");
			nodeEmbed.setAttribute("height","240");
			nodeEmbed.setAttribute("src",file);
			nodeEmbed.setAttribute("controller","false");
			nodeEmbed.setAttribute("scale","tofit");
			nodeEmbed.setAttribute("autoplay","true");
			nodeEmbed.setAttribute("pluginspage","http://www.apple.com/quicktime/download");


			myElement.appendChild(nodeJava);
		}
	},

	insertdetect : function(myElement)
	{
		if(!UA.bUseDOM)
		{
		  outHTML = "<object height=\"1\" width=\"1\" classid=\"clsid:8AD9C840-044E-11D1-B3E9-00805F499D93\" id=\"myApplet\">";
			outHTML+= "<param name=\"code\" value=\"DetectPluginApplet.class\"><param name=\"scriptable\" value=\"true\">";
      outHTML+= "<embed type=\"application/x-java-applet;version=1.3\" code=\"DetectPluginApplet\" width=\"1\" height=\"2\" mayscript=\"true\"></embed>";
			outHTML+="</object>";
			myElement.innerHTML = [outHTML].join("");
		}
		else
		{
			nodeJava = document.createElement("object");

			nodeJava.setAttribute("height","1");
			nodeJava.setAttribute("width","1");
			nodeJava.setAttribute("classid","clsid:8AD9C840-044E-11D1-B3E9-00805F499D93");
			nodeJava.setAttribute("id","myApplet");


			pano_object.createObjectParameter(nodeJava,"code","DetectPluginApplet.class");
			pano_object.createObjectParameter(nodeJava,"scriptable","true");

			nodeEmbed = document.createElement("embed");
			nodeJava.appendChild(nodeEmbed);

			nodeEmbed.setAttribute("type","application/x-java-applet;version=1.3");
			nodeEmbed.setAttribute("code","DetectPluginApplet");
			nodeEmbed.setAttribute("width","1");
			nodeEmbed.setAttribute("height","1");
			nodeEmbed.setAttribute("mayscript","true");

			myElement.appendChild(nodeJava);
		}
	}
};
