function readKeyValue(data,key,seperator) {
	 // used to obtain a value form a string of key=value pairs
	 if (!data || data=="" || !key || key=="" || !seperator || seperator=="") return "-";
	 var i,i2,i3,c="-";
	 i=data.indexOf(key);
	 i3=key.indexOf("=")+1;
	 if (i > -1) {
	 i2=data.indexOf(seperator,i); if (i2 < 0) { i2=data.length; }
	 c=data.substring((i+i3),i2);
	 }
	 return c;
 }
function removeNL(s) {
  /*
  ** Remove NewLine, CarriageReturn and Tab characters from a String
  **   s  string to be processed
  ** returns new string
  */
  r = "";
  for (i=0; i < s.length; i++) {
    if (s.charAt(i) != '\n' &&
        s.charAt(i) != '\r' &&
        s.charAt(i) != '\t') {
      r += s.charAt(i);
      }
    }
  return r;
  }


function addGaHiddenFields(form) {
	var z = jQuery.cookie('__utmz');
	var source  = readKeyValue(z, 'utmcsr=', '|');
	var medium  = readKeyValue(z, 'utmcmd=', '|');
	var term    = readKeyValue(z, 'utmctr=', '|');
	var content = readKeyValue(z, 'utmcct=', '|');
	var campaign = readKeyValue(z, 'utmccn=', '|');
	var gclid   = readKeyValue(z, 'utmgclid=', '|'); 
	var referrer = document.referrer;
	
	if (gclid !="-") {
      source = 'google';
      medium = 'cpc';
	} 
	var csegment = jQuery.cookie('__utmv');	
	if (csegment) {
		  var csegmentex = /[1-9]*?\.(.*)/;
		  csegment    = csegment.match(csegmentex);
		  csegment    = csegment[1];
	} else {
		  csegment = '';
	} 
	jQuery(form).append('<input type="hidden" name="custom_visitor_source" value="' + removeNL(source) + '" />');
	jQuery(form).append('<input type="hidden" name="custom_visitor_medium" value="' + removeNL(medium) + '" />');
	jQuery(form).append('<input type="hidden" name="custom_visitor_term" value="' + removeNL(term) + '" />');
	jQuery(form).append('<input type="hidden" name="custom_visitor_content" value="' + removeNL(content) + '" />');
	jQuery(form).append('<input type="hidden" name="custom_visitor_campaign" value="' + removeNL(campaign) + '" />');
	jQuery(form).append('<input type="hidden" name="custom_visitor_csegment" value="' + removeNL(csegment) + '" />');
	jQuery(form).append('<input type="hidden" name="custom_visitor_referrer" value="' + removeNL(referrer) + '" />');
}

(function ($) {
	$(document).ready(function(){
		$("a[href*='http://']:not([href*='"+location.hostname+"']),a[rel*='external']").click(function(){
			pageTracker._trackPageview('/outgoing/'+ $(this).attr('href'));
			var goal = jQuery(this).classData('goal')[0];
			if (goal && clicky)
			{
				clicky.goal(goal);
			}			
			});
		});
		$(document).ready(function(){
		 $('.addGaTracking').each(function(){
			addGaHiddenFields(this);
		 });
	 });
	})(jQuery)