var hppInterval = 5000; // home page showroom rotation delay
var hppFadeDuration = 3000;
var hpsInterval = 3000; // home page promo/specials rotation delay
var miniPromoDelay = 3000; // interior  pages promo/specials rotation delay
var poiScrollDelay = 5000; // points of interest rotation delay
var gallDelay = 5000; // gallery lightbox auto rotation delay
var imagesBase = 'images/structural/'; // path to the structural images folder ( with the trailing / )
// var $homepage = $('body').hasClass('homepage');

$(document).ready(function() {
var $homepage = $('body').hasClass('homepage');

room_type=function(obj){
  var node=$('.home-showroom'),
    img=node.find('img#room-type-image'),
    link=node.find('a.room-type');
  set_image(img,obj.room.src);
  node.toggle(function(){
    link.removeClass('experience-view').addClass('view-room-btn');
    set_image(img,obj.view.src);
  },function(){
    link.removeClass('view-room-btn').addClass('experience-view');
    set_image(img,obj.room.src);
  });
}

// print
  $('.t-print').css({'display':'inline'}).click(function(){
    window.print();
    return false;
  });
    
set_image=function(node,src){
  var img=new Image();img.src=src;
  node.get(0).src=img.src;
}

  $('a.new-window').each(function(){
    $(this).attr('target','_blank')
  });
// machforms
//  $('form.appnitro #li_buttons #saveForm').attr('type', 'image').attr('src', '/extension/site/design/site/images/structural/submit-btn.png');
  $('form.appnitro #li_buttons #saveForm').hide();
  $('<input type="image" src="/extension/site/design/site/images/structural/submit-btn.png" class="submit-btn" /> ').appendTo('form.appnitro #li_buttons ')
  $('#machform_footer').hide();

// my vacation rollover
  var mvHide;
  var mvElem = $('.utility-nav li.vacation');
  mvElem.hover(
    function(){
      clearTimeout(mvHide);
      $(this).addClass('hover')
    },
    function(){
      mvHide = setTimeout('$(".utility-nav li.vacation").removeClass("hover")', 1000)
    }
  )

// home page hidden text
hphtMinH = 68;
$('.homepage .inner-left-col h2').nextAll().wrapAll('<div class="expanding-text" />');
$('.expanding-text').after('<div class="rmore">Read More</div>');
hphtMaxH = $('.expanding-text').height() - 15;
$('.expanding-text').css({height: hphtMinH});
$('.rmore').click(function() {
  if ($(this).hasClass('rless')) {
    $(this).html('Read More').removeClass('rless');
    $('.expanding-text').animate({height: hphtMinH}, 1000);
  } else {
    $(this).html('Read Less').addClass('rless');
    $('.expanding-text').animate({height: hphtMaxH}, 1000);
  }
});
// datepicker
  var dates = $( "#from, #to" ).datepicker({
    defaultDate: "+0d",
    minDate: "+0d",
    changeMonth: true,
    numberOfMonths: 1,
    onSelect: function( selectedDate ) {
      var option = this.id == "from" ? "minDate" : "maxDate",
        instance = $( this ).data( "datepicker" );
        date = $.datepicker.parseDate(
          instance.settings.dateFormat ||
          $.datepicker._defaults.dateFormat,
          selectedDate, instance.settings );
      dates.not( this ).datepicker( "option", option, date );
    }
  });

// preload images
  $.preloadCssImages();

// home showroom / scrollable
  if($('body').hasClass('homepage')){
    hppTotal = $('.shr-item').length;
    if(hppTotal < 2) {
      $('.home-showroom .next, .home-showroom .prev').hide();
    } else {
      // add navigation dots
      $('.home-showroom').append('<ul class="navi"></ul>')
      for (var i=0; i < hppTotal; i++) {
        $('.home-showroom .navi').append('<li><a href="#"></a></li>')
      };
      $('.home-showroom .navi li:first').addClass('active')

      hppItemW = $homepage?1300:1200;
      hppAnimating = false;
      hppCurrent = 0;
      $('.shr-item:not(:first)').hide();
      $('.home-showroom .next').click(hppNext);
      $('.home-showroom .prev').click(hppPrev);
      $('.home-showroom .navi a').click(hppNavi);
      hppTimer = setInterval(hppNext, hppInterval);
      $('.home-showroom').hover(
        function(){
          clearInterval(hppTimer);
        },
        function(){
          hppTimer = setInterval(hppNext, hppInterval);
        }
      );
    }
  }

// promo mini scrollable
  $('.so-scrollable-mini')
    .scrollable({
      circular: true,
      items: '.so-items-mini',
      item: '.so-item-mini',
      speed: 800
    })
    .navigator()
    .autoscroll({
      interval: miniPromoDelay
    });

// Points-of-interest items scrollable
  $('.poi-scrollable')
    .scrollable({
      circular: true,
      items: '.poi-items',
      item: '.poi-item',
      speed: 800
    })
    /*.navigator()*/
    .autoscroll({
      interval: poiScrollDelay
    });


// inputs default value
  $('.rmv-dft-val')
    .click(
      function() {
        if (this.value == this.defaultValue) {
          this.value = '';
        }
      })
    .blur(
      function() {
        if (this.value == '') {
          this.value = this.defaultValue;
        }
    });

// rollovers on inputs
  $('.submit-btn, .log-in-btn').hover(
    function(){
      src = $(this).attr('src').replace('.', '-over.')
      $(this).attr('src', src)
    },
    function(){
      src = $(this).attr('src').replace('-over', '')
      $(this).attr('src', src)
    }
  )

// fancybox
  var gallTimer;
  if($('a.group').length > 0) {
    $("a.group").fancybox({
      transitionIn: 'fade',
      transitionOut: 'fade',
      speedIn: 600,
      speedOut: 200,
      overlayShow: true,
      overlayOpacity: 0.6,
      hideOnContentClick: true,
      overlayColor: '#000',
      titleShow: true,
      titlePosition: 'over',
      showNavArrows: true,
      padding: 20,
      cyclic: true,
      onComplete: function(){
        clearTimeout(gallTimer);
        gallTimer = setTimeout($.fancybox.next, gallDelay)
      },
      onClosed: function(){
        clearTimeout(gallTimer)
      }
    });
  }

// fancybox - video player
  $('a.video-player').live('click', function() {
    $.fancybox({
      overlayShow: true,
      overlayOpacity: 0.6,
      hideOnContentClick: false,
      overlayColor: '#000',
      padding: 0,
      autoScale: false,
      transitionIn: 'none',
      transitionOut: 'none',
      title: this.title,
      width: 680,
      height: 495,
      href: this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
      type: 'swf',
      swf: {'allowfullscreen':'true'}
    });
    return false;
  });

// minimap
  $('.mini-map .mm-dot').mouseenter(function(){
    $('.mm-dot').css({zIndex: 1});
    $(this).css({zIndex: 5});
    $('.mm-popup').remove();
    title = $(this).text();
    link  = $(this).attr('href');
    posP = $(this).parent().offset();
    pos = $(this).offset();
    pos.top -= posP.top+4;
    pos.left -= posP.left+6;
    padding = {left: 17, right: 0}
    if(pos.left > 100) {
      pos.left -= 108;
      padding = {left: 0, right: 17}
    }
    popup  = '<div class="mm-popup">';
    popup += '<span class="mm-title">'+title+'</span>';
    popup += '<br /><a class="video-player" href="'+link+'">watch video</a>';
    popup += '</div>';
    $('.mini-map').append(popup);
    $('.mini-map .mm-title').css({paddingLeft: padding.left, paddingTop: padding.top})
    $('.mm-popup')
      .css({top: pos.top, left: pos.left, display: 'none'})
      .fadeIn()
      .mouseleave(function(){
        $(this).fadeOut(function(){
          $(this).remove();
        })
      })
  })

// waterpark map
  markers = $('.map-links li, .ml li').not('.resort-map-container li');
  mTotal = markers.length /2;
  markers
    .mouseover(function(){
      markers.not('.locked').removeClass('on');
      $('.mrl li').not('.locked').hide();
      ind = markers.index(this) % mTotal;
      $('.mrl li:eq('+ind+')').show();
      $('.map-links li:eq('+ind+'), .ml li:eq('+ind+')').addClass('on');
    })
    .mouseout(function(){
      markers.not('.locked').removeClass('on');
      $('.mrl li').not('.locked').hide();
    })
    .click(function(){
      markers.add('.mrl li').removeClass('locked');
      $('.map-info-box').hide();
      ind = markers.index(this) % mTotal;
      $('.map-links li:eq('+ind+'), .ml li:eq('+ind+'), .mrl li:eq('+ind+')').addClass('locked');
      markers.not('.locked').removeClass('on');
      $('.mrl li').not('.locked').hide();
      $('.map-info-box:eq('+ind+')').show();
      return false;
    })
  $('.mib-close').click(function(){
    markers.removeClass('locked').removeClass('on');
    $('.mrl li').removeClass('locked').hide();
    $('.map-info-box').hide();
  });

// resort map
  rsmarkers = $('.resort-map-container .ml li');
  rsmTotal = rsmarkers.length;
  rsmarkers
    .hover(
      function(){
        $(this).find('.location').stop().animate({width: 250})
      },
      function(){
        $(this).find('.location').stop().animate({width: 0})
      }
    )
    .click(function(){
      $('.map-info-box').hide();
      rsmarkers.hide();
      ind = rsmarkers.index(this);
      $('.map-details-'+ind).fadeIn(function(){
        $('.map-info-box:eq('+ind+'), .rmib-close').show();
      });
    })
    $('.rmib-close, .back-to-map').click(function(){
      $('.rmib-close').hide();
      $('.map-info-box').hide();
      $('.map-details').fadeOut(function(){
        rsmarkers.show();
      });
      return false;
    })
    
// hero image size
  leftOffset = $homepage?110:160;
  pageWidth = $homepage?1080:980;
  photoWidth = $homepage?1300:1200;
  hIcontainer = $('.home-showroom');
  wideElems = $('.header-wrp, .qr-wrp');
  footerAbsoluted = false;
  $('.bottom-transparent-bar').appendTo('body')
  setPhotoSize();
  $(window).resize(setPhotoSize);
  $(window).scroll(function() {
    if (footerAbsoluted) {
      pH = 554 - $(window).height();
      dY = pH - $('html').scrollTop();
      
//      scrollTreshold = 
      if(dY<0) {
        fixFooter();
      } else {
        unfixFooter();
      }
    };
  });
}); // end of doc ready

