

// (function(){
// 
//   function eip_line(id) 
//   {
//   alert('ewfjiw');
// //     $(".tag_name").editInPlace({
// //       url: "/fillin/change_name/id/" + id,
// //       saving_image: "loading.gif",
// //       default_text: "Put '**' around **underline** words",
// //       show_buttons: 1,
// //       success:function()
// //       {
// //         alert('yeah!'); //updateTagsDropdown();
// //       }
// //     });
//   }
//   
//   
//   
//   
// })()



(function() {

  show = function(event, selector, msg) {
//console.log(event.target.id);
    $('.' + event.target.id).hide();
    $('#' + event.target.id + '-' + selector).show();
    if(msg != null){
      $('#' + event.target.id + '-' + selector).html(msg);      
    }
  }
  
  setFocus = function(event){
    if(event.target.id && (event.target.type == 'text' || event.target.type == 'textarea' || event.target.type == 'password')) {
      $('#' + event.target.id).css('background-color', '#FAFAFA').css('border', '1px solid #AAA')
      $('#' + event.target.id).css('-moz-border-radius-topright', '0').css('-moz-border-radius-bottomright', '0');
      if($('.' + event.target.id + ':visible').length == 0) show(event, 'info');
    }
  }
  
  addEventListener("click", function(event) {
    setFocus(event);
  }, false);
  
  addEventListener("change", function(event) {
    switch(event.target.id)
    {
      case 'UserFullname':
        if(event.target.value.length > 0){
          show(event, 'good');
        }
        else{
          show(event, 'error');
        }
        break;
      case 'UserEmail':
        if(event.target.value.length > 0 && /\w[-._\w]*\w@\w[-._\w]*\w\.\w{2,3}/.test(event.target.value)){
          $.ajax({
            url:"/users/check_email/" + event.target.value,
            success: function(data)
            {
              if(data == true){
                show(event, 'good');
              }
              else {
                show(event, 'error', 'email has already been taken');          
              }
            },
            error: function () 
            {
              show(event, 'error', 'server response error');
            }
          });
        }
        else{
          show(event, 'error', 'should look like an email address');
        }
        break;
    }
  }, false);
  
  $('#UserPassword').focus(function(event){
    setFocus(event);
  });
  
  $('#UserEmail').focus(function(event){
    setFocus(event);
  });
  
  $(window).bind("focus", function(event) {
// addEventListener("focus", function(event) {
    setFocus(event);
  }, false);
  
  addEventListener("blur", function(event) {
     $('#' + event.target.id).css('background-color', '#FFF').css('border', '1px solid #DDD')
  }, false);
  
  addEventListener("keyup", function(event) {
    switch(event.target.id){
      case 'UserUsername':
        if(event.target.value.length > 0){
          show(event, 'check');
          $.ajax({
            url:"/users/check_name/" + event.target.value,
            success: function(data)
            {
              if(data == true){
                if(event.target.value.length > 0){
                  show(event, 'good');
                }
                else {
                  show(event, 'info');
                }
              }
              else {
                show(event, 'error', 'username has already been taken');          
              }
            },
            error: function () 
            {
              show(event, 'error', 'server response error');
            }
          });
        }
        else
        {  
          setFocus(event);
          show(event, 'info');
        }
        break;
      case 'UserPassword':
        if(/^.*(?=.{6,})(?=.*[a-z])(?=.*[A-Z])(?=.*[\d])(?=.*[\W]).*$/.test(event.target.value)) {
          show(event, 'verystrong');
        }
        else {
          if(/^.*(?=.{6,})(?=.*[a-z])(?=.*[A-Z])(?=.*[\d\W]).*$/.test(event.target.value)) {
            show(event, 'strong');
          }
          else {
            if(/^.*(?=.{6,})(?=.*[a-z|A-Z])(?=.*[\d\W]).*$/.test(event.target.value)) {
              show(event, 'good');
            }
            else {
              if(/^.*(?=.{6,}).*$/.test(event.target.value)) {
                show(event, 'weak');
              }
              else {
                show(event, 'short');
              }
            }
          }
        }
        break;
    }
  }, false);
})();