pic9= new Image(12,12);
pic9.src="images/bargraph.gif"; 

var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

function encode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   do {
      chr1 = input.charCodeAt(i++);
      chr2 = input.charCodeAt(i++);
      chr3 = input.charCodeAt(i++);

      enc1 = chr1 >> 2;
      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
      enc4 = chr3 & 63;

      if (isNaN(chr2)) {
         enc3 = enc4 = 64;
      } else if (isNaN(chr3)) {
         enc4 = 64;
      }

      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + 
         keyStr.charAt(enc3) + keyStr.charAt(enc4);
   } while (i < input.length);
   
   return output;
}

function decode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
   input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

   do {
      enc1 = keyStr.indexOf(input.charAt(i++));
      enc2 = keyStr.indexOf(input.charAt(i++));
      enc3 = keyStr.indexOf(input.charAt(i++));
      enc4 = keyStr.indexOf(input.charAt(i++));

      chr1 = (enc1 << 2) | (enc2 >> 4);
      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      chr3 = ((enc3 & 3) << 6) | enc4;

      output = output + String.fromCharCode(chr1);

      if (enc3 != 64) {
         output = output + String.fromCharCode(chr2);
      }
      if (enc4 != 64) {
         output = output + String.fromCharCode(chr3);
      }
   } while (i < input.length);

   return output;
}

// starts the keyword search process when you hit the enter key in the textarea
function startEnter(oEvent)
{
  if ((oEvent.keyCode && oEvent.keyCode==13)
  || (oEvent.which && oEvent.which==13)) 
  {
    startCheck();
  }
    
}

// -- trim function that gets rid of leading and proceeding blank spaces

function trimAll(sString)
{
  while (sString.substring(0,1) == ' ')
  {
    sString = sString.substring(1, sString.length);
  }
  while (sString.substring(sString.length-1, sString.length) == ' ')
  {
    sString = sString.substring(0,sString.length-1);
  }
  return sString;
}

//----------------------AJAX----------------------------------------



// This function checks to see what kind of XMLHttpRequest onject it should create based on your browser

function getXmlHttpRequestObject() 
{
	if (window.XMLHttpRequest) 
	{
		return new XMLHttpRequest();
	} 
	else if(window.ActiveXObject) 
	{
		return new ActiveXObject("Microsoft.XMLHTTP");
	} 
	else 
	{
		alert('Status: Cound not create XmlHttpRequest Object.' +
		'Consider upgrading your browser.');
	}
}

var recKeywords = new Array();
recKeywords[0] = getXmlHttpRequestObject();
recKeywords[1] = getXmlHttpRequestObject();
recKeywords[2] = getXmlHttpRequestObject();
recKeywords[3] = getXmlHttpRequestObject();
recKeywords[4] = getXmlHttpRequestObject();
recKeywords[5] = getXmlHttpRequestObject();
recKeywords[6] = getXmlHttpRequestObject();
recKeywords[7] = getXmlHttpRequestObject();
recKeywords[8] = getXmlHttpRequestObject();
recKeywords[9] = getXmlHttpRequestObject();
recKeywords[10] = getXmlHttpRequestObject();
//var recKeywords = getXmlHttpRequestObject();

