window.onload = function() {
  //window.setInterval('imageSwitch()', 3000);
  
  try{
  Scroller();
  equipment('equipment');
  equipment('equipmentWin');
  equipment('equipmentwin-kupon');
  equipment('equipmentExtra');
  pageDes();
  Dostupnost();
  StartInit();
  }catch(e) {
//    alert(e.toString());
  } 
}


var scOver = null;
var scOverFrom = 0;
var scOverTo = null;
var scTimer = null;
var scTime = 50; 
var scTimeBy = 5;
var scTimeByClick = 15;
var scTimeByActual = scTimeBy;
var scWay = null;
var scScroll = null;
var scSlider = null;
var scTempMove = null;
var scTempObj = null;


function Scroller(){
  scOver = ge('arrowOver');
  if(!scOver)
    return false;
  
  scScroll = ge('scroll')
  scSlider = ge('slider');
  
  scOver.parentNode.style.overflow = 'hidden';
  //scOver.parentNode.style.width = '115px';
  scOverTo = scOver.offsetHeight - scOver.parentNode.offsetHeight;
  
  ge('arrowDown').style.display = 'block';
  ge('arrowUp').style.display = 'block';
  scScroll.style.display = 'block';
  
  
  if(getElementsByClass('node',ge('Dostupnost'),'div').length > _showNode) {
    scSlider.onmousedown = scrollStart;
    scSlider.style.cursor = 'pointer';
    ge('arrowUp').style.cursor = 'pointer';
    ge('arrowDown').style.cursor = 'pointer';
    
    var loader = new Array('/img/produkt/detail/arrowDown_activec.png', '/img/produkt/detail/arrowUp_activec.png');
    for(var i=0;i<loader.length;i++) {
      var img = document.createElement('img');
      img.src = loader[i];
      img.onload = function() {this.parentNode.removeChild(this)};
      img.style.display = 'none';
      document.body.appendChild(img);
    }
    
    //ge('arrowUp').
    ge('arrowDown').onmousedown = down;
    ge('arrowDown').onmouseup = up;
    ge('arrowDown').onmouseover = function(e) {
      this.style.background = 'url(/img/produkt/detail/arrowDown_activec.png)';
      scWay = -1;
      run();
      return false;
    }
    
    ge('arrowDown').onmouseout = function(e) {
      this.style.background = 'url(/img/produkt/detail/arrowDown.png)';
      stop();
      return false;
    }
    
    
    ge('arrowUp').onmousedown = down;
    ge('arrowUp').onmouseup = up;
    ge('arrowUp').onmouseover = function(e) {
      this.style.background = 'url(/img/produkt/detail/arrowUp_activec.png)';
      scWay = 1;
      run();
      return false;
    }
    
    ge('arrowUp').onmouseout = function(e) {
      this.style.background = 'url(/img/produkt/detail/arrowUp.png)';
      stop();
      return false;
    }
  }else {
    ge('arrowUp').style.background = 'url(/img/produkt/detail/arrowUp_deac.png)';
    ge('arrowDown').style.background = 'url(/img/produkt/detail/arrowDown_deac.png)';
    scSlider.style.background = 'url(/img/produkt/detail/slider_deac.png)';
  }

  
  function scrollStart(e) {
    var e = getEvent(e);
    scTempMove = {'clientY' : e.clientY};
    
    
    scTempObj = {'top' : this.offsetTop, 'maxBottom' : (this.parentNode.offsetHeight - this.offsetHeight)};
    
    document.onmousemove = scrollMove;
    document.onmouseup = scrollEnd;
    
    //cl('staet');
    return false;
  }
  
  function scrollMove(e) {
    var e = getEvent(e);
    //var y = getMouseY(e);
    
    
    //alert(e.clientY);
    //cl(y);
    //alert(e.clientY);
    var top = scTempObj.top + (e.clientY - scTempMove.clientY);
    
    if(top < 0) {
      scSlider.style.top = '0px';
      scOver.style.top = '0px';
      return false;
    }
    if(top > scTempObj.maxBottom) {
      scSlider.style.top = scTempObj.maxBottom + 'px';
      scOver.style.top = (scOverTo * -1) + 'px';
      return false;
    }
    
    
    var per = Math.round(top / scTempObj.maxBottom * 100);
    var per = (scOverTo * -1 / 100 * per);
    scOver.style.top = per + 'px';
    scOverFrom = per;
        
    scSlider.style.top = scTempObj.top + (e.clientY - scTempMove.clientY) + 'px';
    
    return false;
  }
  
  
  function scrollEnd() {
    scTempMove = null;
    document.onmousemove = function() {return false;}
    document.onmouseup = function() {return false;}
    //cl('end');
    return false;
  }
  
  
  function down() {
    //this.style.background = this.style.background.replace('_active.png', '_activec.png');
    scTimeByActual = scTimeByClick;
  }
  function up() {
    //this.style.background = this.style.background.replace('_activec.png', '_active.png');
    scTimeByActual = scTimeBy;
  }
  
  function stop() {
    window.clearInterval(scTimer);
  }
  
  function run() {
    scTempObj = {'top' : scSlider.offsetTop, 'maxBottom' : (scSlider.parentNode.offsetHeight - scSlider.offsetHeight)};
    scTimer = window.setInterval(move, scTime);
  }
  
  function move() {
    var temp =  scOverFrom + (scWay * scTimeByActual);
    
    if((temp * -1) > scOverTo) {
      var temp = scOverTo * -1; 
    }
    if(temp > 0)
      return false;
      
    var per = Math.round(temp / scOverTo * 100);
    var per = (scTempObj.maxBottom * -1 / 100 * per);
    //scOver.style.top = per + 'px';
    scSlider.style.top = per + 'px';
    
    scOverFrom = temp;
    scOver.style.top = temp + 'px';
    
    return false;
  }
}


