Common = {}

var changeWindowSize = function(){
  if (document.viewport.getWidth() < 997){
    document.body.style.width = '997px';
  }
  else if(document.body.style.width != document.viewport.getWidth()+'px'){
    document.body.style.width = document.viewport.getWidth()+'px';
  }
}

Event.observe(window, 'load', changeWindowSize);
Event.observe(window, 'resize', changeWindowSize);

var Browser = {
  IE:     !!(window.attachEvent && !window.opera),
  Opera:  !!window.opera,
  WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
  Gecko:  navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
  MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
}

function getMouseXY(e) {
  var left;
  var top;
  if (Browser.IE) {
    left = event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
    top =  event.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
  }
  else {
    left = e.pageX;
    top = e.pageY;
  }
  return {
    left: left,
    top: top
  };
}

function tooltip(target, id, tooltipWidth){
  if (!$('tooltip_' + id) || !$('tooltip')) {
    return;
  }

  var bodyWidth = document.body.clientWidth;
  var bodyHeight = document.body.clientHeight;
  var holder = $('tooltip');
   
  holder.className = 'tooltip';
  holder.style.position = 'absolute';
    
  holder.innerHTML = $('tooltip_'+id).innerHTML;
  
  target.onmousemove = function (e){
        
    if (getMouseXY(e).left > (bodyWidth - 235)) {
      holder.style.left = '';
      holder.style.right = bodyWidth - getMouseXY(e).left + 1 + 'px';
    }
    else {
      holder.style.left = getMouseXY(e).left + 1 + 'px';
      holder.style.right = '';
    }
		
    if (getMouseXY(e).top > (bodyHeight - 100)) {
      holder.style.top = '';
      holder.style.bottom = bodyHeight - getMouseXY(e).top + 1 + 'px';
    }
    else {
      holder.style.top = getMouseXY(e).top + 1 + 'px';
      holder.style.bottom = '';
    }
  }

  if (tooltipWidth) {
    holder.style.width = tooltipWidth + 'px';
  }

  target.onmouseout = function(){
    holder.innerHTML = '';
    holder.className = 'displayNone';
    if (tooltipWidth) {
      holder.style.width = '';
    }
  }
}

function price_format(number) {
  var n = number, prec = Common.isDealer ? 2 : 0, dec = ',', sep = ' ';
  n = !isFinite(+n) ? 0 : +n;
  prec = !isFinite(+prec) ? 0 : Math.abs(prec);
  sep = sep == undefined ? ',' : sep;
 
  var s = n.toFixed(prec),
  abs = Math.abs(n).toFixed(prec),
  _, i;
 
  if (abs > 1000) {
    _ = abs.split(/\D/);
    i = _[0].length % 3 || 3;
 
    _[0] = s.slice(0,i + (n < 0)) +
    _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
 
    s = _.join(dec || '.');
  } else {
    s = abs.replace('.', dec);
  }
  return s;
}

function offsetPosition(element) {
    var offsetLeft = 0, offsetTop = 0;
    do {
        offsetLeft += element.offsetLeft;
        offsetTop  += element.offsetTop;
    }
    while (element = element.offsetParent);
    return {left: offsetLeft, top:offsetTop};
}

function openWindow(options) {
  var title = options.title || null;
  var url = options.url || null;
  var html = options.html || null;
  var width = options.width || 700;
  var height = options.height || 700;

  var win = new Window({
    className: "alphacube",
    title: title,
    width:width,
    height:height,
    showEffectOptions: {
      duration:0.2
    },
    hideEffectOptions: {
      duration:0.2
    },
    maximizable: false,
    recenterAuto: false,
    destroyOnClose: true
  });

  if (url) {
    win.setAjaxContent(url);
  }
  else {
    win.setHTMLContent(html);
  }
  win.toFront();
  win.showCenter();
}