// AJAX Class that requests data from a php script and displays it
function clsXHRO()
{
  var spanArea = "";
	var otarea = "";
	var aiaarea = "";
	var aitarea = "";
	var otaitarea = "";
	var srarea = "";
	var picArea = "";
  var xobj = "";
	var g_tid = "";
	var g_tid_ = "";
	var g_terms = "";
	var fdata = document.getElementById("fdata");
	this.XHRO_Grabber = XHRO_Grabber;
	this.Handle_XHRO = Handle_XHRO;
  
  function XHRO_Grabber(website, xhro, id, lid, tid)
  {
    xobj = xhro;
	  g_tid = document.getElementById(tid);
		g_tid_ = tid;
		g_terms = website;
    
		spanArea = document.getElementById(id);
		otarea = document.getElementById("ot"+id.substr(7));
		aiaarea = document.getElementById("aia"+id.substr(7));
		aitarea = document.getElementById("ait"+id.substr(7));
		otaitarea = document.getElementById("otait"+id.substr(7));
		srarea = document.getElementById("sr"+id.substr(7));
		
		picArea = document.getElementById(lid);
  	
  	if(website != "")
  	{
  	  if (xobj.readyState == 4 || xobj.readyState == 0) 
  		{
  		  picArea.innerHTML = "<img src='images/ball.gif'>";
  		  xobj.open("GET", 'testspider.php?terms=' + website + '&fdata=' + fdata.checked, true);
        xobj.onreadystatechange = Handle_XHRO; 
  		  xobj.send(null);
  	  }
  	}
  }
  
  function Handle_XHRO()
  {
    if (xobj.readyState == 4) 
  	{
      if (xobj.status == 200) 
  		{
        var response = xobj.responseText;
				var firstpart = response.substr(0, response.indexOf("<br /><br /><b>Top 10"));
				var lastpart = response.substr(response.indexOf("<br /><br /><b>Top 10"));
				picArea.innerHTML = "<img src='images/check.gif'>";
				
				var statArray = new Array();
				statArray = firstpart.split("::::");

  			spanArea.innerHTML = statArray[0] + "  <span style='font-size: 9px;'>[<a href='javascript:expandT10(\"" + g_tid_ + "\", \"" + encode64(lastpart) + "\", \"" + g_terms + "\");' title='View top 10 websites for keyword " + g_terms + "'>+/- More Info</a>]</span>";
			  otarea.innerHTML = statArray[1];
				aiaarea.innerHTML = statArray[2];
				aitarea.innerHTML = statArray[3];
				otaitarea.innerHTML = statArray[4];
				srarea.innerHTML = statArray[5];
			}
      else
      {
        spanArea.innerHTML = "error(3)";
      }
    }
  
    return true;
  
  }
}

// top 10

