﻿/// <reference path="../../jquery-1.4.1-vsdoc.js" />
/// <reference path="../HTBFunctionV1.js" />

// MyFacebook Feautes
HTB.MyFacebook = {
    // MyFacebook namespace resource namespace
    R: {
        //        appPath: 'http://10.2.20.63/SSOWebSiteV2/',
        name: 'MyFacebook',
        isAuth: false,
        proxy: {
            login: {
                // Development
                //url: 'http://localhost/SSOCore/Facebook/login?'
                // Deployment stg
                //url: 'http://passportstg.linkonlineworld.com/SSOCore/Facebook/login?'
                 // Deployment live
                url: 'http://passport.linkonlineworld.com/SSOCore/Facebook/login?'
                , type: 'GET'
                , contentType: 'text/html'
            }
        }
    }
     , chkLogin: function() {
         if (!HTB.MyFacebook.R.isAuth) {
             HTB.MyFacebook.login();
             return false;
         }
         else {
             HTB.Cookie.getCookie('enyFB',
                      function(data) {
                          if (!HTB.VL.isNlOrUnOrEmSt(data.Items) && !HTB.VL.isNlOrUnOrEmSt(data.Items.facebookUserName)) {
                              $('#fuserName').text('Welcome ' + data.Items.facebookUserName);
                              HTB.MyFacebook.R.isAuth = true;
                          }
                      });
         }
     }

    , login: function() {
        HTB.Cookie.delCookie('enyFB');
        HTB.MyFacebook.FacebookLogin = {};
        var clk = this;
        var loginWindowSettings = "location=0,status=0,width=800,height=400,titlebar=0,toolbar=0";
        HTB.MyFacebook.FacebookLogin.loginWindow = window.open(HTB.MyFacebook.R.proxy.login.url, "_blank", loginWindowSettings);
        HTB.MyFacebook.FacebookLogin.FacebookInterval = window.setInterval(function() {
            if (HTB.MyFacebook.FacebookLogin.loginWindow != null && HTB.MyFacebook.FacebookLogin.loginWindow.closed) {
                window.clearInterval(HTB.MyFacebook.FacebookLogin.FacebookInterval);
                HTB.Cookie.getCookie('SSOCookie',
                      function(data) {
                          if (!HTB.VL.isNlOrUnOrEmSt(data.Items) && !HTB.VL.isNlOrUnOrEmSt(data.Items.OriginalData) && !HTB.VL.isNlOrUnOrEmSt(data.Items.Signature)) {
                              var ReturnUrl = unescape(HTB.QueryString.getQSValue('returnurl'));
                              ReturnUrl = ReturnUrl.substr(0, ReturnUrl.lastIndexOf('/'));
                              var url = ReturnUrl + "/login.ashx?" + "OriginalData" + "=" + data.Items.OriginalData + "&" +
                            "Signature" + "=" + data.Items.Signature + "&" + "ReturnUrl" + "=" + HTB.QueryString.getQSValue('returnurl');
                              window.location.href = url;
                          }
                          else {
                              alert('operation didnt success');
                          }
                      });
            }
        }, 1000)
    }
      , attach: function(successCallBackFunction) {
          HTB.Cookie.delCookie('enyFB');
          HTB.MyFacebook.FacebookLogin = {};
          var clk = this;
          var loginWindowSettings = "location=0,status=0,width=800,height=400,titlebar=0,toolbar=0";
          HTB.MyFacebook.FacebookLogin.loginWindow = window.open(HTB.MyFacebook.R.proxy.login.url, "_blank", loginWindowSettings);
          HTB.MyFacebook.FacebookLogin.FacebookInterval = window.setInterval(function() {
              if (HTB.MyFacebook.FacebookLogin.loginWindow != null && HTB.MyFacebook.FacebookLogin.loginWindow.closed) {
                  successCallBackFunction("");
                  window.clearInterval(HTB.MyFacebook.FacebookLogin.FacebookInterval);
                  HTB.Cookie.getCookie('enyFB',
                      function(data) {
                          if (!HTB.VL.isNlOrUnOrEmSt(data.Items) && !HTB.VL.isNlOrUnOrEmSt(data.Items.facebookUserName)) {
                            
                              HTB.MyFacebook.R.isAuth = true;
                          }
                      });
              }
          }, 1000)
      }
};
