var TIME_FOR_ANIMATION = 15000;
var TIME_BETWEEN_ROWS = TIME_FOR_ANIMATION / 5;
var TIME_PR_ANIMATION = 9000;



var css3Helper = (function() {
  
  var obj = {};

  function getTransformProperty(element) {
      var properties = ['transform', 'WebkitTransform', 'MozTransform'];
      var p;
      while (p = properties.shift()) {
          if (typeof element.style[p] != 'undefined') {
              return p;
          }
      }
      return false;
  }
  
  obj.browserCompatibleCSSTransformRotate = function(elem){

    var property = getTransformProperty(elem);
    if (property) {
      var degree = (Math.random()*10)-5;
      elem.style[property] = 'rotate(' + degree + 'deg)';
    };
  };
  
  obj.tryToUseCssTranslateAnimation = function(elem,x){
    // var property = getTransformProperty(elem);
    // if (property) {
    //   elem.style[property] = 'translate(' + x + ')';
    // } else {
      elem.animate({
	      'left' : x
	    },TIME_FOR_ANIMATION,"linear",function() {
	      elem.remove();
	    });
    // }
  };
  
  return obj;
  
})();

var imageFactory = (function(){
  
  var obj = {};
  var localCount = -1;
  var getNextImage = function(){
    // alert("length: "+ obj.images.length);
    localCount = (function() {
      return (localCount >= obj.images.length-1) ? 0 : localCount+1;
    })();
    return obj.images[localCount];
  };
  
  obj.createRow = function(){
	  var images = [new Image(), new Image(), new Image()];
	  var row = $('<div class="row" />');
	  $.each(images, function(index,value) {
	    var img = getNextImage();
	    var url = img.thumb;
	    var link = img.big;
	    var container = $('<div class="thumbcontainer" />');
	    var link = $('<a href="'+ link +'" target="_blank" class="facebox"/>');
	    link.facebox();
	    value.className = "thumb";
      value.src = url;
	    value.width = 97;
      value.height= 97;
      container.append(link.append(value));
      css3Helper.browserCompatibleCSSTransformRotate(container[0]);
      row.append(container);
	  });
	  return row;
	};
  
  obj.startAnimationLoop = function(){
	  var rows = [obj.createRow(),obj.createRow(),obj.createRow()];
	  $.each(rows,function(index,row){
	    setTimeout(function() {
	      row.appendTo('#image_view').fadeIn(500,function() {
	        css3Helper.tryToUseCssTranslateAnimation(row, "-150px");
	      });
	    },TIME_BETWEEN_ROWS*index);
	  });
	  setTimeout(function() {
	    obj.startAnimationLoop();
	  },TIME_PR_ANIMATION);
	};
	
	(function() {
    
    $.get(window.location.href + "/ffffound_feed.php",function(data,status,request){ 
      var itms = (function() {
        if (window.DOMParser) {
          return $(data).find("item");
        } else {
          xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
          xmlDoc.async="false";
          xmlDoc.loadXML(data);
          return $(xmlDoc.getElementsByTagName("item"));
          // alert(.length);
        };
      })();
      // var items = $.makeArray($(data).find("item"));
      obj.images = $.map(itms,function(node,index) {
        var url = $(node).find('media\\:thumbnail').attr('url');
        var big = $(node).find('media\\:content').attr('url');
        return {
          "thumb" : url,
          "big" : big
        };
      });

      obj.startAnimationLoop();

    });    
  })();
  
  return obj;
  
})();

$(document).ready(function(){
	
	activatePlaceholders();
	
	setTimeout(function() {
		$('#coming_soon').addClass('show');
	},1500);
	  
  // boring part
	
	$('#submit').bind('click',function(){
	  var shake = function(selector){
	    $(selector).animate({
          'margin-left' : -5
      }, 100).animate({
          'margin-left' : 5
      }, 100).animate({
          'margin-left' : 0
      }, 100);
	  };
	  
	  var validate_email_input = function(text){
        var filter = /[a-zA-Z0-9._-]+@[a-zA-Z0-9]+.[a-z]+(.[a-z]+)?/;

        if (!filter.test(text)) {
            shake('#emailadr');
            $('#emailadr').addClass('error');
            return false;
        }
        return true;
    };
	  	  
	  var fadeoutAndAdd = function(){
	    var img = new Image();
	    img.id = "thankyou";
	    img.src = "images/thankyou.png";
	    jQuery('#email input').fadeOut(500,function(){
        $('#email').append(img);
      });
	  };
	  var email_value = $('#emailadr').val();
	  if (validate_email_input(email_value)) {
      var url = "http://www.rouseapp.com/add_to_mailchimp.php?" + "email=" + email_value +"&name=" + email_value;   
      jQuery.post(url);
      fadeoutAndAdd();
	  }
	  return false;
	});
	
});

// Got this code from http://www.beyondstandards.com/archives/input-placeholders/
function activatePlaceholders() {
  var detect = navigator.userAgent.toLowerCase();
  if (detect.indexOf("safari") > 0) return false;
  var inputs = document.getElementsByTagName("input");
  for (var i=0;i<inputs.length;i++) {
    if (inputs[i].getAttribute("type") == "text") {
      if (inputs[i].getAttribute("placeholder") && inputs[i].getAttribute("placeholder").length > 0) {
        inputs[i].value = inputs[i].getAttribute("placeholder");
        inputs[i].onclick = function() {
          if (this.value == this.getAttribute("placeholder")) {
            this.value = "";
          }
          return false;
        };
        inputs[i].onblur = function() {
          if (this.value.length < 1) {
            this.value = this.getAttribute("placeholder");
          }
        };
      }
    }
  }
}