function expandT10(tid, stuff, terms)
{
  var _tid = document.getElementById(tid);
	var _tidr = document.getElementById("t10r-"+tid.substr(4));
	var _tidrr = document.getElementById("t10rr-"+tid.substr(4));

  if(_tid.style.visibility == "" || _tid.style.visibility == "hidden")
	{
	  //alert(_tid.style.visibility + "1");
		_tid.style.visibility = "visible";
		//_tidr.style.visibility = "visible";
		//_tidrr.style.visibility = "visible";
		//_tidr.style.height = "";
		//_tidrr.style.height = "";
		
		var site1 = "";
		var site2 = "";
		var site3 = "";
		var site4 = "";
		var site5 = "";
		var site6 = "";
		var site7 = "";
		var site8 = "";
		var site9 = "";
		var site10 = "";
		
		var info = decode64(stuff);
		
		site1 = trimAll(info.substr(info.indexOf("#1") + 3, info.indexOf("<br />#2") - (info.indexOf("#1") + 3)));
		site2 = trimAll(info.substr(info.indexOf("#2") + 3, info.indexOf("<br />#3") - (info.indexOf("#2") + 3)));
		site3 = trimAll(info.substr(info.indexOf("#3") + 3, info.indexOf("<br />#4") - (info.indexOf("#3") + 3)));
		site4 = trimAll(info.substr(info.indexOf("#4") + 3, info.indexOf("<br />#5") - (info.indexOf("#4") + 3)));
		site5 = trimAll(info.substr(info.indexOf("#5") + 3, info.indexOf("<br />#6") - (info.indexOf("#5") + 3)));
		site6 = trimAll(info.substr(info.indexOf("#6") + 3, info.indexOf("<br />#7") - (info.indexOf("#6") + 3)));
		site7 = trimAll(info.substr(info.indexOf("#7") + 3, info.indexOf("<br />#8") - (info.indexOf("#7") + 3)));
		site8 = trimAll(info.substr(info.indexOf("#8") + 3, info.indexOf("<br />#9") - (info.indexOf("#8") + 3)));
		site9 = trimAll(info.substr(info.indexOf("#9") + 3, info.indexOf("<br />#10") - (info.indexOf("#9") + 3)));
		site10 = trimAll(info.substr(info.indexOf("#10") + 3));
		

		if(site1 == "")
		{
		  _tid.innerHTML = "<b><a href='http://www.google.com/search?q=" + terms + "' onclick='this.target = \"_blank\"; return true;' title='View top 10 sites on Google for the keyword " + terms + "'>Top 10</a></b><br />#1 n/a<br />";
		}
		else
		{
		  _tid.innerHTML = "<b><a href='http://www.google.com/search?q=" + terms + "' onclick='this.target = \"_blank\"; return true;' title='View top 10 sites on Google for the keyword " + terms + "'>Top 10</a></b><br />#1 <a href='" + site1 + "'onclick='this.target = \"_blank\"; return true;' title='Source: " + site1 + "'>" + site1 + "</a>  [<a href='http://www.seocompany.ca/seotools/?website=" + site1 + "' onclick='this.target = \"_blank\"; return true;' title='View website analysis for " + site1 + "'><img src='images/bargraph.gif' border='0'></a>]<br />";
		}
		if(site2 == "")
		{
		  _tid.innerHTML += "#2 n/a<br />";
		}
		else
		{
		  _tid.innerHTML += "#2 <a href='" + site2 + "' onclick='this.target = \"_blank\"; return true;' title='Source: " + site2 + "'>" + site2 + "</a>  [<a href='http://www.seocompany.ca/seotools/?website=" + site2 + "' onclick='this.target = \"_blank\"; return true;' title='View website analysis for " + site2 + "'><img src='images/bargraph.gif' border='0'></a>]<br />";
		}
    if(site3 == "")
		{
		  _tid.innerHTML += "#3 n/a<br />";
		}
		else
		{
		  _tid.innerHTML += "#3 <a href='" + site3 + "' onclick='this.target = \"_blank\"; return true;' title='Source: " + site3 + "'>" + site3 + "</a>  [<a href='http://www.seocompany.ca/seotools/?website=" + site3 + "' onclick='this.target = \"_blank\"; return true;' title='View website analysis for " + site3 + "'><img src='images/bargraph.gif' border='0'></a>]<br />";
		}
		if(site4 == "")
		{
		  _tid.innerHTML += "#4 n/a<br />";
		}
		else
		{
		  _tid.innerHTML += "#4 <a href='" + site4 + "' onclick='this.target = \"_blank\"; return true;' title='Source: " + site4 + "'>" + site4 + "</a>  [<a href='http://www.seocompany.ca/seotools/?website=" + site4 + "' onclick='this.target = \"_blank\"; return true;' title='View website analysis for " + site4 + "'><img src='images/bargraph.gif' border='0'></a>]<br />";
		}
		if(site5 == "")
		{
		  _tid.innerHTML += "#5 n/a<br />";
		}
		else
		{
		  _tid.innerHTML += "#5 <a href='" + site5 + "' onclick='this.target = \"_blank\"; return true;' title='Source: " + site5 + "'>" + site5 + "</a>  [<a href='http://www.seocompany.ca/seotools/?website=" + site5 + "' onclick='this.target = \"_blank\"; return true;' title='View website analysis for " + site5 + "'><img src='images/bargraph.gif' border='0'></a>]<br />";
		}
	  if(site6 == "")
		{
		  _tid.innerHTML += "#6 n/a<br />";
		}
		else
		{
		  _tid.innerHTML += "#6 <a href='" + site6 + "' onclick='this.target = \"_blank\"; return true;' title='Source: " + site6 + "'>" + site6 + "</a>  [<a href='http://www.seocompany.ca/seotools/?website=" + site6 + "' onclick='this.target = \"_blank\"; return true;' title='View website analysis for " + site6 + "'><img src='images/bargraph.gif' border='0'></a>]<br />";
		}
	  if(site7 == "")
		{
		  _tid.innerHTML += "#7 n/a<br />";
		}
		else
		{
		  _tid.innerHTML += "#7 <a href='" + site7 + "' onclick='this.target = \"_blank\"; return true;' title='Source: " + site7 + "'>" + site7 + "</a>  [<a href='http://www.seocompany.ca/seotools/?website=" + site7 + "' onclick='this.target = \"_blank\"; return true;' title='View website analysis for " + site7 + "'><img src='images/bargraph.gif' border='0'></a>]<br />";
		}
		if(site8 == "")
		{
		  _tid.innerHTML += "#8 n/a<br />";
		}
		else
		{
		  _tid.innerHTML += "#8 <a href='" + site8 + "' onclick='this.target = \"_blank\"; return true;' title='Source: " + site8 + "'>" + site8 + "</a>  [<a href='http://www.seocompany.ca/seotools/?website=" + site8 + "' onclick='this.target = \"_blank\"; return true;' title='View website analysis for " + site8 + "'><img src='images/bargraph.gif' border='0'></a>]<br />";
		}
		if(site9 == "")
		{
		  _tid.innerHTML += "#9 n/a<br />";
		}
		else
		{
		  _tid.innerHTML += "#9 <a href='" + site9 + "' onclick='this.target = \"_blank\"; return true;' title='Source: " + site9 + "'>" + site9 + "</a>  [<a href='http://www.seocompany.ca/seotools/?website=" + site9 + "' onclick='this.target = \"_blank\"; return true;' title='View website analysis for " + site9 + "'><img src='images/bargraph.gif' border='0'></a>]<br />";
		}
		if(site10 == "" || site9 == "")
		{
		  _tid.innerHTML += "#10 n/a";
		}
		else
		{
		  _tid.innerHTML += "#10 <a href='" + site10 + "' onclick='this.target = \"_blank\"; return true;' title='Source: " + site10 + "'>" + site10 + "</a>  [<a href='http://www.seocompany.ca/seotools/?website=" + site10 + "' onclick='this.target = \"_blank\"; return true;' title='View website analysis for " + site10 + "'><img src='images/bargraph.gif' border='0'></a>]";
		}
	}
	else
	{
	  //alert(_tid.style.visibility + "2");
	  _tid.style.visibility = "hidden";
		//_tidr.style.visibility = "hidden";
		//_tidrr.style.visibility = "hidden";
		_tid.innerHTML = "";
		_tidr.style.height = "0";
		//_tidrr.style.height = "0";

	}
}

