// updated (C)2011/Sep, www.pa-ket.com
// for cross-domain jsonp callback home twitter box

// cross domain ajax does not work.
// using this:
// https://api.twitter.com/1/statuses/user_timeline.json?screen_name=hillcrestfarm&count=1&callback=HC.loaded
//$.get('https://api.twitter.com/1/statuses/user_timeline.json?screen_name=hillcrestfarm&count=1', function(d) { });

var HC = {
  'loaded': function(d) {
    if(d.length == 0) {
      return;
      //console.log('no data');
    }
    var id = d[0].id_str; // http://groups.google.com/group/twitter-development-talk/browse_thread/thread/6a16efa375532182?pli=1
    var txt = d[0].text;
    var date = d[0].created_at;
    $('h3 + a', '#twit').text(txt);
    $('span.time', '#twit').text(pretty_date(date));
    $('#twit-wrap .tblock a').each(function() {
      $(this).attr('href', $(this).attr('href').replace('XXX', id) );
    });
    //console.log(prettyDate(date), id, txt);
  
    function pretty_date(dateStr){
      var formats = [
        [60, 'seconds', 1],
        [120, '1 minute ago'],
        [3600, 'minutes', 60],
        [7200, '1 hour ago'],
        [86400, 'hours', 3600],
        [172800, 'Yesterday'],
        [604800, 'days', 86400],
        [1209600, '1 week ago'],
        [2678400, 'weeks', 604800]
      ];
      // I FUCKING *H*A*T*E* Internet Explorer of course date parsing is crappy - 1,5 hrs wasted - WOW!!
      // FUCK FUCk FUXK FUCK FUCK IT BURn IN HELL IE!!!!!!!!!!!!!!!!!!!!!!!!!!!
      // http://msdn.microsoft.com/en-us/library/ff743760(v=vs.85).aspx      
      //var time = ('' + dateStr).replace(/-/g,"/").replace(/[TZ]/g," ");

      // fix twitter's date so that ie accepts it
      var x = dateStr.split(' ');
      var z = x[1] + ' ' + x[2] + ' ' + x[5] + ' ' + x[3] + ' ' + x[4];
      var seconds = (new Date - new Date(z)) / 1000;
      
      var i = 0, format;
      while (format = formats[i++]) if (seconds < format[0])
        return format[2] ? Math.floor(seconds / format[2]) + ' ' + format[1] + ' ago' :  format[1];
      return time;
    };
    
  }
}


jQuery(document).ready(function($) {


  // addthis to all content pages
  var at = '<div id="addthis"><div class="addthis_toolbox addthis_default_style ">'
+'<a class="addthis_button_facebook_like" fb:like:layout="button_count"></a>'
+'<a class="addthis_button_tweet"></a>'
+'<a class="addthis_button_google_plusone" g:plusone:size="medium"></a>'
+'<a class="addthis_counter addthis_pill_style"></a></div>'
+'<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4e7d73bc62f6f28b"</script><div>';
  var p = document.location.pathname;
  if(p != '/contact' && p != '/venues/bookings' )
     $('#content > h1').after(at);

  // top 'social logos' add
  $('#top > a#logo + #bnr').append('<div class="socialblk">FIND US ON: <a href="http://twitter.com/#!/hillcrestfarm" title="Hillcrest on twitter" class="tw" target="_blank"></a> <a href="http://www.facebook.com/HillcrestEstate" title="Hillcrest on facebook" class="fb" target="_blank"></a> </div>');


  // home page big top banner + pager
  $('#home-tabs ul').tabs('#home-panes > .pane', 
    {rotate: true, effect: 'fade', fadeOutSpeed: 100}).slideshow(
    {autoplay: true, clickable: false, interval: 5800});


  // a.photozoom fancybox2 image zoom
  $('#content a.photozoom').fancybox();
  
  
  // inline mini slideshow on weddings and venues pages
  $('.slideshow .tabs img').click(function() {
    $this = $(this);
    if($this.hasClass('active')) return;
    var main = $this.parent().parent().find('img.main');
    var tmp = new Image(); // preload
    tmp.onload = function() {
      main.attr('src', $this.attr('data-source'));    
      main.fadeTo(500, 1);
    }
    var load = function() {
      tmp.src = $this.attr('data-source');      
    }
    main.fadeTo(500, 0.05, load);
    $this.parent().find('img').removeClass('active');
    $this.addClass('active');
  });
  

  // use title as value when entering data to input text forms -- makes it compact (generic)
  // use <input type="text" rel="hint" title="[stuff_to_show_in_it]" />
  $(':input[type=text][title][rel=hint], textarea[title][rel=hint]').each(function() {
    var $this = $(this);
    if($this.val() === '') {
      $this.val($this.attr('title'));
    }
    $this.focus(function() {
      if($this.val() === $this.attr('title')) {
        $this.val('');
      }
    });
    $this.blur(function() {
      if($this.val() === '') {
        $this.val($this.attr('title'));
      }
    });
  });

  // check newsletter form and submit using ajax / check errors
  $('#newsletter form').submit(function() {
    $('#newsletter #errordesc').hide();        
    var oks = true;          
    $('#newsletter :input[type=text][title]').each(function() {
      $this = $(this);
      if($this.val() == '' || $this.val() == $this.attr('title')) {
        $('#newsletter #errordesc').show();
        oks = false;
      }
    });
    if(oks) { // send it
      var f = $('#newsletter form');
      $.post(f.attr('action'), f.serialize(), function(data) {
        $('#newsletter #submitokdesc').show();
      }, 'html');
    }
    return false; // always submit via ajax
  });


});
