/*

  Placeholder emulation for form fields
  
  Usage: see Homepage.js for an example

*/

var PasswordFields = function(options){

  // options
  var email = options.email,
	  password = options.password,
	  $ = jQuery;

  var self = {

    init: function(options){
      self.setup_focus();
      self.setup_blur();
	    self.hide_label();
    },

    setup_focus: function(){
      $(email).focus(this.focus);
      $(password).focus(this.focus);
    },

    setup_blur: function(){
      $(email).blur(this.blur);
      $(password).blur(this.blur);
    },

	  hide_label: function() {
	    // if we ever upgrade to 1.4.x, change to $.browser.webkit
	    ($.browser.safari) ? 
	    setTimeout(self.hide_label_on_load, 75) : self.hide_label_on_load();
	  },

    hide_label_on_load: function(){
      if (!self.is_email_empty()){
        $(email).prev().addClass('hidden');
      }
      if (!self.is_password_empty()){
        $(password).prev().addClass('hidden');
      }
    },

    focus: function(){
      if (self.is_email_empty()){
        $(email).prev().addClass('hidden');
      }
      if (self.is_password_empty()){
        $(password).prev().addClass('hidden');
      }
    },

    blur: function(){
      if (self.is_email_empty()){
        $(email).prev().removeClass('hidden');
      }
      if (self.is_password_empty()) {
        $(password).prev().removeClass('hidden');
      }
    },

    is_password_empty: function(){
      return $(password).val() === '';
    },

    is_email_empty: function(){
      return $(email).val() === '';
    }
  };

  return self.init();
};

