// Copyright (c) 2011 by 3RDS / Bramus! <bramus@bram.us>
// http://www.3rds.be/ - http://www.bram.us
//
// Exodus 20.15 - "Thou shalt not steal"

/**
 * Thunderbirds.are.go!
 * -------------------------------------------------------------
 */

jQuery(function($) {
	
	// homepage (and other stuff)
	TF2011.homepage.init();
	
	// scrollbar (@ie6: no soup for you!)
	if(!$.browser.msie || ($.browser.msie && (parseInt($.browser.version, 10) > 6)))
	{
		
		// Put scrollbar on content (not for partners page though)
		if ($('body').attr('id') != 'b_621') $('#innerContent > div').jScrollPane({showArrows:true});
		
		// Put scrollbar on subnav (line-up only)
		if ($('body').attr('id') == 'b_596')
		{
			$('#mainMenu').wrapInner('<div class="scrolled">');
			$('#mainMenu .scrolled').jScrollPane({showArrows:true});
		}
		
	}
		
	// Play that funcky music (but not for IE<=7)
	TF2011.soundScape.init();
	
	// hallenplan
	TF2011.hallenplan.init();
	
	// "statstracker" ;)
	TF2011.statstracker.init();
	
	// here.be.dragons
	TF2011.gradienter.init();
		
	// Lightbox
	if ($.fn.lightBox) $('li.photo a').lightBox();
	
});



/**
 * TF2011 Object - by Bramus! <bramus@bram.us>
 * -------------------------------------------------------------
 */

	var TF2011 = {}



/**
 * TF2011 Object - Homepage - by Bramus! <bramus@bram.us>
 * -------------------------------------------------------------
 */
	
	TF2011.homepage = {
			
			
		/**
		 * Datamembers
		 * -------------------------------------------------------------
		 */
			
			// none!
			
			
		/**
		 * Init - go.go.go!
		 * @return void
		 * -------------------------------------------------------------
		 */			
			
			init				: function () {
						
				$('#shop a').hover(
					function() {
						if (!$.data(this, 'origContent')) $.data(this, 'origContent', $(this).html());
						
						if ($(this).hasClass('soldout')) {
							$(this).html('Sold out!<br />Uitverkocht!');
						} else {
							$(this).html('Koop ticket(s)');
						}
						
					},
					function() {
						$(this).html($.data(this, 'origContent'));
					}
				);
				
				$('#shop a.soldout').click(function(e) {
					e.preventDefault();
					e.stopPropagation();
					
					alert('Helaas, deze tickets zijn reeds uitverkocht!');
				});		
				
			},
	
	
		/**
		 * end of object - Bramus, you lazy programmer!
		 * @see http://www.bram.us/2009/02/22/the-lazy-programmer-at-work-_eoo-and-your-javascript-objects/
		 * -------------------------------------------------------------
		 */
		
			_eoo			: true
	
	}
	
	
