function onAfterInitialise()
 {
     $document = JFactory::getDocument();
     $document->addStyleSheet(JURI::root() . 'plugins/system/bt_socialconnect_system/element/css/style.css');
     $session = JFactory::getSession();
     $message = $session->get('bts-message');
     if ($message) {
         JFactory::getApplication()->enqueueMessage($message);
         $session->clear('bts-message');
     }
     $params = JComponentHelper::getParams('com_bt_socialconnect');
     if (JRequest::getVar("bttask") == "login" || JRequest::getVar("bttask") == "register") {
         if (file_exists(JPATH_ROOT . '/modules/mod_btsocialconnect_login/helper.php')) {
             require_once JPATH_ROOT . '/modules/mod_btsocialconnect_login/helper.php';
             modbt_socialconnectHelper::ajax();
         }
     }
     if (isset($_REQUEST["code"])) {
         $code = $_REQUEST["code"];
         if (isset($_REQUEST['state']) && $_REQUEST['state'] == 'sc_fb') {
             $callback_url = JURI::root();
             $token_url = JHtmlBt_Socialconnect::getTokenUrl(trim($params->get('fbappId', '')), $callback_url, trim($params->get('fbsecret', '')), $code);
             $response = JHtmlBt_Socialconnect::curlResponse($token_url);
             $paramsFB = null;
             parse_str($response, $paramsFB);
             $graph_url = "https://graph.facebook.com/me?access_token=" . $paramsFB['access_token'];
             $user = JHtmlBt_Socialconnect::curlResponse($graph_url);
             $user = JHtmlBt_Socialconnect::prepareData(json_decode($user), 'facebook');
             $user = JHtmlBt_Socialconnect::assignProfile($user);
             $user['access_token'] = $paramsFB['access_token'];
             JHtmlBt_Socialconnect::checkUser($user, $params);
             if ($params->get('fbregister', 'automatic') == 'automatic') {
                 JHtmlBt_Socialconnect::authenticationSocial($params, $user);
             } else {
                 if (!empty(JFactory::getUser()->id)) {
                     JHtmlBt_Socialconnect::authenticationSocial($params, $user);
                     JHtmlBt_Socialconnect::reloadParent($return_decode);
                 } else {
                     JHtmlBt_Socialconnect::loadDataForm($user);
                 }
             }
         }
         if (isset($_REQUEST['state']) && $_REQUEST['state'] == 'sc_tt') {
             if (!class_exists('TwitterOAuth')) {
                 require_once JPATH_SITE . '/components/com_bt_socialconnect/helpers/html/twitter/twitteroauth.php';
             }
             $session = JFactory::getSession();
             if (!isset($_REQUEST['btcallback'])) {
                 $connection = new TwitterOAuth(trim($params->get('ttappId', '')), trim($params->get('ttsecret', '')));
                 $uri = JFactory::getURI();
                 $mainframe = JFactory::getApplication();
                 $uri->setVar('btcallback', 1);
                 $request_token = $connection->getRequestToken($uri->toString());
                 $session->set('oauth_token', $request_token['oauth_token']);
                 $session->set('oauth_token_secret', $request_token['oauth_token_secret']);
                 /* If last connection failed don't display authorization link. */
                 switch ($connection->http_code) {
                     case 200:
                         $url = $connection->getAuthorizeURL($request_token['oauth_token']);
                         $mainframe->redirect($url);
                         break;
                     default:
                         JHtmlBt_Socialconnect::response('Could not connect to Twitter. Refresh the page or try again later.');
                 }
             } else {
                 if (isset($_REQUEST['oauth_token']) && $session->get('oauth_token') !== $_REQUEST['oauth_token']) {
                     $session->clear('oauth_token');
                     $session->clear('oauth_token_secret');
                 } else {
                     $connection = new TwitterOAuth(trim($params->get('ttappId', '')), trim($params->get('ttsecret', '')), $session->get('oauth_token'), $session->get('oauth_token_secret'));
                     $access_token = $connection->getAccessToken($_REQUEST['oauth_verifier']);
                     if (200 == $connection->http_code) {
                         $user = $connection->get('account/verify_credentials');
                         $user = JHtmlBt_Socialconnect::prepareData($user, 'twitter');
                         $user = JHtmlBt_Socialconnect::assignProfile($user, $params->get('tt-profiles'));
                         $user['access_token'] = serialize($access_token);
                         JHtmlBt_Socialconnect::checkUser($user, $params);
                         $session->set('connection', serialize($connection));
                         if ($params->get('ttregister', 'automatic') == 'automatic') {
                             JHtmlBt_Socialconnect::authenticationSocial($params, $user);
                         } else {
                             if (!empty(JFactory::getUser()->id)) {
                                 JHtmlBt_Socialconnect::authenticationSocial($params, $user);
                                 JHtmlBt_Socialconnect::reloadParent($return_decode);
                             } else {
                                 $user['email1'] = '';
                                 $user['email2'] = '';
                                 JHtmlBt_Socialconnect::loadDataForm($user);
                             }
                         }
                     } else {
                         JHtmlBt_Socialconnect::response('Error:' . $connection->http_code);
                     }
                 }
             }
         }
         if (isset($_REQUEST['state']) && $_REQUEST['state'] == 'sc_gg') {
             $token = JHtmlBt_Socialconnect::getTokenGG($code, trim($params->get('ggappId', '')), trim($params->get('ggsecret', '')), JURI::base(), 'authorization_code');
             $user = JHtmlBt_Socialconnect::getUserGG($token->access_token);
             $user = JHtmlBt_Socialconnect::prepareData($user, 'google');
             $user = JHtmlBt_Socialconnect::assignProfile($user, $params->get('gg-profiles'));
             $user['access_token'] = $token->access_token;
             // check existing user
             JHtmlBt_Socialconnect::checkUser($user, $params);
             if ($params->get('ggregister', 'automatic') == 'automatic') {
                 JHtmlBt_Socialconnect::authenticationSocial($params, $user);
             } else {
                 if (!empty(JFactory::getUser()->id)) {
                     JHtmlBt_Socialconnect::authenticationSocial($params, $user);
                     JHtmlBt_Socialconnect::reloadParent($return_decode);
                 } else {
                     JHtmlBt_Socialconnect::loadDataForm($user);
                 }
             }
         }
         if (isset($_REQUEST['state']) && $_REQUEST['state'] == 'sc_linkedin') {
             $callback_url = JURI::root();
             $token_url = JHtmlBt_Socialconnect::getTokenLinkedin(trim($params->get('linkappId', '')), $callback_url, trim($params->get('linksecret', '')), $code);
             $user = JHtmlBt_Socialconnect::fetch('GET', $token_url->access_token);
             $user = JHtmlBt_Socialconnect::prepareData($user, 'linkedin');
             $user = JHtmlBt_Socialconnect::assignProfile($user);
             $user['access_token'] = $token_url->access_token;
             JHtmlBt_Socialconnect::checkUser($user, $params);
             if ($params->get('linkregister', 'automatic') == 'automatic') {
                 JHtmlBt_Socialconnect::authenticationSocial($params, $user);
             } else {
                 if (!empty(JFactory::getUser()->id)) {
                     JHtmlBt_Socialconnect::authenticationSocial($params, $user);
                     JHtmlBt_Socialconnect::reloadParent($return_decode);
                 } else {
                     JHtmlBt_Socialconnect::loadDataForm($user);
                 }
             }
         }
     }
     //Check facebook login
     if (isset($_COOKIE['facebookid']) && $_COOKIE['facebookid'] != "") {
         $faceid = $_COOKIE['facebookid'];
         $userid = JHtmlBt_Socialconnect::getUser($faceid);
         if ($userid) {
             $email = JHtmlBt_Socialconnect::getEmail($userid);
             if ($email) {
                 if (empty(JFactory::getUser()->id)) {
                     JHtmlBt_Socialconnect::loginSocial($email);
                 }
             }
         }
     }
 }