
/************************************************************************/
/* RankQuest: Site AdOptimizer                                          */
/* ================================                                     */
/*                                                                      */
/* Copyright (c) 2007 RankQuest. All Rights Reserved.                   */
/* logclicks.js                                                         */
/*                                                                      */
/* http://www.rankquest.com                                             */
/************************************************************************/

var version="1.0";
 
function getAdType (referrer,pageurl) 
{ 
	var adT="N.A"; 
 
	if(pageurl.indexOf('gclid')!=-1 && (referrer.indexOf('googlesyndication')!=-1 || referrer.indexOf('pagead.l.google') != -1 || referrer.indexOf('pagead2.google.') != -1 )) 
	{ 
		adT="Content"; 
	} 
	else if(referrer.indexOf('google.')!=-1 && pageurl.indexOf('gclid') !=-1) 
	{ 
		adT="Search"; 
	} 
 
	return adT; 
} 
 
function getURL(referrer) 
{ 
	var adurl="N.A"; 
	var query = referrer.substr(referrer.indexOf('?')+1); 
	var parts = query.split("&"); 
	for (var i=0;i<parts.length;i++) 
	{ 
		var position = parts[i].indexOf('='); 
		if (position >= 0) 
		{ 
 
			var argname = parts[i].substring(0,position); 
			var value = parts[i].substring(position+1); 
			if(argname == "url") 
			{ 
				adurl=value; 
				return adurl; 
			} 
		} 
 
	}  
	return "N.A"; 
} 
 
function getAdNetwork(referrer,pageurl) 
{ 
 
	if(referrer.indexOf('google') !=-1 || referrer.indexOf('googlesyndication') !=-1) 
	{ 
		return "go"; 
	} 
} 
 
function getAdNetworkStarting(referrer) 
{ 
	var query = referrer.substring(0,referrer.indexOf('?')); 
	return query; 
} 
 
function getGACC(referrer) 
{ 
	var query = referrer.substr(referrer.indexOf('?')+1); 
	var parts = query.split("&"); 
	for (var i=0;i<parts.length;i++) 
	{ 
		var position = parts[i].indexOf('='); 
		if (position >= 0) 
		{ 
			var argname = parts[i].substring(0,position); 
			var value = parts[i].substring(position+1); 
			if(argname == "client") 
			{ 
				return value; 
			} 
		} 
 
	}  
	return "N.A"; 
 
} 
 
function TrackClicks(campaign)    
{   
 
	var pageurl=""+document.location;   
	var referer = ""+document.referrer; 
 
	var adNetwork="N.A"; 
	var adType="N.A"; 
	var gacc="N.A"; 
	var adurl="N.A"; 
	var an="N.A"; 
	var newref="N.A"; 

	var url="http://www.siteadoptimizer.com/jsp/trackclicks/registerclicks.jsp?";
    
    	url=url+"campaignid="+campaign+"&pageurl="+escape(pageurl.substring(0,250)); 
 	adNetwork=getAdNetwork(referer); 
	if(adNetwork=="go") 
	{ 
		adType=getAdType(referer,pageurl); 
		if(adType=="Search") 
		{ 
			referer=escape(referer.substring(0, 250)); 
			url=url+"&referer="+referer; 
		}     
		else if(adType=="Content") 
		{ 
			gacc=getGACC(referer); 
			adurl=getURL(referer);  
			an=getAdNetworkStarting(referer); 
			adurl=adurl.substring(0,250); 
 
			newref=an+"?client="+gacc+"&url="+adurl; 
			newref=escape(newref); 
			url=url+"&referer="+newref;       
		}
    
	        url=url+"&ver="+version; 
		document.write("<iframe frameborder='0' name='Hiddenframe' border='0' src='"+url+"' width='0' height='0'>"); 
		document.write("</iframe>");                       
	} 
}   
 
var query = window.location.search.substring(1);   
var argparts = query.split("&");   
for (var i=0;i<argparts.length;i++)   
{   
	var argpos = argparts[i].indexOf('=');   
	if (argpos >= 0)   
	{   
		var argname = argparts[i].substring(0,argpos);   
		var value = argparts[i].substring(argpos+1);   
		if(argname == "soptid")   
		{   
			TrackClicks(value);   
			break;   
		}   
	}   
}   
 