// hero image size
function setPhotoSize() {
/*
pW = $(window).width();
  if (pW <= pageWidth) {
    hIcontainer.width(pageWidth+leftOffset)
    wideElems.width(pageWidth-leftOffset)
  } else if (pW < photoWidth) {
    nW = Math.floor((pW-pageWidth)/2) + pageWidth + leftOffset
    nW2 = nW - 2*leftOffset;
    hIcontainer.width(nW);
    wideElems.width(nW2);
  } else {
    hIcontainer.width(photoWidth)
    wideElems.width(pageWidth)
  }
*/
pW = $(window).width();
  if (pW <= pageWidth) {
    hIcontainer.width(pageWidth+leftOffset)
    //wideElems.width(pageWidth-leftOffset)
    if ((pageWidth-leftOffset) > 980)	{
    	wideElems.width(pageWidth-leftOffset);
    } else {
    	wideElems.width(980);
    }
  } else if (pW < photoWidth) {
    nW = Math.floor((pW-pageWidth)/2) + pageWidth + leftOffset
    if ((nW - 2*leftOffset) > 980)	{
    	nW2 = nW - 2*leftOffset;
    } else {
    	nW2 = 980;
    }
    hIcontainer.width(nW);
    wideElems.width(nW2);
  } else {
    hIcontainer.width(photoWidth)
    wideElems.width(pageWidth)
  }

  // home page footer nav bar position
  pH = 554 - $(window).height();
  if (pH>0) {
    dY = pH - $('html').scrollTop();
    if (dY > 0) {
      unfixFooter()
      footerAbsoluted = true;
    } else {
        fixFooter()
        footerAbsoluted = false;
      }
  } else {
    fixFooter()
    footerAbsoluted = false;
  }
}

