function rand(number) {

	return Math.ceil(Math.random()*number);

}



function SetClickTracksCookie()

{

	var thisCookie = GetCookie("CLICKTRACKSCOOKIE");

	if( thisCookie == null)

	{

		//Setup the random cookie value

		var myValue = new Date();

		var randNum = rand(100);		

		myValue = myValue.toGMTString() + "_" + randNum;



		//Setup the expiry date to expire in 2010

		var expiryDate = new Date();

		var date2010 = "Fri, 31 Dec 2030 23:00:00 EST";

		var dt = Date.parse(date2010);



		expiryDate.setTime(dt);



		SetCookie("CLICKTRACKSCOOKIE", myValue, expiryDate, "/", window.location.hostname);

	}

}





// ---------------------------------------------------------------

    //  Cookie Functions - Second Helping  (21-Jan-96)

    //  Written by:  Bill Dortch, hIdaho Design <BDORTCH@NETW.COM>

    //  The following functions are released to the public domain.

    //

    //  The Second Helping version of the cookie functions dispenses with

    //  my encode and decode functions, in favor of JavaScript's new built-in

    //  escape and unescape functions, which do more complete encoding, and

    //  which are probably much faster.

    //

    //  The new version also extends the SetCookie function, though in

    //  a backward-compatible manner, so if you used the First Helping of

    //  cookie functions as they were written, you will not need to change any

    //  code, unless you want to take advantage of the new capabilities.

    //

    //  The following changes were made to SetCookie:

    //

    //  1.  The expires parameter is now optional - that is, you can omit

    //      it instead of passing it null to expire the cookie at the end

    //      of the current session.

    //

    //  2.  An optional path parameter has been added.

    //

    //  3.  An optional domain parameter has been added.

    //

    //  4.  An optional secure parameter has been added.

    //

    //  For information on the significance of these parameters, and

    //  and on cookies in general, please refer to the official cookie

    //  spec, at:

    //

    //      http://www.netscape.com/newsref/std/cookie_spec.html    

    //

    //

    // "Internal" function to return the decoded value of a cookie

    //

    function getCookieVal (offset) {

      var endstr = document.cookie.indexOf (";", offset);

      if (endstr == -1)

        endstr = document.cookie.length;

      return unescape(document.cookie.substring(offset, endstr));

    }



    //

    //  Function to return the value of the cookie specified by "name".

    //    name - String object containing the cookie name.

    //    returns - String object containing the cookie value, or null if

    //      the cookie does not exist.

    //

    function GetCookie (name) {

      var arg = name + "=";

      var alen = arg.length;

      var clen = document.cookie.length;

      var i = 0;

      while (i < clen) {

        var j = i + alen;

        if (document.cookie.substring(i, j) == arg)

          return getCookieVal (j);

        i = document.cookie.indexOf(" ", i) + 1;

        if (i == 0) break; 

      }

      return null;

    }



    //

    //  Function to create or update a cookie.

    //    name - String object object containing the cookie name.

    //    value - String object containing the cookie value.  May contain

    //      any valid string characters.

    //    [expires] - Date object containing the expiration data of the cookie.  If

    //      omitted or null, expires the cookie at the end of the current session.

    //    [path] - String object indicating the path for which the cookie is valid.

    //      If omitted or null, uses the path of the calling document.

    //    [domain] - String object indicating the domain for which the cookie is

    //      valid.  If omitted or null, uses the domain of the calling document.

    //    [secure] - Boolean (true/false) value indicating whether cookie transmission

    //      requires a secure channel (HTTPS).  

    //

    //  The first two parameters are required.  The others, if supplied, must

    //  be passed in the order listed above.  To omit an unused optional field,

    //  use null as a place holder.  For example, to call SetCookie using name,

    //  value and path, you would code:

    //

    //      SetCookie ("myCookieName", "myCookieValue", null, "/");

    //

    //  Note that trailing omitted parameters do not require a placeholder.

    //

    //  To set a secure cookie for path "/myPath", that expires after the

    //  current session, you might code:

    //

    //      SetCookie (myCookieVar, cookieValueVar, null, "/myPath", null, true);

    //

    function SetCookie (name, value) {

      var argv = SetCookie.arguments;

      var argc = SetCookie.arguments.length;

      var expires = (argc > 2) ? argv[2] : null;

      var path = (argc > 3) ? argv[3] : null;

      var domain = (argc > 4) ? argv[4] : null;

      var secure = (argc > 5) ? argv[5] : false;

      document.cookie = name + "=" + escape (value) +

        ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +

        ((path == null) ? "" : ("; path=" + path)) +

        ((domain == null) ? "" : ("; domain=" + domain)) +

        ((secure == true) ? "; secure" : "");

    }



    //  Function to delete a cookie. (Sets expiration date to current date/time)

    //    name - String object containing the cookie name

    //

    function DeleteCookie (name) {

      var exp = new Date();

      exp.setTime (exp.getTime() - 1);  // This cookie is history

      var cval = GetCookie (name);

      document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();

    }



