/* Author: 

*/

try{Typekit.load();}catch(e){};

var startAt,
    urlPrefix = '/images/headers/',
    imgArray = ['1.png',
                '2.png',
                '3.png',
                '4.png',
                '5.png',
                '6.png',
                '7.png',
                '8.png',
                '9.png',
                '10.png',
                '11.png',
                '12.png',
                '13.png',
                '14.png',
                '15.png',
                '16.png',
                '17.png'];

function imgRotator() {
  $('#flash').addClass('loading').empty();
  var timeout = 5000,
      img = new Image();
  
  if ( startAt === undefined ) {
    
    timeout = 10000;
    
    switch( $('body').attr('id') ) {
      
      case 'accuraSpray':
        startAt=0;
        break;
      
      case 'rokide':
        startAt=1;
        break;
      
      case 'hvofBucket':
        startAt=2;
        break;
      
      case 'hvofShaft':
        startAt=3;
        break;
      
      case 'twokwLaser':
        startAt=4;
        break;
      
      case 'fourkwLaser':
        startAt=5;
        break;
      
      case 'onekwLaser':
        startAt=6;
        break;
      
      case 'arcSpray':
        startAt=7;
        break;
      
      case 'flameSpray':
        startAt=8;
        break;
      
      case 'machining':
        startAt=9;
        break;
      
      case 'qaQc':
        startAt=10;
        break;
      
      case 'plasma':
        startAt=11;
        break;
      
      case 'contact':
        startAt=12;
        break;
      
      case 'oilRig':
        startAt=13;
        break;
      
      case 'gasRig':
        startAt=14;
        break;
      
      case 'refinery':
        startAt=15;
        break;
      
      case 'turbineInspection':
        startAt=16;
        break;
      
      default:
        startAt=0;
    }
  }
  
  $(img).load( function() {
    
    $(this).hide();
    
    if ( $('#flash img').length != 0 ) {
      $('#flash img').replaceWith(this);
    }
    
    else {
      $(this).appendTo('#flash');
    }
    
    $(this).fadeIn(200, function() {
      $('#flash').removeClass('loading');
    });
    
    if ( startAt < ($(imgArray).length - 1) ) {
      startAt++;
    }
    else {
      startAt=0;
    }
    
    (new Image()).src = urlPrefix + imgArray[(startAt + 1)];
    
    window.setTimeout(imgRotator,timeout);
    
  }).attr('src',urlPrefix + imgArray[startAt]);
  
};

function buildTOC() {
  
  var li = [];
  $('#toc').append('<ol />');
  
  $('h2').each( function() {
    
    var text = $(this).text().trim();
    
    li.push(text);
    
    $(this).prepend('<a name="' + text.toLowerCase().replace(/\s/,'') + '"></a>')
           .append(' <a href="javascript:;" class="topLink">top</a>');
    
  });
  
  $.each(li,function(i) {
    $('#toc ol').append('<li><a href="#' + li[i].toLowerCase().replace(/\s/,'') + '">' + li[i] + '</a></li>');
  });
  
  $('a.topLink').click( function() { $(window).scrollTop(0); return false; });
  
};

// google maps function for contact page
function gMaps() {
  var latlng = new google.maps.LatLng(29.5888320,-95.4275640);
  var settings = {
    zoom: 15,
    center: latlng,
    mapTypeControl: false,
    mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
    navigationControl: true,
    navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("map-canvas"), settings);
  var contentString = '<div id="content">'+
                        '<h1 id="firstHeading" class="firstHeading">F.W. Gartner</h1>'+
                        '<div id="bodyContent">'+
                          '<p>25 Southbelt Industrial Drive<br>'+
                          'Houston, Texas 77047<br>'+
                          'Phone: 713-225-0010<br>'+
                          'Fax: 713-229-9841<br>'+
                          'Email: <a href="mailto:info@fwgts.com">info@fwgts.com</a></p>'+
                        '</div>'+
                      '</div>';
   
  var infowindow = new google.maps.InfoWindow({ content: contentString });
  
  var companyLogo = new google.maps.MarkerImage('images/logos/map-logo.png',
     new google.maps.Size(70,34),
     new google.maps.Point(0,0),
     new google.maps.Point(35,17)
  );
  var companyPos = new google.maps.LatLng(29.5888320,-95.4275640);
  var companyMarker = new google.maps.Marker({
     position: companyPos,
     map: map,
     icon: companyLogo,
     title:"F.W. Gartner"
  });
  
  google.maps.event.addListener(companyMarker, 'click', function() {
     infowindow.open(map,companyMarker);
  });
};

