try{
	document.namespaces.add( "fb", "http://www.facebook.com/2008/fbml");
}catch(nserror){
}

var g_SocialNet;

try{
	g_SocialNet = { 
	"LinkedIn" : {
		"NetworkName" : "LinkedIn",
		"UserID" : "",
		"UserName" : "",
		"FirstName" : "",
		"LastName" : "",
		"PhotoUrl"  : "",
		"ProfileUrl" : "",
		"LoggedInCallback"  : null,
		"LoggedOutCallback"  : null
		},
	"Facebook" : {
		"NetworkName" : "Facebook",
		"UserID" : "",
		"UserName" : "",
		"PhotoUrl"  : ""
		},
	"Twitter" : {
		"NetworkName" : "Twitter",
		"UserID" : "",
		"UserName" : "",
		"PhotoUrl"  : "",
		"T"  : null,
		"User"  : null
		}
	};
}catch(nserror){
	g_SocialNet = new Object();
	g_SocialNet.LinkedIn = new Object();
	g_SocialNet.LinkedIn.NetworkName = "LinkedIn";
	g_SocialNet.LinkedIn.UserID = "";
	g_SocialNet.LinkedIn.UserName = "";
	g_SocialNet.LinkedIn.FirstName = "";
	g_SocialNet.LinkedIn.LastName = "";
	g_SocialNet.LinkedIn.PhotoUrl = "";
	g_SocialNet.LinkedIn.ProfileUrl = "";
	g_SocialNet.LinkedIn.LoggedInCallback = null;
	g_SocialNet.LinkedIn.LoggedOutCallback = null;

	g_SocialNet.Facebook = new Object;
	g_SocialNet.Facebook.NetworkName = "Facebook";
	g_SocialNet.Facebook.UserID = "";
	g_SocialNet.Facebook.UserName = "";
	g_SocialNet.Facebook.PhotoUrl = "";

	g_SocialNet.Twitter = new Object;
	g_SocialNet.Twitter.NetworkName = "Twitter";	
	g_SocialNet.Twitter.UserID = "";
	g_SocialNet.Twitter.UserName = "";
	g_SocialNet.Twitter.PhotoUrl = "";
	g_SocialNet.Twitter.T = null;
	g_SocialNet.Twitter.User = null;
}

//--------------------------------------------------------
//------------ Facebook code -----------------------------
//--------------------------------------------------------


//http://www.facebook.com/profile.php?id=
//http://graph.facebook.com/" + userid + "/picture


function Facebook_Logout()
{
	var fbappid = GetItemValue("FBApplicationID");
	if (fbappid == ""){
		return;
	}
	if ( get_cookie("fbs_" + fbappid) == null){
		return;
	}
	FB.logout(function(response) {
		var item = document.getElementById("FacebookUser");
		if (item != null){
			item.style.display = "none";
			item.innerHTML = "";
		}
		Facebook_SetSocialNetworkVars("","","");
		//-----------------------
		DisplayLoginFields();
	});
}

function Facebook_GetUserProfile(){
	var fbappid = GetItemValue("FBApplicationID");
	if (fbappid == ""){
		return;
	}
	if ( get_cookie("fbs_" + fbappid) == null){
		return;
	}
	FB.api('/me', function(response) {
		if (response){
			if (response.id == ""){
				return;
			}
			Facebook_SetSocialNetworkVars(response.id,response.name,"http://graph.facebook.com/" + response.id + "/picture");
			Facebook_DrawUserInfo();
			//-----------------------
			DisplayLoginFields();
		}
	});
}

function Facebook_DrawUserInfo()
{
	var item = document.getElementById("FacebookUser");
	if (item != null){
		item.innerHTML = "<table><tr><td style='width: 55px;'><fb:profile-pic uid='loggedinuser' facebook-logo='true'></fb:profile-pic></td>" +
			"<td><div style='font: 9pt Verdana; padding-left: 4px;'>  Welcome Facebook User:<br>&nbsp;" + 
			"<fb:name uid='loggedinuser' useyou='false'></fb:name>" +
			"<br><br><button type='button' style='font: 8pt Verdana' onclick='Facebook_Logout();'>Sign out of Facebook</button>" +
			"</div>" +
			"</td></tr></table>";
		item.style.display = "";
		FB.XFBML.parse();
	}
}

