
var like_count = 0;
var like_current_sn_identifier = "";
var like_current_sn_type = "";

function like_count_calculate(sn_url, sn_identifier, sn_type)
{
    like_count = 0;
    like_current_sn_identifier = sn_identifier;
    like_current_sn_type = sn_type;

    var url = encodeURIComponent(sn_url);

    like_count_vkontakte(url);
    like_count_twitter(url);
    like_count_facebook(url);
    //ajaxGETRequest("/forms/social.php", "url=" + encodeURIComponent(sn_url), like_count_responce);
}

function like_count_update(result)
{	document.getElementById("sn_count_" + like_current_sn_type + "_" + like_current_sn_identifier).innerHTML = String(like_count);
}

/*
function like_prepare(sn_identifier, sn_type)
{    var like_function = sn_type + '_' + sn_identifier + '()';
    var params = eval(like_function);
	return params;
}
*/

function like_vkontakte(sn_identifier, sn_type, params)
{
    //var params = like_prepare(sn_identifier, sn_type);

    var vk_url = "http://vkontakte.ru/share.php?title=" + params['sn_title'];
    vk_url += "&url=" + params['sn_url'];
    vk_url += "&description=" + params['sn_description'];

    if ( params['sn_image'] != '' )
    {
    	vk_url += "&image=" + params['sn_image'];
    }

    window.open(vk_url, '', 'toolbar=0,status=0,width=500,height=250,resizable=yes');
}

function like_count_vkontakte(url)
{
    var vk_url = "http://vkontakte.ru/share.php?";
    vk_url += "act=count";
    vk_url += "&index=1";
    vk_url += "&url=" + url;
    vk_url += "&callback=callback";

    VK = new Object();
    VK.Share = {};
    VK.Share.count = function(index, count){
        like_count = like_count + count;
        like_count_update();
	}

	ajaxLoadJS(vk_url);
}

function like_facebook(sn_identifier, sn_type, params)
{
    //var params = like_prepare(sn_identifier, sn_type);

    var fb_url = "http://www.facebook.com/sharer.php?s=100&p[title]=" + params['sn_title'];
    fb_url += "&p[url]=" + params['sn_url'];
    fb_url += "&p[summary]=" + params['sn_description'];

    if ( params['sn_image'] != '' )
    {
    	fb_url += "&p[image]=" + params['sn_image'];
    }

    window.open(fb_url, '', 'toolbar=0,status=0,width=500,height=300,resizable=yes');
}

function like_count_facebook(url)
{
	var facebook_url = 'http://api.facebook.com/restserver.php?method=links.getStats&callback=like_count_facebook_responce&urls=' + url + '&format=json';
    ajaxLoadJS(facebook_url);
}

function like_count_facebook_responce(facebook_info)
{	var count = parseInt( facebook_info[0].share_count );
	like_count = like_count + count;
    like_count_update();
}

function like_twitter(sn_identifier, sn_type, params)
{
    //var params = like_prepare(sn_identifier, sn_type);

    var twitter_url = "http://twitter.com/share?text=" + params['sn_description'];
    twitter_url += "&url=" + params['sn_url'];

    window.open(twitter_url, '', 'toolbar=0,status=0,width=500,height=300,resizable=yes');
}

function like_count_twitter(url)
{
	var twitter_url = 'http://urls.api.twitter.com/1/urls/count.json?url=' + url + '&callback=like_count_twitter_responce';
    ajaxLoadJS(twitter_url);
}

function like_count_twitter_responce(twitter_info)
{
 	var count = parseInt( twitter_info.count );
	like_count = like_count + count;
    like_count_update();
}
