function moveBy(element, step) {
  $(element).setStyle({
     left: (parseFloat($(element).getStyle('left') || '0')+step).round() + 'px'
  });
}
var tmr_mover;
function mover() {
  $('infoline_frame').onmouseover = new Function("e", "stop_mover();");
  $('infoline_frame').onmouseout = new Function("e", "start_mover();");
  var total = $('infoline_data').getWidth();
  if (parseFloat($('infoline_data').getStyle('left') || '0')<(total*-1)) {
    $('infoline_data').setStyle({
     left: (parseFloat($('infoline_frame').getWidth())).round() + 'px'
    });     
  } else{
    moveBy('infoline_data', -1);
  }
  tmr_mover = setTimeout('mover()',15);
}
function stop_mover() {
  if (tmr_mover) {
    clearTimeout(tmr_mover);
  }
}
function start_mover() {
  tmr_mover = setTimeout('mover()',15);
}

var pics_width=160;
var pics_minimal_margin=2;
var pics_full_width;
var pics_inner_width;
var pics_frame;

function init_pics() {
  if (!$('bestdeal')) {
    return;
  }
  pics_full_width=parseFloat($('bestdeal').getWidth());
  var max_pics_to_show = (pics_full_width/(pics_width+pics_minimal_margin)).round();
  var pics_children = $('bestdeal_inner').childElements();
  var totalpics = pics_children.length;
  if (totalpics<max_pics_to_show) {
     max_pics_to_show = totalpics;
  }
  var pics_margin = ((pics_full_width-max_pics_to_show*pics_width)/(max_pics_to_show-1)).floor();
  pics_inner_width = (totalpics*(pics_width+pics_margin)-pics_margin).ceil();
  pics_frame = pics_width+pics_margin;
  $('bestdeal_inner').setStyle({
     width: pics_inner_width + 'px'
  });
  for (var i=0; i<(totalpics-1); i++) {
   pics_children[i].setStyle({
      marginRight: pics_margin+'px'
   });
  }
 
  if (max_pics_to_show<totalpics) {
    $('bestdeal_left').setStyle({
     visibility: 'visible'
    });
    $('bestdeal_right').setStyle({
     left: (pics_full_width+10)+'px',
     visibility: 'visible'
    });

    $('bestdeal_left').onmouseover = new Function("e", "start_pics(0);");
    $('bestdeal_left').onmouseout = new Function("e", "stop_pics(0);");

    $('bestdeal_right').onmouseover = new Function("e", "start_pics(1);");
    $('bestdeal_right').onmouseout = new Function("e", "stop_pics(1);");
  }

}

var tmr_pics;
function pics_mover(is_left) {
  if (is_left) {
    if (parseFloat($('bestdeal_inner').getStyle('left') || '0')>(pics_full_width-pics_inner_width)) {
      moveBy('bestdeal_inner', -1);
    }
  }else{
    if (parseFloat($('bestdeal_inner').getStyle('left') || '0')<0) {
      moveBy('bestdeal_inner', 1);
    }
  }
  tmr_pics = setTimeout('pics_mover('+is_left+')',15);
}
function stop_pics(is_left) {
  if (tmr_pics) {
    clearTimeout(tmr_pics);
  }
  if (is_left && parseFloat($('bestdeal_inner').getStyle('left') || '0')>(pics_full_width-pics_inner_width)) {
    if (parseFloat($('bestdeal_inner').getStyle('left') || '0')/pics_frame - (parseFloat($('bestdeal_inner').getStyle('left') || '0')/pics_frame).round()!=0) {
      moveBy('bestdeal_inner', -1);
      tmr_pics = setTimeout('stop_pics('+is_left+')',15);
    }
  }
  if (!is_left && parseFloat($('bestdeal_inner').getStyle('left') || '0')<0) {
      moveBy('bestdeal_inner', 1);
      tmr_pics = setTimeout('stop_pics('+is_left+')',15);
  }
}
function start_pics(is_left) {
  if (tmr_pics) {
    clearTimeout(tmr_pics);
  }
  tmr_pics = setTimeout('pics_mover('+is_left+')',15);
}

function cur_time(is_on) {
  if (is_on) {
    $('cur_time_span').style.color='#fbf5ea';
    setTimeout('cur_time(false)',800);
  }else{
    $('cur_time_span').style.color='#deb164';
    setTimeout('cur_time(true)',200);
  }
}

var review_text='';
function review_shower(url, review, cur_symbol) {
  if (review.length>0) {
     review_text = review;
  }
  $('div_review').innerHTML = review_text.substring(0,cur_symbol+1);
  cur_symbol = cur_symbol+1;
  if (cur_symbol<review_text.length) {
    setTimeout('review_shower(\''+url+'\',\'\','+cur_symbol+')',100);
  } else if (cur_symbol == review_text.length) {
    setTimeout('review_shower(\''+url+'\',\'\','+cur_symbol+')',5000);
  } else {
    new Ajax.Request(url, {
    method: 'get',
    onSuccess: function(transport) {
       review_shower(url, transport.responseText, 0);
    }
    });    
  }  
}

function loader() {
  mover();
  init_pics();
}
window.onload=loader;
