﻿//////////////////////////////////////
//
// Name    : cookiecheck.js
// Source  : http://scripts.franciscocharrua.com/javascript_cookies.php
// Function: test "blocked cookie" situation
// Usage   : setCookie( 'test', 'none' );
//
//           if ( getCookie( 'test' ) )
//           {
//               alert( 'cookies are currently enabled.' );
//             	 clearCookie('test');
//           }
//           else
//           {
//	            alert( 'Cookies are not currently enabled in your browser - please change your settings!' );
//          	window.location="http://dev-wks12.ip3systems.com/ip3.tdsf/Error.aspx";
//           }
// Date    : 24/08/2006
// Author  : JN
//
/////////////////////////////////////////////////////////////////////////

function setCookie(name, value)
{
         //If name is the empty string, it places a ; at the beginning
         //of document.cookie, causing clearCookies() to malfunction.
         if(name != '')
            document.cookie = name + '=' + value;
}

function getCookie(name)
{
         //Without this, it will return the first value 
         //in document.cookie when name is the empty string.
         if(name == '')
            return('');
         
         name_index = document.cookie.indexOf(name + '=');
         
         if(name_index == -1)
            return('');
         
         cookie_value =  document.cookie.substr(name_index + name.length + 1, 
                                                document.cookie.length);
         
         //All cookie name-value pairs end with a semi-colon, except the last one.
         end_of_cookie = cookie_value.indexOf(';');
         if(end_of_cookie != -1)
            cookie_value = cookie_value.substr(0, end_of_cookie);

         //Restores all the blank spaces.
         space = cookie_value.indexOf('+');
         while(space != -1)
              { 
              cookie_value = cookie_value.substr(0, space) + ' ' + 
              cookie_value.substr(space + 1, cookie_value.length);
							 
              space = cookie_value.indexOf('+');
              }

         return(cookie_value);
}

function clearCookie(name)
{                  
         expires = new Date();
         expires.setYear(expires.getYear() - 1);

         document.cookie = name + '=null' + '; expires=' + expires; 		 
}
         
function clearCookies()
{
         Cookies = document.cookie;
         Cookie = Cookies;
         expires = new Date();
         expires.setYear(expires.getYear() - 1);

         while(Cookie.length > 0)
         {
              //All cookie name-value pairs end with a semi-colon, except the last one.
              Cookie = Cookies.substr(0, Cookies.indexOf(';'));
              Cookies = Cookies.substr(Cookies.indexOf(';') + 1, Cookies.length);

              if(Cookie != '')
                 document.cookie = Cookie + '; expires=' + expires;
              else
                 document.cookie = Cookies + '; expires=' + expires;			  			  	  
         }		 		 
}

function reportCookieError(progName)
{
         var b   = document.URL.split('?');
         var url = b[0];
	     var url = url.replace(progName,'Error.aspx?c=off');
	    
	     window.location=url;
}

function checkCookieError(progName)
{
   setCookie( 'test', 'none' );

   if ( getCookie( 'test' ) )
   {
	     clearCookie('test');
   }
   else
   { 
         reportCookieError(progName);
   }
}
