if(typeof(dojo.cookie) == "undefined") {//lame but necessary check 
 	dojo.require("dojo.cookie");
}
	/*
	
		To Use:
			To add or change an entry.
				$SCData( [name], [value] );
			To remove an entry.
				$SCData( [name], null );
			To get and entry value.
				$SCData( [name] );
	
		ls values (Login Success)
			0 = failed
			1 = sucess
			
		utype values (User Type)
			0 = Anonymous
			1 = Member (LFM)
			2 = Subscriber (NAPSTER)
			3 = NTG

		rs values (Registration Source)
			0 = Explicit
			1 = Play
			2 = Buy
			3 = NapsterLink
			4 = Removed
			5 = Error (Signin)
			6 = Error (Registration)
			
		ref values (Referral Sites)
			0 = NapsterLink
			1 = Media Defender
			3 = Other
			
		ter values (Territory)
			0 = US
			1 = GB
			2 = CA
			3 = DE
			4 = JP
			5 = Other
	*/
	if(document.location.hostname.indexOf("napster.com") > -1) {
		document.writeln( '<sc' + 'ript language="JavaScript1.2" type="text/javascript" src="/js/s_code_remote_H14.js"></' + 'script>' );
	} else {
		document.writeln( '<sc' + 'ript language="JavaScript1.2" type="text/javascript" src="http://home.gb.napster.com/js/s_code_remote_H14.js"></' + 'script>' );
	}
	var objSCData = new Object();

	objSCData['utype'] = new Array();
	objSCData['utype'][0] = 'Anonymous';
	objSCData['utype'][1] = 'LFM';
	objSCData['utype'][2] = 'Napster Subscriber';
	objSCData['utype'][3] = 'NTG Subscriber';
	
	objSCData['rs'] = new Array();
	objSCData['rs'][0] = 'Explicit';
	objSCData['rs'][1] = 'Play';
	objSCData['rs'][2] = 'Buy';
	objSCData['rs'][3] = 'NapsterLink';
	objSCData['rs'][4] = '';
	objSCData['rs'][5] = 'Error (Signin)';
	objSCData['rs'][6] = 'Error (Registration)';
	
	objSCData['ref'] = new Array();
	objSCData['ref'][0] = 'NapsterLink';
	objSCData['ref'][1] = 'Media Defender';
	objSCData['ref'][3] = 'Other';
	
	objSCData['ter'] = new Array();
	objSCData['ter'][0] = 'US';
	objSCData['ter'][1] = 'GB';
	objSCData['ter'][2] = 'CA';
	objSCData['ter'][3] = 'DE';
	objSCData['ter'][4] = 'JP';
	objSCData['ter'][5] = 'All Other';
	
	var FWSupportedCountries = new Object();
	FWSupportedCountries['US'] = true;
	FWSupportedCountries['GB'] = false;
	FWSupportedCountries['CA'] = false;
	FWSupportedCountries['DE'] = false;
	FWSupportedCountries['JP'] = false;

	var TerritoryMap = new Object();
	TerritoryMap['US'] = 0;
	TerritoryMap['GB'] = 1;
	TerritoryMap['CA'] = 2;
	TerritoryMap['DE'] = 3;
	TerritoryMap['JP'] = 4;
	TerritoryMap['Other'] = 5;
	
	var UserTypeMap = new Object();
	UserTypeMap['LFM'] = 1;
	UserTypeMap['SUB'] = 2;
	UserTypeMap['NTG'] = 3;

	var EventMap = new Object();
	EventMap['ContentAction'] = 'event1';
	EventMap['Click'] = 'event2';
	EventMap['Sign-In Completion'] = 'event3';
	EventMap['Registration Completion'] = 'event4';
	EventMap['HypermoduleClicks'] = 'event2';

	var GenreNameMap = new Array();
	GenreNameMap[0] = 'All Music';
	GenreNameMap[1] = 'Alternative';
	GenreNameMap[10] = 'Americana';
	GenreNameMap[2] = 'Blues';
	GenreNameMap[3] = 'Childrens_Music';
	GenreNameMap[4] = 'Christian_Gospel';
	GenreNameMap[5] = 'Classical';
	GenreNameMap[6] = 'Comedy_Spoken Word';
	GenreNameMap[7] = 'Country';
	GenreNameMap[9] = 'Easy Listening';
	GenreNameMap[8] = 'Electronica';
	GenreNameMap[11] = 'Hip-Hop_Rap';
	GenreNameMap[13] = 'Jazz';
	GenreNameMap[14] = 'Latin';
	GenreNameMap[15] = 'New_Age';
	GenreNameMap[16] = 'Pop';
	GenreNameMap[17] = 'R_and_B';
	GenreNameMap[19] = 'Rock';
	GenreNameMap[20] = 'Soundtracks';
	GenreNameMap[22] = 'World_Reggae';

	var MemberBrowseMap = new Object();
	MemberBrowseMap['track'] = new Object();
	MemberBrowseMap['track']['all'] = 'Track Listing';
	MemberBrowseMap['track']['playlist'] = 'Playlist Detail';
	MemberBrowseMap['track']['album'] = 'Album Detail';
	MemberBrowseMap['artist'] = new Object();
	MemberBrowseMap['artist']['all'] = 'Artists';
	MemberBrowseMap['album'] = new Object();
	MemberBrowseMap['album']['artist'] = 'Album Listing';
	MemberBrowseMap['playlist'] = new Object();
	MemberBrowseMap['playlist']['all'] = 'Playlist Listing';

	var SearchSubSegMap = new Object();
	SearchSubSegMap['toptracks'] = 'explore';
	SearchSubSegMap['topalbums'] = 'explore';
	SearchSubSegMap['topartists'] = 'explore';
	SearchSubSegMap['artistbyletter'] = 'explore';
	SearchSubSegMap['billboard'] = 'explore';
	SearchSubSegMap['videosbyletter'] = 'explore';
	SearchSubSegMap['artist'] = 'search';
	SearchSubSegMap['album'] = 'search';
	SearchSubSegMap['track'] = 'search';
	SearchSubSegMap['all'] = 'search';
	SearchSubSegMap['member'] = 'search';
	SearchSubSegMap['artisttracks'] = 'artist';
	SearchSubSegMap['artistalbum'] = 'artist';
	SearchSubSegMap['artistvideos'] = 'artist';
	SearchSubSegMap['albumtracks'] = 'artist';
	SearchSubSegMap['recommends'] = 'artist';
	SearchSubSegMap['allplaylist'] = 'explore';
	SearchSubSegMap['memberbrowse'] = 'member';

	var SearchSectionMap = new Object();
	SearchSectionMap['artist'] = "artists";
	SearchSectionMap['album'] = "albums";
	SearchSectionMap['track'] = "tracks";
	SearchSectionMap['all'] = "all fields";
	SearchSectionMap['member'] = "members";
	SearchSectionMap['artisttracks'] = "content";
	SearchSectionMap['artistalbum'] = "albums";
	SearchSectionMap['artistvideos'] = "videos";
	SearchSectionMap['albumtracks'] = "tracks";
	SearchSectionMap['recommends'] = "other members like";
	SearchSectionMap['toptracks'] = "top 100 tracks";
	SearchSectionMap['topalbums'] = "top 100 albums";
	SearchSectionMap['topartists'] = "top 100 artists";
	SearchSectionMap['videosbyletter'] = "music videos";
	SearchSectionMap['billboard'] = "billboard charts";
	SearchSectionMap['artistbyletter'] = "browse by artist";
	SearchSectionMap['allplaylist'] = "playlists"; // '"Playlists - Browse " + (SCqueryObj.select_by == "all" ? "All Playlists" : document.getElementById("playlistHeader").getElementsByTagName("h2")[0].innerHTML)';
	SearchSectionMap['memberbrowse'] = "member browse";
	/*** OLD ***/
	// SearchSectionMap['allplaylist'] = '"Playlists - Browse " + (SCqueryObj.select_by == "all" ? "All Playlists" : document.getElementById("playlistHeader").getElementsByTagName("h2")[0].innerHTML)';

	var SearchSpecialEvaluators = new Object();

	SearchSpecialEvaluators['artist'] = '$SUBSECTION+=" results"; try{s.prop8=document.getElementById("searchHeader").getElementsByTagName("div")[0].getElementsByTagName("h2")[0].getElementsByTagName("span")[0].innerHTML.toLowerCase();}catch(e){}';
	SearchSpecialEvaluators['album'] = '$SUBSECTION+=" results"; try{s.prop8=document.getElementById("searchHeader").getElementsByTagName("div")[0].getElementsByTagName("h2")[0].getElementsByTagName("span")[0].innerHTML.toLowerCase()}catch(e){}';
	SearchSpecialEvaluators['track'] = '$SUBSECTION+=" results"; try{s.prop8=document.getElementById("searchHeader").getElementsByTagName("div")[0].getElementsByTagName("h2")[0].getElementsByTagName("span")[0].innerHTML.toLowerCase()}catch(e){}';
	SearchSpecialEvaluators['all'] = '$SUBSECTION+=" results"; try{s.prop8=document.getElementById("searchHeader").getElementsByTagName("div")[0].getElementsByTagName("h2")[0].getElementsByTagName("span")[0].innerHTML.toLowerCase()}catch(e){}';
	SearchSpecialEvaluators['member'] = '$SUBSECTION+=" results"; try{s.prop8=document.getElementById("searchHeader").getElementsByTagName("div")[0].getElementsByTagName("h2")[0].getElementsByTagName("span")[0].innerHTML.toLowerCase()}catch(e){}';
	SearchSpecialEvaluators['billboard'] = '$SUBSECTION+=(":"+document.getElementById("chartName").innerHTML)';
	SearchSpecialEvaluators['artistbyletter'] = '$SUBSECTION=$CHANNEL+":"+((SCqueryObj.select_value == "00" || SCqueryObj.select_value == "0")?"home":("genre:" + getGenreName(SCqueryObj.select_value)))+":browse by artist letter " + SCqueryObj.filter_value.toLowerCase()';
	SearchSpecialEvaluators['allplaylist'] = '$SUBSECTION=$CHANNEL+":"+((SCqueryObj.select_value == "00" || SCqueryObj.select_value == "0")?"home":((SCqueryObj.select_by=="genre")?("genre:" + getGenreName(SCqueryObj.select_value)):("category:" + SCqueryObj.select_value))); s.prop5_temp="playlists:"+((SCqueryObj.select_value == "00" || SCqueryObj.select_value == "0")?"all":SCqueryObj.select_by)';
	SearchSpecialEvaluators['artisttracks'] = '$SUBSECTION=$CHANNEL+":tracks listing"; s.prop2_temp = document.getElementById("artistHeaderListing").getElementsByTagName("h2")[0].innerHTML';
	SearchSpecialEvaluators['artistalbum'] = 's.prop2_temp = document.getElementById("artistHeaderListing").getElementsByTagName("h2")[0].innerHTML';
	SearchSpecialEvaluators['artistvideos'] = 's.prop2_temp = document.getElementById("artistHeaderListing").getElementsByTagName("h2")[0].innerHTML';
	SearchSpecialEvaluators['albumtracks'] = 's.prop2_temp = document.getElementById("scArtistName").innerHTML; s.prop6_temp = document.getElementById("albumHeader").getElementsByTagName("h2")[0].getElementsByTagName("em")[0].innerHTML';
	SearchSpecialEvaluators['recommends'] = 's.prop2_temp = document.getElementById("scArtistName").innerHTML; s.prop6_temp = document.getElementById("albumHeader").getElementsByTagName("h2")[0].getElementsByTagName("em")[0].innerHTML';