function setFooter() {
  
  var hgt = $(window).height(),
      doc = $('header').outerHeight(true) + $('#main').outerHeight(true) + $('footer').outerHeight() + ( $('footer div').outerHeight(true) - $('footer').outerHeight() ) + 50;
  
  if ( hgt >= doc ) {
    $('footer').css({'position':'fixed','bottom':'0'});
    $('.footer-background').css({'position':'fixed','bottom':'0'});
  }
  else if ( hgt < doc ) {
    $('footer').css({'position':'relative'});
    $('.footer-background').css({'position':'relative'});
  }
  
};









// document.ready functions
$( function() {
  
  // ajax load site menu and append to #main inside a nav tag
  $.get('/partials/_menu.html', function(data) {
    $('#menu').empty().append(data);
    $('#menu .secondary').css({'width': ($('#main').outerWidth() - $('#menu .primary').outerWidth() - $('#main .spacer').outerWidth()) + 'px'});
  });
  
  // ajax load the topRunner
  $.get('/partials/_topRunner.html', function(data) {
    $('header').append(data);
    
    var width = 0;
    $('#topRunner li').each( function() {
      width += $(this).outerWidth();
    });
    
    $('#topRunner').css({'width':width + 'px'});
  });
  
  // ajax load site footer content
  $('footer').load('/partials/_footer.html');
  
  // any link that points to a file intended to be downloaded or viewed externally should open in a new window
  $('a[href$="pdf"],a[href$="ppt"],a[href$="mov"],a[href$="doc"]').attr('target','_blank');
  
  // append flavor elements and classes
  $('body').append('<div class="background" /> <div class="bubbles" /> <div class="footer-background" />');
  $('header').append('<div id="statement" />');
  $('#main').append('<p id="footNote">25 Southbelt Industrial Dr. Houston, Texas 77047 — P.O. Box 451509 Houston, Texas 77245-1509 <span>site design: <a href="http://www.petropages.com/" target="_blank">PetroPages.com</a></span></p>');
  $('#content-block').addClass('clearfix');
  
  // sort .spec-sheet
  if ( $('.spec-sheet').length != 0 ) {
    $(".spec-sheet div:not(:first-of-type)").tsort("span:first-child");
  };
  
  // index specific actions
  if ( $('#home').length != 0 ) {
    $('#upcomingEvents').load('/upcoming.html .event:first', function() {
      $(this).prepend('<h3>Upcoming Events</h3>').append('<p><a href="/upcoming.html">Complete schedule &raquo;</a></p>');
      $('.event').removeClass();
    });
    $('#flash').empty();
    flashembed('#flash', {
      src: '/fwg_flash.swf',
      wmode: 'transparent',
      width: '912',
      height: '278',
      onFail: function() {
        var img = new Image(); // <img src="/images/flash-placeholder.png" width="912" height="278" alt="FW Gartner">
        $(img).attr({
          'src':'/images/flash-placeholder.png',
          'alt':'FW Gartner Thermal Spray LTD',
          'width':'912',
          'height':'278'
        });
        $('#flash').empty().append(img);
      }
    });
  };
  
  // execute google maps function when appropiate elemtn exists
  if ( $('#map-canvas').length != 0 ) { gMaps(); };
  
  // call imgRotator on any page but the index
  if ( $('#home').length === 0 ) {
    imgRotator();
  };
  
  // build Table of Contents if neccessary
  if ( $('#toc').length != 0 ) {
    buildTOC();
  }
  
  setTimeout(setFooter,1000);
  
});

$(window).resize( function() { setFooter(); });

$('#video img').click( function() {
  
  $(this).unbind();
  
  var args;
  
  if ( Modernizr.video && Modernizr.video.h264 ) {
    args = '.mp4';
  }
  
  else if ( Modernizr.video && Modernizr.video.ogv ) {
    args = '.ogv';
  }
  
  else if ( Modernizr.video && Modernizr.video.webm ) {
    args = '.webm';
  }
  
  else if ( !Modernizr.video ) {
    args = 'fail';
  }
  
  if ( args == 'fail' ) {
    $(this).attr( 'src', '/video/no-play.png' );
    alert('Sorry, your browser does not support native playback. Please download the video instead.');
  }
  
  else {
    
    $(this).replaceWith('<video src="/video/' + $(this).attr('class') + args + '" type="video/' + args.replace('.','') + '" autoplay controls />');
    
  }
  
});
