// theWebalystReferralTrackerGA.js - campaign tracking in Google Analytics using URL params 
//
// http://theWebalyst.com - Web Marketing, SEO and I.T. services (including analytics referral tracking!)
//
//  version 	date	by	comment
//	1.0	   May 2010	mrh	Initial version
//	1.1	01 Jun 2010	mrh	Renamed file (was "referralTracker.js"), changed default src (was "no_referrer")
//					and added default campaign ("not set") for unhandled ids
//	1.2	07 Jun 2010 mrh	Added new codings including Web Analytics Brochure and
//					email signatures for Yahoo! and MKP accounts
//	1.3	24 Jun 2010 mrh	Added new codings for doc_misc (default in Word templates)
//					and mh1 ("Mark Hughes - brochure.doc")
//	1.4 07 Oct 2010 mrh	Added codings for price list (pl1) and WordPress checklist (eguide_wpcl).
//  2.0 27 Jan 2011 mrh Major changes (codings revised and) added:
//						- setting of utm_source by coding (unless already set)
//						- new coding scheme (referralTrackingIds (Google Ahnalytics).ods)
//						- option to set utm_content
//  2.1 29 Mar 2011 mrh Added codings for MWH tell a friend for discount campaign
//  2.2 03 Jul 2011 mrh Added codings for "Web Marketing & Computer Help" brochure (PET C.S. Facebook page talk)
//  2.3 16 Jul 2011 mrh Added generic codings e/f/t/g
//  2.4 16 Aug 2011 mrh Added coding for Newsletter "Final Welcome Email" (now links to eBook d/l and hosting offer)
//  2.5 12 Sep 2011 mrh Added card, card2, card-friend, cardinfo, card2info, for use by postcard redirects
//  2.6 29 Sep 2011 mrh Added cws (for Client Website Referral links - e.g. in footer of sites I build)
//  2.7 30 Nov 2011 mrh Added w166com w166couk w166friend for Websites166 campaign
//
// credits
//   Original code by (and thanks to) Allaedin Ezzedin
//   http://www.e-nor.com/blog/index.php/web-analytics/tracking-traffic-from-press-releases-in-google-analytics/
//   Adapted by theWebalyst.
//
var src = getDomain (document.referrer);
var srcDef = 'theWebalystRT';
var id = get_parameter('id');

function get_parameter(name)
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&#]"+name+"=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(window.location.href);
    if( results == null )
      return "";
    else
      return results[1];
}

function getDomain (thestring) {
  var urlpattern = new RegExp("(http|ftp|https)://(.*?)/.*$");
  var parsedurl = thestring.match(urlpattern);
      if( parsedurl == null )
      	return "";
      else
        return parsedurl[2];
}

// Map tracking variable to GA variables (best to code this automatically)

