var myStyle = new Fx.Style('fb_friends', 'opacity', {duration: 250});
var closeTimer, facebookUser, facebookFriends, fbFriendIds;
var fbFriendsVisible = false;
var currPage = 0;
var totalPages=0;
var fbSession;
var rightScrollBtn = $('sliderrightbtn');
var leftScrollBtn = $('sliderleftbtn')
var firstPage = ($('slidercontainer0')); 
var lastSeenArray="";
if(firstPage){
	firstPage.setStyle('visibility', 'visible');
	firstPage.setOpacity(1);
}
function showFBFriendList(){
	if(closeTimer){
		clearTimeout(closeTimer);
		closeTimer = setTimeout(hideFBFriendList, 20000);
	}
	if(!fbFriendsVisible){
		$('fb_friends').setStyle('display', 'block');
		myStyle.start(1);
		fbFriendsVisible = true;
		closeTimer = setTimeout(hideFBFriendList, 20000);
	}
}	
function hideFBFriendList(){
	if(fbFriendsVisible){
		myStyle.start(0);
		$('fb_friends').setStyle('display', 'none');
		fbFriendsVisible = false;
		clearTimeout(closeTimer);
	}	
}	
function scrollFriendList(direction){
	var hideCurrPage;
	var showTargetPage;
	hideCurrPage = new Fx.Style('slidercontainer'+currPage, 'opacity', {duration: 100});
	if(direction == 'next' && currPage < totalPages-1){
		hideCurrPage.start(0);
		currPage = currPage+1;
		showTargetPage = new Fx.Style('slidercontainer'+currPage, 'opacity', {duration: 500});
		showTargetPage.start(1);	
	}else if(direction == 'prev' && currPage >0){
		hideCurrPage.start(0);
		currPage = currPage-1; 
		showTargetPage = new Fx.Style('slidercontainer'+currPage, 'opacity', {duration: 500});
		showTargetPage.start(1);	
	}
	setScrollbuttons();
}
function setScrollbuttons(){
	if(currPage == totalPages-1){
		rightScrollBtn.setStyle('visibility', 'hidden');
	}else{
		rightScrollBtn.setStyle('visibility', 'visible');
	}
	if(currPage == 0){
		leftScrollBtn.setStyle('visibility', 'hidden');
	}else{
		leftScrollBtn.setStyle('visibility', 'visible');
	}		
}		
function checkFBLogin(){
	if($('ptrLogin') && $('fbLogin')){
		$('ptrLogin').setStyle('display','none');
		$('fbLogin').setStyle('display','block');
	}
	var query = "SELECT uid, first_name, last_name, pic_square_with_logo, profile_url  FROM user WHERE uid="+fbSession.uid;
	if($('fbUserName')){
	FB.Facebook.apiClient.fql_query(query, function(fbUser, ex){
		var profileImgURL = fbUser[0].pic_square_with_logo== null?"http://static.ak.connect.facebook.com/pics/q_silhouette.gif":fbUser[0].pic_square_with_logo;
		//$('fbUserName').innerHTML = "<a href='"+fbUser[0].profile_url+"'><img height='25' width='25' src='"+profileImgURL+"'>"+fbUser[0].first_name+" "+fbUser[0].last_name+"</a>";
		//$('fbUserName').innerHTML = "<a href='"+fbUser[0].profile_url+"'>"+fbUser[0].first_name+" "+fbUser[0].last_name+"</a>";
		$('fbUserName').innerHTML = "<a href='/user/userProfilePrivate.jsp'>"+fbUser[0].first_name+" "+fbUser[0].last_name+"</a>";
		var params = "act=login&user="+fbUser[0].uid+","+fbUser[0].first_name+","+fbUser[0].last_name+"&profileImgURL="+profileImgURL;
		//alert(params);
		var friendsQuery= "SELECT uid  FROM user WHERE has_added_app=1 and uid  IN (SELECT uid2 FROM friend WHERE uid1 = " + fbUser[0].uid + ")";
		FB.Facebook.apiClient.fql_query(friendsQuery, function(result, ex){
			facebookFriends = result;
			fbFriendIds = "";
			for(var i=0;i<facebookFriends.length;i++){
				fbFriendIds = fbFriendIds+facebookFriends[i].uid+",";
			}	
			params = params+"&friendIds="+fbFriendIds;
			var req = getXMLHttpRequest();
	    	var url ="/fbsession";
			req.onreadystatechange=function(){
		    	if(req.readyState==4){
			    	if (req.status == 200) {
			    		lastSeenArray = (req.responseText).split(",");
			    		loadFriendList();
			    	}
		    	}
			}	
			
			req.open("POST",url,true);
			req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			req.send(params);
		});	
	});	
	}
}
 
