var coeffs = new Array () ;
coeffs [0] = 0.75 ;
coeffs [1] = 1 ;
coeffs [2] = 1.5 ;
coeffs [3] = 2 ;

var cur = 1 ;

var idxbox ;
var idx    ;
var idximg ;
var imgmap ;

function showmap (obj) {
   if (obj.firstChild && obj.firstChild.href)
      location = obj.firstChild.href ;
   return false ;
}

function pixsize (px) {
   var i ;
   if (px) {
      s = new String (px) ;
      i = s.indexOf ("px") ;
      if (i == -1)
         res = 0 ;
      else
         res = parseInt (s.substr (0, i)) ;
   }
   else
      res = 0 ;
   return res ;
}

function savesize (div) {
   if (div && window.getComputedStyle) {
      cs = window.getComputedStyle (div, null) ;
      if (cs) {
         div.save_left   = pixsize (cs.left  ) ;
         div.save_top    = pixsize (cs.top   ) ;
         div.save_width  = pixsize (cs.width ) ;
         div.save_height = pixsize (cs.height) ;
      }
   }
}

function saveall () {
   var i ;
   idxbox = document.getElementById ("idxbox") ;
   idximg = document.getElementById ("idximg") ;
   imgmap = document.getElementById ("imgmap") ;
   idx    = document.getElementById ("index" ) ;
   savesize (idxbox) ;
   savesize (idximg) ;
   savesize (imgmap) ;
   savesize (idx) ;
   for (i = idx.firstChild ; i ; i = i.nextSibling) {
      if (i.nodeName == "DIV")
         savesize (i) ;
   }
}

function changepos (div, coeff) {
   if (div && div.nodeType == 1) {
      div.style.left   = "" + div.save_left   * coeff + "px" ;
      div.style.top    = "" + div.save_top    * coeff + "px" ;
      div.style.width  = "" + div.save_width  * coeff + "px" ;
      div.style.height = "" + div.save_height * coeff + "px" ;
   }
}

function changesize (div, coeff) {
   if (div) {
      div.style.width  = "" + div.save_width  * coeff + "px" ;
      div.style.height = "" + div.save_height * coeff + "px" ;
   }
}

function changeall (coeff) {
   var i ;
   changesize (idxbox, coeff) ;
   changesize (idximg, coeff) ;
   changesize (imgmap, coeff) ;
   changesize (idx, coeff) ;
   for (i = idx.firstChild ; i ; i = i.nextSibling) {
      if (i.nodeName == "DIV")
         changepos (i, coeff) ;
   }
}

function showdiv (div) {
   var i ;
   for (i = div.firstChild ; i ; i = i.nextSibling) {
      if (i.nodeName == "SPAN") {
         i.style.display = "inline" ;
      }
   }
}

function hidediv (div) {
   var i ;
   for (i = div.firstChild ; i ; i = i.nextSibling) {
      if (i.nodeName == "SPAN") {
         i.style.display = "none" ;
      }
   }
}

function showall () {
   var i ;
   for (i = idx.firstChild ; i ; i = i.nextSibling) {
      if (i.nodeName == "DIV")
         showdiv (i) ;
   }
}

function hideall () {
   var i ;
   for (i = idx.firstChild ; i ; i = i.nextSibling) {
      if (i.nodeName == "DIV")
         hidediv (i) ;
   }
}

function zoom_minus () {
   cur -- ;
   if (cur < 0) cur = 0 ;
   if (cur < 3)
      hideall () ;
   changeall (coeffs [cur]) ;
}

function zoom_plus () {
   cur ++ ;
   if (cur >= coeffs.length) cur = coeffs.length - 1 ;
   changeall (coeffs [cur]) ;
   if (cur >= 3)
      showall () ;
}