// start the spidering

function startCheck()
{
	
	if(document.getElementById("txtSecurityCode") && document.getElementById("txtSecurityCode").value == '')
    {
	    alert("Please enter Security Code");
   		document.getElementById("txtSecurityCode").focus();
   		return false;
	}
	else if(document.getElementById("txtSecurityCode") &&  document.getElementById("txtSecurityCode").value != '')
    {        
			var url = '../validate-captcha.php';
			//Set up the parameters of our AJAX call
			var postStr = document.getElementById("txtSecurityCode").name + "=" + encodeURIComponent( document.getElementById("txtSecurityCode").value );
			//Call the function that initiate the AJAX request
			makeToolRequest1(url, postStr);
			return false;
	}
	else
	{		
		getTracker("tool3");

		  //alert("test");
		  var keywords = document.getElementById("keywordstext");
		  var keywordspec = document.getElementById("keywordspec");
			for(var j=0;j<11;j++)
			{
			  document.getElementById("keyword"+(j+1)).innerHTML = "";
				document.getElementById("ot"+(j+1)).innerHTML = "";
				document.getElementById("aia"+(j+1)).innerHTML = "";
				document.getElementById("ait"+(j+1)).innerHTML = "";
				document.getElementById("otait"+(j+1)).innerHTML = "";
				document.getElementById("sr"+(j+1)).innerHTML = "";
				document.getElementById("pic"+(j+1)).innerHTML = "";
				document.getElementById("t10-"+(j+1)).style.visibility = "hidden";
				document.getElementById("t10-"+(j+1)).innerHTML = "";
			}
			
			//var keeploop = true;
			//var firstloop = true;
			var keywordsArray = new Array();
			var tempArray = new Array();
			
			if(keywords.value != "")
			{
			  if(keywords.value.indexOf(",") != -1)
				{
				  keywordsArray = keywords.value.split(",");
				  if(keywordsArray.length <= 11)
					{
					  //alert("1");
		  		  for(var i=0;i<keywordsArray.length;i++)
		  			{
						  tempArray[i] = new clsXHRO();
							tempArray[i].XHRO_Grabber(trimAll(keywordsArray[i]), recKeywords[i], "keyword"+(i+1), "pic"+(i+1), "t10-"+(i+1));
		  			  document.getElementById("keyword"+(i+1)).innerHTML = trimAll(keywordsArray[i]) + "<br>";
		  			}
					}
					else
					{
					  //alert("2");
					  var first = true;
					  for(var t=0;t<11;t++)
		  			{
						  if(first == true)
							{
							  keywords.value = trimAll(keywordsArray[t]);
								first = false;
							}
							else
							{
							  keywords.value += ", " + trimAll(keywordsArray[t]);
							}
					    
						}
					  for(var e=0;e<11;e++)
		  			{
						  tempArray[e] = new clsXHRO();
							tempArray[e].XHRO_Grabber(trimAll(keywordsArray[e]), recKeywords[e], "keyword"+(e+1), "pic"+(e+1), "t10-"+(e+1));
		  			  document.getElementById("keyword"+(e+1)).innerHTML = trimAll(keywordsArray[e]) + "<br>";
		  			}
						
						keywordspec.innerHTML = "<span class='error'>Max of 11 keywords.</span>";
					}
				  /*var tempstr = "";
					var posstr = "";
				  while(keeploop)
					{
					  if(firstloop)
						{
					    tempstr = trimAll(keywords.substr(0, keywords.indexOf(",")));
							posstr = keywords.substr(keywords.indexOf(",") + 1);
							
							keywordspec.innerHTML = tempstr + "<br>";
							
							firstloop = false;
					  }
						else
						{
						  if(keywords.indexOf(",") != -1)
							{
							
							}
							else
							{
							
							}
						}
					}*/
					
					
				}
				else
				{
				  var getTemp = new clsXHRO();
					getTemp.XHRO_Grabber(trimAll(keywords.value), recKeywords[0], "keyword1", "pic1", "t10-1");
				  document.getElementById("keyword1").innerHTML = keywords.value;
				}
			}
			else
			{
			  keywordspec.innerHTML = "";
			}	
	}   
}

