(function (window, $, _gaq) {

	// CLICK TRACKING
	var trackMap = {};
		trackMap.topMyParagon	= { sel: "#topbarLinks #ctl00_topbar1_hlMyParagon",
									gaqPushParams: ['_trackEvent', 'My Paragon', 'My Paragon Login'] }
		trackMap.topTwitter		= { sel: '#topbarLinks a[href*="www.twitter.com"]',
									gaqPushParams: ['_trackEvent', 'Social Media', 'Link to Twitter page', 'Header link to Twitter page'] }
		trackMap.topFacebook	= { sel: '#topbarLinks a[href*="www.facebook.com"]',
									gaqPushParams: ['_trackEvent', 'Social Media', 'Link to Facebook page', 'Header link to Facebook page'] }

		trackMap.homeDirections	= { sel: "#ctl00_topbar1_hlDirections",
									spotlightCond: ( true ),
									spotlightCat: "cat=direc185;" }
		trackMap.entTicketMast 	= { sel: 'a[href^="http://www.ticketmaster.com/"]',
									spotlightCond: ( window.location.pathname === "/Home/Entertainment.aspx" ),
									spotlightCat: "cat=enter257;" }
		trackMap.spaBookTreat 	= { sel: 'a[href$="www.spa-salon.com/onlinestore/wtsparagon/booking.php"]',
									spotlightCond: ( window.location.pathname === "/Home/Amenities/Spa.aspx" ),
									spotlightCat: "cat=ameni629;" }
		trackMap.meetingsSales 	= { sel: '.content a[href$="/Home/Meetings/RequestQuote.aspx"]',
									spotlightCond: ( window.location.pathname.match( "/Home/Meetings" ) ),
									spotlightCat: "cat=meeti059;" }
		trackMap.pcbJoinTheClub = { sel: '#leftnav a[href$="/Home/Casino/PreferredPlayersClub.aspx"]',
									spotlightCond: ( window.location.pathname.match( "/Home/Casino" ) ),
									spotlightCat: "cat=playe538;" }
		trackMap.pcbNavPlayers	= { sel: '#leftloginform a[href$="/Home/Casino/PreferredPlayersClub.aspx"]',
									spotlightCond: ( true ),
									spotlightCat: "cat=prefe899;" }

	// PAGE-SPECIFIC SPOTLIGHT TRACKING
	var pageTrack = {};
		pageTrack.entertainmentPage	= { spotlightCond: (window.location.pathname === "/Home/Entertainment.aspx"),
										spotlightCat: "cat=enter828;" }
		pageTrack.promotionsPage	= { spotlightCond: (window.location.pathname === "/Home/Promotions.aspx"),
										spotlightCat: "cat=promo736;" }
		pageTrack.casinoLandingPage	= { spotlightCond: (window.location.pathname === "/Home/Casino.aspx"),
										spotlightCat: "cat=casin898;" }
		pageTrack.amenitiesPage		= { spotlightCond: (window.location.pathname === "/Home/Amenities.aspx"),
										spotlightCat: "cat=ameni346;" }
		pageTrack.amenitiesRV		= { spotlightCond: (window.location.pathname === "/Home/Amenities/RVPark.aspx"),
										spotlightCat: "cat=ameni998;" }
		pageTrack.amenitiesSPA		= { spotlightCond: (window.location.pathname === "/Home/Amenities/Spa.aspx"),
										spotlightCat: "cat=ameni479;" }
		pageTrack.amenitiesGolf		= { spotlightCond: (window.location.pathname === "/Home/Amenities/Golf.aspx"),
										spotlightCat: "cat=ameni163;" }
		pageTrack.amenitiesCinema	= { spotlightCond: (window.location.pathname === "/Home/Amenities/Cinema.aspx"),
										spotlightCat: "cat=ameni342;" }
		pageTrack.meetingsPage		= { spotlightCond: (window.location.pathname === "/Home/Meetings.aspx"),
										spotlightCat: "cat=meeti251;" }
		pageTrack.gaMyParagonCust	= { gaqCond: (window.location.pathname === "/Home/MyParagon.aspx"),
										gaqPushParams: ['_setCustomVar', 1, 'My Paragon', 'Member', 1] }

	// SPOTLIGHT TAG TEMPLATE CODE
	var spotlight = {
		front: '<iframe src="http://fls.doubleclick.net/activityi;src=3032472;type=parag246;',
		back: '?" width="1" height="1" frameborder="0" style="display:none"></iframe>'
	}

	this.init = function () {
		for ( var pageObj in pageTrack ) {
			if ( pageTrack.hasOwnProperty( pageObj ) ) {
				if ( !!pageTrack[pageObj].spotlightCond ) {
					createSpotlight( pageTrack[pageObj].spotlightCat );
				}
				if ( !!pageTrack[pageObj].gaqCond ) {
					if ( !!_gaq ) _gaq.push( pageTrack[pageObj].gaqPushParams );
				}
			}
		}
		var tracker = null;
		for ( var trackObj in trackMap ) {
			if ( trackMap.hasOwnProperty( trackObj ) ) {
				tracker = trackMap[trackObj];
				if ( $( tracker.sel ).length > 0 ) {
					if ( !!tracker.gaqPushParams ) {
						$( tracker.sel ).data('gaqPushParams', tracker.gaqPushParams );

						$( tracker.sel ).click( function (e) {
							if ( !!_gaq ) _gaq.push( $(this).data('gaqPushParams') );
						});
					}
					if ( !!tracker.spotlightCat ) {
						if ( !!tracker.spotlightCond ) {
							$( tracker.sel ).data('spotlightCat', tracker.spotlightCat );
							$( tracker.sel ).click( spotlightOnClick );
						}
					}
				}
			}
		}
	}

	this.spotlightOnClick = function (e) {
		var catParam = $(this).data('spotlightCat');
		createSpotlight( catParam );
		if ( !!this.href && !!!$(this).attr('target') ) {
			e.preventDefault();
			setTimeout( 'window.location="'+this.href+'"', 700 );
			return false;
		}
	}

	this.createSpotlight = function (catParam) {
		var axel = Math.random() + "";
		var a = axel * 10000000000000;
		var ordParam = "ord=" + a;
		var tag = spotlight.front + catParam + ordParam + spotlight.back;
		$('body').prepend(tag);
	}

	$( init );
})(window, $, _gaq);