function getCookieHash(cookieName) {
	var results = new Array();
	var cookie = dojo.cookie(cookieName);
	if (cookie != null && cookie.length > 0) {
		var names = cookie.split("&");

		for (var i = 0; i < names.length; i += 2) {
			results[unescape(names[i])] = unescape(names[i + 1]);
		}
	}

	return results;
}

var SDAT = getCookieHash('SDAT');
var purchaseInfo = getCookieHash('PURCHASEINFO');

	var $SCData = function(){
		if( arguments[0] != null ){
			var strSCDName = arguments[0];
			var strSCDValue = null;
			if( arguments.length == 2 )
				strSCDValue = arguments[1];
			var strSCCookieData = dojo.cookie( 'SCD' ) ? dojo.cookie('SCD') : "";
			if( arguments.length == 1 ){
				var aryDataPairs = strSCCookieData.split( '&' );
				for( intDataIndex = 0; intDataIndex < aryDataPairs.length; intDataIndex++ ){
					var intPosition = aryDataPairs[intDataIndex].indexOf('=');
					if( intPosition == -1 ) continue;
					var strDataName = aryDataPairs[intDataIndex].substring( 0, intPosition );
					var strDataValue = aryDataPairs[intDataIndex].substring( intPosition + 1 );
					if( strDataName == strSCDName ){
						if( objSCData[strDataName] != null )
							return unescape( objSCData[strDataName][strDataValue] );
						else
							return unescape( strDataValue );
					}
				}
			} else if( arguments.length == 2 ){
				var strSCData = '';
				var aryDataPairs = strSCCookieData.split( '&' );
				var objSCD = new Object();
				for( intDataIndex = 0; intDataIndex < aryDataPairs.length; intDataIndex++ ){
					var intPosition = aryDataPairs[intDataIndex].indexOf('=');
					if( intPosition == -1 ) continue;
					var strDataName = aryDataPairs[intDataIndex].substring( 0, intPosition );
					var strDataValue = aryDataPairs[intDataIndex].substring( intPosition + 1 );
					objSCD[strDataName] = unescape( strDataValue );
				}
				objSCD[strSCDName] = strSCDValue;
				for( var strValues in objSCD ){
                                        if (strValues.indexOf('toSource') > -1) continue;
					if( objSCD[strValues] != null && objSCD[strValues] != 'null' )
						strSCData += "&" + strValues + '=' + escape( objSCD[strValues] );
                                }
				strSCData = strSCData.substring( 1 );
				dojo.cookie('SCD',strSCData,{expires: 365, path: '/', domain: '.napster.com'});
			}
		}
	}


	
	if( location.search.indexOf( 'debug=sc' ) > -1 )
		$SCData( 'debug', true );
	
	if( typeof( $SCData( 'r' ) ) == 'undefined' )
		$SCData( 'r', 0 );
	
	var NUID = "";
	
	if( (dojo.cookie( 'CLID' ) || dojo.cookie( 'NUID')) && $SCData( 'r' ) == 0 ) {
		$SCData( 'r', 1 );
	}
	
	if(dojo.cookie('NUID')) {
		NUID = dojo.cookie('NUID');
	}
	
	if( typeof( $SCData( 'utype' ) ) == 'undefined' ){
		$SCData( 'utype', 0 );
		var objDate = new Date();
		$SCData( 'time', ( objDate.getTime() / 1000 ) );
	} else{
		if( dojo.cookie( 'SL' ) == null || dojo.cookie( 'SL' ) == '' ) {
			// look for necessary SDAT values
			if(SDAT) {
				var calcSub = SDAT['LFM'] == 'Y' ? 'LFM' : (SDAT['JANUS'] == 'N' ? 'SUB' : 'NTG');
				$SCData( 'utype', UserTypeMap[calcSub] );
			} else {
				$SCData( 'utype', 0 );
			}
		} else {
			$SCData( 'utype', UserTypeMap[dojo.cookie( 'SL' )] );
		}
	}
	
	if( typeof( FWSupportedCountries[dojo.cookie( 'COUNTRYCODE' )] ) == 'undefined' )
		$SCData( 'ter', TerritoryMap['Other'] )
	else
		$SCData( 'ter', TerritoryMap[dojo.cookie( 'COUNTRYCODE' )] )
	
	function IsNewUser(){
		var intTime = ( $SCData( 'time' ) * 1000 ) + 864000;
		var objDate = new Date();
		var intNowTime = objDate.getTime();
		if( intNowTime < intTime )
			return "New";
		else
			return "Returning";
	}

	/*
	
		s_channel = {channel of page}
		s_prop1 = {subsection of page - blank if none}
		s_prop2 = {identifying variables for the particular page [i.e. if it's an artist page, put the artist name here,
					browse - put the browse genre name here]}
		s_prop3 = {subscription level, stored in the SL cookie - we're looking for "visitor", "web user" (LFM), or
					"subscriber", so translate cookie value as necessary}
	
	*/
	function getGenreName(gid) {
		if(typeof (gid) != 'undefined' && gid != 'all') {
			gid = gid - 0;
			genreName = "";
			try { genreName = GenreNameMap[gid].toLowerCase(); } catch(e) {}
			return genreName;
		} else {
			return "main";
		}
	}

	function getSearchSection(tid) {
		tid = tid.toLowerCase();
		// redefine this every time - needs to be a global for access by other functions
		ChannelBase = isClient() ? 'client' : 'web';
		if(SearchSpecialEvaluators[tid]) {
			var searchEval = eval(SearchSpecialEvaluators[tid]);
		}
		var SubSectionName = SearchSectionMap[tid];
		return SubSectionName;
	}

	var channelOverrides = new Object();
	//channelOverrides['ns/registration'] = 'Registration';
	channelOverrides['ns/login'] = 'Registration';
	//channelOverrides['devices'] = 'Company Pages';


	function chOverride(path) {
		// override channel if our path matches
		for(i in channelOverrides) {
			if(path.indexOf(i) > -1) {
				s.channel = channelOverrides[i];
				continue;
			}
		}
	}


	var objChannels = new Object();	
	
	objChannels['ns/home'] = ['','Home','']; //getGenreName(SCqueryObj.genre_id)
    
	objChannels['ns/playlists'] = ['','playlists_main',''];
	
	objChannels['marketing/light_upgrade.html'] = ['','ShopUpsell',''];
	
	objChannels['ns/account/change_membership.html'] = ['','ChangeMembership',''];
	//objChannels[''] = ['','ChangeMembership_Payment',''];
	objChannels['ns/account/change_membership_confirm.html'] = ['','ChangeMembership_Confirm',''];
	
	objChannels['info/product_news_light.html'] = ['','info_whatsnew_Shop',''];
	objChannels['info/product_news_naps.html'] = ['','info_whatsnew_Naps',''];
	objChannels['info/product_news.html'] = ['','info_whatsnew_NTG',''];

	objChannels['info/info_mobile.html'] = ['','info_mobile',''];	
	
	objChannels['info/dlm.html'] = ['','info_DLM_Shop',''];
	//objChannels['info/dlm.html'] = ['','info_DLM_Naps',''];

	objChannels['info/compatible_devices_light.html'] = ['','info_MP3players',''];
	objChannels['info/compatible_devices_naps.html'] = ['','info_MP3players_NTG',''];

	objChannels['info/livingroom.html'] = ['','info_livingroom',''];
	objChannels['info/recently_played.html'] = ['','recently_played',''];
	objChannels['info/recently_added.html'] = ['','recently_added',''];
	
	objChannels['info/all_tracks.html'] = ['','all_tracks',''];

	objChannels['info/car.html'] = ['','info_car',''];

	objChannels['cgi-bin/featuresXML'] = ['','featuresXML',''];
	
	objChannels['ns/execs/new_releases.html'] = ['','new_releases',''];
	objChannels['ns/execs/staff_picks.html'] = ['','staff_picks',''];
	objChannels['cgi-bin/searchXML'] = ['','searchXML',''];
	objChannels['ns/search/browse.html'] = ['','',''];
	objChannels['ns/search/chart.html'] = ['','billboard_charts',''];
	objChannels['ns/search/recent.html'] = ['','my_library_content','' ];

	objChannels['cgi-bin/radioXML'] = ['','Radio_',''];

	objChannels['ns/execs/radio.html'] = ['','Radio_',''];
	
	objChannels['cgi-bin/playlistXML'] = ['','Playlists',''];
	
	objChannels['ns/execs/playlist.html'] = ['','playlists_detail',''];
	
	objChannels['ns/view/artist'] = ['','','view_artist_home',''];
	objChannels['ns/view/artist/bio.html'] = ['','','view_artist_bio',''];

	objChannels['ns/view/album'] = ['','view_artist_album_detail',''];
	objChannels['ns/view/album/review.html'] = ['','view_artist_album_detail_review',''];	
	
	objChannels['player'] = ['','player_content',''];
	objChannels['ns/login'] = ['','signin',''];
	objChannels['ns/login/forgot_password.html'] = ['','signin_forgot_password',''];
	objChannels['ns/login/napsterlink_login.html'] = ['','Sign_In_Napsterlink_Sign_In',''];

	objChannels['ns/share'] = ['','Napsterlinks_Share_Page',''];

	objChannels['ns/share/send_music.html'] = ['','share_Napsterlinks_Email_Sent_Confirmation','' ];
	objChannels['ns/account/accountstatus.html'] = ['','My_Account_Account_Status',''];
	objChannels['ns/account/payment_information.html'] = ['','My_Account_Payment_Information',''];
	objChannels['ns/account/request_billing_history.html'] = ['','My_Account_Request_Billing_History',''];
	objChannels['ns/account/change_membership.html'] = ['','My_Account_Change_Membership',''];
	objChannels['ns/account/redeem_cards_codes.html'] = ['','My_Account_Redeem_Cards_and_Codes','' ];
	objChannels['ns/account/manage_pcs.html'] = ['','My_Account_Manage_My_PCs','' ];
	objChannels['ns/account/manage_devices.html'] = ['','My_Account_Manage_My_Devices','' ];
	objChannels['ns/account/preferences.html'] = ['','My_Account_Preferences','' ];
	
	//mm

	objChannels['info/terms.html'] = ['','Help_Terms_and_Conditions','' ];
	objChannels['info/privacypolicy.html'] = ['','Help_Privacy_Policy','' ];
	objChannels['tutorial/one_sheet.html'] = ['','Help_Tutorial','' ];
	objChannels['devices'] = ['','Devices_and_More_landing_page' ];
	objChannels['devices/compatible_devices.html'] = ['','Devices_and_More_Compatible_Devices' ];
	objChannels['devices/non_ntg_compatible.html'] = ['','Devices_and_More_Non-NTG_Compatible_Devices' ];

	objChannels['devices/napstermobile.html'] = ['','Devices_and_More_Napster_Mobile' ];
	objChannels['devices/special_offers.html'] = ['','Napster_Web_Special_Offers' ];
	objChannels['MyLibrary/AllTracks'] = ['','my library_content_all_tracks','' ];
	objChannels['MyLibrary/RecentlyPlayed'] = ['','my_library_content_recently_played',''];
	objChannels['MyLibrary/RecentlyAdded'] = ['','my_library_content_recently_added',''];
	objChannels['MyLibrary/Album'] = ['','Library_Album','' ];
	objChannels['MyLibrary/Playlist'] = ['','Library_Playlists','' ];

	//objChannels['gb/mood/'] = ['','mood_manager',''];
	
	var objSpecialEvaluators = new Object();
	
	objSpecialEvaluators['/ns/home/index.html'] = 's.prop1 = $CHANNEL + ":" + ((SCqueryObj.genre_id == "00" || SCqueryObj.genre_id == "0")?"home":("genre:" + getGenreName(SCqueryObj.genre_id)));$SUBSECTION = s.prop1 + ":main";s.prop5_temp = "explore:genres";';

	//objSpecialEvaluators['ns/registration/offer/create_account.html'] = 's.prop5_temp="registration:promoredeem"; if( $SCData( \'rs\' ) != null && $SCData( \'rs\' ) != \'\' ){s.eVar6 = $SCData( \'rs\' )}';
	//objSpecialEvaluators['ns/home/index.html'] = 's.pageName = $CHANNEL +"Home"; '; //'s.prop1 = $CHANNEL + ":" + ((SCqueryObj.genre_id == "00" || SCqueryObj.genre_id == "0")?"home":("genre:" + getGenreName(SCqueryObj.genre_id)));$SUBSECTION = s.prop1 + ":main";s.prop5_temp = "explore:genres";';

	
	function purchaseType() {
		var type = purchaseInfo['type'];
		if(type == "track") {
			if(purchaseInfo['content_ids'].indexOf(",") > 0) {
				type = "multi_track";
			} else {
				type = "single_track";
			}
		}
		return type;
	}
	
	function setCampaignVars() {
		if(SDAT['ARPDATA']) {
			var campaignVarsArr = SDAT['ARPDATA'].split(",");
			if(typeof(campaignVarsArr[2]) != "unknown") {
				s.campaign = campaignVarsArr[1] + ":" + campaignVarsArr[2];
				s.eVar14 = campaignVarsArr[0];
			}
		} else {
			if(SCqueryObj.affiliate_id && SCqueryObj.referral_id && SCqueryObj.promo_id) {
				s.campaign = SCqueryObj.referral_id + ":" + SCqueryObj.promo_id;
				s.eVar14 = SCqueryObj.affiliate_id;
			}
		}
	}

	var $SUBSECTION = '';
	var $CHANNEL = '';
	var ChannelBase = '';

	function defineChannel(navPath){
		var XS_ROOT_PATH = '/';
		var strThisPath = (typeof(navPath) == "undefined")?(location.pathname != "/" ? location.pathname : ("/" + location.hash.substring(1))):("/" + navPath);
		// redefine this every time - needs to be a global for access by other functions
		ChannelBase = isClient() ? 'C' : 'W';
		// lookup table for backwards channel compatibility
		var baseTrans = new Object();
		baseTrans['web'] = "Web App";
		// baseTrans['client'] = "Client App";
		baseTrans['client'] = "client:";
		// end
		var strThisFile = '';
		var inQuery = '';
		var strThisFile = strThisPath.replace( XS_ROOT_PATH, '' );
		if(strThisFile.indexOf("?") > -1) {
			// we've got a hash URL, split the query off
			var tmpSplit = strThisFile.split("?");
			strThisFile = tmpSplit[0];
			inQuery = tmpSplit[1];
		} else {
			inQuery = location.search.substring(1);
		}

		// strip quotes
		var stripQuotes = /"/g;
		inQuery = inQuery.replace(stripQuotes,'');
		var stripEnc = /%22/g;
		inQuery = inQuery.replace(stripEnc,'');
		SCqueryObj = new Arguments(inQuery);
		// exception code to change channel to registration if we're in any reg flow
		//chOverride(strThisFile);
		var strSubSection = strThisFile;
		if( strThisFile.indexOf( 'index.html' ) > -1 ){
			strThisFile = strThisFile.substring( 0, strThisFile.lastIndexOf( '/' ) );
			strSubSection = strThisFile.substring( 0, strThisFile.lastIndexOf( '/' ) );
		} else if( strThisFile.indexOf('XML') == strThisFile.length - 3) {
			// leave this alone, these are scripts
		} else if( strThisFile.indexOf( '.html' ) == -1 ){
			strThisFile = strThisFile.substring( 0, strThisFile.lastIndexOf( '/' ) );
			strSubSection = strThisFile.substring( 0, strThisFile.lastIndexOf( '/' ) );
		}

		if( objChannels[strThisFile] ){
		
			if( typeof objChannels[strThisFile] == 'object' ){
				if (objChannels[strThisFile].length > 2) {
					ChannelBase	+= "_" + objChannels[strThisFile][0];					
				} else {
					// retranslate to "Web App/Client App" til we change everything
					ChannelBase = baseTrans[ChannelBase];
				}
			}
			return ChannelBase;
		}

		else if( !objChannels[strThisFile] && strThisFile.indexOf( '.html' ) > -1 ){
			strThisFile = strThisFile.substring( 0, strThisFile.lastIndexOf( '/' ) );
			if( objChannels[strThisFile] ){
				if( typeof objChannels[strThisFile] == 'object' ){
					if (objChannels[strThisFile].length > 2) {
						ChannelBase	+= "_" + objChannels[strThisFile][0];
					} else {
						// retranslate to "Web App/Client App" til we change everything
						ChannelBase = baseTrans[ChannelBase];
					}
				}
				return ChannelBase;
			} else
				return 'W_';
		} else {
			return 'W_';
		}
	}

	var strSL = dojo.cookie( 'SL' );
	var $SUBLEVEL = IsNewUser() + ' ' + $SCData( 'utype' ) + (SDAT['TRIAL'] == 'Y' ? ' Trial' : '');
	var $COUNTRYCODE = $SCData( 'ter' );

	var $FILEPATH = function(){
		var strPath = location.href;
		if( strPath.indexOf( '?' ) > -1 )
			return strPath.substring( 0, strPath.indexOf( '?' ) );
		else
			return strPath
	};

	function $SCE( strID ){
		try{
			s.events = "Play";
			s.eVar1 = strID;
			s.gs( "napsterweb" );
		}
		catch(e){}
	}
	
	function $SCEG( strEvent, strEVars ){
		var s=s_gi('napsterunitedkingdom');
		s.eVar6 = $SUBLEVEL;
		//s.eVar5 = $COUNTRYCODE;
		try{
			s.linkTrackVars =  "eVar3,eVar6,eVar7,eVar8,eVar9,eVar10,events";
			s.linkTrackEvents = EventMap[strEvent];
			s.events = EventMap[strEvent];
			eval( strEVars );
			// o = custom, e = exit, d = download
			s.tl( true ,'o', strEvent );
			if( $SCData( 'debug' ) ){
				DebugSiteCat( strEvent );
			}
		}
		catch(e){}
	}
	
	var objDebugWindow = null;

	function OpenDebugWindow(){
		objDebugWindow = open( '', 'DebugWindow', 'width=500,alwaysLowered=0,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=0,location=0,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=0,toolbar=0,z-lock=0' );
	}
	if( $SCData( 'debug' ) ){
		if( objDebugWindow == null || ( objDebugWindow.closed || !objDebugWindow.closed ) ){
			OpenDebugWindow();
			if( objDebugWindow.window.blnLoaded == null ){
				objDebugWindow.document.writeln( '<style type="text/css">' );
				objDebugWindow.document.writeln( 'BODY{' );
				objDebugWindow.document.writeln( 'margin-top : 0px ;' );
				objDebugWindow.document.writeln( 'font-family : Helvetica, Arial, sans-serif ;' );
				objDebugWindow.document.writeln( 'font-size : 11px ;' );
				objDebugWindow.document.writeln( 'color : #000000 ;' );
				objDebugWindow.document.writeln( '}' );
				objDebugWindow.document.writeln( '</style>' );
				objDebugWindow.document.writeln( '<h3>Site Cat. Debugger</h3><br />' );
				objDebugWindow.document.writeln( '<div id="Debug"></div>' );
				objDebugWindow.document.writeln( '<script language="JavaScript1.2" type="text/javascript">' );
				objDebugWindow.document.writeln( ' var blnLoaded = false;' );
				objDebugWindow.document.writeln( 'function DisplayValue( strLabel, strValue ){' );
				objDebugWindow.document.writeln( "var objDestination = document.getElementById( 'Debug' );" );
				objDebugWindow.document.writeln( "var objDiv = document.createElement( 'DIV' );" );
				objDebugWindow.document.writeln( 'if( strValue != null )' );
				objDebugWindow.document.writeln( "objDiv.innerHTML = strLabel + ' = ' + strValue;" );
				objDebugWindow.document.writeln( 'else' );
				objDebugWindow.document.writeln( "objDiv.innerHTML = '<br><br><hr><br><br>';" );
				objDebugWindow.document.writeln( 'objDestination.appendChild( objDiv );' );
				objDebugWindow.document.writeln( '}' );
				objDebugWindow.document.writeln( 'var blnLoaded = true;' );
				objDebugWindow.document.writeln( '</scr' + 'ipt>' );
			}
		}
	}

	function DebugSiteCat( strEvent ){
		if( objDebugWindow.window.blnLoaded != null && objDebugWindow.window.blnLoaded ){
			if( strEvent == null || strEvent == '' )
				objDebugWindow.window.DisplayValue( 'Event type', 'Page Load' );
			else
			objDebugWindow.window.DisplayValue( 'Event type', strEvent );
			objDebugWindow.window.DisplayValue( 'Page URL', location.href + '<br /><br />' );
			objDebugWindow.window.DisplayValue( 's.events', s.events );
			objDebugWindow.DisplayValue( 's.pageName', s.pageName );
			objDebugWindow.DisplayValue( 's.channel', s.channel );
			for( n = 1; n < 51; n++ ){
				try{
					var strProp = eval( 's.prop' + n );
					if( strProp != '' && strProp != 'undefined' )
						objDebugWindow.DisplayValue( 's.prop' + n, strProp );
				}
				catch(e){}
			}
			
			for( n = 1; n < 51; n++ ){
				try{
					var strProp = eval( 's.eVar' + n );
					if( strProp != '' && strProp != 'undefined' )
						objDebugWindow.DisplayValue( 's.eVar' + n, strProp );
				}
				catch(e){}
			}
			objDebugWindow.DisplayValue( 'space', null );
		} else
			setTimeout( DebugSiteCat, 1000 );
	}

	function $SUBSEG(navPath){
		var XS_ROOT_PATH = '/';
		var strThisPath = (typeof(navPath) == "undefined")?(location.pathname != "/" ? location.pathname : ("/" + location.hash.substring(1))):("/" + navPath);
		var strThisFile = '';
		var inQuery = '';
		var strThisFile = strThisPath.replace( XS_ROOT_PATH, '' );
		if(strThisFile.indexOf("?") > -1) {
			// we've got a hash URL, split the query off
			var tmpSplit = strThisFile.split("?");
			strThisFile = tmpSplit[0];
			inQuery = tmpSplit[1];
		} else {
			inQuery = location.search.substring(1);
		}

		// strip quotes
		var stripQuotes = /"/g;
		inQuery = inQuery.replace(stripQuotes,'');
		var stripEnc = /%22/g;
		inQuery = inQuery.replace(stripEnc,'');
		SCqueryObj = new Arguments(inQuery);
		// exception code to change channel to registration if we're in any reg flow
		chOverride(strThisFile);
		var strSubSection = strThisFile;
		if( strThisFile.indexOf( 'index.html' ) > -1 ){
			strThisFile = strThisFile.substring( 0, strThisFile.lastIndexOf( '/' ) );
			strSubSection = strThisFile.substring( 0, strThisFile.lastIndexOf( '/' ) );
		} else if( strThisFile.indexOf('XML') == strThisFile.length - 3) {
			// leave this alone, these are scripts
		} else if( strThisFile.indexOf( '.html' ) == -1 ){
			strThisFile = strThisFile.substring( 0, strThisFile.lastIndexOf( '/' ) );
			strSubSection = strThisFile.substring( 0, strThisFile.lastIndexOf( '/' ) );
		}

		if( objChannels[strThisFile] ){
			if( typeof objChannels[strThisFile] == 'object' ){
				if(objChannels[strThisFile].length > 2) {
					
					//mm var tmpSubSeg = $CHANNEL + ":" + objChannels[strThisFile][1];
					var tmpSubSeg = $CHANNEL + "" + objChannels[strThisFile][1];
					$SUBSECTION = tmpSubSeg + objChannels[strThisFile][2]; 
					return tmpSubSeg;
				} else {
					$SUBSECTION = objChannels[strThisFile][1];
					return objChannels[strThisFile][0];
				}
			} else 
				return objChannels[strThisFile];
		}

		else if( !objChannels[strThisFile] && strThisFile.indexOf( '.html' ) > -1 ){			
			strThisFile = strThisFile.substring( 0, strThisFile.lastIndexOf( '/' ) );
			if( objChannels[strThisFile] ){
				if( typeof objChannels[strThisFile] == 'object' ){
					if(objChannels[strThisFile].length > 2) {
						var tmpSubSeg = $CHANNEL + ":" + objChannels[strThisFile][1];
						$SUBSECTION = tmpSubSeg + objChannels[strThisFile][2]; 
						return tmpSubSeg;							
					} else {
						$SUBSECTION = objChannels[strThisFile][1];					
						return objChannels[strThisFile][0];
					}
				} else {
					return objChannels[strThisFile];
				}
			} else
				return 'W_';
		} else {
			return 'W_';
		}
	}


	function RunEvaluator(navPath){
		navPath = "/" + navPath;
		try {
			var XS_ROOT_PATH = '/';
			var strThisFile = '';
			var strThisFile = navPath.replace( XS_ROOT_PATH, '' );

			if(strThisFile.indexOf("?") > -1) {
				// we've got a hash URL, split the query off
				var tmpSplit = strThisFile.split("?");
				strThisFile = tmpSplit[0];
			}
			if( strThisFile.indexOf( 'index.html' ) > -1 )
				strThisFile = strThisFile.substring( 0, strThisFile.lastIndexOf( '/' ) );
			else if( strThisFile.indexOf('XML') == strThisFile.length - 3) {
				// leave this alone, these are scripts
			} else if( strThisFile.indexOf( '.html' ) == -1 )
				strThisFile = strThisFile.substring( 0, strThisFile.lastIndexOf( '/' ) );
			if( typeof( objSpecialEvaluators[strThisFile] ) != 'undefined' ){
				eval( objSpecialEvaluators[strThisFile] );
			} else if( typeof( objSpecialEvaluators[strThisFile] ) == 'undefined' && strThisFile.indexOf( '.html' ) > -1 ){
				strThisFile = strThisFile.substring( 0, strThisFile.lastIndexOf( '/' ) );
				if( typeof( objSpecialEvaluators[strThisFile] ) != 'undefined' )
					eval( objSpecialEvaluators[strThisFile] );
			}
		} catch(e) {
			alert(e.message + " in " + objSpecialEvaluators[strThisFile]);
		}
	}

	var SCqueryObj = '';
	
	function transformPath(navPath) { // handle redirected pages/special cases where content changes the page name
		navPath = (typeof(navPath) == "undefined")?(location.pathname != "/" ? (location.pathname): (location.hash.substring(1))):(navPath);
		if(navPath.indexOf('/') == 0) { navPath = navPath.substring(1); }
		switch(navPath) {
			case "ns/purchase/clear/purchase_verify.html": // Client
				if((location.search.indexOf('buy=1') > -1) && (location.search.indexOf('skin=inpage') > -1) && (document.getElementById("main").getElementsByTagName("h2")[0].innerHTML.indexOf("Thanks") > -1)) {
					
					navPath = "ns/purchase/clear/inpage/purchase_complete.html";
				}
				break;
			case "ns/purchase/clear/inpage/purchase_verify.html?buy=1": // Web
				if((document.getElementById("trackPurchase").getElementsByTagName("h2")[0].innerHTML.indexOf("Thanks") > -1)) {
					navPath = "ns/purchase/clear/inpage/purchase_complete.html";
				}
				break;
		}
		return navPath;
	}

	function runSCPageLoad(navPath) {

		purchaseInfo = getCookieHash('PURCHASEINFO');
		
		eval(initSCvars);
				
		// clear out the old query
		SCqueryObj = '';
		navPath = transformPath(navPath);
		s.pageName = ( ( $SUBSECTION != '' )? $SUBSECTION : '' );
		s.server = isClient() ? 'client' : 'web';
		s.channel = isClient() ? 'Client' : 'Webservice';
		$CHANNEL = defineChannel(navPath);
		s.prop1 = '';
		RunEvaluator(navPath);
		//s.hier1 = (s.prop1.charAt(s.prop1.length-1) == ":")?s.prop1.slice(0,-1):s.prop1;
		//s.pageName = ( ( $SUBSECTION != '' )? $SUBSECTION : '' );
		s.pageName =  ( ( $SUBSEG(navPath) != '' )? $SUBSEG(navPath) : '' );
		//$SUBSEG('info/livingroom.html')
		s.prop9 = NUID;
		s.eVar6 = $SUBLEVEL;
		s.eVar12 = s.pageName;
		s.eVar13 = s.channel;
		s.events = (!s.events_temp) ? "event1" : s.events_temp;

		s.state = "";
		s.zip = "";

		if(s.pageName=="W_Radio_") { s.pageName += (SCqueryObj.select_by == 'all' ? 'Main' : getGenreName(SCqueryObj.select_value)); s.eVar12 = s.pageName; }


		//objChannels['cgi-bin/radioXML'] = ['Radio','"Radio - " + (SCqueryObj.select_by == \'all\' ? "Main" : getGenreName(SCqueryObj.select_value))',''];
		//objChannels['ns/execs/radio.html'] = ['Radio','"Radio - " + (SCqueryObj.select_by == \'all\' ? "Main" : getGenreName(SCqueryObj.select_value))',''];
		
		/*
		s.prop2_temp = '';
		s.prop5_temp = '';
		s.prop6_temp = ''; // Album Title
		s.prop7_temp = ''; // Playlist Title
		s.prop8 = ''; // Search Query
		s.events_temp = '';
		s.products_temp = '';
		// set up the basic page variables
		navPath = transformPath(navPath);
		$CHANNEL = defineChannel(navPath);
		s.server = isClient() ? 'client' : 'web';
		s.channel = isClient() ? 'Client' : 'Webservice';

		// set up any special tags for this page
		s.prop1 = $SUBSEG(navPath);
		RunEvaluator(navPath);
		s.hier1 = (s.prop1.charAt(s.prop1.length-1) == ":")?s.prop1.slice(0,-1):s.prop1;
		s.pageName = ( ( $SUBSECTION != '' )? $SUBSECTION : '' );
		s.prop2 = ( typeof( s.prop2_temp ) != 'undefined' )? s.prop2_temp : "";
		s.prop3 = $SUBLEVEL;
		
		s.pageType = "";
		s.prop4 = typeof(navPath) != 'undefined' ? navPath : self.location.href;
		s.prop5 = (typeof(s.prop5_temp)=='undefined'||s.prop5_temp=="")?s.prop1.slice(s.prop1.indexOf(":")+1):s.prop5_temp;
		s.prop6 = (typeof(s.prop6_temp)!='undefined')?s.prop6_temp:"";
		s.prop7 = (typeof(s.prop7_temp)!='undefined')?s.prop7_temp:"";
		// s.prop8 = (typeof(s.prop8)!='undefined')?s.prop8:"";
		s.prop9 = NUID;
		s.prop10 = "";
		
		/* E-commerce Variables 
		// s.campaign = "";
		s.state = "";
		s.zip = "";
		s.events = s.events_temp;
		s.products = s.products_temp;
		s.purchaseID = "";
		s.eVar1 = "";
		s.eVar2 = "";
		s.eVar3 = "";
		s.eVar4 = "";
		s.eVar5 = "";
		s.eVar6 = $SUBLEVEL;
		s.eVar7 = (ChannelBase.charAt(ChannelBase.length-1) == ":")?ChannelBase.slice(0,-1):ChannelBase;
		s.eVar8 = "";
		s.eVar9 = "";
		s.eVar10 = "";
		s.eVar15 = NUID;
		*/

		//Declare start and end of Daylight Savings Time for current year
		//Needs to be updated every year
		s.dstStart="03/28/"+new Date().getFullYear();
		s.dstEnd="10/31/"+new Date().getFullYear();
		 
		/* Plugin Config */
		s.usePlugins=true
		function s_doPlugins(s) 
		{

		s.eVar5=s.getNewRepeat();
		s.eVar7="en_EN";

		s.prop3=s.eVar5;
		s.prop5=s.eVar6;
		s.prop6=s.eVar7;
		s.prop7=s.eVar8;

		s.prop12=s.getDaysSinceLastVisit();

		/* Return used time between two different events - QREG Start+Confirmed */
		s.gvs=s.getVisitStart("s_visit");
		if (s.gvs==1) s.prop13 = 'start';
		if (s.events.indexOf('purchase')>-1) s.prop13 = 'stop';
		s.prop13 = s.getTimeToComplete(s.prop13,'sc_ttc',0);

		s.prop14=document.referrer;

		var currDate = new Date();
		s.prop15=s.eVar9=s.getTimeParting('h','+1',currDate.getFullYear()) // Set hour
		s.prop16=s.eVar10=s.getTimeParting('d','+1',currDate.getFullYear()) // Set day
		s.prop17=s.eVar11=s.getTimeParting('w','+1',currDate.getFullYear()) // Set Weekend Weekday

		s.prop18=window.location.href;
			
		if(!s.campaign)
		{
			s.campaign=s.getQueryParam('cid');
			s.campaign=s.getValOnce(s.campaign,'s_campaign',0);
			s.eVar14=s.campaign;
		}

		if(!s.eVar1){ //internal campaign tracking code
			s.eVar1=s.getQueryParam('tid');
			s.eVar1=s.getValOnce(s.eVar1,'s_evar_1',0);
		}

		if(!s.eVar2){ //Keyword tracking code
			s.eVar2=s.getQueryParam('kw');
			s.eVar2=s.getValOnce(s.eVar2,'s_evar_2',0); 
		}

		if(!s.eVar3){ //Matchtype tracking code
			s.eVar3=s.getQueryParam('match');
			s.eVar3=s.getValOnce(s.eVar3,'s_evar_3',0); 
		}

		}

		s.doPlugins=s_doPlugins
		/************************** PLUGINS SECTION *************************/
		/* You may insert any plugins you wish to use here.                 */

		/*                                                                                        
		 * Plugin: s.crossVisitParticipation : 1.2 - stacks values from 
		 * specified variable in cookie and returns value                                                   
		 */    
		s.crossVisitParticipation = new Function("v","cn","ex","ct","dl","ev",""                          
		+"var s=this;var ay=s.split(ev,',');for(var u=0;u<ay.length;u++){if(s"                     
		+".events&&s.events.indexOf(ay[u])!=-1){s.c_w(cn,'');return '';}}if(!"                     
		+"v||v=='')return '';var arry=new Array();var a=new Array();var c=s.c"                     
		+"_r(cn);var g=0;var h=new Array();if(c&&c!='') arry=eval(c);var e=ne"                     
		+"w Date();e.setFullYear(e.getFullYear()+5);if(arry.length>0&&arry[ar"                     
		+"ry.length-1][0]==v)arry[arry.length-1]=[v, new Date().getTime()];el"                     
		+"se arry[arry.length]=[v, new Date().getTime()];var data=s.join(arry"                     
		+",{delim:',',front:'[',back:']',wrap:'\\''});var start=arry.length-c"                     
		+"t < 0?0:arry.length-ct;s.c_w(cn,data,e);for(var x=start;x<arry.leng"                     
		+"th;x++){var diff=Math.round(new Date()-new Date(parseInt(arry[x][1]"                     
		+")))/86400000;if(diff<ex){h[g]=arry[x][0];a[g++]=arry[x];}}var r=s.j"                     
		+"oin(h,{delim:dl});return r;");


		/*
		 * Plugin: getVisitStart v2.0 - returns 1 on first page of visit
		 * otherwise 0
		*/
		s.getVisitStart=new Function("c",""
		+"var s=this,v=1,t=new Date;t.setTime(t.getTime()+1800000);if(s.c_r(c"
		+")){v=0}if(!s.c_w(c,1,t)){s.c_w(c,1,0)}if(!s.c_r(c)){v=0}return v;"); 
		/*

		 /*
		 * Plugin: getQueryParam 2.1 - return query string parameter(s)
		 */
		s.getQueryParam=new Function("p","d","u",""
		+"var s=this,v='',i,t;d=d?d:'';u=u?u:(s.pageURL?s.pageURL:s.wd.locati"
		+"on);if(u=='f')u=s.gtfs().location;while(p){i=p.indexOf(',');i=i<0?p"
		+".length:i;t=s.p_gpv(p.substring(0,i),u+'');if(t)v+=v?d+t:t;p=p.subs"
		+"tring(i==p.length?i:i+1)}return v");
		s.p_gpv=new Function("k","u",""
		+"var s=this,v='',i=u.indexOf('?'),q;if(k&&i>-1){q=u.substring(i+1);v"
		+"=s.pt(q,'&','p_gvf',k)}return v");
		s.p_gvf=new Function("t","k",""
		+"if(t){var s=this,i=t.indexOf('='),p=i<0?t:t.substring(0,i),v=i<0?'T"
		+"rue':t.substring(i+1);if(p.toLowerCase()==k.toLowerCase())return s."
		+"epa(v)}return ''");

		/*
		 * Plugin: getValOnce_v1.0
		 */
		s.getValOnce=new Function("v","c","e",""
		+"var s=this,a=new Date,v=v?v:v='',c=c?c:c='s_gvo',e=e?e:0,k=s.c_r(c"
		+");if(v){a.setTime(a.getTime()+e*86400000);s.c_w(c,v,e?a:0);}return"
		+" v==k?'':v");


		/*
		 * Plugin: getNewRepeat 1.0 - Return whether user is new or repeat
		 */
		s.getNewRepeat=new Function(""
		+"var s=this,e=new Date(),cval,ct=e.getTime(),y=e.getYear();e.setTime"
		+"(ct+30*24*60*60*1000);cval=s.c_r('s_nr');if(cval.length==0){s.c_w("
		+"'s_nr',ct,e);return 'New';}if(cval.length!=0&&ct-cval<30*60*1000){s"
		+".c_w('s_nr',ct,e);return 'New';}if(cval<1123916400001){e.setTime(cv"
		+"al+30*24*60*60*1000);s.c_w('s_nr',ct,e);return 'Repeat';}else retur"
		+"n 'Repeat';");

		/*
		 * Plugin: getTimeToComplete 0.4 - return the time from start to stop
		 */
		s.getTimeToComplete=new Function("v","cn","e",""
		+"var s=this,d=new Date,x=d,k;if(!s.ttcr){e=e?e:0;if(v=='start'||v=='"
		+"stop')s.ttcr=1;x.setTime(x.getTime()+e*86400000);if(v=='start'){s.c"
		+"_w(cn,d.getTime(),e?x:0);return '';}if(v=='stop'){k=s.c_r(cn);if(!s"
		+".c_w(cn,'',d)||!k)return '';v=(d.getTime()-k)/1000;var td=86400,th="
		+"3600,tm=60,r=5,u,un;if(v>td){u=td;un='days';}else if(v>th){u=th;un="
		+"'hours';}else if(v>tm){r=2;u=tm;un='minutes';}else{r=.2;u=1;un='sec"
		+"onds';}v=v*r/u;return (Math.round(v)/r)+' '+un;}}return '';");

		/*
		 * Plugin: Days since last Visit 1.0.H - capture time from last visit
		 */
		s.getDaysSinceLastVisit=new Function(""
		+"var s=this,e=new Date(),cval,ct=e.getTime(),c='s_lastvisit',day=24*"
		+"60*60*1000;e.setTime(ct+3*365*day);cval=s.c_r(c);if(!cval){s.c_w(c,"
		+"ct,e);return 'First page view or cookies not supported';}else{var d"
		+"=ct-cval;if(d>30*60*1000){if(d>30*day){s.c_w(c,ct,e);return 'More t"
		+"han 30 days';}if(d<30*day+1 && d>7*day){s.c_w(c,ct,e);return 'More "
		+"than 7 days';}if(d<7*day+1 && d>day){s.c_w(c,ct,e);return 'Less tha"
		+"n 7 days';}if(d<day+1){s.c_w(c,ct,e);return 'Less than 1 day';}}els"
		+"e return '';}"
		);

		/*
		 * Plugin: getTimeParting 1.1 - Set timeparting values based on time zone
		 */
		s.getTimeParting=new Function("t","z","y","" 
		+"cd=new Date();utc=cd.getTime()+(cd.getTimezoneOffset()*60000);"
		+"tz=new Date(utc + (3600000*z));thisy=tz.getFullYear();"
		+"var days=['Sunday','Monday','Tuesday','Wednesday','Thursday',"
		+"'Friday','Saturday'];if(thisy!=y){return'Data Not Available'}else{;"
		+"thish=tz.getHours();thismin=tz.getMinutes();thisd=tz.getDay();"
		+"var dow=days[thisd];var ap='AM';var dt='Weekday';var mint='00';"
		+"if(thismin>30){mint='30'};if(thish>=12){ap='PM';thish=thish-12};"
		+"if (thish==0){thish=12};if(thisd==6||thisd==0){dt='Weekend'};"
		+"var timestring=thish+':'+mint+ap;var daystring = dow;"
		+"var endstring=dt;if(t=='h'){return timestring}if(t=='d'){return daystring};"
		+"if(t=='w'){return endstring}};"
		);

		$SCData( 'ch', $CHANNEL );
		// run the site catalyst function to update the vars
		void(s.t());
		//open the debugger if we need to	
		if( $SCData( 'debug' ) ){
			DebugSiteCat();
		}
	}