// sort the keywords in order by count

function sortCount()
{
  var keyArray = new Array();
	var otArray = new Array();
	var aiaArray = new Array();
	var aitArray = new Array();
	var otaitArray = new Array();
	var srArray = new Array();

	var v = 0;
  for(var i=0;i<11;i++)
	{
	  if(document.getElementById("keyword"+(i+1)).innerHTML != "")
		{
	    keyArray[v] = document.getElementById("keyword"+(i+1)).innerHTML;
			otArray[v] = parseInt(document.getElementById("ot"+(i+1)).innerHTML.substr(document.getElementById("ot"+(i+1)).innerHTML.indexOf("\">")+2, document.getElementById("ot"+(i+1)).innerHTML.indexOf("</a>") - (document.getElementById("ot"+(i+1)).innerHTML.indexOf("\">")+2)).replace(/,/g, ""));
			aiaArray[v] = document.getElementById("aia"+(i+1)).innerHTML;
			aitArray[v] = document.getElementById("ait"+(i+1)).innerHTML;
			otaitArray[v] = document.getElementById("otait"+(i+1)).innerHTML;
			srArray[v] = document.getElementById("sr"+(i+1)).innerHTML;
			v++;
		}
	}
	
	for(var l=0;l<keyArray.length;l++)
	{
	  document.getElementById("keyword"+(l+1)).innerHTML = "";
		document.getElementById("ot"+(l+1)).innerHTML = "";
		document.getElementById("aia"+(l+1)).innerHTML = "";
		document.getElementById("ait"+(l+1)).innerHTML = "";
		document.getElementById("otait"+(l+1)).innerHTML = "";
		document.getElementById("sr"+(l+1)).innerHTML = "";
	}
	
	var tempnum = 0;
	var tempkey = "";
	var tempaia = "";
	var tempait = "";
	var tempotait = "";
	var tempsr = "";
	for(j=0;j<otArray.length;j++)
	{
		for(k=0;k<(otArray.length-1);k++)
	  {
			if (otArray[k] < otArray[k+1])
			{
  			tempnum = otArray[k+1];
			  tempkey = keyArray[k+1];
				tempaia = aiaArray[k+1];
				tempait = aitArray[k+1];
				tempotait = otaitArray[k+1];
				tempsr = srArray[k+1];
					
        otArray[k+1] = otArray[k];
			  keyArray[k+1] = keyArray[k];
				aiaArray[k+1] = aiaArray[k];
				aitArray[k+1] = aitArray[k];
				otaitArray[k+1] = otaitArray[k];
				srArray[k+1] = srArray[k];
					
        otArray[k] = tempnum;
				keyArray[k] = tempkey;
				aiaArray[k] = tempaia;
				aitArray[k] = tempait;
				otaitArray[k] = tempotait;
				srArray[k] = tempsr;
			}
		}
	}
	
	
	for(n=0;n<otArray.length;n++)
	{
	  var replacer1 = keyArray[n].substr(0, keyArray[n].indexOf("t10-"));
		var replacer2 = keyArray[n].substr(keyArray[n].indexOf("t10-"));
		replacer2 = replacer2.substr(replacer2.indexOf("\""));
		document.getElementById("keyword"+(n+1)).innerHTML = replacer1 + "t10-" + (n+1) + replacer2;
    
		document.getElementById("ot"+(n+1)).innerHTML = otArray[n];
		document.getElementById("aia"+(n+1)).innerHTML = aiaArray[n];
		document.getElementById("ait"+(n+1)).innerHTML = aitArray[n];
		document.getElementById("otait"+(n+1)).innerHTML = otaitArray[n];
		document.getElementById("sr"+(n+1)).innerHTML = srArray[n];
	}
}

