/*  Google analytics Tracking */
$(document).ready(function() {
  // Init the google analytics stuff
  analytics = _track;
  analytics.init();
  
  $('#austrianAirlines').promotionAustrianAirlines();
});

$.fn.promotionAustrianAirlines = function() {
  if( !this.length ) {
    return this;
  }
  
  return this.each(function() {
    var $trigger = $(this),
        $select = $trigger.find('select'),
        
        $selDayStart = $select.filter('select[name=day0]'),
        $selMonthStart = $select.filter('select[name=month0]'),
        $selYearStart = $select.filter('select[name=year0]'),
        
        $selDayEnd = $select.filter('select[name=day1]'),
        $selMonthEnd = $select.filter('select[name=month1]'),
        $selYearEnd = $select.filter('select[name=year1]'),
        
        now = new Date(),
        day = now.getDate(),
        month = now.getMonth()+1,
        year = now.getFullYear(),
        
        /* add offset to current date for flight back */
        endDate = new Date(year, month - 1, day + 3),
        
        endDay = endDate.getDate(),
        endMonth = endDate.getMonth()+1,
        endYear = endDate.getFullYear();
        
        /* Set default values */
        $selDayStart.val(day.toString().length === 1 ? '0' + day : day);
        $selMonthStart.val(month.toString().length === 1 ? '0' + month : month);
        $selYearStart.val(year);
        
        $selDayEnd.val(endDay.toString().length === 1 ? '0' + endDay : endDay);
        $selMonthEnd.val(endMonth.toString().length === 1 ? '0' + endMonth : endMonth);
        $selYearEnd.val(endYear);
  });
}

var _track = {
      pageTracker : false,
      track_load : false,
      track_init : false,
      trackingCode : gat_tracker_id,
      domainName : gat_domain_name,
      try_count : 0,
      loadTrack : function( track, data ) {
        if( !track ) {
          return false;
        }

        if( !data ) {
          data = false;
        }

        // Do not try it more ta
        if( !_track['track_load'] ) {
          if( _track['try_count'] <= 5 ) {
            if( !_track['track_init'] )
              _track.init( data );
            _track['try_count'] ++;
            setTimeout( _track.loadTrack( track, data ), 300); }
        } else {
          _track['try_count'] = 0;
          _track[track]( _track.pageTracker, data );
        }
        
      },
      init : function( data ) {
        _track['track_init'] = true;
        
        var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
            $.getScript(gaJsHost + "google-analytics.com/ga.js", function() {
              _track['track_load'] = true;
              try {
                _track.pageTracker = _gat._getTracker( _track.trackingCode );
                _gat._anonymizeIp();
                _track.pageTracker._setDomainName( _track.domainName );
                _track.pageTracker._setAllowLinker( true );
                _track.pageTracker._setAllowHash( false );
                _track.promotion( _track.pageTracker );
                _track.pageview( _track.pageTracker );
                
                // Track the download of any media
                _track['downloadMedia']( _track.pageTracker );
                
                // MODUL University Analytics | Piwik
                _track['university-piwik']();
                
              } catch(err) {}
            });
      },
      
      'university-piwik': function() {
          var pkBaseURL = (("https:" == document.location.protocol) ? "https://analytics.modul.ac.at/" : "http://analytics.modul.ac.at/");
          $.getScript(pkBaseURL + "piwik.js", function() {
            try {
              var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 3);
                  piwikTracker.trackPageView();
                  piwikTracker.enableLinkTracking();
            } catch( err ) {}            
          });          
      },
      
      /* download of media */
      'downloadMedia': function( pageTracker, data ) {
        $('#pageContent').find('.track_download')
            .bind('click.promotionTrack', function( ev ) {            
              if( $(this).data('downloaded') !== true ) {
                pageTracker._trackEvent( 'media', 'download', $(this).attr('href') );
                $(this).data('downloaded', true);
              }
            });
      },
      
      /* Media is played */
      'playMedia': function( pageTracker, data ) {        
        if( data && data.name ) {          
          pageTracker._trackEvent( 'media', 'play', data.name );
        }
      },
      
      pageview : function( pageTracker ) {
        pageTracker._trackPageview();
      },
      
      // Google Maps - script loads
      'google-maps-load' : function( pageTracker ) {
        pageTracker._trackEvent('google maps script', 'load');
      },
      
      // Views & clicks of promotions
      promotion : function( pageTracker ) {          
        if (! $('#headerFeatured .caption a, .promotion a').length ) return;          
        var promotions = $('#headerFeatured .caption a, .promotion a');
        
        // Promotion views
        promotions.each(function() {
          pageTracker._trackPageview('/promotion/' + $(this).attr('rel') + '/view/');
        });
        
        // Promotion clicks
        promotions.click(function() {
          pageTracker._trackPageview('/promotion/' + $(this).attr('rel') + '/click/');
        });          
      }        
}  

