$(document).ready(function(){

    // hide loader gif by default

    $(".loading").hide();

    // enable inline field labels
    var inv_addr = $("input#bdconversion-invitation-addresses");
    if(inv_addr.val() === '') {
        inv_addr.val(inv_addr.attr('title'));
    }
    else{
        inv_addr.focus();
        inv_addr.addClass("focused");
    }

    inv_addr.focus(function(){
        if ($(this).val() === $(this).attr('title')) {
            $(this).val('').addClass("focused");
        }
    });
    inv_addr.blur(function(){
        if ($(this).val() === '') {
            $(this).val($(this).attr('title')).removeClass("focused");
        }
    });

    // show error msg if multiple email invite field is empty.

    $("#bdconversion-invitation-create-multiple form input[type=submit]").click(function(event){
        // if inv_addr is blank or nothing is keyed in
        if(inv_addr.val() == inv_addr.attr('title')){
            event.preventDefault();
            inv_addr.val('').addClass("focused").focus();
            $(".errorlist").hide();
            $("#error-required").show();
        }
        else{
            $(".errorlist").hide();
        }
    });

    // Select all/none checkboxes

    $("#select_all").click(function(event){
        event.preventDefault();
        $("input:checkbox").attr("checked","checked");
    });
    $("#select_none").click(function(event){
        event.preventDefault();
        $("input:checkbox").removeAttr('checked');
    });

    $("#bdconversion-invitation-personal-link-url").click(function(){
        document.getElementById('bdconversion-invitation-personal-link-url').select();
    });

    // Claim Username

   // when change button is clicked
   $("#bdconversion-invitation-personal-link-change-button").click(function(){
       $("#bdauth-userprofile-claim-username").show();
       $("#invitation-link-info").show();
       $("#bdconversion-invitation-personal-link-display").hide();
       var username = $("#bdauth-userprofile-claim-username #username");
       username.data('originalValue',username.val());
   });

   // when cancel button is clicked
   // reset input field and hide any messages
   $("#bdconversion-invitation-personal-link-change-cancel-button").click(function(){
       var username = $("#bdauth-userprofile-claim-username #username");
       username.val(username.data('originalValue'));
       $("#bdconversion-invitation-personal-link-display").show();
       $(".msgfield").hide();
       $("#bdauth-userprofile-claim-username").hide();
   });

   // username claiming form options
   var claimUsernameFormoptions = {
          //target: ".response",
          success: function(responseText, statusText, xhr) {
              var error = $("#invitation-link-error");
              var errormsg = error.children('li');
              if(responseText=="ALREADY_CLAIMED"){
                  errormsg.html(gettext("You can change your username only once."));
                  error.show();
              } else if(responseText=="ALREADY_TAKEN"){
                  errormsg.html(gettext("This username is already taken, please try another username."));
                  error.show();
              } else if(responseText=="SYNTAX_ERROR"){
                  errormsg.html(gettext("Username can only contain numbers, letters, underscore and dash, between 3 and 30 characters."));
                  error.show();
              } else if(responseText=="INVALID_REQUEST"){
                  errormsg.html(gettext("You're not allowed to reach this page"));
                  error.show();
              } else {
                  $("#bdconversion-invitation-personal-link-url").val(SITE_HTTP_URL+"/invite/"+responseText);
                  $("#bdconversion-invitation-personal-link-display").show();
                  $("#bdauth-userprofile-claim-username").hide();
                  $("#bdconversion-invitation-personal-link-change-button").hide();
                  $("#invitation-link-success li").html(interpolate(gettext("Your username has been changed to %(username)s"), {username: responseText}, true));
                  $("#invitation-link-success").show().delay(2000).fadeOut();
              }
           }
       };

   // initialize form with jquery form
   $('#bdauth-userprofile-claim-username-form').ajaxForm(claimUsernameFormoptions);

   // initialize contact counter
   $("#bdconversion-invitation-create-addressbook-list ul li input").change(update_selected_contacts_count);
   $("table#open-invites-paginate td input").change(update_selected_contacts_count);
   $("#select_all, #select_none").click(update_selected_contacts_count);
});

function update_selected_contacts_count(){
    var selectedCount = 0;
    if($("#bdconversion-invitation-create-addressbook-list").length > 0) {
        $("#bdconversion-invitation-create-addressbook-list ul li input").each(function(){
            if($(this).attr('checked')){selectedCount ++;}
        });
        $(".selected-contacts-count").text(selectedCount);
    }
    else if($("table#open-invites-paginate").length > 0){
        $("table#open-invites-paginate td input").each(function(){
            if($(this).attr('checked')){selectedCount ++;}
        });
        $(".selected-contacts-count").text(selectedCount);
    }

}