// function that grabs the keywords and creates a url query
function genURL()
{
	if(document.getElementById("txtSecurityCode") && document.getElementById("txtSecurityCode").value == '')
    {
	    alert("Please enter Security Code");
   		document.getElementById("txtSecurityCode").focus();
   		return false;
	}
	else if(document.getElementById("txtSecurityCode") &&  document.getElementById("txtSecurityCode").value != '')
    {        
			var url = '../validate-captcha.php';
			//Set up the parameters of our AJAX call
			var postStr = document.getElementById("txtSecurityCode").name + "=" + encodeURIComponent( document.getElementById("txtSecurityCode").value );
			//Call the function that initiate the AJAX request
			makeToolRequest(url, postStr);
			return false;
	}
	else
	{		
		var keywords = document.getElementById("keywordstext");
		  var keywordspec = document.getElementById("keywordspec");
			var keywordsArray = new Array();			
			if(keywords.value != "")
			{			  
			  keywordspec.innerHTML = "";
			   var uqkeywords = "";
			   keywordsArray = keywords.value.split(",");				
			   var first = true;
			   for(var t=0;t<keywordsArray.length;t++)
		       {
				  if(first == true)
					{
						uqkeywords += trimAll(keywordsArray[t]);
						first = false;
					}
					else
					{
						uqkeywords += "," + trimAll(keywordsArray[t]);
					}
				}
				
				uqkeywords = uqkeywords.replace(/ /g, "+");
				window.location="?keywords=" + uqkeywords;
			}
			else
			{
			  keywordspec.innerHTML = "<span class='error'>Keywords must be entered in the box for the URL query to be generated.</span>";
			}		
	}  
}

// ----------------- Tracker ------------------------------------------------------------------

var recTracker = getXmlHttpRequestObject();

function getTracker(type) 
{
	  if (recTracker.readyState == 4 || recTracker.readyState == 0) 
		{
	    recTracker.open("GET", 'tracker.php?type=' + type, true);
	

      recTracker.onreadystatechange = handleTracker; 

		  recTracker.send(null);

	  }
}

