﻿  
  
    /// The script file  used to get client iniformation we need to store.
    
    // Also at very first request the script gets the client info and save 
    // into cookie at client side 
    
     // HERE NOTE THAT WE MAKE COOKIE WITHOUT THE EXPIRE DATE
    //  BECAUSE IT IS AUTOMATICALLY EXPIRES WHEN VISITOR
    // CLOSES THE BROWSER,
    //http://www.quirksmode.org/js/cookies.html
    //http://www.elated.com/articles/javascript-and-cookies/

        // try to get cookie if exist          
        var cookiename = get_cookie('CookieClientInfo');
       
        //checking for new user 
        var Isnewcookiename = get_cookie('CookieIsNewUser');
        var IsNew = true;
        if (Isnewcookiename == null) 
        {
            setIsNewCookie('CookieIsNewUser', IsNew);
        }
        else 
        {
            IsNew = false;
        }
        
        // execute on first request
        if (cookiename == null )
        {
            var sw = screen.width;//screen width
            var sh = screen.height;//screen height
             var now = new Date();
             var offset = now.getTimezoneOffset();
             var tzo=GetTimeOffSet();//((offset/60) * (-1));//Clien TimeOffset
                    
             // get date to parse in .Net
             var d = new Date();

            var curr_date = d.getDate();
            var curr_month = d.getMonth();
            var curr_year = d.getFullYear();
            var dt=curr_month + "/" + curr_date + "/" + curr_year;

            var comma = ',';
              var val = sw+comma+sh+comma+tzo+comma+dt+comma+IsNew;
              //now save to cookie without expirey date
              setCookie('CookieClientInfo',val);
             
          }

      // function to save cookie for user
      function setIsNewCookie(c_name, value)
       {
           document.cookie = c_name + "=" + (value) +"; " +"expires=Thu, 31 Dec 2099 20:47:11 GMT"+"; path=/";
                
       }
      
      // function to save cookie
      function setCookie(c_name,value)
        {
           
           
           document.cookie = c_name+"="+(value)+"; path=/";
           // HERE NOTE THAT WE DON NOT SPECIFIY THE EXPIRE DATE
           // FOR SAKE OF THAT IF AUTOMATICALLY EXPIRES WHEN VISITOR
           // CLOSES THE BROWSER,
           //http://www.quirksmode.org/js/cookies.html
           //http://www.elated.com/articles/javascript-and-cookies/
          
        }
        
        // function to get cookie and verify it exist
       function get_cookie ( cookie_name )
        {
          var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );

          if ( results )
            return ( unescape ( results[2] ) );
          else
            return null;
        }
        
      function GetTimeOffSet()
            {
                /*We figure out a visitors time zone. First, we need to determine the
                  time offset from Greenwich Mean Time (GMT). This can
                   easily be done by creating two dates (one local, and
                 one in GMT) and comparing the time difference between them
                */            
            
                     var rightNow = new Date();
                    var jan1 = new Date(rightNow.getFullYear(),
                          0, 1, 0, 0, 0, 0);
                    var temp = jan1.toGMTString();
                    var jan2 = new Date(temp.substring(0,
                     temp.lastIndexOf(" ")-1));
                    var std_time_offset = (jan1 - jan2) / (1000 * 60 * 60);
                    return (std_time_offset);
                }




            /* Custom Method for activity */
                function getRequester() {

                    try {
                        var requester = new XMLHttpRequest();
                    }
                    catch (error) {
                        try {
                            var requester = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        catch (error) {
                            var requester = null;
                        }
                    }

                    return requester;

                }


                function LogActivity(m,qs) {
                    var requester = getRequester();
                    if (requester != null) {
                        requester.open("POST", "LogActivity.ashx", true);
                        requester.onreadystatechange = null;
                        requester.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
                        requester.setRequestHeader('Accept', 'application/json, text/javascript, */*');
                        requester.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
                        qs = qs.replace('&', '^');
                        requester.send('m='+m+'&qs='+qs);

                    }
                }
                
                /* custom method for activity end*/
