//Room enums
var BOHAC     = 0;
var GENA      = 1;
var HANAK     = 2;
var KORYS     = 3;
var KOUTAK    = 4;
var KUSIAK    = 5;
var VAVRA     = 6;
var ZAMPIC    = 7;
var RENESANCE = 8;

var BOTTOM_FLOOR = 0;
var SECOND_FLOOR = 1;

var DEBUG = false;

var g_actual_pict = 0;
var g_for_explorer = "http://www.besidka.cz/ubytovani/img/";
var g_showing_3d = false; 

function Room(name, ename, full_name, number, capacity, nphotos, floor, price_season, price, room_text) 
{
  this.name = name;
  this.ename = ename;
  this.full_name = full_name;
  this.number = number;
  this.room_text = room_text;
  this.capacity = capacity;
  this.nphotos = nphotos;
  this.floor = floor;
  this.price_season = price_season;
  this.price = price;
}

function SetStyle(element, style) { if (element && element.style) element.style.display = style; }
function Hide(element) { SetStyle(element,"none"); }
function Show(element) { SetStyle(element,"block"); }
function ClearHTML(element) { element.innerHTML = ""; }

var rooms = new Array(9);

rooms[BOHAC]    = new Room("bohac", "Bohac", "Boháč", BOHAC, "2 + 4", 9, BOTTOM_FLOOR, 1490, 1490, "<a>PAN BOHÁČ</a><br/><br/>Mezi gotickými stěnami v nejstarší části zároveň největší apartmán. <br/>Dvojlužkový s čtyřmi možnými přistýlkami. <br/>Na barokním stropě odlesky řádění ohňového mužíka v původních kachlových kamnech. <br/>Místo černé kuchyně černá koupelna a v bílé vaně jsou nad hlavou<br/> už jenom hvězdy.");
rooms[GENA]     = new Room("gena",  "Gena",  "Gena", GENA, "2 + 2", 4, BOTTOM_FLOOR, 1490, 1290, "<a>MANŽELKA NÁRODU</a><br/> <br/>Renesanční perla v jižním okně je jenom vaše.<br/> Dvořané v koupelně zrovna odešli ze svého okrovi křivolakého království,<br/> ale středověk zůstal v místnosti za žlutí barokních dveří,<br/>nejstarších v Besídce.");
rooms[HANAK]    = new Room("hanak", "Hanak", "Hanák", HANAK, "2 + 4", 2, BOTTOM_FLOOR, 1490, 1290, "<a>PAN HANÁK</a><br/><br/>Na katafalku před malinovým oltářem pod renesanční klenbou váháte,<br/> zda jste v nebi,v pekle či v pokoji Tomáše Hanáka.<br/>Popsaná koupelna snad napoví,ale jistotu získáte  teprve,<br/>až přijde váš čas.");
rooms[KORYS]    = new Room("korys", "Korys", "Korýs",  KORYS, "2 + 0", 4, SECOND_FLOOR, 1290, 1190, "<a>PAN KORÝS</a><br/><br/>Nejmenší, přesto dvoulužkový pokoj s největším oknem v domě. <br/>Severovýchodní orientace s raním sluncem na červené střeše pod vámi. <br/>V dešti a sněhu jen pár centimetru od venkovního běsnění. <br/>Ve sprchovém koutě zvěčněn Vladimírou Boháčovou chrlič s nekonečnými nápady<br/>");
rooms[KOUTAK]   = new Room("koutak","Koutak","Kouťák", KOUTAK, "2 + 2", 5, SECOND_FLOOR, 1490, 1290, "<a>PAN KOUŤÁK</a><br/><br/>Himalájská strmost s neuviditelným průhledem na věž kostela ukrývá dvojlůžkový pokoj<br/>s dvěmi samostatnými přistýlkami. Za brahmánsky oranžovou úložnou stěnou <br/>ukryt v koupelně Šiwa v představách Ireny Mudrové. <br/>V kruhové posteli a tichu ztratíte pojem času.<br/>");
rooms[KUSIAK]   = new Room("kusiak","Kusiak","Kušiak", KUSIAK, "2 + 4", 3, SECOND_FLOOR, 1490, 1290, "<a>PAN KUŠIAK</a><br/><br/>Vystřeleni spirálou schodiště do modrobíla na kapitánském můstku<br/>dalekou vyhlídkou do kraje.Místo moře červen střech před přídí.<br/> V 21. století a přece za renesančním štítkem s věžními hodinami jako kotvou v minulosti. <br/>");
rooms[VAVRA]    = new Room("vavra", "Vavra","Vávra",  VAVRA, "2 + 4", 8, SECOND_FLOOR, 1490, 1490, "<a>PAN VÁVRA</a><br/><br/>Dvoulůžkový pokoj s až čtyřmi přistýlkami ve dvou pohodlných rozkládacích pohovkách.<br/>Noemova archa břichem vzhůru s jedinečným výhledem do náměstí. <br/>Jeden z největších pokojů v domě s jihojihozápadní orientací a dlouhými <br/>večerními paprsky slunce. Koupelna vymalovaná vlastnoručně Davidem Vávrou.<br/>");
rooms[ZAMPIC]   = new Room("zampic","Zampic","Žampič", ZAMPIC, "2 + 4", 3, SECOND_FLOOR, 1490, 1290, "<a>PAN ŽAMPA</a><br/><br/>Prastaré Mexiko v šedi a dubu s unaveným domorodcem na mezku v koupelně.<br/>Útulné hnědavo šikmých stěn pod nejstarším krovem.<br/>Místo, kde prospat den není ztrátou ale zážitkem. <br/>");
rooms[RENESANCE]= new Room("renesance","Renesance","Renesance", RENESANCE, "100 m2", 7, BOTTOM_FLOOR, 0, 0, "<a>RENESANCE</a><br/><br/>Rokokové renesanční sál s výhledem do náměstí,<br/>jehož téměř 100 m čtverečních vyzývá k tanci, rautum, seminářům ale i cvičení jógy. <br/>Rokokové štuky, kachlová kamna a náměstí jako na dlani. <br/><br/>Nájem dle dohody<br/>");
var g_current_room = rooms[BOHAC];

