/* Author: Alex Kravets @ http://slatestudio.com 2011
*/

/*
TWITTER
*/

var la_twitter_link = "http://twitter.com/hdbuttercupla";
var sf_twitter_link = "http://twitter.com/hdbuttercupsf";


function formatTime(date_str) {
  var time = '1 hour ago';
  var n = new Date();
  var d = new Date(date_str);
  
  if ( n.getDate() == d.getDate() && n - d < 86400000 ) {
    var hours = Math.round( (n - d) / (3600 * 1000) );
    if (hours > 1) { time = hours + ' hours ago'; }
  } else {
    var l = date_str.split(" "); time = l[2] + " " + l[1];
  }
  return time;
}


function formatText(text) {
  text = text.replace(/(https?:\/\/\S+)/, "<a target=\"_blank\" href=\"$1\">$1</a>");
  text = text.replace(/(^|\s)@(\w+)/,     " <a target=\"_blank\" href=\"http://twitter.com/#!/$2\">@$2</a>");
  text = text.replace(/(^|\s)#(\w+)/,     " <a target=\"_blank\" href=\"http://twitter.com/search?q=%23$2\">#$2</a>");
  return text;
}


function setTweet(prefix, tweet, account_link) {
  $('#twitter-text-' + prefix).html(formatText(tweet.text));
  $('#twitter-via-' + prefix).html(tweet.source);
  $('#twitter-link-' + prefix).attr('href', account_link + '/status/' + tweet.id_str);
  $('#twitter-link-' + prefix).html(formatTime(tweet.created_at));
}


function twitterCallbackLA(data) { setTweet('la', data[0], la_twitter_link); }
function twitterCallbackSF(data) { setTweet('sf', data[0], sf_twitter_link); }


if ($('#s-twitter').length > 0) {
  $('head').append('<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/hdbuttercupla.json?callback=twitterCallbackLA&count=1"></script>');
  $('head').append('<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/hdbuttercupsf.json?callback=twitterCallbackSF&count=1"></script>');  
}


/*
SUBSCRIPTION
*/

function subscribe_mailchimp() {
  $('#mc-embedded-subscribe-form .email').val( $('#newsletter-form .email-address-input').val() );
  //$('#mc-subscribe-form').ajaxForm();
  $('#mc-embedded-subscribe-form').submit();
}


function validate_newsletter_form() {
  var RE_EMAIL = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
  var value = $('#newsletter-form .email-address-input').val();
  if ( !RE_EMAIL.test(value) ) {
    alert("Sorry, provided email address is invalid.");
    $('#newsletter-form .email-address-input').focus();
    return false;
  }
  return true;  
}


if ($('#newsletter-form').length > 0) {
  var form = $('#newsletter-form');
  
  $('#newsletter-form .email-address-input').click(function(e){
    if( $(this).val() == "Enter your email address") { $(this).val(""); }
  });
  
  form.submit(function(e){
    e.stopPropagation();
    e.preventDefault();
    
    if (validate_newsletter_form()) {
      $('#sidebar-newsletter-progress').show();
      subscribe_mailchimp();
    }
  });
}


/*
CONTACT
*/

function validate_contact_form() {
  var is_valid = true;
  $('#contact-form .email, #contact-form .string, #contact-form .text').each(function(){
    if ( is_valid ) {
      if( $(this).hasClass('email') ) {
        var RE_EMAIL = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
        if ( !RE_EMAIL.test( $(this).val() ) ) {
          $(this).focus();
          is_valid = false;
        }
      } else {
        if ( $(this).val() === "" ) {
          $(this).focus();
          is_valid = false;
        }
      }
    }
  });
  return is_valid;
}


function set_contact_background(button) {
  var button_id = button.parent().attr('id');
  $('#contact-form-dialog .contact-intro').attr('class', '').addClass('contact-intro').addClass(button_id);
}


if ($('#contact-buttons').length > 0) {
  $('#contact-close-button').click(function(e){
    $('#contact-buttons li a.current').removeClass('current');
    $('#contact-form-dialog').slideUp(300);
    e.preventDefault();
  });
  
  $('#contact-buttons li a').click(function(e){
    $('#contact-form-progress').hide();
    $('#contact-form-thankyou').hide();
    $('#contact-regarding-to').val($(this).attr('title'));
    set_contact_background( $(this) );
    $('#contact-buttons li a.current').removeClass('current'); $(this).addClass('current');
    $('#contact-form-dialog').slideDown(300);
    e.preventDefault();
  });
  
  var form = $('#contact-form');
  form.submit(function(e){
    e.stopPropagation();
    e.preventDefault();
    
    if (validate_contact_form()) {
      $('#contact-form-progress').show();
      $.post(form.attr('action'), form.serializeArray(), function(data) {
        $('#contact-form-progress').hide();
        if (data.errors == null) {
          $('#contact-form-thankyou').show();
          form[0].reset();
        } else alert("Something went wrong. Please try again.");
      }, "json");
    }
  });
}


/*
SEARCH
*/

if ($('#blog-search-input').length > 0) {
  $('#blog-search-input').click(function(e){
    if( $(this).val() == "Search and Get Inspired...") { $(this).val(""); }
  });
}