/**
 * TF2011 Object - gradienter - by Bramus! <bramus@bram.us>
 * -------------------------------------------------------------
 */

	TF2011.gradienter = {
		
		
		/**
		 * Datamembers
		 * -------------------------------------------------------------
		 */
		
			ids	: [571, 572, 581, 596, 611, 614, 621],
			urls	: ['nie', 'tic', 'pra', 'lin', 'spe', 'fot', 'spo'], // short identifiers (nie = nieuws)
			mappings: {
				'571': ['#e70d08','#e91388','#6f0091','#6f0091'], // violet
				'572': ['#e91388','#6f0091','#00bfff','#00bfff'], // blue
				'581': ['#6f0091','#00bfff','#8bc53f','#8bc53f'], // green
				'596': ['#00bfff','#8bc53f','#ffff00','#ffff00'], // yellow
				'611': ['#8bc53f','#ffff00','#ff7500','#ff7500'], // orange
				'614': ['#ffff00','#ff7500','#e70d08','#e70d08'], // red
				'621': ['#ff7500','#e70d08','#e91388','#e91388']  // fuchsia
			},
			
			
			
		/**
		 * Init - go.go.go!
		 * @return void
		 * -------------------------------------------------------------
		 */
			
			
			init				: function () {
				
				// hide content & nav
				$('#innerContentWrapper,nav').css('display','none').css('visibility','visible');
								
				// displaystyle of the gradients (only on homepage hidden)
				var displayStyle = 'block';
								
				// change ID of homepage so that a random color gets injected
				if ($('body').attr('id').substr(2,3) == '570') {
								
					randomBetween = function (from, to){
				       return Math.floor(Math.random() * (to - from + 1) + from);
				    }
					
					// Define next colors (but exclude the purple of page 571, as we're about to go to that page)
					// var randomId = TF2011.gradienter.ids[Math.floor(randomBetween(1,TF2011.gradienter.ids.length))]
					var randomId = 581; // always go for green
					
					// change id 
					$('body').attr('id', 'b_' + randomId);		
					
					// hidden
					displayStyle = 'none';
					
				}
					
				// inject masks
				$('<img id="maskLeft" src="/modules/core/layout/images/2011/mask-left.png" alt="" title="" />').css('display', displayStyle).insertBefore('#gradientLeft');
				$('<img id="maskRight" src="/modules/core/layout/images/2011/mask-right.png" alt="" title="" />').css('display', displayStyle).insertBefore('#gradientRight');
								
				// get colors for the gradient
				var colors = TF2011.gradienter.mappings[$('body').attr('id').substr(2,3)];
				
				// Fill the gradient based on the body-id
				$('#gradientLeft').css('display', displayStyle).linearGradient('horizontal', colors, [0, 0.3, 0.7, 1], 165);
				$('#gradientRight').css('display', displayStyle).linearGradient('horizontal', colors, [0, 0.3, 0.7, 1], 165, true);
				
				// homepage: fade in gradients and content
				if (displayStyle == 'none') {
					$('#maskLeft, #maskRight').fadeIn(800);
					$('#gradientLeft, #gradientRight').fadeIn(1500);
					$('#innerContentWrapper,nav').fadeIn(700);
				}
				
				// not homepage: fade in the content (gradients already visible)
				else {
					$('#innerContentWrapper,nav').fadeIn(700);
				}
				
				
				// hook nav clicks
				$('nav a').bind('click', function(e) {
				
					// don't jump!
					e.stopPropagation();
					e.preventDefault();
					
					// Get link
					var link = $(e.target).attr('href');
					
					// Extract color(id)
					var nextColorId = $(e.target).parent().attr('id').substr(2,3);					

					// fade it!
					TF2011.gradienter.gotoLink(link, nextColorId);
				
				});
				
				// hook onclick for logo
				$('h1 a').click(function(e) {
								
					// don't jump!
					e.stopPropagation();
					e.preventDefault();
					
					// change colors to news page
					TF2011.gradienter.gotoLink($(e.target).attr('href'), '571');
					
				});
				
				// hook onlclick for main menu / secondary menu
				$('#mainMenu a, #secondaryMenu a').click(function(e) {
								
					// don't jump!
					e.stopPropagation();
					e.preventDefault();
					
					// go!
					TF2011.gradienter.gotoLink($(e.target).attr('href'), $('body').attr('id').substr(2,3));
				
				});
				
				
				// hook onclick for content (@2DO)
				$('#innerContent a').click(function(e) {
								
					// the id of the next page
					var nextPageId = null;
					var nextPageLink = null;
								
					// don't jump!
					e.stopPropagation();
					e.preventDefault();
					
					// link is the href of the a clicked
					nextPageLink = $(e.target).attr('href');
					nextPageLink = nextPageLink || $(e.currentTarget).attr('href');

					// homepage, special treatment
					if (displayStyle == 'none') {

						nextPageId = 571;

					}

					// not homepage
					else {
													
						// don't shoot yourself in the foot with the floorplan
						if ($('#hallenplan-interactive').size() > 0) return false;
						
						// don't shoot yourself in the foot with the scrollbar arrows either (thanks Valerie!)
						if ($(e.target).hasClass('jScrollArrowUp')) return false;
						if ($(e.target).hasClass('jScrollArrowDown')) return false;

						// link to a page within the current site, possibility to change the color
						if (nextPageLink.substr(0,5) == '/2011') {
						
							// get target link section
							var nextPageSection = nextPageLink.replace('http://www.trancefusion.be/2011/','').replace('http://trancefusion.local/2011/','').replace('/2011/','').substr(0,3);
						
							// get the target link color Id 
							nextPageId = TF2011.gradienter.ids[TF2011.gradienter.urls.indexOf(nextPageSection)];
	
						}
					
						// link is to an external page, just fade out
						else {
					
							// Trick: fool the gotoLink function by passing in the current page color as the next color ... #muhahaha  
							nextPageId = $('body').attr('id').substr(2,3);
						
						}

					}
					
					// go!
					TF2011.gradienter.gotoLink(nextPageLink, nextPageId);
					
				});
				
				
			},
			
		
		/**
		 * Goes to a link but changes the gradients first (if needed) and fades out the content
		 * @return void
		 * -------------------------------------------------------------
		 */
		 
			gotoLink 		: function (link, nextColorId) {
						
				// get current colorId
				var bodyColorId = $('body').attr('id').substr(2,3);
				
				// next page has different color
				if (nextColorId != bodyColorId) {
				
					// get the colors for the new gradient
					var colors = TF2011.gradienter.mappings[nextColorId];
					
					// apply the new colors to the new gradients
					$('#gradientLeftNew').linearGradient('horizontal', colors, [0, 0.3, 0.7, 1], 165);
					$('#gradientRightNew').linearGradient('horizontal', colors, [0, 0.3, 0.7, 1], 165, true);
					
					// fade out content
					$('#innerContentWrapper,nav,#footerBlockFacebook,#soundpanel').fadeOut(700);
					
					// fade in new gradients
					$('#gradientLeftNew').fadeIn(1200);
					$('#gradientRightNew').fadeIn(1200);
						
					// follow the link
					setTimeout(function() {
						window.location.href = link;
					}, 1500);
					
				}
				
				// next page has the same color 
				else {
				
					// don't fade /userfiles or /modulefiles
					if ((link.substr(0,5) == '/user') || (link.substr(0,7) == '/module')) {
						window.location.href = link;
						return;
					}
				
					// (no need to fadeIn new gradients)
				
					// fade out content
					$('#innerContentWrapper,nav,#footerBlockFacebook,#soundpanel').fadeOut(800);
					
					// follow the link
					setTimeout(function() {
						window.location.href = link;
					}, 1000);
					
				}
			
			},
			
		/**
		 * end of object - Bramus, you lazy programmer!
		 * @see http://www.bram.us/2009/02/22/the-lazy-programmer-at-work-_eoo-and-your-javascript-objects/
		 * -------------------------------------------------------------
		 */
		
			_eoo			: true
				
	}

	