//---------------------------------------------------------------------------------------------

//---------------------------------------------------------------------------------------------

//---------------------------------------------------------------------------------------------

//---------------------------------------------------------------------------------------------

//---------------------------------------------------------------------------------------------

//---------------------------------------------------------------------------------------------



function getSourceCookieVal (offset)

     {

      var endstr = document.cookie.indexOf (";", offset);

      if (endstr == -1)

        endstr = document.cookie.length;

      return unescape(document.cookie.substring(offset, endstr));

     }

	

function GetSourceCookie (name)

    {

      var arg = name + "=";

      var alen = arg.length;

      var clen = document.cookie.length;

      var i = 0;

      while (i < clen) {

        var j = i + alen;

        if (document.cookie.substring(i, j) == arg)

          return getSourceCookieVal (j);

        i = document.cookie.indexOf(" ", i) + 1;

        if (i == 0) break; 

      }

      return null;

    }   

	

function SetSourceCookie (name, value)

    {

      var argv = SetSourceCookie.arguments;

      var argc = SetSourceCookie.arguments.length;

      var expires = (argc > 2) ? argv[2] : null;

      var path = (argc > 3) ? argv[3] : null;

      var domain = (argc > 4) ? argv[4] : null;

      var secure = (argc > 5) ? argv[5] : false;

      document.cookie = name + "=" + escape (value) +

        ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +

        ((path == null) ? "" : ("; path=" + path)) +

        ((domain == null) ? "" : ("; domain=" + domain)) +

        ((secure == true) ? "; secure" : "");

    }



function DeleteSourceCookie (name)

   {

      var exp = new Date();

      exp.setTime (exp.getTime() - 1);  // This cookie is history

      var cval = GetSourceCookie (name);

      document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();

    }



function getURLParam()

{

	   var strParamName = "adcopy" // name of checked URL parameter

	   var strReturn = "";

       var strHref = window.location.href;

   	 if ( strHref.indexOf("?") > -1 )

	  {

        var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();

        var aQueryString = strQueryString.split("?");

		   for ( var iParam = 0; iParam < aQueryString.length; iParam++ )

		  {

			

          if (aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1)

		    {

            var aParam = aQueryString[iParam].split("=");

            strReturn = "AdSource888"+aParam[1];

			

			}

          }

		  

	  }

	  else {strReturn = "NotFromAds";} 

	  return unescape(strReturn);

	  } 



function SetClickTracksSourceCookie()

{

	

	        var thisCookie = GetSourceCookie("SOURCECOOKIE");

            var urlparameter = getURLParam();

         if( thisCookie == null)

        {

	     	    //Setup the expiry date to expire in 2010

	    var expiryDate = new Date();

	    var date2010 = "Fri, 31 Dec 2010 23:00:00 EST";

	    var dt = Date.parse(date2010);

	    expiryDate.setTime(dt);

	    SetSourceCookie("SOURCECOOKIE", urlparameter, expiryDate, "/", window.location.hostname);

	    }

      

}



//Call the SetClickTracksSourceCookie function

SetClickTracksSourceCookie();



//Call the SetClickTracksCookie() function

SetClickTracksCookie();
