
function Set_PositiveTeenFuture_Source(value)
{
// set the src parameter from the query string
var source = gup('src');



//Set a cookie with the source parameter
//We don't want to overwrite an existing cookie so check to see if it exists first
if ((source != '') && (Get_Cookie('PositiveTeenFuture_Source') == null))
  {
  Set_Cookie('PositiveTeenFuture_Source', source, 365, '/', 'PositiveTeenFuture.com', '');
  Set_Cookie('Source_url', parse_domain_name(document.referrer), 365, '/', 'PositiveTeenFuture.com', '');
  }
 
//else if ((Get_Cookie('PositiveTeenFuture_Source') == null) && (document.referrer != ''))
//  {
//  Set_Cookie('Source_url', parse_domain_name(document.referrer), 365, '/', 'PositiveTeenFuture.com', '');

//  }
}



//A wrapper so calling page doesn't need to know name of value
function Get_PositiveTeenFuture_Source()
{
  return Get_Cookie('PositiveTeenFuture_Source');
}


//A wrapper so calling page doesn't need to know name of value
function Get_Cookie_url()
{
  return Get_Cookie('Source_url');
}




function parse_domain_name(referer)
{
var domainEnd = -1;
var domainName = "";
  if((referer != '') && (referer != null))
    {
      referer = referer.replace("https://", "");
      referer = referer.replace("http://", "");

      domainEnd = referer.indexOf("/");
      
      if(domainEnd != -1)
        {
         domainName = referer.substring(0, domainEnd);
        }
    }
  if (domainName == "")
    domainName = referer;
  return domainName;
}

function parse_search_keywords(referer)
{
var firstSearchTerm = "";
var secondSearchTerm = "";
var keywords = referer;
var keywordStart = -1;
var keywordEnd = -1;

//Each search engine may have different url formatting depending on whether it was a toolbar ect so we need to check for multiple firstSearchTerms

if (referer.indexOf("google") != -1)
  {
       firstSearchTerm = "?q=";
       if (referer.indexOf(firstSearchTerm) == -1)
         firstSearchTerm = "&q=";
       if (referer.indexOf(firstSearchTerm) == -1)
         firstSearchTerm = "&";
       secondSearchTerm = "&";
  }
else if (referer.indexOf("yahoo") != -1)
  {
     firstSearchTerm = "?p=";
     if (referer.indexOf(firstSearchTerm) == -1)
       firstSearchTerm = "&p=";
     secondSearchTerm = "&";
  }
else if (referer.indexOf("msn") != -1)
  {
     firstSearchTerm = "?q=";
     secondSearchTerm = "&FORM";
  }
else if (referer.indexOf("search.live.com") != -1)
  {
     firstSearchTerm = "?q=";
     secondSearchTerm = "&form";
  }

if((firstSearchTerm != "") && (secondSearchTerm != ""))
  {
    keywordStart = referer.indexOf(firstSearchTerm);
    referer = referer.substring(keywordStart + 1);
    keywordEnd = referer.indexOf(secondSearchTerm);

    if((keywordStart != -1) && (keywordEnd != -1))
      {
        keywords = referer.substring(2, keywordEnd);
        while(keywords.indexOf("+") != -1)
          keywords = keywords.replace("+", " ");
      } 
  }

  return keywords;

}


//from http://techpatterns.com/downloads/javascript_cookies.php
function Set_Cookie( name, value, expires, path, domain, secure ) 
{
// set time, it's in milliseconds
var today = new Date();
today.setTime( today.getTime() );

/*
if the expires variable is set, make the correct 
expires time, the current script below will set 
it for x number of days, to make it for hours, 
delete * 24, for minutes, delete * 60 * 24
*/
if ( expires )
{
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );

document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
( ( path ) ? ";path=" + path : "" ) + 
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );

}
		

// from http://techpatterns.com/downloads/javascript_cookies.php
// this fixes an issue with the old method, ambiguous values 
// with this test document.cookie.indexOf( name + "=" );
function Get_Cookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components

	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	
	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );
		
		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );

			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}			



//from http://www.netlobo.com/url_query_string_javascript.html
function gup( name )
{  
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
var regexS = "[\\?&]"+name+"=([^&#]*)";  
var regex = new RegExp( regexS );  
var results = regex.exec( window.location.href );  
if( results == null )    
  return "";  
else    
  return results[1];
}