if (document.images){
  var preloadImage = new Image();
  preloadImage.src = g_for_explorer+"PudorysBohac.gif";
  preloadImage.src = g_for_explorer+"PudorysGena.gif";
  preloadImage.src = g_for_explorer+"PudorysHanak.gif";
  preloadImage.src = g_for_explorer+"PudorysKorys.gif";
  preloadImage.src = g_for_explorer+"PudorysKusiak.gif";
  preloadImage.src = g_for_explorer+"PudorysKoutak.gif";
  preloadImage.src = g_for_explorer+"PudorysVavra.gif";
  preloadImage.src = g_for_explorer+"PudorysZampic.gif";
  preloadImage.src = g_for_explorer+"PudorysRenesance.gif";
  preloadImage.src = "http://www.besidka.cz/img/objednatpokojactive.png";
  preloadImage.src = g_for_explorer+"tlacitkoVpravoHover.jpg";
  preloadImage.src = g_for_explorer+"tlacitkoVlevoHover.jpg";
  preloadImage.src = g_for_explorer+"loading.gif";
  preloadImage.src = g_for_explorer+"load_img.gif";
}  

function $(element_name) { return document.getElementById(element_name); }
function _DALERT(note) { if (DEBUG) alert(note); }

function SetCurrentRoom(room_number)
{
	  $("id"+(1+g_current_room.number)).className = 'nchoosen';
	  $("id"+(1+room_number)).className = 'choosen';

  	if (room_number < 0 || room_number > RENESANCE) 
        {_DALERT("Wrong room number !"); return false;}
	
	  var current_room = rooms[room_number];
	  if (!current_room)
	      {_DALERT("Wrong room number !"); return false; }

    g_current_room = current_room; 	
    g_actual_pict = 0;
    	
    return true;
}

function onPageLoad(room_number)
{
  SetCurrentRoom(room_number);
  g_actual_pict = 0;
}