function specialShow(obj, e, src) {
  var img_src = '/img/static/' + src;
  
  var o_img = document.createElement('img');
  o_img.src = img_src;
  o_img.style.position = 'absolute';
  obj.parentNode.appendChild(o_img);
  
  document.onmousemove = function(e) {
    var poss = getPosition(e);
    o_img.style.top = poss.y + 'px';
    o_img.style.left = poss.x + 'px';
  }
  
  obj.onmouseout = function() {
    obj.onmouseout = function(){return false;};
    document.onmousemove = function(){return false;};
    o_img.parentNode.removeChild(o_img);
  }
}


function pageDes() { 
return; 
  var c = ge('imageProduct').offsetTop - ge('Dostupnost').offsetTop;
  if(IE)
    var c = -10;
  
  if((ge('imageProduct').offsetHeight + c) > ge('Dostupnost').offsetHeight) {
    ge('Dostupnost').style.minHeight = ge('imageProduct').offsetHeight + c + 2 + 'px';
  }
}

function pageDesEquip(div, w) {

  if(!w)
    var w = '99%';
  
  var rez = 30;
  if(window.opera)
    var rez = 10;
  
  //console.log(div);
  //alert(div.tagName);
    
  if((ge('Dostupnost').offsetTop + ge('Dostupnost').offsetHeight + rez) < div.offsetTop) {
    //alert('DOST:'+(ge('Dostupnost').offsetHeight));
    //alert('DIV:'+div.offsetTop);
    div.style.width = w;
    div.className = (div.className ? (div.className + ' resized') : 'resized');
    //alert('Nastaveno');
  }
}



function Dostupnost() {
  var div = ge('Dostupnost');
  if(window.opera) {
    div.style.marginBottom = '23px'; 
  }
  
  var nodes = getElementsByClass('node',div,'div');
  
  for(var i=0;i<nodes.length;i++) {
    var item = nodes[i];
    
    item.style.cursor = 'pointer';
    item.onmouseover = DostOver;
    item.onmouseout = DostOut;
    item.onclick = DostRedir;
  }
}
function DostOver() {
  this.className = 'node active';
}
function DostOut() {
  this.className = 'node';
}
function DostRedir() {
  //var loc = 'http://www.'+window.location.host.split('.')[1]+'.'+window.location.host.split('.')[2]+this.getElementsByTagName('a')[0].href.substring(window.location.host.length+7);
  var loc = this.getElementsByTagName('a')[0].href;
  window.location = loc;
}


var inputs = new Array();
function equipment(id) {
  if(!ge(id))
    return false;
    
  var trs = ge(id).getElementsByTagName('tr');
  for(var i=0;i<trs.length;i++) {
    var input = trs[i].getElementsByTagName('input')[0];
    
    if(input) {
      /**
       * Pokud uz ma nadefinovaou fci
       */             
      if(typeof(input.onclick) == 'function') {
        // Zavolame
        var fc = input.onclick;
        input.onclick = function() {
          fc.call(this);
          checkSum.call(this);
        }
      }else {
        // CheckSum
        input.onclick = checkSum;
      }
      inputs.push(input);
    }
  
    var label = trs[i].getElementsByTagName('a')[0];
    if(label) {
      label.onmouseover = labelOver;
      label.onmouseout = labelOut;
      label.onmousemove = labelMove;
    }
  }
}


function checkSum(e) {
  var price0 = ge('innerpricedph0').getAttribute('starting');
  var price1 = ge('innerpricedph1').getAttribute('starting');

  
  price0 = price0 * 1;
  price1 = price1 * 1;
   
  for(var i=0;i<inputs.length;i++) {
    if(inputs[i].checked) {
      price0 = price0 + (inputs[i].getAttribute('price') / 1.19) * 1;
      price1 = price1 + inputs[i].getAttribute('price') * 1;
    }
  }
  
  ge('innerpricedph0').innerHTML = priceFormat(Math.round(price0));
  ge('innerpricedph1').innerHTML = priceFormat(price1);
  
  return true;
}


function labelOver(e) {
  var eid = this.getAttribute('eobj');

  show(eid);
  
  // vertical align img
  var img = ge(eid).getElementsByTagName('img')[0];
  var text = getElementsByClass('inInfo',ge(eid),'div')[0];
  
  img.style.top = Math.max(0, ((text.offsetHeight - img.offsetHeight) / 2)) + 'px';
}
function labelOut(e) {
  var eid = this.getAttribute('eobj');
  hide(eid);
}


function labelMove(e) {
  var div = ge(this.getAttribute('eobj'));
  if(!div)
    return false;
  
  var poss = getPosition(e);
  div.style.top = poss.y + 'px';
  div.style.left = poss.x + 'px';
}


var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body
function getPosition(e) {
  var e = getEvent(e);
  var x = getMouseX(e);
  var y = getMouseY(e);
    if(is_ie) {
    var dsocleft=document.all? iebody.scrollLeft : pageXOffset;
    var dsoctop=document.all? iebody.scrollTop : pageYOffset;
    var y = y + dsoctop;
    var x = x - dsocleft;
  }
  
  y -= 175;
  x -= ge('InAll').offsetLeft + 200;
  
  return {'x' : x, 'y' : y};
}





function showKupon(src) {
  window.open(src, "kupon", "width=820,height=586,toolbar=no,status=no,menubar=no,resizable=no");
  return false;
}