if (0){
//////// START OF SPREADSHEET CODING ////////
}else if(id == '1'){if(src=='')src='Netw-own';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=general&utm_content=econ';
}else if(id == '2'){if(src=='')src='Netw-own';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=general&utm_content=esig';
}else if(id == '3'){if(src=='')src='Netw-Yahoo';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=general&utm_content=esig-yahoo';
}else if(id == '4'){if(src=='')src='Netw-MKP';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=general&utm_content=esig-mkp';

}else if(id == 'e'){if(src=='')src='Netw-own';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=general&utm_content=';
}else if(id == 'f'){if(src=='')src='Netw-own';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=facebook&utm_campaign=general&utm_content=';
}else if(id == 't'){if(src=='')src='Netw-own';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=twitter&utm_campaign=general&utm_content=';
}else if(id == 'g'){if(src=='')src='Netw-own';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=googleplus&utm_campaign=general&utm_content=';

}else if(id == 'cws'){if(src=='')src='webdesignclient';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=clientwebsite&utm_campaign=webdesign&utm_content=';

}else if(id == 'nl'){if(src=='')src='Netw-newsletter';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=general&utm_content=';
}else if(id == 'nlwe'){if(src=='')src='Netw-newsletter';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=general&utm_content=welcome-email';

}else if(id == 'sr_w'){if(src=='')src='brochure';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=website&utm_campaign=seo_review&utm_content=';
}else if(id == 'sr_e'){if(src=='')src='brochure';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=seo_review&utm_content=';
}else if(id == 'ka_w'){if(src=='')src='brochure';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=website&utm_campaign=keyword_anal&utm_content=';
}else if(id == 'ka_e'){if(src=='')src='brochure';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=keyword_anal&utm_content=';
}else if(id == 'mh_w'){if(src=='')src='brochure';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=website&utm_campaign=mh_services&utm_content=';
}else if(id == 'mh_e'){if(src=='')src='brochure';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=mh_services&utm_content=';
}else if(id == 'wab_w'){if(src=='')src='brochure';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=website&utm_campaign=wa_setup&utm_content=';
}else if(id == 'wab_e'){if(src=='')src='brochure';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=wa_setup&utm_content=';
}else if(id == 'wm1f_w'){if(src=='')src='brochure';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=website&utm_campaign=wm_freelancers&utm_content=';
}else if(id == 'wm1f_e'){if(src=='')src='brochure';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=wm_freelancers&utm_content=';
}else if(id == 'wm1t_w'){if(src=='')src='brochure';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=website&utm_campaign=wm_therapists&utm_content=';
}else if(id == 'wm1t_e'){if(src=='')src='brochure';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=wm_therapists&utm_content=';
}else if(id == 'pl_w'){if(src=='')src='brochure';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=website&utm_campaign=price_list&utm_content=';
}else if(id == 'pl_e'){if(src=='')src='brochure';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=price_list&utm_content=';

}else if(id == 'mtf_e'){if(src=='')src='';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=mwh_tellfriend&utm_content=';
}else if(id == 'mtf_n'){if(src=='')src='';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=newsletter&utm_campaign=mwh_tellfriend&utm_content=';
}else if(id == 'mtf_t'){if(src=='')src='';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=twitter&utm_campaign=mwh_tellfriend&utm_content=';
}else if(id == 'mtf_f'){if(src=='')src='';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=facebook&utm_campaign=mwh_tellfriend&utm_content=';
}else if(id == 'mtf_w'){if(src=='')src='';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=website&utm_campaign=mwh_tellfriend&utm_content=';
}else if(id == 'mtf_ef'){if(src=='')src='';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=mwh_tellfriend&utm_content=facebook';
}else if(id == 'mtf_ar'){if(src=='')src='';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=mwh_tellfriend&utm_content=requester';
}else if(id == 'mtf_af'){if(src=='')src='';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=email&utm_campaign=mwh_tellfriend&utm_content=friend';
}else if(id == 'mtf_oc'){if(src=='')src='';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=website&utm_campaign=mwh_tellfriend&utm_content=order';


}else if(id == 'card'){if(src=='')src='postcard';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=print&utm_campaign=mwh_postcard&utm_content=practitioner';
}else if(id == 'card2'){if(src=='')src='postcard';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=print&utm_campaign=mwh_postcard&utm_content=general';
}else if(id == 'cardfriend'){if(src=='')src='postcard';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=&utm_campaign=mwh_postcard&utm_content=referral';
}else if(id == 'cardinfo'){if(src=='')src='postcard';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=print&utm_campaign=tw_postcard&utm_content=practitioner';
}else if(id == 'card2info'){if(src=='')src='postcard';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=print&utm_campaign=tw_postcard&utm_content=general';


}else if(id == 'w166com'){if(src=='')src='bumper';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=bumper&utm_campaign=w166com&utm_content=general';
}else if(id == 'w166couk'){if(src=='')src='bumper';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=bumper&utm_campaign=w166couk&utm_content=general';
}else if(id == 'w166friend'){if(src=='')src='bumper';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=&utm_campaign=w166friend&utm_content=referral';

}else if(id == 'ebt'){if(src=='')src='document';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=ebook-template&utm_campaign=freebees&utm_content=';

}else if(id == 'eb'){if(src=='')src='ebook';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=ebook-default&utm_campaign=freebees&utm_content=';
}else if(id == 'fbpeb'){if(src=='')src='ebook';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=ebook-fbpage1&utm_campaign=freebees&utm_content=';

}else if(id == '300'){if(src=='')src='ebook';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=eguide-misc&utm_campaign=qqq&utm_content=';

}else if(id == '320'){if(src=='')src='ebook';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=eguide-wpmisc&utm_campaign=qqq&utm_content=';
}else if(id == '321'){if(src=='')src='ebook';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=eguide-wpcl&utm_campaign=qqq&utm_content=';

}else if(id == '400'){if(src=='')src='document';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=doc-misc&utm_campaign=general&utm_content=';

}else if(id == '500'){if(src=='')src='software';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=wp-code&utm_campaign=wordpress&utm_content=';
}else if(id == '501'){if(src=='')src='software';if(src=='')src=srcDef;window.location.hash='utm_source='+src+'&utm_medium=wp-metaplugin&utm_campaign=wordpress&utm_content=';
//////// END OF SPREADSHEET CODING ////////

// Test id values 9991-9999 (above 9999 don't work)
} else if (id <= 9999 && id >= '9990'){
    window.location.hash = "utm_source=" + src 
    + "&utm_medium="+id+"&utm_campaign=test_campaign";

// If we got an id but the value is not catered for, report
// the value and use a default for campaign
} else if (id != "" ){
    window.location.hash = "utm_source=" + src 
    + "&utm_medium="+id+"&utm_campaign=not_set";
}

