$(document).ready(function() {
   if ($('body#home').length) {
      randomhero();
   } // if body#home

   if ($('.contentslider').length) {
      initializeslider();
   } // if contentslider

   if ($('.learnmoreimage').length) {
      initializepopup();
   } // if learnmore
});

function randomhero() {
   var heroarray =
      ['/images/hero/DB9_DB9V.jpg" alt="Aston Martin DB9 &amp; DB9 Volante',
       '/images/hero/DBS_CB.jpg" alt="Aston Martin DBS Carbon Black',
       '/images/hero/DBS_V.jpg" alt="Aston Martin DBS Volante',
       '/images/hero/DBS.jpg" alt="Aston Martin DBS',
       '/images/hero/Rapide.jpg" alt="Aston Martin Rapide',
       '/images/hero/Vantage_R.jpg" alt="Aston Martin V8 Vantage Roadster',
       '/images/hero/Vantage.jpg" alt="Aston Martin V8 Vantage',
       '/images/hero/CPO.jpg" alt="Certified Pre-Owned'];
   var randomnumber = Math.floor(Math.random() * heroarray.length);
   $('div.hero').html('<img src="' + heroarray[randomnumber] + '" />');
}; // randomhomepagebg

function initializeslider() {
   $('ul.panelcontainer').after('<' + 'ul class="panelnav"></' + 'ul>').
      parent('div.contentslider');
   $('ul.panelcontainer').children('li.panel').each(function() {
      $('.panelnav').append('<' + 'li><' + 'a href="#"><img src="' +
                            $(this).children('img').attr('src') +
                            '" alt="' + $(this).children('img').attr('alt') +
                            '" /></' + 'a></' + 'li>');
   }); // each panel
   $('ul.panelnav').children('li:first-child').addClass('active').
      children('a').css({'borderLeft': '0px solid #000'});
   sliderinteraction();
} // initializeslider

function sliderinteraction() {
   $('ul.panelnav').children('li').children('a').click(function() {
      clearInterval(vehicleloop);
      $('a.selectmodel').fadeIn(500);
      $('a.close').remove();
      $('ul.panelnav').children('li.active').removeClass('active');
      $(this).parent('li').addClass('active');
      whichdidiclick = $(this).parent('li').parent('ul.panelnav').
         children('li').index($(this).parent('li'));
   $('ul.panelcontainer').children('li').eq(whichdidiclick).children('a.learnmoreimage').click();
      $('ul.panelcontainer').animate({
         'left': -$('ul.panelcontainer').children('li').eq(whichdidiclick).
            position().left}, { 'duration': 800, 'easing': 'easeInOutCirc' });
      sliderstart();
      $('.panelnav').fadeOut(500);
      return false;
   }); // click panelnav li a

   sliderstart();

   $('a.selectmodel').click(function() {
      clearInterval(vehicleloop);
      $('.panelnav').fadeIn(500);
      $(this).fadeOut(500);
      $('.hero').append('<' + 'a href="#" class="close">Close</' + 'a>');
      $('a.close').click(function() {
         $('.panelnav').fadeOut(500);
         $(this).remove();
         $('a.selectmodel').fadeIn(500);
         sliderstart();
         return false;
      }); //click

      return false;
   }); //click
} // sliderinteraction

var vehicleloop = null;

function sliderstart() {
   if (vehicleloop) {
      clearInterval(vehicleloop);
   }
   vehicleloop = setInterval(function() {
      if ($('.panelnav').children('li.active').is(':last-child')) {
         toclick = 0;
      } else {
         toclick = $('.panelnav').children('li').
         index($('.panelnav').children('li.active')) + 1;
      }
$('a.learnmoreimage').unbind();
$('body').append("unbound");
      $('.panelnav').children('li').eq(toclick).children('a').click();
initializepopup();
   }, 7000); // vehicleloop
} // sliderstart

function initializepopup() {
   $('a.learnmoreimage').click(function() {
      popup($(this).attr('href'));
      return false;
   });
} // initializepopup

function popup(location) {
   removepopup();
   if (vehicleloop) {
      clearInterval(vehicleloop);
   }

   if (location && location != '#') {
      setTimeout(function() {
         var howwide = $('body').width();
         var howhigh = $('body').height();

         $('body').append('<' + 'div class="popupcontainer">' +
                          '<' + 'div class="popup"></' + 'div></' + 'div>');
         $('.popupcontainer').css({'opacity': '0'});
         $('.popupcontainer').css({ 'width': howwide + 'px',
                                    'height': howhigh + 'px' });
         $('.popup').css({ 'width': howwide + 'px',
                           'height': howhigh + 'px' });
         $('.popupcontainer').css({'opacity': '.99'});
         $('.popupcontainer').append('<div id="controlbox">' +
                                     '<div id="controlcontent"></div></div>');
         $('div#logo').clone().appendTo('#controlcontent').
            removeClass('secret');

         // populate with dealer data
         $('#controlcontent').append('<div class="welcometo"></div>');
         dealername = $('p.address').children('span:first-child');
         if ($(dealername).length) {
            $('.welcometo').append('<h1>' + $(dealername).text() + '</h1>');

            // controls copied from "general.js"
            if ($('html').hasClass('sIFR-hasFlash') &&
                typeof sIFR == 'function') {
               sIFR.replaceElement(named({ 'sSelector' : '.welcometo h1',
                                           'sFlashSrc' : '/flash/sIFR.swf',
                                           'sColor'    : '#3B3D3C',
                                           'sLinkColor': '#333',
                                           'sBgColor'  : '#fff',
                                           'sHoverColor':'#333',
                                           'sFlashVars': ''}));
            }
         }
         $('p.address').clone().appendTo('.welcometo').removeClass('secret').
            children('span:first-child').remove();
         $('#controlcontent p.address span:first-child').addClass('first');
         var newwidth = 670;
         if (newwidth + 150 < howwide && $('ul.contactlinks').length) {
            $('ul.contactlinks').clone().appendTo('#controlcontent').
               removeClass('secret');
            $('#controlcontent').find('ul.contactlinks').
               children('li.callasalesspecialist').remove();
            newwidth += 150;
         }
         if (newwidth + 190 <= howwide && $('p.phone').length) {
            $('#controlcontent').append('<' + 'div class="callusat"><' +
                                        'p>Call us at | </p></div>');
            $('p.phone').clone().appendTo('#controlcontent .callusat').
               removeClass('secret').removeClass('big').
               children('span').remove();
            newwidth += 190;
         }
         $('#controlcontent').css({ 'width': newwidth + 'px' });

         // show page content
         $('#controlbox').
            append('<a href="#" class="closelink">Close</a>');
         $('#content h1.sIFR-replaced embed').hide();
         insertiframe(location);
         $('#controlbox').animate({'bottom': '0px'}, 500).
            parent('div.popupcontainer').children('div.popup').
            css({ 'height': (howhigh - $('#controlbox').height() - 5)+'px' });
      }, 500);
   }
} // popup

function removepopup() {
   $('#controlbox').animate({'bottom': '-200px'}, 500).
      parent('div.popupcontainer').animate({'opacity': '0'}, 500).remove();
   $('#content h1.sIFR-replaced embed').show();
} // removepopup

function insertiframe(location) {
   $('div.popup').append('<' + 'iframe src="' + location +
                         '" width="100%" height="100%">Your web browser ' +
                         'does not appear to support frames.</' + 'iframe>');
   $('a.closelink').click(function() {
      removepopup();
      if (vehicleloop) {
         sliderstart();
      }
      return false;
   }); // click closelink
} // insertiframe