function handleTracker() 
{
  if (recRGYM.readyState == 4) 
	{
    if (recRGYM.status == 200) 
		{
      var response = recRGYM.responseText;
    }
    else
    {

    }
  }

  return true;
}

//Initiate the AJAX request
function makeToolRequest(url, param) {
//If our readystate is either not started or finished, initiate a new request
 if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
   //Set up the connection to captcha_test.html. True sets the request to asyncronous(default) 
   receiveReq.open("POST", url, true);
   //Set the function that will be called when the XmlHttpRequest objects state changes
   receiveReq.onreadystatechange = updateToolPage; 

   //Add HTTP headers to the request
   receiveReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   receiveReq.setRequestHeader("Content-length", param.length);
   receiveReq.setRequestHeader("Connection", "close");

   //Make the request
   receiveReq.send(param);
 }   
}

//Called every time our XmlHttpRequest objects state changes
function updateToolPage() 
{
 //Check if our response is ready
 if (receiveReq.readyState == 4) {	 
 if(receiveReq.responseText == 'Invalid security code')
 {
	 //Set the content of the DIV element with the response text
	   document.getElementById('security_code').innerHTML = receiveReq.responseText;
	   //Get a reference to CAPTCHA image
	   img = document.getElementById('imgCaptcha'); 
	   //Change the image
	   img.src = '../imageblob.php?' + Math.random();
 }
 else if(receiveReq.responseText == '<h1>Test successful!</h1>')
 {
	 //Set the content of the DIV element with the response text
	 document.getElementById('security_code').innerHTML = '';
	 //document.getElementById('frmTool').submit();
	 var keywords = document.getElementById("keywordstext");
	  var keywordspec = document.getElementById("keywordspec");
		var keywordsArray = new Array();			
		if(keywords.value != "")
		{			  
		  keywordspec.innerHTML = "";
		   var uqkeywords = "";
		   keywordsArray = keywords.value.split(",");				
		   var first = true;
		   for(var t=0;t<keywordsArray.length;t++)
	       {
			  if(first == true)
				{
					uqkeywords += trimAll(keywordsArray[t]);
					first = false;
				}
				else
				{
					uqkeywords += "," + trimAll(keywordsArray[t]);
				}
			}
			
			uqkeywords = uqkeywords.replace(/ /g, "+");
			window.location="?keywords=" + uqkeywords;
		}
		else
		{
		  keywordspec.innerHTML = "<span class='error'>Keywords must be entered in the box for the URL query to be generated.</span>";
		}		
	 return true;
 }   
 } 
}

//Gets the browser specific XmlHttpRequest Object 
function getXmlHttpRequestObject1() {
 if (window.XMLHttpRequest) {
    return new XMLHttpRequest(); //Mozilla, Safari ...
 } else if (window.ActiveXObject) {
    return new ActiveXObject("Microsoft.XMLHTTP"); //IE
 } else {
    //Display our error message
    alert("Your browser doesn't support the XmlHttpRequest object.");
 }
}

//Our XmlHttpRequest object
var receiveReq = getXmlHttpRequestObject1();

function makeXmlHttpRequest()
{
    var xmlhttp = false;
    if (window.XMLHttpRequest)
    {
        xmlhttp=new XMLHttpRequest()
    }
    else if (window.ActiveXObject)
    {
        try
        {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(E)
            {
                window.location.reload('uploadFile.aspx');
            }
        }
    }
    return xmlhttp;
}


//Initiate the AJAX request
function makeToolRequest1(url, param) {
//If our readystate is either not started or finished, initiate a new request
 if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
   //Set up the connection to captcha_test.html. True sets the request to asyncronous(default) 
   receiveReq.open("POST", url, true);
   //Set the function that will be called when the XmlHttpRequest objects state changes
   receiveReq.onreadystatechange = updateToolPage1; 

   //Add HTTP headers to the request
   receiveReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   receiveReq.setRequestHeader("Content-length", param.length);
   receiveReq.setRequestHeader("Connection", "close");

   //Make the request
   receiveReq.send(param);
 }   
}

