if(typeof(console)=='undefined')console={log:function(){}};
var homeAnim = jQuery('.home-anim');
var btn = jQuery('.home-anim button');
var fans = jQuery('.fan');
var fan = jQuery('.fan-blade');
var newbg = jQuery('.home-anim .new-bg');
fan.rotation=0;
var prefixes=['-moz-','-webkit-','-o-','-ms-',''];
var ierotate = null;
if(typeof(window.IERotate)!= 'undefined') ierotate = window.IERotate;
fan.rotationAmount = -30;
fan.rotationInterval = 50;
function turnFan (){
  //console.log('turning');
  if(ierotate) ierotate(fan.rotation);
  else{
    fan.rotation +=fan.rotationAmount;
    if(fan.rotation < -360) fan.rotation = 0;
    for(var i=0 ; p=prefixes[i] ; i++)
      fan.css(p+'transform', 'rotate('+fan.rotation+'deg)');
  }
}
function startFan(){
  // console.log('start fan', ierotate);
  homeAnim.removeClass('hot');
  btn.unbind('click');
  fan.rotation -= fan.rotationAmount;
  homeAnim.removeClass('hot');
  if(!window.fanInterval)
    window.fanInterval = window.setInterval(turnFan, fan.rotationInterval);
  btn.click(transitionToStopping);
  if(window.snowflakes){
    homeAnim.append(snowflakes);
    if(!window.snowInterval)
      window.snowInterval = window.setInterval(window.movesnow,50);
  }
  return false;
};
function transitionToStopping(){
  btn.unbind('click');
  //homeAnim.addClass('hot');
  newbg.opacity = 0;
  window.fanTransitionInterval = window.setInterval(function(){
    fan.rotationAmount+=2;
    newbg.opacity += 0.1;
    newbg.css('opacity', newbg.opacity);
    newbg.css('-ms-filter', '"progid:DXImageTransform.Microsoft.Alpha(opacity='+(100*newbg.opacity)+')"');
    if(window.snowflakes){
      //find flakes with a parent
      var i=0, toRem=3;
      window.snowflakes.each(function(){
        var e = jQuery(this);
        if(e.parent().length > 0 && i < toRem && i++) e.detach();
      });
      // console.log(jQuery('.snowflake',homeAnim).length, window.snowflakes.length);
    }
    if(fan.rotationAmount > 0){
      fan.rotationAmount= 0;
      window.clearInterval(window.fanTransitionInterval);
      newbg.css('opacity', 0);
      newbg.css('-ms-filter', '"progid:DXImageTransform.Microsoft.Alpha(opacity='+0+')"');
      stopFan();
    }
  }, fan.rotationInterval);
}
function transitionToStarting(){
  btn.unbind('click');
  //homeAnim.removeClass('hot');
  fan.rotationAmount=0;
  newbg.opacity = 0;
  if(!window.fanInterval)
    window.fanInterval = window.setInterval(turnFan, fan.rotationInterval);
  window.fanTransitionInterval = window.setInterval(function(){
    fan.rotationAmount-=2;
    newbg.opacity += 0.1;
    newbg.css('opacity', newbg.opacity);
    newbg.css('-ms-filter', '"progid:DXImageTransform.Microsoft.Alpha(opacity='+(100*newbg.opacity)+')"');
    if(window.snowflakes){
      //find flakes with a parent
      var i=0, toAdd=3;
      window.snowflakes.each(function(){
        var e = jQuery(this);
        if(e.parent().length == 0 && i < toAdd && i++) homeAnim.append(e);
      });
      if(!window.snowInterval)
        window.snowInterval = window.setInterval(window.movesnow,50);
    }
    if(fan.rotationAmount < -30){
      fan.rotationAmount = -30;
      newbg.css('opacity', 0);
      newbg.css('-ms-filter', '"progid:DXImageTransform.Microsoft.Alpha(opacity='+0+')"');
      window.clearInterval(window.fanTransitionInterval);
      startFan();
    }
  }, fan.rotationInterval);
  if(window.snowflakes){

  }
}
function stopFan(){
  //console.log('stop fan');
  btn.unbind('click');
  homeAnim.addClass('hot');
  if(window.fanInterval) window.clearInterval(window.fanInterval);
  window.fanInterval = null;
  homeAnim.addClass('hot');
  btn.click(transitionToStarting);
  if(window.snowflakes){
    snowflakes.detach();
    window.clearInterval(window.snowInterval);
    window.snowInterval=null;
  }
  return false;
};

jQuery(document).ready(startFan);