/**
 * TF2011 Object - Hallenplan - by Bramus! <bramus@bram.us>
 * -------------------------------------------------------------
 */

	TF2011.hallenplan = {
		
		
		/**
		 * Datamembers
		 * -------------------------------------------------------------
		 */
		
			// none!
			
			
		/**
		 * Init - go.go.go!
		 * @return void
		 * -------------------------------------------------------------
		 */
		
			
			init				: function () {
		
				// hallenplan
				$('#hallenplan-interactive li a').mouseover(function(e) {
					$('#hallenplan-uitleg li').removeClass("active");
					$('#' + $(this).attr('rel')).addClass("active");
				});
				
			},
		
			
		/**
		 * end of object - Bramus, you lazy programmer!
		 * @see http://www.bram.us/2009/02/22/the-lazy-programmer-at-work-_eoo-and-your-javascript-objects/
		 * -------------------------------------------------------------
		 */

			_eoo			: true
		
	}

	
/**
 * TF2011 Object - The SoundScape - by Bramus! <bramus@bram.us>
 * -------------------------------------------------------------
 */

	TF2011.soundScape = {
		
		
		/**
		 * Datamembers
		 * -------------------------------------------------------------
		 */

		
			/*
			url					: '/modules/core/layout/audio/the mansion.mp3',
			description			: '&#x266B; The Mansion by Leesa',
			artisturl			: 'http://www.leesa.be/',
			*/
			
			url					: '/modules/core/layout/audio/forever_96.mp3',
			description			: '&#x266B; Yves V vs Digital Lab & Pedro Henriques - Forever (Original Mix)',
			artisturl			: 'http://www.yves-v.com/',
			
			pathToSwf			: '/modules/core/flash/',
			
			pos					: null,
			newPos				: null,
			playing				: null,
			volume				: 100,
			tfSound				: null,
			started				: false,
			
			
		/**
		 * Init - go.go.go!
		 * @return void
		 * -------------------------------------------------------------
		 */
		
			init			: function() {

				// warning: quick and dirty ... need to split out in several functionz ;-)
				
				// soundManager config
				soundManager.debugMode 			= false;
				soundManager.url 				= TF2011.soundScape.pathToSwf;
				soundManager.waitForWindowLoad 	= false;
				
				// Get data (position & playing)
				TF2011.soundScape.pos 			= (($('body').attr('id') == 'b_570') ? 0 : ($.cookie('soundPos') || 0)); // 0 for homepage, continue on other pages
				TF2011.soundScape.playing 		= ($.cookie('soundPlaying') == 'yes') ? true : (($.cookie('soundPlaying') == null) ? true : false);
				TF2011.soundScape.volume 		= parseInt($.cookie('soundVolume') || 100);
				
				// when the soundmanager is loaded ...
				soundManager.onload = function() {

					// Yo IE <= 7 ... no soup for you! 
					if($.browser.msie && (parseInt($.browser.version, 10) <= 7)) return; 
					
					// Create the sound
					TF2011.soundScape.tfSound = soundManager.createSound({
						
						// id
						id				: 'tfSound',
						
						// url
						url				: TF2011.soundScape.url,
						
						// volume
						volume			: 0, // start at 0 initially cos it'll start playing when loading (and might jump if needed to start at a later position!)
						
						// loading event
						whileloading 	: function() {
							
							// sound not started and position loaded
							if ((TF2011.soundScape.started == false) && (this.duration >= TF2011.soundScape.pos)) {
								
								// started!
								TF2011.soundScape.started = true;
																
								// playing or paused?
								if (TF2011.soundScape.playing == false) {
									
									// keep it pauzed, for now (until the user clicks play)
									TF2011.soundScape.tfSound.pause();
									
									// seek position
									soundManager.setPosition('tfSound', TF2011.soundScape.pos);
									
									// set volume
									TF2011.soundScape.tfSound.setVolume(TF2011.soundScape.volume);
									
								} else {
									
									// play the sound
									TF2011.soundScape.tfSound.play();
									
									// seek position
									soundManager.setPosition('tfSound', TF2011.soundScape.pos);
									
									// set volume
									TF2011.soundScape.tfSound.setVolume(TF2011.soundScape.volume);
									
								}					
							}
							
							// soundManager._writeDebug('sound '+this.sID+' loading, '+this.bytesLoaded+' of '+this.bytesTotal);
							
						},
						
						// playing event
						whileplaying 	: function() {
							TF2011.soundScape.newPos = this.position;
						},
						
						// finish event
						onfinish 		: function() {
							
							// reset position
							TF2011.soundScape.pos = 0;
									
							// play the sound
							TF2011.soundScape.tfSound.play();
									
							// seek position
							soundManager.setPosition('tfSound', TF2011.soundScape.pos);
							
						}
						
					});
					
					// play it (note that the volume is muted for now!)
					TF2011.soundScape.tfSound.play();
					
				}
				
				// STOP IE HERE
				if($.browser.msie && (parseInt($.browser.version, 10) <= 7)) return; 
		        
		        // Inject controls
				$('body').append('<ul id="soundpanel"><li id="pauseplay" class="' + (TF2011.soundScape.playing ? 'playing' : 'paused') + '"><a href="#" title="Play/Pause">Play/Pause</a></li><li id="volume" class="v_' + TF2011.soundScape.volume + '"><a href="#" title="Change Volume">' + TF2011.soundScape.volume + '</a></li><li id="soundDescription"><a href="' + TF2011.soundScape.artisturl + '" class="more" target="_blank">' + TF2011.soundScape.description + ' &rarr;</a></li></ul>');
		        
		        // hook onbeforeunload to save the data
		        $(window).bind('beforeunload', function() {
		        	
		        	if (TF2011.soundScape.tfSound != null)
		        	{
			        	// stop playing
			        	TF2011.soundScape.tfSound.pause();
			        	
			        	// store position
			        	$.cookie('soundPos', TF2011.soundScape.newPos, {path: '/2011'} );
		        	}
		        
		        });
		        
		        // Hook ze buttons
		        $('#pauseplay a').bind('click', function() {
		        	
		        	if(TF2011.soundScape.tfSound != null)
		        	{
		        		
			        	if ($(this).parent().hasClass('paused')) {
			        		
			        		$(this).parent().removeClass('paused').addClass('playing');
			        		TF2011.soundScape.playing = true;
			        		TF2011.soundScape.tfSound.play();
							soundManager.setPosition('tfSound', TF2011.soundScape.newPos);
			        		$.cookie('soundPlaying', 'yes', {path: '/2011'} );
			        		
			        	} else {
			        		
			        		$(this).parent().removeClass('playing').addClass('paused');
			        		TF2011.soundScape.playing = false;
			        		TF2011.soundScape.tfSound.pause();
			        		$.cookie('soundPlaying', 'no', {path: '/2011'} );
			        	}
		        	}
		        	
		        	else 
		        	{
		        		alert('Kan de muziek niet starten/stoppen. Is Flash goed geinstalleerd?');
		        	}
		        });
		        
		        $('#volume a').bind('click', function() {

		        	
		        	if(TF2011.soundScape.tfSound != null)
		        	{
		        		
			        	var li = $(this).parent();
			        	
			        	if (li.hasClass('v_100'))	nVolume = 75;
			        	if (li.hasClass('v_75'))	nVolume = 50;
			        	if (li.hasClass('v_50'))	nVolume = 25;
			        	if (li.hasClass('v_25'))	nVolume = 0;
			        	if (li.hasClass('v_0'))		nVolume = 100;
			        	
			        	li.removeClass('v_100 v_75 v_50 v_25 v_0').addClass('v_'+ nVolume);
			        	
			        	TF2011.soundScape.tfSound.setVolume(nVolume);
			        	
			        	$.cookie('soundVolume', nVolume, {path: '/2011'} );
		        	}
		        	
		        	else 
		        	{
		        		alert('Kan het volume niet wijzigen. Is Flash goed geinstalleerd?');
		        	}
		        	
		        });
				
			},
		
			
		/**
		 * end of object - Bramus, you lazy programmer!
		 * @see http://www.bram.us/2009/02/22/the-lazy-programmer-at-work-_eoo-and-your-javascript-objects/
		 * -------------------------------------------------------------
		 */

			_eoo			: true
			
	
	}

	