function changeName(name) {	                                                                                                              
	//document.getElementById("nazevPokoje").innerHTML = "POKOJ "+name;
}
function nextPics() {
	g_actual_pict = (g_actual_pict+1) % g_current_room.nphotos;
	changePics();
}
function prevPics() {
 g_actual_pict = (g_actual_pict+pocetFotek-1) % g_current_room.nphotos;
 changePics();
}

//todo: for cycle ?
function getRoomNumber(name) {
	switch(name) {
		case "bohac":     return BOHAC;
		case "gena":      return GENA;
		case "hanak":     return HANAK;
		case "korys":     return KORYS;
		case "koutak":    return KOUTAK;
		case "kusiak":    return KUSIAK;
		case "vavra":     return VAVRA;
		case "zampic":    return ZAMPIC;
		case "renesance": return RENESANCE;
	}
	return BOHAC;
}

function hideLoading() 
{
	Hide($("loadGif"));
}
function changePics() 
{
	Show($("loadGif"));	
	var src = g_for_explorer + g_current_room.name + g_actual_pict+".jpg";
	
	var chkImg = $("checkImage");
  chkImg.onload = hideLoading;
  chkImg.src = src;
  
  var mainImg = $("mainImage");
	mainImg.style.background="url("+src+")";
	mainImg.style.backgroundColor="#EECA8A";
}

function showBigger() 
{
	obrazek = g_for_explorer+g_current_room.name+g_actual_pict+"BIG.jpg";
	window.open(obrazek, '_blank', 'width=800,height=600,resizable=yes');
}

function showOrder(id) 
{
  var my3D =$("my3D"); 
	Hide($('main'));
	Show(my3D);
  Show($('closer'));
	g_showing_3d = false;//hack
	switch(id) {
		case 1:
			replaceText($('ob'),"loading...");
			my3D.innerHTML = "<center><iframe height=\"400px\" width=\"440px\" marginheight=0px scrolling=no marginwidth=0px frameborder=0 src=\"objednavka.html\" name=\"objednavka\"><a href=\"objednavka.html\">objednavka</a></iframe></center>";
			break; 
		case 2:
			my3D.innerHTML = "<center><iframe height=\"400px\" width=\"440px\" marginheight=0px scrolling=no marginwidth=0px frameborder=0 src=\"http://www.besidka.cz/ceny2.html\" name=\"ceny\"><a href=\"http://www.besidka.cz/ceny2.html\">ceny</a></iframe></center>";
			break;
	}
}

function replaceText(obj, text) 
{
	obj.removeChild(obj.childNodes[0]);
	obj.appendChild(document.createTextNode(text));
}

function show3D() 
{
	Hide($('main'));
	Show($('my3D'));
  Show($('closer'));
	g_showing_3d = true;
	$("my3D").innerHTML = "<center><iframe scrolling=no height=\"400px\" width=\"400px\" marginheight=0px marginwidth=0px frameborder=0 src=\"vstup.php?pokoj="+g_current_room.name+"\" name=\"qtime\"><a href=\"http://www.besidka.cz/statecny/qtime/"+g_current_room.name+"3D.html\">quick time soubor</a></iframe></center>";
}

function show3DApplet() 
{
	Hide($('main'));
	Show($('my3D'));
	g_showing_3d = true;
	$("my3D").innerHTML = "<center><iframe scrolling=\"no\" height=\"400px\" width=\"400px\" marginheight=0px marginwidth=0px frameborder=0 src=\"3d/rooms.php?pokoj="+g_current_room.name+"\" name=\"qtime\"><a href=\"3d/rooms.php?pokoj="+g_current_room.name+"\">quick time soubor</a></iframe></center>";
}

function change3DHTMLSource(source) 
{
  $("my3D").innerHTML = "<center><iframe scrolling=\"no\" height=\"400px\" width=\"400px\" marginheight=0px marginwidth=0px frameborder=0 src=\"3d/rooms.php?pokoj="+g_current_room.name+"\" name=\"qtime\"><a href=\"3d/rooms.php?pokoj="+g_current_room.name+"\">quick time soubor</a></iframe></center>";
}

