$(document).ready(function() {	
		
	trackingObject = false;
	
	ClickTracker.init();
	
	if( typeof( index_version ) !== 'undefined' )
	{
		var $link = $("a[href^='/review/']"); // internal links that should be tracked

		$link.click(function(e)
		{
			trackMboxClick(this,'-index');
		});
	}
});

function trackMboxClick( obj, tracker )
{
	href = $(obj).attr('href');
	
	if( !href )
	{
		return false;
	}
		
	if( href.indexOf( 'mbox12e.offermatica.com/m2/function/ubox' ) != -1 )
	{
		return true;
	}
		
	href = href.substr( href.indexOf( obj.pathname ) );
		
	if( href.substr( 0, 1 ) != '/' )
	{
		href = '/' + href;
	}

	var mboxType = 'review'; 
	var regEx = /(goto)\/(.*)/i;

	if( regEx.exec( href ) != null )
	{
		var mboxType = 'lead';
	}
	
	var sessID = mboxFactoryDefault.getSessionId().getId();
	
	href = URLEncode( href );
	
	href = 'http://mbox12e.offermatica.com/m2/function/ubox/page?mbox=tracker-webhostingsearch' + tracker + '-' + mboxType + '&mboxSession=' +sessID +'&mboxDefault=http://www.webhostingsearch.com' + href;
	
	$(obj).attr('href', href );

}

function trackScEvent( sc ) { 
	var s = sc;
	var tc = s.events && s.events.indexOf('purchase') != -1;
	var T = 'SiteCatalyst: ' + (tc ? 'purchase' : 'event');
	var pb = document.createElement('DIV');
	Q = mboxFactoryDefault.create(T, new Array(), pb );
	Q.setFetcher( new mboxAjaxScPluginFetcher('function', s ) ); 
	Q.load();
}

var ClickTracker =
{
	product_name:'',
	
	init:function()
	{
		var $links = $("a[href*='/goto/'], a[href*='%2Fgoto%2F']"); // Out links that should be tracked
		
		$links.unbind('click');
		
		$links.click(function(e)
		{
			trackingObject = false;
			
			var $this = $(this);
			
			var title = $this.attr('title');
			
			var out_link = $this.attr('href');
			
			var coupon_code = ClickTracker.get_coupon_code(title);
			
			if( typeof( index_version ) !== 'undefined' && $this.parents('#offers, #toplists').size())
			{
				trackingObject = 'index-top-click';
			}
			
			if( typeof( index_version ) !== 'undefined' && $this.parents('#toplistan').size())
			{
				trackingObject = 'index-bot-click';
			}
			

			if (coupon_code)
			{				
				InfoBubble.init_bubble_review($this, e, coupon_code,out_link); // Call init bubble method from InfoBubble obj
			}
			else // If no coupon code was found. Just track click and open link in new window
			{
				ClickTracker.set_product_name(title);
				
				ClickTracker.track($this);	// Track it
				
				ClickTracker.pop_up(out_link); // Open new window
			}
			
			return false;
		});
	},
	
	set_product_name:function(title)
	{
		var title_splitted = title.split(' | '); // Split title on pipe
		
		var product_name = title_splitted[0]; // // Get product name;
		
		ClickTracker.product_name = title_splitted[0]; // Put in obj property	
	},
	
	get_coupon_code:function(title)
	{
		var coupon_str_pos = title.toLowerCase().indexOf('coupon'); // Save str position of start of coupon. If not found it's -1
		
		if (coupon_str_pos == -1) // If coupon code was found
		{
			return false;
		}
		
		var coupon_str = title.substr(coupon_str_pos); // Get coupon string by coupon_str_pos
			
		var coupon_str_splitted = coupon_str.split(':'); // Split coupon string on : (last part is the actual code)
			
		var coupon_code = coupon_str_splitted[1]; // The coupon code
		
		return coupon_code;
	},
	
	pop_up:function(out_link)
	{
		window.open(out_link);
	},
	
	track:function(obj)
	{
		var $obj = $(obj);
		
		var type = $obj.attr('rel');
		
		if (type == "")
		{
			type = 1;
		}
        else if( type == 6 )
        {
            return true;
        }
        		
		var product = ClickTracker.product_name;
		
		var tt = new Array();
		tt[0] = 'Other Site Click';
		tt[1] = 'Hosting Partner Click';
		tt[2] = 'Perfect Match';
		tt[3] = 'Advanced Search';
		tt[4] = 'Domain Search';
		tt[5] = 'Web Design Click';
		tt[7] = 'Tutorial Click';
	    
		var score = "1.00";

		var s=s_gi(s_account);
		
		if( type < 5 ) // This tracks all hosting partner clicks
		{
			s.pageName = '/landing-page/' + product;
			setTimeout("s.trackDownloadLinks="+s.trackDownloadLinks,600);
			s.trackDownloadLinks=false;

			s.linkTrackVars="eVar1,eVar2,events,products";
			setTimeout("s.trackExternalLinks="+s.trackExternalLinks,600);
			s.trackExternalLinks=false;

			/* Keeps track of mbox_version for one day */
			if( pageNameAdded )
			{
				s.prop7 = s.getAndPersistValue(null,'mbox_prop',1) + s.pageName;
			}

			s.linkTrackVars="eVar1,eVar2,events,products";
			s.linkTrackEvents="purchase,event1";     
			s.eVar1 = s_level;
			s.eVar2 = tt[type];
			s.events="purchase,event1";
			s.products="" + tt[type] + ";" + product + ";1;" + score;
			
			void(s.t());

			/* Track mbox click */
			if ( mboxFactoryDefault.getCookieManager().getCookie('PC') != null )
			{	
				currentValue = s.prop1;
				if( trackingObject ){
					s.prop1 = "Conversion: whs-" + trackingObject;
				}
				trackScEvent( s );
				s.prop1 = currentValue;
			}


		}
		else if( type == 7 )
		{
		    setTimeout("s.trackDownloadLinks="+s.trackDownloadLinks,600);
            s.trackDownloadLinks=false;

            setTimeout("s.trackExternalLinks="+s.trackExternalLinks,600);
            s.trackExternalLinks=false;

            s.linkTrackVars="events,products";

            s.linkTrackEvents="event9";
            s.events="event9"
            s.products="" + tt[type] + ";" + product;   
            s.tl(obj,'e',product);
		}
		else if( type == 5 )	//This tracks Web Design clicks 
		{
			setTimeout("s.trackDownloadLinks="+s.trackDownloadLinks,600);
			s.trackDownloadLinks=false;

			setTimeout("s.trackExternalLinks="+s.trackExternalLinks,600);
			s.trackExternalLinks=false;

			s.linkTrackVars="events,products";

			s.linkTrackEvents="event7";
			s.events="event7"
			s.products="" + tt[type] + ";" + product;	
			s.tl(obj,'e',product);
		}
	}
}