var referrerArray;
var foundSearchEngine;
var getKeyVars;
var keyCounter;
var foundSearch;
var query;
var queryArray;
var dataReturned;
var searchKeywords;
var referrer;
var body = document.getElementsByTagName("body")[0];
var swf;

var preT_srvr = "pretarget.com/pt";

var preT_lsoUtilLoc = "http://"+preT_srvr+"/js/pretarget.swf";

var preT_mkgId = "";

var preT_referrer;

var preT_engine = 1;

var preT_resultType = 'organic';

var preT_data_owner = 'data_owner';

var preT_campaign = 'campaign';

var preT_publisher = 'publisher';

var preT_adGroup = 'ad_group';

var preT_offrMssg = 'off_mssg';

var preT_cost = '100';

var preT_custom01 = 'custom01';

var preT_visitorId;


function FinalReferrer( theReferrer )
{
	if (theReferrer.indexOf('-')>=0)
	{
		var theReferrerArray;
		theReferrerArray = theReferrer.split('-');
		var referrer = theReferrerArray[0].replace(/^\s+/g,'').replace(/\s+$/g,'');
		for (var minus=1; minus<theReferrerArray.length; minus++)
		{
			if (theReferrerArray[minus][0]=='+')
			{
				do 
				{
					theReferrerArray[minus] = theReferrerArray[minus].substring(1, theReferrerArray[minus].length);
				} 
				while( theReferrerArray[minus][0] == '+' );
			}

			if (theReferrerArray[minus][0] == '%' && theReferrerArray[minus][1] == '5' && theReferrerArray[minus][2] == 'B')
			{
				theReferrerArray[minus] = theReferrerArray[minus].substring(theReferrerArray[minus].indexOf('%5D')+3, theReferrerArray[minus].length);
			}
			else
			{
				if (theReferrerArray[minus][0] == '%' && theReferrerArray[minus][1] == '2' && theReferrerArray[minus][2] == '2')
				{
					theReferrerArray[minus] = theReferrerArray[minus].substring(3, theReferrerArray[minus].length);
					theReferrerArray[minus] = theReferrerArray[minus].substring(theReferrerArray[minus].indexOf('%22')+3, theReferrerArray[minus].length);
				}
				else
				{
					var string_end;
					if (theReferrerArray[minus].indexOf('+')>=0)
					{
						string_end = theReferrerArray[minus].indexOf('+');
					}
					else
					{
						string_end = theReferrerArray[minus].length;
					}
					theReferrerArray[minus] = theReferrerArray[minus].substring(string_end, theReferrerArray[minus].length);
				}
			}
			referrer += " " + theReferrerArray[minus].replace(/^\s+/g,'').replace(/\s+$/g,'');
		}
	}
	else
	{
		referrer = theReferrer;
	}
	return referrer;
}


function preT_GetReferrer()
{
	preT_referrer = document.referrer.toLowerCase();
		
	if (preT_referrer)
	{
		referrerArray = preT_referrer.split("?");

		foundSearchEngine = referrerArray[0].indexOf("google");
		
		if (foundSearchEngine == -1)
		{
			foundSearchEngine = referrerArray[0].indexOf("yahoo");
			
			if (foundSearchEngine == -1)
			{
				foundSearchEngine = referrerArray[0].indexOf("bing");
				
				if (foundSearchEngine == -1)
				{
					preT_engine = 0;
				}
				else
				{					
					getKeyVars = referrerArray[1].split("&");
					
					for ( keyCounter = 0; keyCounter < getKeyVars.length; keyCounter++)
					{
						if( getKeyVars[keyCounter][0] == 'q' && getKeyVars[keyCounter][1] == '=' )
						{
							referrer = getKeyVars[keyCounter].replace("q=", " ");														
						}
					}
				}
			}
			else
			{
				getKeyVars = referrerArray[1].split("&");
				
				for ( keyCounter = 0; keyCounter < getKeyVars.length; keyCounter++ )
				{
					if( getKeyVars[keyCounter][0] == 'p' && getKeyVars[keyCounter][1] == '=' )
					{
						referrer = getKeyVars[keyCounter].replace("p=", " ");
						
					}
				}
			}
		}
		else
		{			
			getKeyVars = referrerArray[1].split("&");
			
			for ( keyCounter = 0; keyCounter < getKeyVars.length; keyCounter++)
			{
				if(getKeyVars[keyCounter][0] == 'q' && getKeyVars[keyCounter][1] == '=')
				{
					referrer = getKeyVars[keyCounter].replace("q=", " ");
				}
			}
		}
		do 
		{
			referrerArray[0] = referrerArray[0].replace(';','');	
		} 
		while( referrerArray[0].indexOf(';') >= 0 );
		if (referrer)
		{
			referrer = FinalReferrer(referrer);
		}
		dataReturned = referrerArray[0] + ";" + referrer;
		
	}
	else
	{
		dataReturned = "";
	}
	return dataReturned;
}


