/*
 *  superhack pro errory
 */
window.onerror = handleError;
function handleError(description,page,line) {
  dump(description);
  return true;
}


/*
 *  nastaveni CSS stylu podle typu browseru
 */
var myStyle = 'img.region {position: absolute; display: inline; visibility: hidden;} #mainMapa { display: none;}';
document.write('<style type="text/css"> '+myStyle+' </style>');



/*
 *  fejdovaci funkce
 */
var isFadeInPic = null;
function fade(what) {
  if (what != null) {
    isFadeInPic = what;
  } else {
    isFadeInPic = null;
  }
  for (var i=0; i<regiony_nazvy.length-1; i++) {
    var tmpName = regiony_nazvy[i];
    var tmp = regionyPics[tmpName];
    if (tmpName == what) {
      tmp.style.visibility = 'visible';
    } else {
      tmp.style.visibility = 'hidden';
    }
  }
}
function documentOver() {
  if (isFadeInPic != null) {
    regionyPics[isFadeInPic].style.visibility = 'hidden';
    isFadeInPic = null;
  }
}



/*
 *  vypis otaku ^_^
 */
var isFadeInDiv = null;
function showOtakus(where) {
  if (isFadeInDiv != where) {
    switch (where) {
      case 'brno':
        regionyIframe.src = 'listing.php?region=01';
        break;
      case 'zlin':
        regionyIframe.src = 'listing.php?region=02';
        break;
      case 'ostrava':
        regionyIframe.src = 'listing.php?region=03';
        break;
      case 'olomouc':
        regionyIframe.src = 'listing.php?region=04';
        break;
      case 'pardubice':
        regionyIframe.src = 'listing.php?region=05';
        break;
      case 'jihlava':
        regionyIframe.src = 'listing.php?region=06';
        break;
      case 'hradec':
        regionyIframe.src = 'listing.php?region=07';
        break;
      case 'liberec':
        regionyIframe.src = 'listing.php?region=08';
        break;
      case 'praha':
        regionyIframe.src = 'listing.php?region=09';
        break;
      case 'usti':
        regionyIframe.src = 'listing.php?region=10';
        break;
      case 'vary':
        regionyIframe.src = 'listing.php?region=11';
        break;
      case 'plzen':
        regionyIframe.src = 'listing.php?region=12';
        break;
      case 'budejovice':
        regionyIframe.src = 'listing.php?region=13';
        break;
      case 'zahranici':
        regionyIframe.src = 'listing.php?region=20';
        break;
      default:
    }
    showIframe();
    isFadeInDiv = where;
  } else {
    hideIframe();
    isFadeInDiv = null;
  }
  hack();
}
function documentClick(e) {
  var elName = null;
  try {
    elName = e.target.nodeName;
  }
  catch (ex) {
    elName = window.event.srcElement.nodeName;
  }
  if ( (isFadeInDiv != null) && (elName == 'AREA') ) return;
  if (isFadeInDiv != null) {
    hideIframe();
  }
  isFadeInDiv = null;
  hack();
}
function showIframe() {
  regionyIframe.style.border = "1px solid black";
  if (iframeBugIE) return;
  var availableHeight = null;
  if (IS.gecko) {
    availableHeight = window.innerHeight;
  } else {
    availableHeight = document.body.offsetHeight;
  }
  regionyIframe.style.height = availableHeight - 100;
}
function hideIframe() {
  regionyIframe.src = "";
  regionyIframe.style.border = "none";
  if (iframeBugIE) return;
  regionyIframe.style.height = "0px";
}



/*
 *  init
 */
var browserPassedThroughMAPA = browserPassedThrough || IS.opera7up;
var regiony_nazvy = new Array('brno', 'budejovice', 'hradec', 'jihlava', 'liberec', 'olomouc', 'ostrava', 'pardubice', 'plzen', 'praha', 'usti', 'vary', 'zlin', 'zahranici');
var regionyPics = new Array( regiony_nazvy.length );
var mainTable, mainMapa, mainRegiony, regionyIframe;
var iframeBugIE = IS.ie5up && !IS.ie6up;  // 5.5 nemam, tak projistotu predpokladam, ze to take neumi
function init() {
  // nakesuj obrazky
  for (var i=0; i<regiony_nazvy.length; i++) {
    if (i != (regiony_nazvy.length-1)) {
      regionyPics[ regiony_nazvy[i] ] = document.getElementById( regiony_nazvy[i] );
    }
  }
  //
  mainTable = document.getElementById('mainTable');
  mainMapa = document.getElementById('mainMapa');
  mainRegiony = document.getElementById('mainRegiony');
  regionyIframe = document.getElementById('regionyIframe');
  mainMapa.style.display = 'block';
  // vycentruj Opere popisky
  if (IS.opera) {
    var headerTable = document.getElementById('table-hlavickaMapy');
    headerTable.style.width = 730;
  }
  // ukecej IE, ze tabulka musi byt vetsi a vypisy maji byt uprostred
  if (IS.ie) {
    var tmp = document.styleSheets[0].imports[0];
    tmp.addRule('div.otakuListing', 'margin-left: 45px;');
  }
  // IE5.0 nemuze pouzivat zaviraci ifrejm, nezvlada prerenderovani
  if (iframeBugIE) {
    regionyIframe.style.height = 600;
  }
  hack();
  // odchyt klik na strance
  document.onclick = documentClick;
  //document.onmouseover = documentOver;     // Mozilla s tim nechodi...
}

// Uf, tabulka ma byt velika podle i pozicovaneho obsahu, ne? ale dokonce ani Mozilla si to uz dneska (2003) nemysli...
function hack() {
  mainTable.style.height = 480 + mainRegiony.offsetHeight;
}