function Facebook_SetSocialNetworkVars(UserID, UserName, PhotoUrl)
{
	g_SocialNet.Facebook.UserID = UserID;
	g_SocialNet.Facebook.UserName = UserName;
	g_SocialNet.Facebook.PhotoUrl = PhotoUrl;
}


/*
function Facebook_QueryName(){
	var FBUserID = document.getElementById("FaceBookUserID");
	if (FBUserID == null){
		return;
	}
	var query = FB.Data.query('select name, uid from user where uid={0}', FBUserID.value );
	query.wait(function(rows) {
		SetItemValue( "UserName", rows[0].name );
 	});
 }

function SetFBInfo( UserID, UserName ){
	var item = document.getElementById("FBImage");
	if (item != null){
		var fburl = "http://graph.facebook.com/" + UserID + "/picture";
		if (	item.src != fburl){
			item.src = fburl;
		}
	}
	document.getElementById("FBNameDisplay").innerHTML = "<a class='fb_link' href='http://www.facebook.com/profile.php?id='" + UserID + "' target='_blank'>" + UserName + "</a>";
}
*/

//--------------------------------------------------------
//------------ Twitter code ------------------------------
//--------------------------------------------------------

//http://twitter.com/account/redirect_by_id?id=
//http://twitter.com/users/show/


function Twitter_Logout() {
	document.getElementById('TwitterUser').innerHTML = "";
	Twitter_SetSocialNetworkVars("", "", "");
	//-----------------------
	DisplayLoginFields();
	//-----------------------
	twttr.anywhere.signOut();
}


function Twitter_Connect() {
	//-------------------------------
    twttr.anywhere(function(T) {  
	//-------------------------------
		g_SocialNet.Twitter.T = T;
		//-------------------------------
        if (T.isConnected()) {
			g_SocialNet.Twitter.User = T.currentUser;
			Twitter_GetUserProfile();
		}
		//-------------------------------
       	//document.getElementById('twitter-login').innerHTML = "";
          T("#twitter-login").connectButton({ size: "medium",
              authComplete: function(user) {
              	// triggered when auth completed successfully
				//Twitter_GetUserProfile2(user);
				g_SocialNet.Twitter.User = user;
				Twitter_GetUserProfile();
              	},
              signOut: function() {
              	// triggered when user logs out
				Twitter_SetSocialNetworkVars("", "", "");
				g_SocialNet.Twitter.User = null;
				document.getElementById('TwitterUser').innerHTML = "";
				DisplayLoginFields();
              }
          });
    });
}

function Twitter_GetUserProfile2(user) {
	//alert(user);
}

function Twitter_GetUserProfile() {
    if (g_SocialNet.Twitter.T.isConnected() == false) {
    	return;
    }
	//---------------------------------------
	var currentUser = g_SocialNet.Twitter.User;
	//---------------------------------------
	var screenName = currentUser.screenName;
	var UserId = currentUser.id;
	var profileImage = currentUser.profileImageUrl;
	var profileImageTag = "<img src='" + profileImage + "'/>";
	//---------------------------------------
	var item1 = document.getElementById('TwitterUser');
	item1.innerHTML = "<table><tr><td>" + profileImageTag + "</td>" +
	"<td><div style='font: 9pt Verdana; padding-left: 4px;'>Welcome Twitter User:<br>&nbsp;" + 
	"<a href='http://www.twitter.com/" + screenName + "' target='_blank'>" + screenName + "</a>" +
	"<br><br><button type='button'  style='font: 8pt Verdana' onclick='Twitter_Logout();'>Sign out of Twitter</button>" +
	"</div></td></tr></table>";
	item1.style.display = "";
	//---------------------------------------
	Twitter_SetSocialNetworkVars(UserId, screenName, profileImage);
	//---------------------------------------
	DisplayLoginFields();    
}

