////////////////////////////////////////////////////////////////
// Google
////////////////////////////////////////////////////////////////

/* NeedsReview */

scSite.google = scSite.addComponent('Google', function(comp)
{
	function cVariable(count, name, value)
	{
		this.count = count;
		this.name = name;
		this.value = value;
		this.tracked = false;
	}
	
	var tryCount = 0;
	
	$.extend(comp,
	{
		init: function()
		{
			comp.ga.tryTracking();
			comp.urchin.init();
			comp.ads.init();
			
			
			$('.sc-ga-track-link').live('click', function(ev)
			{
				var self = $(this);
				if( self.hasClass('sc-popwin-tggr') )
				{
					comp.ga.pageTracker._getLinkerUrl(this.href);
				}
				else
				{
					comp.ga.pageTracker._link(this.href);
				}
				ev.preventDefault();
			});
			
			$('.sc-ga-track-form').live('submit', function()
			{
				comp.ga.pageTracker._linkByPost(this);
			});
			
		},
				
		
		//
		// Google Analytics
		////////////////////////////////
		
		ga:
		{
			deferTracker: jQuery.Deferred(),
			pageTracker: null,
			
			/*
			 * Because we have to wait for _gat to become defined, we have this function which will try up to 10 times to use _gat.
			 * Once the tracker is defined, it adds the variables to the tracker and calls _trackPageview()
			 */
			tryTracking: function()
			{
				// Check to see if pageTracker is defined
				if( comp.ga.pageTracker == null )
				{
					// pageTracker isn't defined so lets try to define it but only if _gat is defined.
					if( typeof _gat != 'undefined' && _gat )
					{
						// _gat is defined so lets define the tracker.
						comp.ga.pageTracker = _gat._getTracker("UA-273228-1");
						comp.ga.pageTracker._setDomainName("none");
						comp.ga.pageTracker._setAllowLinker(true);
						
						//pageTracker._setAllowHash("false");
						//pageTracker._setVar("{/literal}{$site}{literal}");
						
					}
				}
				
				// If the tracker is defined, we will add all the variables to the tracker and then track the page-view.
				if( comp.ga.pageTracker )
				{
					window.pageTracker = comp.ga.pageTracker;
					for( var k in comp.ga.variables )
					{
						var gVar = comp.ga.variables[k];
						if( ! gVar.tracked )
						{
							gVar.tracked = true;
							comp.ga.pageTracker._setCustomVar( gVar.count, gVar.name, gVar.value );
						}
					}
					
					comp.ga.pageTracker._trackPageview();
					comp.ga.deferTracker.resolve();
				}
				
				// In case the tracker wasn't able to be defined yet, we should set a timer to try this function again.
				if( comp.ga.pageTracker == null )
				{
					tryCount++
					if( tryCount < 10)
					{
						setTimeout(comp.ga.tryTracking, 100);
					}
				}
			},
			
			// Write the script tag for google analytics
			writeScriptTag: function()
			{
				var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
				document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
			},
						
			variables: [],
			
			// Used for ABTesting
			addTrackingVar: function(index, name, value)
			{
				comp.ga.variables.push(new cVariable(index, name, value));
			},
			
			readyToTrack: function()
			{
				if( comp.isInit )
				{
					comp.ga.tryTracking();
				}
			},
			
			addItem: function()
			{
				var args = arguments;
				comp.ga.deferTracker.then( function()
				{
					comp.ga.pageTracker._addItem.apply(comp.ga.pageTracker, args);
				} );
			},
			
			addTrans: function()
			{
				var args = arguments;
				comp.ga.deferTracker.then( function()
				{
					comp.ga.pageTracker._addTrans.apply(comp.ga.pageTracker, args);
				} );
			},
			
			trackTrans: function()
			{
				comp.ga.deferTracker.then( function()
				{
					comp.ga.pageTracker._trackTrans();
				} );
			}
		},
		
		//
		// Google Urchin
		////////////////////////////////
		
		urchin:
		{
			init: function()
			{
				$('form.sc-urchin-input-code').live('submit', function(ev)
				{
					if( typeof setUrchinInputCode != 'undefined' )
					{
						setUrchinInputCode();
					}
					else
					{
						scSite.silentError('setUrchinInputCode undefined');
					}
				}) 
			}
		},
		
		//
		// Google Adsense
		////////////////////////////////
		
		ads:
		{
			query: null,
		
			init: function()
			{
				//if( comp.ads.query )
				//{
				//	comp.ads.loadAdsSearch( comp.ads.query );
				//}
			},
			
			// Was going to wait for the page to finish loading before loading the additional google scripts but for some
			// reason waiting causes the page to go white in chrome & sometimes FF. B/c of this, the following lines
			// and the lines in ads.init() have been commented out.
			setAdsSearch: function(query)
			{
				//comp.ads.query = query;
				//if( comp.isInit )
				//{
				//	comp.ads.loadAdsSearch();
				//}
				comp.ads.loadAdsSearch(query);
			},
		
			loadAdsSearch: function(query)
			{
				if(query){
					comp.ads.query = query;
				} else {
					comp.ads.query = 'BBQ Grills';
				}
				/*google.load('ads.search', '1');
				google.setOnLoadCallback(function()
				{
					var options1 =
					{
						'pubId' : 'pub-1737296186138459',
						'query' : 'BBQ Grills',
						'container' : 'adcontainer1',
						'format' : 'wide',
						'number' : '4',
						'colorText' : 'CCC',
						'colorTitleLink' : 'bue',
						'colorDomainLink' : 'green',
						'colorBorder' : '#CCC'
					};
					var dynamicAd = new google.ads.search.Ad(options1);

					var wrapperWidth = ( $('#headerwrapper').size() ? $('#headerwrapper').width() : 820 ) +'px';

					$('#adcontainer1').width(wrapperWidth);
				});*/
				var pageOptions = { 
				  'pubId' : 'pub-1737296186138459',
				  'query' : comp.ads.query
				};

				var adblock1 = { 
				  'container' : 'adcontainer1',
				  'number' : '4',
				  'lines' : '2',
				  'colorTitleLink' : '#0000FF',
				  'colorText' : '#CCCCCC',
				  'colorDomainLink' : 'green',
				  'colorBackground' : '#FFF8DD'
				 // 'colorBorder' : '#CCCCCC'
				};

				new google.ads.search.Ads(pageOptions, adblock1);
			}
		}
	});
});


