/* DETECT VERSION OF IE */
var isIE = navigator.appName.indexOf("Internet Explorer") != -1 ? parseFloat(navigator.appVersion.split("MSIE")[1]) : false;

var MIN_LEFT_SPACE = 300;

var formThanks = "<p><strong>Thank You!</strong> We'll be in touch soon!</p>";
var formFields = '<label for=email>Enter your email</label><input id="email" name="name" type="text" value="" required="required" /><p>To receive updates & request a private invite.</p><a href="#" class="btn disabled" id="go">GO</a>';
var ePlaceholder = "Enter your Email";
var eFieldObject = false;
var curQuote = "start";

var formGreet = null;
var allQuote = null;

var bodyHeight = 0;
var bodyWidth  = 0;
var hgLeftPos  = 0;
var hgWidth    = 0;
var hgHeight   = 0;
var curSpace   = 0;

var firstLoad  = true;

function insertFormFields(){
  $("#signup form").empty();
  $("#signup form").append(formFields);
  $("#signup form").addClass("enteremail");
  initField();
  $("#signup form").fadeIn("slow");
  $("#go").click(function () {
    $("#signup form").submit();
    return false;
  });
  
  // Hide Go Button on Default
  
  $('#go').hide();
  
  $('#email').keyup(function() {
    if (checkEmail($("#email").val())) {
      $("#go").fadeIn("slow");
    } else {
      $("#go").fadeOut("slow");
    }
  });
  
  $("#signup form").submit(function () {
    if(checkEmail($("#email").val())){
      $.post("/signups", {email: $("#email").val()} ); 
      $("#signup form").fadeOut("fast");
      setTimeout(insertThanks, 500);
      return false;
    }else{
      return false;
    }
  });
}

function checkEmail(emailEntryValue){
  var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
  return (filter.test(emailEntryValue)) ? true : false;
}

function insertThanks(){
  $("#signup form").empty();
  $("#signup form").append(formThanks);
  $("#signup form").removeClass("enteremail");
  $("#signup form").addClass("thankyou");
  $("#signup form").fadeIn("slow").delay(4000).fadeOut("slow");
  setTimeout(insertGreet, 5500);
}

function insertGreet(){
  $("#signup form").empty();
  $("#signup form").append(formGreet);
  $("#signup form").removeClass("thankyou");
  $("#signup form").fadeIn("fast");
  $("#savetime").click(function () {
    $("#signup form").fadeOut("fast");
    setTimeout(insertFormFields, 500);
    return false;
  });
}

function initField(){
  eFieldObject = $("input#email");
  eFieldObject.val(ePlaceholder);
  eFieldObject.bind("focus", function(){ checkPlaceholder(true)});
  eFieldObject.bind("blur",  function(){ checkPlaceholder()});
}

function checkPlaceholder(isFocus){
  if( eFieldObject.val() == ePlaceholder && isFocus){
    eFieldObject.val("");
  }else if( eFieldObject.val() == "" && !isFocus){
    eFieldObject.val(ePlaceholder);
  }
}

function changeQuote(){
  if (curQuote == "start"){
    curQuote = 0;
  }else{
    allQuote.eq(curQuote).fadeOut("slow");
    curQuote = (curQuote == allQuote.length-1) ? 0 : curQuote + 1;
  }
  allQuote.eq(curQuote).delay(400).fadeIn("slow");
}

function setHourPosition(){
  bodyHeight = $("html").height();
  bodyWidth  = $("html").width();
  $("#hg").css("height", bodyHeight + "px");
  hgWidth = $("#hg").width();
  hgHeight = $("#hg").height();
  curSpace = (bodyWidth - hgWidth);
  if(curSpace < MIN_LEFT_SPACE) curSpace = MIN_LEFT_SPACE;
  $("#hg").css("left", curSpace + "px");
  $("#grain").css("left", curSpace + "px").css("width", hgWidth + "px").css("height", (hgHeight/2) + "px");
  if(firstLoad && !isIE){
    $("#hg").fadeIn("slow");
    $("#grain").fadeOut(0).delay(300).fadeIn("slow");
  }else{
    $("#hg").css("display", "block");
  }
  firstLoad = false;
}

function sandAnimation(){
  $("#sand").animate({ top: "0%" }, 1400, "easeInQuart", restartSandAnimation );
}

function restartSandAnimation(){
  $("#sand").css("top", "102%");
  sandAnimation();
}

$(document).ready(function(){

  /* DETECT iPhone or iPod */
  if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
     $("body").image("display:", "none");
    setHourPosition(false);
    sandAnimation(false);
  }
  
  $("body").image("images/hourglass.png",function(){
    $("body").prepend('<span id="grain"><span id="sand"></span></span>');
    setHourPosition();
    sandAnimation();
  });
  
  $(window).resize(function() {
    setHourPosition();
  });
  
  $("#savetime").click(function () {
    $("#signup form").fadeOut("fast");
    setTimeout(insertFormFields, 500);
    return false;
  });
  
  formGreet = $('#signup form').html();
  allQuote  = $(".quotes blockquote");
  
  changeQuote();
  setInterval(changeQuote, 7500);
});


$.fn.image = function(src, f){ 
  return this.each(function(){ 
    var i = new Image();
    i.src = src;
    i.id = "hg";
    i.onload = f;
    this.appendChild(i);
  }); 
}