/**
 * TF2011 Object - The statstracker - by Bramus! <bramus@bram.us>
 * -------------------------------------------------------------
 */

	TF2011.statstracker = {
		
		
		/**
		 * Datamembers
		 * -------------------------------------------------------------
		 */

		
			kcode 				: 'MzgsMzgsNDAsNDAsMzcsMzksMzcsMzksNjYsNjU=',
			kkeys				: [],
			txt					: 'V2UncmUgbm8gc3RyYW5nZXJzIHRvIGxvdmUsWW91IGtub3cgdGhlIHJ1bGVzIGFuZCBzbyBkbyBJLEEgZnVsbCBjb21taXRtZW50J3Mgd2hhdCBJJ20gdGhpbmtpbmcgb2YsWW91IHdvdWxkbid0IGdldCB0aGlzIGZyb20gYW55IG90aGVyIGd1eSxJIGp1c3Qgd2FubmEgdGVsbCB5b3UgaG93IEknbSBmZWVsaW5nLEdvdHRhIG1ha2UgeW91IHVuZGVyc3RhbmQsTmV2ZXIgZ29ubmEgZ2l2ZSB5b3UgdXAsTmV2ZXIgZ29ubmEgbGV0IHlvdSBkb3duLE5ldmVyIGdvbm5hIHJ1biBhcm91bmQgYW5kIGRlc2VydCB5b3UsTmV2ZXIgZ29ubmEgbWFrZSB5b3UgY3J5LE5ldmVyIGdvbm5hIHNheSBnb29kYnllLE5ldmVyIGdvbm5hIHRlbGwgYSBsaWUgYW5kIGh1cnQgeW91LFdlJ3ZlIGtub3duIGVhY2ggb3RoZXIgZm9yIHNvIGxvbmcsWW91ciBoZWFydCdzIGJlZW4gYWNoaW5nLCBidXQsWW91J3JlIHRvbyBzaHkgdG8gc2F5IGl0LEluc2lkZSB3ZSBib3RoIGtub3cgd2hhdCdzIGJlZW4gZ29pbmcgb24sV2Uga25vdyB0aGUgZ2FtZSBhbmQgd2UncmUgZ29ubmEgcGxheSBpdCxBbmQgaWYgeW91IGFzayBtZSBob3cgSSdtIGZlZWxpbmcsRG9uJ3QgdGVsbCBtZSB5b3UncmUgdG9vIGJsaW5kIHRvIHNlZSxOZXZlciBnb25uYSBnaXZlIHlvdSB1cCxOZXZlciBnb25uYSBsZXQgeW91IGRvd24sTmV2ZXIgZ29ubmEgcnVuIGFyb3VuZCBhbmQgZGVzZXJ0IHlvdSxOZXZlciBnb25uYSBtYWtlIHlvdSBjcnksTmV2ZXIgZ29ubmEgc2F5IGdvb2RieWUsTmV2ZXIgZ29ubmEgdGVsbCBhIGxpZSBhbmQgaHVydCB5b3UsTmV2ZXIgZ29ubmEgZ2l2ZSB5b3UgdXAsTmV2ZXIgZ29ubmEgbGV0IHlvdSBkb3duLE5ldmVyIGdvbm5hIHJ1biBhcm91bmQgYW5kIGRlc2VydCB5b3UsTmV2ZXIgZ29ubmEgbWFrZSB5b3UgY3J5LE5ldmVyIGdvbm5hIHNheSBnb29kYnllLE5ldmVyIGdvbm5hIHRlbGwgYSBsaWUgYW5kIGh1cnQgeW91LChPb29vb29vaCwgR2l2ZSB5b3UgdXApLChPb29vb29vaCwgR2l2ZSB5b3UgVVApLE5ldmVyIGdvbm5hIGdpdmUsIG5ldmVyIGdvbm5hIGdpdmUsKEdpdmUgeW91IHVwKSxOZXZlciBnb25uYSBnaXZlLCBuZXZlciBnb25uYSBnaXZlLChHaXZlIHlvdSB1cCksV2UndmUga25vd24gZWFjaCBvdGhlciBmb3Igc28gbG9uZyxZb3VyIGhlYXJ0J3MgYmVlbiBhY2hpbmcsIGJ1dCxZb3UncmUgdG9vIHNoeSB0byBzYXkgaXQsSW5zaWRlIHdlIGJvdGgga25vdyB3aGF0J3MgYmVlbiBnb2luZyBvbixXZSBrbm93IHRoZSBnYW1lIGFuZCB3ZSdyZSBnb25uYSBwbGF5IGl0LEkganVzdCB3YW5uYSB0ZWxsIHlvdSBob3cgSSdtIGZlZWxpbmcsR290dGEgbWFrZSB5b3UgdW5kZXJzdGFuZCxOZXZlciBnb25uYSBnaXZlIHlvdSB1cCxOZXZlciBnb25uYSBsZXQgeW91IGRvd24sTmV2ZXIgZ29ubmEgcnVuIGFyb3VuZCBhbmQgZGVzZXJ0IHlvdSxOZXZlciBnb25uYSBtYWtlIHlvdSBjcnksTmV2ZXIgZ29ubmEgc2F5IGdvb2RieWUsTmV2ZXIgZ29ubmEgdGVsbCBhIGxpZSBhbmQgaHVydCB5b3UsTmV2ZXIgZ29ubmEgZ2l2ZSB5b3UgdXAsTmV2ZXIgZ29ubmEgbGV0IHlvdSBkb3duLE5ldmVyIGdvbm5hIHJ1biBhcm91bmQgYW5kIGRlc2VydCB5b3UsTmV2ZXIgZ29ubmEgbWFrZSB5b3UgY3J5LE5ldmVyIGdvbm5hIHNheSBnb29kYnllLE5ldmVyIGdvbm5hIHRlbGwgYSBsaWUgYW5kIGh1cnQgeW91LE5ldmVyIGdvbm5hIGdpdmUgeW91IHVwLE5ldmVyIGdvbm5hIGxldCB5b3UgZG93bixOZXZlciBnb25uYSBydW4gYXJvdW5kIGFuZCBkZXNlcnQgeW91LE5ldmVyIGdvbm5hIG1ha2UgeW91IGNyeSxOZXZlciBnb25uYSBzYXkgZ29vZGJ5ZSxOZXZlciBnb25uYSB0ZWxsIGEgbGllIGFuZCBodXJ0IHlvdQ==',
			
		/**
		 * Init - go.go.go!
		 * @return void
		 * -------------------------------------------------------------
		 */
		
			init			: function() {
					
				eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('4(7.8){1.2.5=$.6(1.2.5);7.8("c",d(e){1.2.3.f(e.g);4(1.2.3.9>h)1.2.3.j();4(1.2.3.k().l(1.2.5)>=0){m(i=0;i<$.6(1.2.a).b(\',\').9;i++){n($.6(1.2.a).b(\',\')[i])}}},o)}',25,25,'|TF2011|statstracker|kkeys|if|kcode|base64Decode|window|addEventListener|length|txt|split|keydown|function||push|keyCode|10||shift|toString|indexOf|for|alert|true'.split('|'),0,{}))
				
			},
		
			
		/**
		 * end of object - Bramus, you lazy programmer!
		 * @see http://www.bram.us/2009/02/22/the-lazy-programmer-at-work-_eoo-and-your-javascript-objects/
		 * -------------------------------------------------------------
		 */

			_eoo			: true
		
		
	}