function Twitter_SetSocialNetworkVars(UserID, UserName, PhotoUrl)
{
	g_SocialNet.Twitter.UserID = UserID;
	g_SocialNet.Twitter.UserName = UserName;
	g_SocialNet.Twitter.PhotoUrl = PhotoUrl;
}


/*
function TwitterConnect() {
    twttr.anywhere(function(T) {
         	//document.getElementById('twitter-login').innerHTML = "";
       	var currentUser, screenName, profileImage, profileImageTag;
        
        if (T.isConnected()) {
			currentUser = T.currentUser;
			screenName = currentUser.data('screen_name');
			//SetItemValue( "UserName", screenName );
			//---------------------------------------
			var UserId = currentUser.data('id');
			//SetItemValue( "TwitterUserID", UserId );
			//---------------------------------------
			profileImage = currentUser.data('profile_image_url');
			//SetItemValue( "TwitterProfileImage", profileImage );
			//---------------------------------------
			profileImageTag = "<img src='" + profileImage + "'/>";
			
			var item1 = document.getElementById('TwitterUser');
			item1.innerHTML = "<table><tr><td>" + profileImageTag + "</td>" +
			"<td><div style='font: 9pt Verdana; padding-left: 4px;'>Welcome Twitter User:<br>&nbsp;" + 
			"<a href='http://www.twitter.com/" + screenName + "' target='_blank'>" + screenName + "</a>" +
			"<br><br><button type='button'  style='font: 8pt Verdana' onclick='Twitter_Logout();'>Sign out of Twitter</button>" +
			"</div></td></tr></table>";
			item1.style.display = "";
			//---------------------------------------
			Twitter_SetSocialNetworkVars(UserId, screenName, profileImage);
			//---------------------------------------
			DisplayLoginFields();
		}
        //} else {
            T("#twitter-login").connectButton({ size: "medium",
                authComplete: function(user) {
                	// triggered when auth completed successfully
					TwitterConnect();
                },
                signOut: function() {
                	// triggered when user logs out
					Twitter_SetSocialNetworkVars("", "", "");
					DisplayLoginFields();
					TwitterConnect();
                }
            });
        //};
    });
}
*/



//--------------------------------------------------------
//--------------------------------------------------------
//--------------------------------------------------------

function DisplayLoginFields()
{
//temp disable code to not allow reviews and comments without login
return;

	var item  = document.getElementById('LoginInfo1a');
	if (item == null){
		return;
	}
	if (IsNullOrEmpty(g_SocialNet.LinkedIn.UserID) && 
		IsNullOrEmpty(g_SocialNet.Facebook.UserID) &&
		IsNullOrEmpty(g_SocialNet.Twitter.UserID)){
		SetItemDisplayStyle("LoginInfo1a", "");
		SetItemDisplayStyle("LoginInfo2a", "none");
		SetItemDisplayStyle("LoginInfo1b", "");
		SetItemDisplayStyle("LoginInfo1c", "");
		SetItemDisplayStyle("LoginInfo1d", "");
		SetItemDisplayStyle("LoginInfo1e", "");				
	}else{
		SetItemDisplayStyle("LoginInfo1a", "none");
		SetItemDisplayStyle("LoginInfo2a", "");
		SetItemDisplayStyle("LoginInfo1b", "none");
		SetItemDisplayStyle("LoginInfo1c", "none");
		SetItemDisplayStyle("LoginInfo1d", "none");
		SetItemDisplayStyle("LoginInfo1e", "none");				
	}
}

function SetSocialNetworkEditFormInfo( UserID, UserName, PhotoUrl, NetworkName )
{
	SetItemValue("UserName", UserName);
	SetItemValue("SocialNetUserID", UserID);
	SetItemValue("SocialNetUserName", UserName);
	SetItemValue("SocialNetProfileImage", PhotoUrl);
	SetItemValue("SocialNetworkName", NetworkName);
}

function get_cookie( cookie_name )
{
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
  if ( results )
    return ( decodeURIComponent( results[2] ) );
  else
    return null;
}


