var baseURL = window.location.protocol + '//' + window.location.hostname + '/';
var userInfo = null;

window.vkAsyncInit = function()
{
	VK.init({
		apiId: vkAppId,
		nameTransportPath: '/xd_receiver.htm',
        vk: 1
	});
    
    $('.vk_login_btn').each(function (item) {
        VK.UI.button($(this).attr('id'));
    });
};

$(function () {
    //el.async = true;
    $('#vk_api_transport').append('<script type="text/javascript" src="http://vkontakte.ru/js/api/openapi.js?3"></script>');
});

function doLogin() {
	VK.Auth.login(afterLogin, VK.access.FRIENDS | VK.access.WIKI);
}

function doLogout() {
	VK.Auth.logout(afterLogout);
}

function afterLogin(response) {
    if (response.status == "connected") {
        $("#userInfo_sid").val(response.session.sid);
        $("#userInfo_id").val(response.session.user.id);
        $("#userInfo_first_name").val(response.session.user.first_name);
        $("#userInfo_last_name").val(response.session.user.last_name);
        $("#userInfo_nickname").val(response.session.user.nickname);
        getInitData();
        //window.location.href = '/user/register-vk';
    }
}

function afterLogout(response) {
	window.location.href = '/user/logout';
}

function getInitData()
{
  var code;
  code = 'return {';
  code += 'me: API.getProfiles({uids: API.getVariable({key: 1280}), fields: "photo, photo_medium, photo_big, photo_rec, city, country"})[0]';
  code += ',info: API.getGroupsFull({gids:1})[0]';
  //code += ',friends: API.getProfiles({uids: API.getAppFriends(), fields: "photo"})';
  code += '};';
  VK.Api.call('execute', {'code': code}, onGetInitData);
}

function onGetInitData(data)
{
    $("#userInfo_photo").val(data.response.me.photo);
    $("#userInfo_photo_medium").val(data.response.me.photo_medium);
    $("#userInfo_photo_big").val(data.response.me.photo_big);
    $("#userInfo_photo_rec").val(data.response.me.photo_rec);

    //console.log(print_obj(data));
    // fetch city and country names also
    var code;
    code = 'return {';
    code += ' city: API.places.getCityById({cids: '+data.response.me.city+'})';
    code += ',country: API.places.getCountryById({cids: '+data.response.me.country+'})';
    code += '};';
    VK.Api.call('execute', {'code': code}, onGetLocationData);
}

function onGetLocationData(data)
{
    $("#userInfo_city").val(data.response.city[0].name);
    $("#userInfo_country").val(data.response.country[0].name);

    $("#user_info_form").submit();
    //$("#userInfo_photo_rec").val(data.response.me.photo_rec);
    //console.log(print_obj(data));
}


    /*VK.Auth.getLoginStatus(function(response) {
      if (response.session) {
        window.location = baseURL + '?op=main&page=auth';
      } else {
        VK.UI.button('vk_login');
      }
    });
    VK.Observer.subscribe('auth.login', function(response) {
      window.location = baseURL + '?op=main&page=auth';
    });
    VK.Observer.subscribe('auth.logout', function() {
      //console.log('logout');
    });
    VK.Observer.subscribe('auth.statusChange', function(response) {
      //console.log('statusChange');
    });
    VK.Observer.subscribe('auth.sessionChange', function(r) {
      //console.log('sessionChange');
    });*/