function preT_CreateCookie( theVisitorId ) 
{
	document.cookie = "pretarget=" + theVisitorId + "; path=/";
}


function preT_ReadCookie( theName ) 
{	
	var nameEQ = theName + "=";
	var tmpCookieDataList = document.cookie.split(';');
	var cookieData;
	
	for( var i = 0; i < tmpCookieDataList.length; i++ ) 
	{
		cookieData = tmpCookieDataList[i];
		
		while ( cookieData.charAt(0) == ' ' )
		{
			cookieData = cookieData.substring(1, cookieData.length);
		}
		
		if ( cookieData.indexOf(nameEQ) == 0 ) 
		{
				return cookieData.substring(nameEQ.length, cookieData.length);
		}
	}
	return null;
}


function preT_3partyTags( the3PartyTag )
{
	var script = document.createElement('script');
	script.type = "text/javascript";
	if (null == script.canHaveChildren || script.canHaveChildren) 
	{
		script.appendChild(document.createTextNode(the3PartyTag));
	} 
	else
	{
		script.text = the3PartyTag;
	} 
	document.body.appendChild(script); 
}


function preT_ext3partyTags( the3ExtPartyTag )
{
	var data = the3ExtPartyTag.split("/%");
	for (var i=0; i<data.length;i++)
	{
		var test = data[i].split("/&");
		if (test[1])
		{
			var script = document.createElement('script');
			script.type = "text/javascript";
			if (null == script.canHaveChildren || script.canHaveChildren) 
			{
				script.appendChild(document.createTextNode(test[1]));
			} 
			else
			{
				script.text = test[1];
			}
			document.body.appendChild(script);
		}
		script = document.createElement('script');
		script.type = 'text/javascript';
		script.src = test[0];
		document.body.appendChild(script);
	}
}


function preT_SetVisitorId( theVisitorId )
{
	preT_CreateCookie(theVisitorId);
}


function preT_CreateSwfObject()
{
	var div = document.createElement('div');
	div.setAttribute('id','pretargetdiv');
	document.body.appendChild(div);
	document.getElementById('pretargetdiv').innerHTML =
			'<object width="1" height="1" type="application/x-shockwave-flash" data="'+ preT_lsoUtilLoc +'" id="pretarget" name="pretarget"> '+
				'<param name="movie" value="'+ preT_lsoUtilLoc +'"/>'+
				'<param name="allowScriptAccess" value="always" />'+
					'<embed src="'+preT_lsoUtilLoc+'" autostart="true" width="1" height="1" wmode="transparent" allowScriptAccess="always"></embed>'+					
			'</object>';	
}

function preT_SetAuth()
{
	swf.GetAuth(preT_dok, preT_srvr, window.location.host);
}

function preT_SetAction()
{
	swf.GetAction("CreateCookieLso");
}

function preT_CookieLsoInfo()
{
	var cookieData = preT_ReadCookie('pretarget');
	swf.ReadCookieLso(cookieData);
}

function preT_OptQuestion()
{
	var div = document.createElement('div');
	var button = document.createElement('input');
	var checkbox = document.createElement('input');
	var textup = document.createTextNode(preT_optin_msg);
	var br = document.createElement('br');
	var br2 = document.createElement('br');
	var text = document.createTextNode("Opt In ");
	div.setAttribute('id','messagediv');
	div.setAttribute("style","top:0px;left:500px;position:fixed; background-color: #ccc; padding: 5px");
	button.setAttribute('type','button');
	button.setAttribute('onclick','preT_OptQuestionRemove()');
	button.setAttribute('value','Save Selection');
	checkbox.setAttribute('type','checkbox');
	checkbox.setAttribute('value','1');
	checkbox.setAttribute('id','optvalue');
	div.appendChild(textup);
	div.appendChild(br);
	div.appendChild(br2);
	div.appendChild(checkbox);
	div.appendChild(text);
	div.appendChild(button);
	document.body.appendChild(div);
}

function preT_OptQuestionRemove()
{
	swf.GetOptQuestion(document.getElementById('optvalue').checked);
	var child = document.getElementById('messagediv');
	child.parentNode.removeChild(child); 
	
}

function preT_SetDefaultOpt()
{
	swf.GetDefaultOpt(preT_OptIn);
}

function preT_SaveData()
{
	var data;
	var dataArray;
	data = preT_GetReferrer();
	dataArray = data.split(";");
	swf.GetSaveData(preT_ReadCookie('pretarget'), dataArray[0], dataArray[1],preT_engine, preT_data_owner, preT_campaign, preT_publisher, preT_adGroup, preT_offrMssg, preT_cost, preT_custom01);
}

function preT_ToggleOptin( theValue )
{
	if (theValue == 0 || theValue == 1)
	{
		swf.SetOptValue( theValue );
	}
}

function preT_Init( )
{
	var visitorData;
	var cookieData;
 			
	cookieData = preT_ReadCookie('pretarget');
	
	preT_CreateSwfObject();
	swf = document.getElementById("pretarget");
}

window.onload = function()
{
	preT_Init();		
}
