var lastOpenedDialog = null;
var hasJustShownError=false;

$(document).ready(function() {
  $('.facebook_hover').hover(function(){$(this).toggleClass('a1i').toggleClass('a1');});
  $('.twitter_hover').hover(function(){$(this).toggleClass('a2i').toggleClass('a2');});
  $('.buzz_hover').hover(function(){$(this).toggleClass('a3i').toggleClass('a3');});

  $('#dialog').dialog({
    autoOpen: false,
    modal: true,
    width: 600,
    top: 100,
    buttons: {
      "OK": function() {
        friendsSelectorOkBtn();
      },
      "Avbryt": function() {
        $(this).dialog("close");
      }
    }
  });

  $('#connect-dialog-facebook').dialog({
    autoOpen: false,
    modal: true,
    width: 600,
    buttons: {
      "Koppla": function() {
        facebookGroupAdd();
        $(this).dialog("close");
        $('facebook-connect-22').show();
        $('facebook-connect-23').hide();
      },
      "Avbryt": function() {
        $('facebook-connect-22').show();
        $('facebook-connect-23').hide();
        $(this).dialog("close");
      }
    }
  });

  $('#connect-dialog-twitter').dialog({
    autoOpen: false,
    modal: true,
    width: 600,
    buttons: {
      "Klar": function() {
        $(this).dialog("close");
        lastOpenedDialog = null;
      }
    }
  });

  //tabbing / finishing of form :
  $('#e').keypress(function(event) {
    if (event.keyCode == '13') {
       event.preventDefault();
       $('#e').blur();
       $('#p').focus();
     }
  });
  $('#p').keypress(function(event) {
    if (event.keyCode == '13') {
       event.preventDefault();
       friendsSelectorOkBtn();
     }
  });

  var profiles = {
  windowCallUnload:
    {
      height:450,
      width:800,
      center:1,
      onUnload:function(event) {
        if (lastOpenedDialog!=null) $(lastOpenedDialog).dialog("close");

      $.ajax({
        url:  "/weblogic/twitter_connected.php",
        data: "",
        type: "GET",
        dataType: "json",
        error: function(msg) {
           showError("Network error, try again later." + msg);
        },
        success: function(data) {
          switch(data.status) {
          case "ok":
            //$('#connect-link-twitter').removeClass('a2i').addClass('a2').removeClass('twitter_hover');
            $('#lastAction').html("Gruppen kopplades precis till Twitter!");
            break;
          case "not valid":
            break;
          }
        }
      });

      }
    }
  };

  var fbprofiles = {
  windowCallUnload:
    {
      height:450,
      width:800,
      center:1,
      onUnload:function(event) {
      $.ajax({
        url:  "/weblogic/get_facebook_groups.php",
        data: "",
        type: "GET",
        dataType: "json",
        error: function(msg) {
           showError("Du verkar inte ha anslutit MultiSMS till facebook.");
        },
        success: function(data) {
          $("#fb-dialog-loading").hide();
          switch(data.status) {
          case "ok":
            datalist = data.list;
            var output = [];
            for ( var i in datalist) {
              output.push('<option value="'+ datalist[i].value +'">'+ datalist[i].text +'</option>');
            }
            $('#facebook-group-select').html(output.join(''));
            $('#facebook-connect-22').hide();
            $('#facebook-connect-23').show();
            break;
          case "not valid":
            showError("Du verkar inte ha gett MultiSMS r&auml;ttigheter.");
            break;
          }
        }
      });
      }
    }
  };

  $('#connect-link-twitter').popupwindow(profiles);
  $('#connect-link-twitter').click(function(){
    $('#connect-dialog-twitter').dialog('open');
    //$('#connect-dialog-twitter').expose(); // Expose the window with a mask (using jQuery Tools)
    hasJustShownError = false;
    lastOpenedDialog='#connect-dialog-twitter';
    return false;
  });

  $('#connect-link-facebook').popupwindow(fbprofiles);
  $('#connect-link-facebook').click(function(){
    $('#connect-dialog-facebook').dialog('open');
    //$('#connect-dialog-facebook').expose(); // Expose the window with a mask (using jQuery Tools)
    hasJustShownError = false;
    return false;
  });

  $('#import-contacts-link-facebook').click(function(){
    // FIXME: Consider a better DOM-ID...
    $('#dialog').dialog('open');
    //$('#dialog').expose(); // Expose the window with a mask (using jQuery Tools)
    hasJustShownError = false;
    return false;
  });
});

function showError(str) {
  if (!hasJustShownError) {
    hasJustShownError = true;
    alert(str);
  }
}
function friendsSelectorOkBtn() {
  var hasLoggedIn = !$('#import-facebook-form').is(':visible');

  if (!hasLoggedIn) {
    submitFbForm();
  } else {
    var n = $(".itemselected > input").each(function (i){
          newMember= $(this).val().split("|");
          memberNames =  newMember[0].split(" ");
          shortName = memberNames[0]; //first name only
          if (memberNames.length>1) shortName += " "+memberNames[1].substring(0,1);
          newMember[0].split(" ")[0]
          insertNewValues(shortName, newMember[1]);
          //insertNewValues(newMember[0], newMember[1]);
    });
    $("#dialog").dialog("close");
  }
}



function facebookGroupAdd() {
	var gid = $("#connect-link-facebook").attr("gid");
  $.ajax({
    url:  "/weblogic/add_facebook_group.php?gid=" + gid,
    data: $("#connect-facebook-form").serialize(),
    type: "POST",
    dataType: "json",
    error: function(msg) {
         alert("Anslutningsproblem.");
    },
    success: function(data) {
      switch(data.status) {
      case "ok":
        //$('#connect-link-facebook').removeClass('a1i').addClass('a1').removeClass('facebook_hover');
        //$('#lastAction').html('Gruppen kopplades precis till facebook!');
        // OK-dialog.
        confirm_ok("Facebook-anslutning", "Gruppen kopplad till facebook!",function () {location.reload(true);});
        break;
      case "not valid":
        alert("Fel vid gruppering!");
        break;
      }
    }
  });
}


function submitFbForm() {
  //hide default values
  $(".defaultText").each(function(i) {if ($(this).val()==$(this)[0].title) $(this).val("");});
  if ($("#e").val().length>2 && $("#p").val().length>2) {
    $("#import-facebook-form").hide();
    $("#fb-dialog-loading").show();
    $.ajax({
        url: "/weblogic/get_friends.php",
        data: $("#import-facebook-form").serialize(),
        type: "POST",
        dataType: "json",
        error: function(msg) {
          $("#import-facebook-form").show();
          $("#fb-dialog-loading").hide();
           alert("Tyvärr lyckades vi ej ansluta till servern. Kolla att du är ansluten till internet och försök gärna igen.");
        },
        success: function(data) {
        	$("#fb-dialog-loading").hide();
          switch(data.status) {
          case "ok":
            datalist = data.list;
            for ( var i in datalist) {
              newLi = '<li><strong>'+datalist[i].name +'</strong><br /><span class="fcbkitem_text">'+datalist[i].number+'</span><input type="hidden" name="fcbklist_value[]" value="'+datalist[i].name+"|"+datalist[i].number+'" /></li>';
              $("#fcbklist").append(newLi);
            }
              $.fcbkListSelection("#fcbklist","540","50","3"); //changed by mj
            $("#friendlist").show();
            break;
          case "not valid":
             $("#import-facebook-form").show();
            alert("Fel lösen? Försök gärna igen.");
            break;
          }
        }
    });
  }
  //return default values to form fields
  $(".defaultText").each(function(i){if ($(this).val().length==0) $(this).val($(this)[0].title);});
}