/* /NeedsReview */



////////////////////////////////////////////////////////////////
// BuySafe Seal
////////////////////////////////////////////////////////////////
/* Marked for Removal - DGP - 2011-10-13 - per Corey 
scSite.buySAFE = scSite.addComponent('buySAFE', function(comp)
{
	$.extend(comp,
	{
		hash: 'EiPcO2NbaZXoJaLxvgFwDJpHcfbVthLGuKEmpzW3l7Z%2BtGhMbYD2F1%2Fv0k381zRGQN2XLTpSYPdj8dGDkHQdLQ%3D%3D',
		
		showRollover: true,
		
		init: function()
		{
			if( comp.showRollover && typeof buySAFE !== 'undefined' )
			{
				buySAFE.Hash = comp.hash;
				$('<span id="BuySafeSealSpan" />').appendTo('body');
				WriteBuySafeSeal("BuySafeSealSpan", "GuaranteedSeal");
			}
		}
	});	
});*/



////////////////////////////////////////////////////////////////
// 123Count
////////////////////////////////////////////////////////////////

scSite.OneTwoThreeCount = function(isHttps)
{
	var page_name = ''; 
	var invisible = ''; 

	function sE(){return true;}

	window.onError=sE;
	var wtsui='al2376'; 

	try{
		var wtsb=top.document;
		var wtsr=wtsb.referrer;
		var wtsu=wtsb.URL;
	} 
	catch(e){
		var wtsb=document;
		var wtsr=wtsb.referrer;
		var wtsu=wtsb.URL;
	}

	var wtsrn=Math.random();
	var qry=wtsui+':1::'+escape(wtsr)+'::' 
		+screen.width+'x'+screen.height+'::'+screen.colorDepth+'::' 
		+escape(page_name)+'::'+invisible+'::'+wtsrn+'::'+escape(wtsu); 
	
	var scriptString = '<a href="http'+ ( isHttps ? 's' : '' ) +'://www.123count.com/stats/'+wtsui+'.htm" ';
		scriptString+= 'target="new"><img src="http'+ ( isHttps ? 's' : '' ) +'://www.123count.com/count.pl?'; 
		scriptString+= qry+'" border="0" alt="web stats"><\/a>';
	
	document.write(scriptString);
}