function fixFooter() {
  $('.bottom-transparent-bar').css({
    position: 'fixed',
    top: 'auto'
  })
}
function unfixFooter() {
  $('.bottom-transparent-bar').css({
    position: 'absolute',
    top: 504
  })
}


Cufon.replace('.info-txt p', {fontFamily: 'Gotham-Book'});
Cufon.replace('.big, .dol-sign, .sml', {fontFamily: 'Gotham-Light'});
Cufon.replace('.heading, .sr-txt, .qr-left h2, .so-heading h2, .footer-rc h2, .btm-submit h2, .btm-connect h2, .cufoned', {fontFamily: 'Gotham-Book'});
Cufon.replace('.info-txt h2', {
  fontFamily: 'Museo500-Regular',
  textShadow: '1px 1px rgba(0, 0, 0, 0.3)'
});
Cufon.replace('.homepage #content .inner-left-col h2', {fontFamily: 'Museo500-Regular'});

Cufon.replace('h1', {
  fontFamily: 'Museo500-Regular'
});

Cufon.replace('.scoutAboutTitle,.scoutAboutContent, table.default', {fontFamily: 'Museo500-Regular'});

// homepage promo scrollable fns
function hppPrev(){
  if(!hppAnimating) {
    hppAnimating = true;
    hppN = hppCurrent>0 ? hppCurrent-1 : hppTotal-1;
    hppShowNext(hppN);
  };
}
function hppNext(){
  if(!hppAnimating) {
    hppAnimating = true;
    hppN = hppCurrent+1;
    hppN %= hppTotal;
    hppShowNext(hppN);
  };
}
function hppNavi() {
  if (!hppAnimating) {
    ind=$('.home-showroom .navi a').index($(this))
    hppShowNext(ind);
  };
  return false;
}