//Called every time our XmlHttpRequest objects state changes
function updateToolPage1() 
{
 //Check if our response is ready
 if (receiveReq.readyState == 4) {	 
 if(receiveReq.responseText == 'Invalid security code')
 {
	 //Set the content of the DIV element with the response text
	   document.getElementById('security_code').innerHTML = receiveReq.responseText;
	   //Get a reference to CAPTCHA image
	   img = document.getElementById('imgCaptcha'); 
	   //Change the image
	   img.src = '../imageblob.php?' + Math.random();
 }
 else if(receiveReq.responseText == '<h1>Test successful!</h1>')
 {
	 //Set the content of the DIV element with the response text
	 document.getElementById('security_code').innerHTML = '';
	 //document.getElementById('frmTool').submit();
	 getTracker("tool3");	 
	  var keywords = document.getElementById("keywordstext");
	  var keywordspec = document.getElementById("keywordspec");
		for(var j=0;j<11;j++)
		{
		  document.getElementById("keyword"+(j+1)).innerHTML = "";
			document.getElementById("ot"+(j+1)).innerHTML = "";
			document.getElementById("aia"+(j+1)).innerHTML = "";
			document.getElementById("ait"+(j+1)).innerHTML = "";
			document.getElementById("otait"+(j+1)).innerHTML = "";
			document.getElementById("sr"+(j+1)).innerHTML = "";
			document.getElementById("pic"+(j+1)).innerHTML = "";
			document.getElementById("t10-"+(j+1)).style.visibility = "hidden";
			document.getElementById("t10-"+(j+1)).innerHTML = "";
		}
		
		//var keeploop = true;
		//var firstloop = true;
		var keywordsArray = new Array();
		var tempArray = new Array();
		
		if(keywords.value != "")
		{
		  if(keywords.value.indexOf(",") != -1)
			{
			  keywordsArray = keywords.value.split(",");
			  if(keywordsArray.length <= 11)
				{
				  //alert("1");
	  		  for(var i=0;i<keywordsArray.length;i++)
	  			{
					  tempArray[i] = new clsXHRO();
						tempArray[i].XHRO_Grabber(trimAll(keywordsArray[i]), recKeywords[i], "keyword"+(i+1), "pic"+(i+1), "t10-"+(i+1));
	  			  document.getElementById("keyword"+(i+1)).innerHTML = trimAll(keywordsArray[i]) + "<br>";
	  			}
				}
				else
				{
				  //alert("2");
				  var first = true;
				  for(var t=0;t<11;t++)
	  			{
					  if(first == true)
						{
						  keywords.value = trimAll(keywordsArray[t]);
							first = false;
						}
						else
						{
						  keywords.value += ", " + trimAll(keywordsArray[t]);
						}
				    
					}
				  for(var e=0;e<11;e++)
	  			{
					  tempArray[e] = new clsXHRO();
						tempArray[e].XHRO_Grabber(trimAll(keywordsArray[e]), recKeywords[e], "keyword"+(e+1), "pic"+(e+1), "t10-"+(e+1));
	  			  document.getElementById("keyword"+(e+1)).innerHTML = trimAll(keywordsArray[e]) + "<br>";
	  			}
					
					keywordspec.innerHTML = "<span class='error'>Max of 11 keywords.</span>";
				}
			  /*var tempstr = "";
				var posstr = "";
			  while(keeploop)
				{
				  if(firstloop)
					{
				    tempstr = trimAll(keywords.substr(0, keywords.indexOf(",")));
						posstr = keywords.substr(keywords.indexOf(",") + 1);
						
						keywordspec.innerHTML = tempstr + "<br>";
						
						firstloop = false;
				  }
					else
					{
					  if(keywords.indexOf(",") != -1)
						{
						
						}
						else
						{
						
						}
					}
				}*/
				
				
			}
			else
			{
			  var getTemp = new clsXHRO();
				getTemp.XHRO_Grabber(trimAll(keywords.value), recKeywords[0], "keyword1", "pic1", "t10-1");
			  document.getElementById("keyword1").innerHTML = keywords.value;
			}
		}
		else
		{
		  keywordspec.innerHTML = "";
		}	 
 }   
 } 
}
