﻿
/*Start Script*/

    /* var api_key = '349766dfdbfc4315b471a4c5c1f47bc8'; for stageing */
    
    var api_key = '696006bdc28cf091103213ff355430f8'; // for Live
    FB_RequireFeatures(["XFBML","Integration","Connect","Api","CanvasUtil"], function()
    {

      FB.Facebook.init(api_key, "../xd_receiver.htm");
      //FB.XFBML.Host.autoParseDomTree = true;
    });	
	/**
	* @note function used to get email permissions.Permission is used for sending mail to facebook.
	* @param integer fb_uid logged in facebook user id.
	* @pre fb_uid must be non-empty integer.
	* @author Abhishek Tayde.
	* @created on 6-11-2009.
	*/
	function get_fb_email_permission(fb_uid){
		 FB.ensureInit(function() {
			FB.Facebook.apiClient.users_hasAppPermission('email', function(result){ 
				// used to check facebook email send permission.
				if(result == false){
					FB.Connect.showPermissionDialog("email",function(permissionStr){
						// used to ask facebook email permission.
						get_fb_usr_info(fb_uid);
					});	
				}else{
					get_fb_usr_info(fb_uid);
				}
			});
		 });
		return false;	   
	}
	/**
	* @note function used to retrive user information from facebook.Using facebook api.
	* @param integer fb_uid logged in facebook user id.
	* @pre fb_uid must be non-empty integer.
	* @post redirection on successful completion.
	* @author Abhishek Tayde.
	* @created on 6-11-2009.
	*/
	function get_fb_usr_info(fb_uid){
	

		 FB.ensureInit(function() {
			var uidArr = [fb_uid];
			var fieldsArr = ['uid','name','first_name','last_name','username','proxied_email','sex','birthday_date','current_location','hometown_location','about_me','activities','birthday','books','interests','meeting_for','meeting_sex','movies','music','pic','political','profile_url','quotes','relationship_status','religion','timezone','tv','website'];

			 FB.Facebook.apiClient.users_getInfo(uidArr,fieldsArr, function(result,ex){

				var uid = result[0].uid;
                var fullname = result[0].name;
                var first_name = result[0].first_name;
                var last_name = result[0].last_name;

                document.getElementById('fb_uid').value = uid;
                document.getElementById('full_name').value = fullname;
                document.getElementById('first_name').value = first_name;
                
                if(result[0].last_name){
                    document.getElementById('last_name').value = last_name;
                }
                if(result[0].username){
                    document.getElementById('nickname').value = result[0].username;
                }
                if(result[0].proxied_email){
                    document.getElementById('proxied_email').value = result[0].proxied_email;
                }
                document.getElementById('sex').value = result[0].sex;
                if(result[0].birthday_date){
                    document.getElementById('birthday_date').value = result[0].birthday_date;
                }
                if(result[0].current_location){
                    document.getElementById('current_location_city').value = result[0].current_location.city;
                    document.getElementById('current_location_state').value = result[0].current_location.state;
                }
                if(result[0].hometown_location){
                    document.getElementById('hometown_location_city').value = result[0].hometown_location.city;
                    document.getElementById('hometown_location_state').value = result[0].hometown_location.state;
                }
				
				document.forms[0].action = '../SetFaceBookUser.aspx';
				document.forms[0].__VIEWSTATE.name = 'NOVIEWSTATE';
				document.forms[0].submit();
				
			});
		 });		 
	}

    /**
	* @note function used to user login on click fb:button tag
	* @pre not required.
	* @post not required.
	* @author Abhishek Tayde.
	* @created on 6-11-2009.
	*/
	function login(){
		var fb_uid = FB.Facebook.apiClient.get_session().uid;	
		//var fb_uid = get_cookie(api_key+"_user");
		if(fb_uid)
		{
			//var get_fb_usr_info(fb_uid);
			get_fb_email_permission(fb_uid);
		}
		else
		{
		    
			return false;
		}

	}
	/**
	* @note function used to get facebook cookie.
	* @pre string c_name is user cookie name.
	* @post integer.
	* @author Abhishek Tayde.
	* @created on 6-11-2009.
	* return integer.
	*/
	function get_cookie(c_name)
	{
		if (document.cookie.length>0){
		  c_start=document.cookie.indexOf(c_name + "=");
		  if (c_start!=-1){
			c_start=c_start + c_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));
		  }
	   }
	}
	/**
	* @note function used to logout from facebook.
	* @pre not required.
	* @post redirect on successful logout.
	* @author Abhishek Tayde.
	* @created on 6-11-2009.
	*/
	function logout(logout1){
	
	var logoutUrl=logout1;
	
		FB.ensureInit(function() {
			FB.Connect.logoutAndRedirect(logoutUrl);
		});
	}
//End Script

