﻿function onLogin(r)
{
  if (r.session)
  {
    if (r.session.expire == "0")
    {
      $("#vk_login").append("<div class='relogin'>Пожалуйста, ещё раз.</div>");
    }
    else
    {
      window.location.href = $("#vk_login").attr("data-returnUrl") || window.location.href;
    }
  }
}

function onLogout()
{
  window.location.href = "/";
}

function init()
{
  var login = $("#vk_login");
  if (login.length > 0)
  {
    VK.UI.button('vk_login');
    VK.Observer.subscribe("auth.sessionChange", onLogin);
    login.click(function () { VK.Auth.login(); });
  }
  VK.Observer.subscribe("auth.logout", onLogout);
  $("#vk_logout").click(function ()
  {
    VK.Auth.logout();
    return false;
  });
}

function initCountries(complete, api)
{
  api = api || function () { VK.Api.call.apply(VK.Api, arguments); };
  var data = $.map($(".profile_country:input"), function (field, i)
  {
    return $(field).val();
  });
  var cids = data.join(",");
  api("getCountries", { cids: cids }, function (r)
  {
    $.each(r.response || {}, function (i, val)
    {
      $.each($(".profile_country:input[value=" + val.cid + "]"), function (i, field)
      {
        $(field).val(val.name);
        $(field).change();
      });
    });
    if (complete != null)
    {
      complete();
    }
  });
}

function initProfile(response, api)
{
  $.each(response || {}, function (i, user)
  {
    $.each(user, function (key, value)
    {
      $(".profile_" + key).each(function (i, e)
      {
        var el = $(e);
        if (el.is("img"))
        {
          el.attr("src", value);
        }
        else if (el.is(":input"))
        {
          el.val(value);
          el.change();
        }
        else
        {
          el.text(value);
        }
      });
    });
  });
  initCountries(null, api);
}