// JavaScript Document
var user;


function getUserInfo(p_id)
    {
    FB.ensureInit(function() 
        {
        FB.Facebook.apiClient.users_getInfo(p_id, ["proxied_email"], function(result, ex)
            {
            flash("onweekly").onUserInfo(result[0].proxied_email);
            });
        });
    }

function checkAllowUpdates(mode){
	FB.ensureInit(function() 
	{
		flash("onweekly").onCheckFacebookConnection(user, mode);
	});
}

function writeWall(target, coupon, firstN) {
	var template_data = eval({"cheadline":coupon,"ctargt":firstN});
	var body_general = "";
	var user_message_prompt = "";
	var user_message = "";
	FB.ensureInit(function() 
	{
		FB.Connect.showFeedDialog('109934832512', template_data, [target], body_general, null, FB.RequireConnect.promptConnect,
			function (msg, err) {
				flash("onweekly").wallComplete();
			}
		);
        });
}

function sendDealNotice(target, msg) {
	FB.ensureInit(function()
        {
		FB.Facebook.apiClient.notifications_send(target, msg, function(result, ex) {
			if(!result) {
				flash("onweekly").fbNotifyComplete("fail");
			} else {
				flash("onweekly").fbNotifyComplete("success");
			}
		});
	});
}

function sendDeal(sharedLink)
{
	var sharedLink = sharedLink;

	FB.ensureInit(function() 
	{
		
		
        var dialog = new FB.UI.FBMLPopupDialog('Choose which Friends gets your ON Weekly Exclusive Deal', '');	
		
        
		var fbml = "<fb:fbml>" + 
        				"<fb:request-form style=\"width:680px; height:540px;\" type=\"deal\" action=\"http://onweeklydev2.cpbstaging.com\" " +
						"method=\"POST\" invite=\"false\" type=\"\" content=\"Testing the Facebook app or ON "+
        					"<fb:req-choice url='http://onweeklydev2.cpbstaging.com"+ sharedLink +"' label='Confirm' />\">" + 
        					"<fb:multi-friend-selector showborder=\"false\" exclude_ids=\"\" actiontext=\"Send A Deal\" rows=\"3\" max=\"1\" bypass=\"cancel\" />" + 
        				"</fb:request-form>" + 
        			"</fb:fbml>";
        
        dialog.setFBMLContent(fbml);
        dialog.setContentWidth(680); 
        dialog.setContentHeight(540);
        
        dialog.show();
    });
}

function getFBSession() {
	return FB.Facebook.apiClient._session;
}


function initFBLogin() {
	FB.ensureInit(function() {
		FB.Connect.requireSession();
        	FB.Facebook.get_sessionState().waitUntilReady(function(){
			setCookie('_'+FB.Facebook.apiClient._session.expires+'_user_'+FB.Facebook.apiClient._session.uid + '_', FB.Facebook.apiClient._session.sig,1);		
			flash("onweekly").fbInitComplete();
		});
	});
}
                   
function getFriends()
{
	FB.ensureInit(function() {

		FB.Connect.requireSession();
        	FB.Facebook.get_sessionState().waitUntilReady(function(){
			setCookie('_'+FB.Facebook.apiClient._session.expires+'_user_'+FB.Facebook.apiClient._session.uid + '_', FB.Facebook.apiClient._session.sig,1);		
			FB.Facebook.apiClient.friends_get(null, function(result, ex) {
				var friendResult = result;
				FB.Facebook.apiClient.users_getInfo(friendResult, new Array("uid", "name", "pic_small", "pic_square"), function(result, ex) {
	                                                var usersResult = result;
					flash("onweekly").fbsetFriends(usersResult);
				});
                                        
			});



		});
	});
}


function checkFacebookConnection(mode){
    FB.ensureInit(function() {
	
	FB.Connect.requireSession();
	FB.Facebook.get_sessionState().waitUntilReady(function(){
		user = FB.Facebook.apiClient._session.uid;
		setCookie('_'+FB.Facebook.apiClient._session.expires+'_user_'+FB.Facebook.apiClient._session.uid + '_', FB.Facebook.apiClient._session.sig,1);		
		checkAllowUpdates(mode);
	});

	});
}

function fblogout(fstatus)
{
	FB.ensureInit(function() {
			FB.Connect.logout(function(result){
				return result;               
			});
	});
}


function flash(movieName) {
	
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName];
	} else {
		return document[movieName];
	}
}

function fldebug(msg) {
	if (console) {
		console.log(msg);
	}
}

//***********************************************************************************************************//	

if(!("console" in window) || !("firebug" in console)) 
{
    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];

    window.console = {};

    for(var i = 0; i < names.length; ++i) window.console[names[i]] = function() {};
}

function trace(msg)
{
	
	if(console)	
		console.debug(msg);
}

function inspect(obj)
{
	if(console)	
		console.dir(obj);
}

function setCookie ( cookie_name, cookie_value,
    lifespan_in_days)
{
    var valid_domain="oldnavyweekly.com";
    var domain_string = valid_domain ?
                       ("; domain=" + valid_domain) : '' ;
    document.cookie = cookie_name +
                       "=" + encodeURIComponent( cookie_value ) +
                       "; max-age=" + 60 * 60 *
                       24 * lifespan_in_days +
                       "; path=/" + domain_string ;
}

function getCookie( cookie_name ) {
	if(document.cookie.length>0) {
  		c_start=document.cookie.indexOf(cookie_name + "=");
  		if(c_start!=-1) {
    		c_start=c_start + cookie_name.length+1;
    		c_end=document.cookie.indexOf(";",c_start);
    		if(c_end==-1) 
				c_end=document.cookie.length;
    		return unescape(document.cookie.substring(c_start,c_end));
    	}
  	}
	return "";
}

//***********************************************************************************************************//	
