  function ajax_query(query_string,callback_name,url_path) {
    var url = url_path+"?"+query_string.toString();
    if (window.XMLHttpRequest) {
      req = new XMLHttpRequest();
      if (req.overrideMimeType) { req.overrideMimeType("text/xml"); }
    } else if (window.ActiveXObject) {
      req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    req.onreadystatechange = function() { ajax_processRequest(callback_name) };
    req.open("GET", url, true);
    req.send(null);
  }
  function ajax_processRequest(callback_name) { if (req.readyState == 4) { if (req.status == 200) { ajax_success(callback_name); } else { ajax_fail(callback_name); } } }
  function ajax_implode(qs_array) { query_string = ""; for (i=0;i<qs_array.length;i++) { if (query_string.length > 0) { query_string += "&"; } query_string += qs_array[i][0].toString()+"="+qs_array[i][1].toString(); } return query_string; }
  function ajax_execute(qs_array,callback_name,url) { query_string = ajax_implode(qs_array); ajax_query(query_string,callback_name,url); }

  function ajax_fail(callback_name) {
    //alert("Request Failed: "+callback_name);
  }
    
  function ajax_success(callback_name) {
    //response = req.responseXML;
    //response = req.responseText;
  }

	function ajax_push_cookie(cb,u,page,search_terms,search_source) {
		my_qs_array = new Array();

		my_qs_array.push(new Array("u",u));
		my_qs_array.push(new Array("page",page));
		my_qs_array.push(new Array("search_terms",search_terms));
		my_qs_array.push(new Array("search_source",search_source));

		ajax_execute(my_qs_array,cb.toString(),"http://www.itracklive.co.za/track_post.php");
	}

  function getCookie(c_name) {
    if (document.cookie.length>0) {
      c_start=document.cookie.indexOf(c_name + "=");
      if (c_start!=-1) {
        c_start=c_start + c_name.length+1;
        c_end=document.cookie.indexOf(";",c_start);
        if (c_end==-1) c_end=document.cookie.length;
        return unescape(document.cookie.substring(c_start,c_end));
      }
    }
    return "__NOCOOKIE__";
  }

	function track_u() {
		// Collect Data
		var search_terms="";
		var search_source="";

		var page = window.location.pathname;
		page = page.substring(page.lastIndexOf('/') + 1);

    var temp = getCookie("__utmz");

    pos = temp.indexOf(".");
    len = temp.length;
    if (pos > 0) {
      new_temp = temp.substr((pos+1),(len-pos-1));
      pos3 = new_temp.indexOf(".");
      if (pos3 <= 0) { site = new_temp; } else { site = new_temp.substr(0,(pos3)); }
      u = site;    
    } else { u = "__U__"; }

    pos = temp.indexOf("utmctr=");
    len = temp.length;
    if (pos > 0) {
      new_temp = temp.substr((pos+7),(len-pos-7));
      pos3 = new_temp.indexOf("|");
      if (pos3 <= 0) { site = new_temp; } else { site = new_temp.substr(0,(pos3)); }
      search_terms = site;    
    } else { search_terms = "__NOTERMS__"; }

    pos = temp.indexOf("utmcmd=");
    len = temp.length;
    if (pos > 0) {
      new_temp = temp.substr((pos+7),(len-pos-7));
      pos3 = new_temp.indexOf("|");
      if (pos3 <= 0) { site = new_temp; } else { site = new_temp.substr(0,(pos3)); }
      search_source = site;    
    } else { search_source = "__NOSOURCE__"; }

    pos = temp.indexOf("utmcsr=");
    len = temp.length;
    if (pos > 0) {
      new_temp = temp.substr((pos+7),(len-pos-7));
      pos3 = new_temp.indexOf("|");
      if (pos3 <= 0) { site = new_temp; } else { site = new_temp.substr(0,(pos3)); }
      search_source = search_source+" ("+site+")";
    }

    pos = temp.indexOf("utmcsr=");
    pos2 = temp.indexOf("utmcct=");
    if (pos2 > 0) {
      new_temp = temp.substr((pos+7),(len-pos-7));
      pos3 = new_temp.indexOf("|");
      if (pos3 <= 0) { site = new_temp; } else { site = new_temp.substr(0,(pos3)); }
      site = new_temp.substr(0,(pos3));
      new_temp = temp.substr((pos2+7),(len-pos2-7));
      pos3 = new_temp.indexOf("|");
      if (pos3 <= 0) { new_temp = new_temp; } else { new_temp = new_temp.substr(0,(pos3)); }
      search_terms = search_terms+" (ref) "+site+new_temp;
    }

    pos = temp.indexOf("utmgclid=");
    len = temp.length;
    if (pos > 0) {
      new_temp = temp.substr((pos+9),(len-pos-9));
      pos3 = new_temp.indexOf("|");
      if (pos3 <= 0) { site = new_temp; } else { site = new_temp.substr(0,(pos3)); }
      search_source = "adwords ("+site+")";
    }

		ajax_push_cookie('callback',u,page,search_terms,search_source);
	}

