function removeParam(query, param)
{
    if( query){
        var ret= new Array();
        var p = param+"="
        var arr = query.split("&");

        for( var i=0; i< arr.length; i++){
            if( arr[i].indexOf(p) != 0 ){
                ret.push( arr[i])
            }
        }
        return ret.join("&")
    }
    return "";
}

function reloadPage()
{
    var qs = location.search ? removeParam(location.search.substring(1) , "tick") : "" ;
    var tick = "tick=" + (new Date().getTime());
    qs =  qs.length == 0 ?  tick : "&" + tick
    window.location = location.pathname +  "?" + qs;
}

var reloadPageOnFbLoginLogout = true;
function onFbLogin()
{
    if (reloadPageOnFbLoginLogout) reloadPage();
}

function onFbLogout()
{
    if (reloadPageOnFbLoginLogout) reloadPage();
}

function fbLogin()
{
	if (FB !== undefined && FB.Connect !== undefined && FB.Connect.requireSession !== undefined)
	{
	    FB.Connect.requireSession(function() {
			onFbLogin();
	    });
	}
	else
	{
		FB.login(function(response) {
			if (response.session) {
				onFbLogin();
				if (response.perms) {
					// user is logged in and granted some permissions.
					// perms is a comma separated list of granted permissions
					
				} else {
					// user is logged in, but did not grant any permissions
				}
			} else {
				// user is not logged in
			}
			}, {perms:'publish_stream'});
	}
	
    return false;
}

function fbLogout()
{
	if (FB !== undefined && FB.Connect !== undefined && FB.Connect.logout !== undefined)
	{
	    FB.Connect.logout(function(response) {
	        if (response) onFbLogout();
	    });		
	}
	else
	{
		FB.getLoginStatus(function(response) {
		  if (response.session) {
		    // logged in and connected user, someone you know
			FB.logout(function(response) {
			  if (response) onFbLogout();
			});
		  } else {
		    // no user session available, someone you dont know
		  }
		});
	}

    return false;
}