function loadFriendList(){
    var listHTML="";
	var query = "SELECT uid, first_name, last_name, pic_square_with_logo, profile_url  FROM user WHERE has_added_app=1 and uid  IN (SELECT uid2 FROM friend WHERE uid1 = " + FB.Facebook.apiClient.get_session().uid + ")";
	FB.Facebook.apiClient.fql_query(query,function(friendList, ex){
		var result = new Array();
		var pageCount=0;
		var j=0;
		listHTML = "<div class='slidercontainer' id='slidercontainer0' style='position: absolute; visibility: visible;opacity: 1;'>";
		var imgURL;
		var fbfriendFlag=0;
		for(i=0;i<friendList.length;i++){
		fbfriendFlag=1;
			result[i] = friendList[i];
			if(i%6==0 && i!=0){
				pageCount++; j=0;
				listHTML += "</div><div class='slidercontainer' id='slidercontainer"+pageCount+"' style='position: absolute;'>";
			}
			listHTML += "<div class='container'>";
			imgURL = result[i].pic_square_with_logo==""?"http://static.ak.connect.facebook.com/pics/q_silhouette.gif":result[i].pic_square_with_logo;
			listHTML += "<div class='containerimg'><a href='"+result[i].profile_url+"' target='_blank' target><img src='"+imgURL+"' alt='' border='0'/></a></div>";
			listHTML += "<div class='containertext'>";
			listHTML += "<div class='shows_content'><a href='"+result[i].profile_url+"' target='_blank' class='link11'><strong>"+result[i].first_name+" "+result[i].last_name+"</strong></a></div>";
			listHTML += "<div class='shows_content'>"+lastSeenArray[j]+"</div>";
			listHTML += "</div>";
			listHTML += "</div>";
			j++;
		}
		listHTML += "</div>";
		if(fbfriendFlag==0)
		listHTML="<div style='vertical-align: middle;height: 40px;font-size: 30px;text-align: center;font-weight: bold;margin-top: 45px;'>Welcome, be the first to <a style='font-size: 30px;font-weight: bold;' href='#' onclick='javascript:openInviteFriendWindow();'>tell</a> your facebook friends</div>";
		document.getElementById('slidermidcontent').innerHTML = listHTML;
		showFBFriendList();
		totalPages = pageCount+1;
		setScrollbuttons();
	});
}
function fbLogout(){
	FB.Connect.logout(function() { 
		var req = getXMLHttpRequest();
    	var url ="/fbsession?act=logout";
    	req.onreadystatechange=function(){
	    	if(req.readyState==4){
		    	if (req.status == 200) {
		    		window.location='/home'; 
		    	}
	    	}
		}
    	req.open("GET",url,true);
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		req.send(null);
	});
} 

function getXMLHttpRequest(){
  	if (window.XMLHttpRequest) {
     	return new XMLHttpRequest();
    }else {
  		return new ActiveXObject("Microsoft.XMLHTTP");
    }			
}
// Initiate facebook connect


FB_RequireFeatures(["XFBML"], function(){
	FB.Facebook.init("091e83c40cd5124fc42753193d0a595c", "/fb/xd_receiver.htm");
	FB.Facebook.get_sessionState().waitUntilReady(function(){
		fbSession =FB.Facebook.apiClient.get_session(); 
		if(fbSession.uid){
			var locationStr = ""+window.location;
			if(locationStr.indexOf("login") >=0){
				window.location = "/home";
			}else{
				checkFBLogin();
			}	
			//loadFriendList();
		}
	})
});


function replaceAll(str,orgStr,repStr)
{
    return str.split(orgStr).join(repStr);
} 