function hppShowNext(hppN) {
  $('.home-showroom .navi li').removeClass('active');
  $('.home-showroom .navi li:eq('+hppN+')').addClass('active');
  $('.shr-scrollable .shr-item:eq('+hppN+')')
    .css({zIndex: 4})
    .fadeIn(hppFadeDuration, function() {
      $('.shr-scrollable .shr-item:eq('+hppCurrent+')').css({
        display: 'none',
        zIndex: 3
      });
      $(this).css({zIndex: 3})
      hppCurrent = hppN;
      hppAnimating = false;
    });
}


// homepage special offers scrollable fns
function hpsSetClones() {
  var hpsTotal = $('.so-scrollable .so-item').length;
  if(hpsTotal <= 3) {
    $('.so-items').append($('.so-items').html());
    hpsSetClones(hpsTotal);
  } else {
    $('.so-scrollable .so-item').each(function(i){
      l = i*hpsItemW
      $(this).css({position: 'absolute', top: 0, left: l})
    })
  }
}

function hpSpecialsMove() {
  if(!hpsAnimating) {
    hpsAnimating = true;
    $('.so-scrollable .so-item').not(':first').animate({left: '-='+hpsItemW}, 1000);
    $('.so-scrollable .so-item:first').animate({left: '-='+hpsItemW}, 1000, function(){
        $(this).css({left: hpsLastPos}).appendTo('.so-items');
        hpsAnimating = false;
      });
  }
}


  $('a.video-pl').live('click', function() {
    $.fancybox({
      overlayShow: true,
      overlayOpacity: 0.6,
      hideOnContentClick: false,
      overlayColor: '#000',
      padding: 0,
      autoScale: false,
      transitionIn: 'none',
      transitionOut: 'none',
      title: this.title,
      width: 680,
      height: 495,
      href: this.href,
      type: 'flv'
	
    });
    return false;
  });

