// MACROMEDIA

function MM_swapImgRestore() { //v3.0
  var i, x, a = document.MM_sr;
  for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d = document;
  if (d.images) {
    if (!d.MM_p) d.MM_p = new Array();
    var i, j = d.MM_p.length, a = MM_preloadImages.arguments;
    for (i = 0; i < a.length; i++) {
      if (a[i].indexOf("#") != 0) {
        d.MM_p[j] = new Image;
        d.MM_p[j++].src = a[i];
      }
    }
  }
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;
  if (!d) d = document;
  if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
    d = parent.frames[n.substring(p+1)].document;
    n = n.substring(0,p);
  }
  if (!(x = d[n]) && d.all) x = d.all[n];
  for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
  for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n,d.layers[i].document);
  if (!x && d.getElementById) x = d.getElementById(n);
  return x;
}

function MM_swapImage() { //v3.0
  var i, j = 0, x, a = MM_swapImage.arguments;
  document.MM_sr = new Array;
  for (i = 0; i < (a.length - 2); i += 3) {
    if ((x = MM_findObj(a[i])) != null) {
      document.MM_sr[j++] = x;
      if (!x.oSrc) x.oSrc = x.src;
      x.src = a[i+2];
    }
  }
}

// GENERAL PURPOSE

var com = {};

function popitup(url) {
  var newWindow = window.open(url,'newWindow','width=520,height=450,scrollbars=1,resizable=yes');
  if (window.focus) { newWindow.focus() }
  return false;
}

var photoRequest = new Request({
  url: '/handler.php',
  method: 'get',
  onRequest: function(){
    var loading = new Element('img', {'src':'/images/loading_ani.gif', 'alt':'Loading...'});
    loading.replaces($('photo').getElement(':first-child'));
  },
  onSuccess: function(html){
    $('photo').set('html', html);
  },
  onFailure: function(){
    var failure = new Element('p', {'class':'error'}).appendText('Connection error, couldn&39;t get image.');
    failure.replaces($('photo').getElement(':first-child'));
  }
});

function displayPhoto(id) {
  photoRequest.send('action=photo&id='+id);
}

function brandAdvance() {
  $('brands_text').scrollTo(0, position);
  if (position < $('brands_text').scrollHeight) position += 3;
  else position = 0;
}

function widgetInit() {

  // attach sliders to these widgets with hidden content
  var justadded_slider = new Slider($('justadded_rail'), $('justadded_knob'), {
    steps: $('justadded_text').scrollHeight,
    mode: 'vertical',
    onChange: function(step){$('justadded_text').scrollTo(0, step);}
  }).set(0);

  var events_slider = new Slider($('events_rail'), $('events_knob'), {
    steps: $('events_text').scrollHeight,
    mode: 'vertical',
    onChange: function(step){$('events_text').scrollTo(0, step);}
  }).set(0);

  var brands_slider = new Slider($('brands_rail'), $('brands_knob'), {
    steps: $('brands_text').scrollHeight,
    mode: 'vertical',
    onChange: function(step){$('brands_text').scrollTo(0, step); position = step;}
  }).set(0);

  var whatshot_slider = new Slider($('whatshot_rail'), $('whatshot_knob'), {
    steps: $('whatshot_text').scrollHeight,
    mode: 'vertical',
    onChange: function(step){$('whatshot_text').scrollTo(0, step); position = step;}
  }).set(0);

  // increase brands widget a few pixels every 50 milliseconds (20 fps)
  brandAdvance.periodical(50);

}

// FOOTER REPOSITIONING

function setFooter() {
  var windowHeight = Window.getHeight();
  if (windowHeight > 0) {
    var containerHeight = $('container').offsetHeight;
    var footerHeight = $('footer').offsetHeight;
    if (windowHeight-(containerHeight+footerHeight) >= 0) {
      $('footer').setStyle('position','relative');
      $('footer').setStyle('top',(windowHeight-(containerHeight+footerHeight))+'px');
    } else {
      $('footer').setStyle('position','static');
    }
  }
}

// window.addEvent('load',setFooter);
// window.addEvent('resize',setFooter);

// GLOBAL NAV ROLLOVERS

window.addEvent('load', function() {
  MM_preloadImages(
    'images/nav_1/on/commercial.gif',
    'images/nav_1/on/construction.gif',
    'images/nav_1/on/forestry.gif',
    'images/nav_1/on/lawngarden.gif',
    'images/nav_1/on/rentals.gif',
    'images/nav_1/on/snowremoval.gif',
    'images/nav_1/on/tractors.gif',
    'images/nav_1/on/used.gif',
    'images/nav_1/on/utility.gif');
});

// CREDIT APPLICATIONS

com.CreditApp = {

  userpass: function() {
    var el = document.getElements('input[name=type]')[1];
    if (el.checked) $('userpass').setStyle('display', 'block');
    else $('userpass').setStyle('display', 'none');
  },

  email: function() {
    var spans = $('email').getElements('span');
    spans[0].setStyle('display', 'none');
    spans[1].setStyle('display', 'inline');
  },

  getpass: function() {
    $('response').innerHTML = '<img src="/images/loading_ani_2.gif" alt="Please wait..." />';
    new Request.HTML({url:'handler.php?action=getpass&email='+encodeURIComponent(document.getElement('input[name=email]').value),method:'get',update:'response'}).send();
    return false;
  }

};

// RENTALS PAGE

com.Rentals = {

  foldup: null,

  init: function(){

    com.Rentals.foldup = new Accordion($('accordion'), 'h3.toggler', 'div.panel', {
      opacity: false
    });

    $each($('accordionlinks').getElements('a'), function(element){
      element.addEvent('click', function(e){
        com.Rentals.foldup.display($(this.id.replace('link_', 'panel_')));
        return false;
      });
    });

  }

};