function changeFloor(floor, room) 
{
	if (floor == BOTTOM_FLOOR) 
  {
     $("pudorysBlokIMG").src = g_for_explorer+"Pudorys"+room+".gif";
		 Hide($("pudorysBlokHorni"));
  	 Show($("pudorysBlok"));
	}
	else
	{
	   $("pudorysBlokHorniIMG").src = g_for_explorer+"Pudorys"+room+".gif"; 
     Hide($("pudorysBlok"));
	   Show($("pudorysBlokHorni"));
	}
}

function changeAllFromApplet(room_number) 
{
	var previous_room = g_current_room.number;
	if (!SetCurrentRoom(room_number))
	   return;
	
  changeFloor(g_current_room.floor,g_current_room.ename);

	g_actual_pict = g_actual_pict % g_current_room.nphotos;//pro jistotu 
	if (previous_room != g_current_room.number) 
  	  changePics();
}

var agt=navigator.userAgent.toLowerCase();
var is_konq = false;
var kqPos   = agt.indexOf('konqueror');
if (kqPos !=-1) {                 
   is_konq  = true;
}   
var is_safari = ((agt.indexOf('safari')!=-1)&&(agt.indexOf('mac')!=-1))?true:false;
var is_khtml  = (is_safari || is_konq);
var is_gecko = ((!is_khtml)&&(navigator.product)&&(navigator.product.toLowerCase()=="gecko"))?true:false;
var is_fx = ((agt.indexOf('mozilla/5')!=-1) && (agt.indexOf('spoofer')==-1) &&
                 (agt.indexOf('compatible')==-1) && (agt.indexOf('opera')==-1)  &&
                 (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1)     &&
                 (is_gecko) && ((navigator.vendor=="Firefox")||(agt.indexOf('firefox')!=-1)));

function changeAllFromPudorys(roomNumber) 
{
  if (g_showing_3d) 
  {
    changeAllFromApplet(roomNumber);
    var rName = g_current_room.name;
    rName = (rName == "zampic")?"zampa":rName;
    if (window.frames[0].document.ptviewer) { 
      window.frames[0].document.ptviewer.newPanoFromList(roomNumber);
    } else if (window.frames[0].document.player) {      
      if (is_fx) {
        window.frames[0].location.href = "3d/index.php?pokoj="+rName;
      } else {        
        window.frames[0].document.player.loadpano(rName+".xml",false);
      }
    } else if (window.frames[0].document.getElementById("isFlash")) {
      window.frames[0].location.href = "3d/flash.php?pokoj="+rName;      
    }
    return;
  }  
  changeAll(roomNumber);
}

function changeAllHash()
{
  if(window.location.hash) 
  {
    var room_number = getRoomNumber(window.location.hash.substring(1));
    if (room_number != -1)
        changeAll(room_number);
  }     
}

function changeAll(room_number) 
{
  var my3Ddiv = $("my3D");  
  var obj = $("obj");
	var previous_room = g_current_room.number;
	
  if (!SetCurrentRoom(room_number))
	   return;
  ClearHTML(my3Ddiv);
	Hide(my3Ddiv);
  Hide($('closer'));
	g_showing_3d = false;
	Show($('main'));
	Show($('popisek'));
	
  changeFloor(g_current_room.floor,g_current_room.ename);
	obj.title = "Objednat pokoj "+g_current_room.full_name;
	
	if (room_number == RENESANCE)
	   Hide($('popisek'));

	g_actual_pict = g_actual_pict % g_current_room.nphotos;//pro jistotu 
	if (previous_room != g_current_room.number) 
  {//nemenim zbytecne
		  changePics();
		  window.location.hash = g_current_room.name;
	} 
	
	$("hlavniTextTelo").innerHTML = g_current_room.room_text;
	$("idcena").innerHTML = g_current_room.price;
	$("idcena2").innerHTML = g_current_room.price_season;
	$("kapacita").innerHTML = g_current_room.capacity;
	obj.href = "form.html#"+g_current_room.name;
}
