/**
 * Copyright (c) 2005 - 2010, James Auldridge
 * All rights reserved.
 *
 * Licensed under the BSD, MIT, and GPL (your choice!) Licenses:
 *  http://code.google.com/p/cookies/wiki/License
 *
 */
var jaaulde=window.jaaulde||{};jaaulde.utils=jaaulde.utils||{};jaaulde.utils.cookies=(function(){var resolveOptions,assembleOptionsString,parseCookies,constructor,defaultOptions={expiresAt:null,path:'/',domain:null,secure:false};resolveOptions=function(options){var returnValue,expireDate;if(typeof options!=='object'||options===null){returnValue=defaultOptions;}else
{returnValue={expiresAt:defaultOptions.expiresAt,path:defaultOptions.path,domain:defaultOptions.domain,secure:defaultOptions.secure};if(typeof options.expiresAt==='object'&&options.expiresAt instanceof Date){returnValue.expiresAt=options.expiresAt;}else if(typeof options.hoursToLive==='number'&&options.hoursToLive!==0){expireDate=new Date();expireDate.setTime(expireDate.getTime()+(options.hoursToLive*60*60*1000));returnValue.expiresAt=expireDate;}if(typeof options.path==='string'&&options.path!==''){returnValue.path=options.path;}if(typeof options.domain==='string'&&options.domain!==''){returnValue.domain=options.domain;}if(options.secure===true){returnValue.secure=options.secure;}}return returnValue;};assembleOptionsString=function(options){options=resolveOptions(options);return((typeof options.expiresAt==='object'&&options.expiresAt instanceof Date?'; expires='+options.expiresAt.toGMTString():'')+'; path='+options.path+(typeof options.domain==='string'?'; domain='+options.domain:'')+(options.secure===true?'; secure':''));};parseCookies=function(){var cookies={},i,pair,name,value,separated=document.cookie.split(';'),unparsedValue;for(i=0;i<separated.length;i=i+1){pair=separated[i].split('=');name=pair[0].replace(/^\s*/,'').replace(/\s*$/,'');try
{value=decodeURIComponent(pair[1]);}catch(e1){value=pair[1];}if(typeof JSON==='object'&&JSON!==null&&typeof JSON.parse==='function'){try
{unparsedValue=value;value=JSON.parse(value);}catch(e2){value=unparsedValue;}}cookies[name]=value;}return cookies;};constructor=function(){};constructor.prototype.get=function(cookieName){var returnValue,item,cookies=parseCookies();if(typeof cookieName==='string'){returnValue=(typeof cookies[cookieName]!=='undefined')?cookies[cookieName]:null;}else if(typeof cookieName==='object'&&cookieName!==null){returnValue={};for(item in cookieName){if(typeof cookies[cookieName[item]]!=='undefined'){returnValue[cookieName[item]]=cookies[cookieName[item]];}else
{returnValue[cookieName[item]]=null;}}}else
{returnValue=cookies;}return returnValue;};constructor.prototype.filter=function(cookieNameRegExp){var cookieName,returnValue={},cookies=parseCookies();if(typeof cookieNameRegExp==='string'){cookieNameRegExp=new RegExp(cookieNameRegExp);}for(cookieName in cookies){if(cookieName.match(cookieNameRegExp)){returnValue[cookieName]=cookies[cookieName];}}return returnValue;};constructor.prototype.set=function(cookieName,value,options){if(typeof options!=='object'||options===null){options={};}if(typeof value==='undefined'||value===null){value='';options.hoursToLive=-8760;}else if(typeof value!=='string'){if(typeof JSON==='object'&&JSON!==null&&typeof JSON.stringify==='function'){value=JSON.stringify(value);}else
{throw new Error('cookies.set() received non-string value and could not serialize.');}}var optionsString=assembleOptionsString(options);document.cookie=cookieName+'='+encodeURIComponent(value)+optionsString;};constructor.prototype.del=function(cookieName,options){var allCookies={},name;if(typeof options!=='object'||options===null){options={};}if(typeof cookieName==='boolean'&&cookieName===true){allCookies=this.get();}else if(typeof cookieName==='string'){allCookies[cookieName]=true;}for(name in allCookies){if(typeof name==='string'&&name!==''){this.set(name,null,options);}}};constructor.prototype.test=function(){var returnValue=false,testName='cT',testValue='data';this.set(testName,testValue);if(this.get(testName)===testValue){this.del(testName);returnValue=true;}return returnValue;};constructor.prototype.setOptions=function(options){if(typeof options!=='object'){options=null;}defaultOptions=resolveOptions(options);};return new constructor();})();(function(){if(window.jQuery){(function($){$.cookies=jaaulde.utils.cookies;var extensions={cookify:function(options){return this.each(function(){var i,nameAttrs=['name','id'],name,$this=$(this),value;for(i in nameAttrs){if(!isNaN(i)){name=$this.attr(nameAttrs[i]);if(typeof name==='string'&&name!==''){if($this.is(':checkbox, :radio')){if($this.attr('checked')){value=$this.val();}}else if($this.is(':input')){value=$this.val();}else
{value=$this.html();}if(typeof value!=='string'||value===''){value=null;}$.cookies.set(name,value,options);break;}}}});},cookieFill:function(){return this.each(function(){var n,getN,nameAttrs=['name','id'],name,$this=$(this),value;getN=function(){n=nameAttrs.pop();return!!n;};while(getN()){name=$this.attr(n);if(typeof name==='string'&&name!==''){value=$.cookies.get(name);if(value!==null){if($this.is(':checkbox, :radio')){if($this.val()===value){$this.attr('checked','checked');}else
{$this.removeAttr('checked');}}else if($this.is(':input')){$this.val(value);}else
{$this.html(value);}}break;}}});},cookieBind:function(options){return this.each(function(){var $this=$(this);$this.cookieFill().change(function(){$this.cookify(options);});});}};$.each(extensions,function(i){$.fn[i]=this;});})(window.jQuery);}})();




/**
 * Cheesey Bread Hot Dogs
 * Get Tracking Version 3.2
 * ..........................................................................
 * this line must be added before _cbhd_getTracker_v3.js in header.php
 * <script language="javascript" type="text/javascript"> var refer = "<?php echo($_SERVER['HTTP_REFERER']); ?>"; </script>
 */
 
	$(document).ready(function(){
		
		/* Example URL ?_vsrefdom=LMRE-ppc_28455&utm_source=LMRE&utm_medium=PPC&utm_campaign=28455KOX&utm_context=Matt
		 * ..........................................................................................
 		 */
 		 
		
		/* Get Variables from URL
		------------------------------------------------- */
		var query					= window.location.search.substring(1);
		var utm_source 		= getQueryVariable('utm_source', query);
		var utm_medium 		= getQueryVariable('utm_medium', query);
		var utm_campaign 	= getQueryVariable('utm_campaign', query);
		var utm_context		= getQueryVariable('utm_context', query);
		var _vsrefdom 		= getQueryVariable('_vsrefdom', query);
		var entry_url			= window.location.href;
		
		
		/* Get Variables from Referrer (Google)
		------------------------------------------------- */
		var referrer_url = document.createElement('a');
		referrer_url.href = refer;
		
		// console.log(referrer_url.host);
		
		// if incomming has query
		if (query != '') {
			// do nothing -->
		}
		
		// if incoming from Google
		else if (referrer_url.hostname == "www.google.com") {
			utm_source 		= "google";
			utm_medium 		= "organic";
			utm_campaign	= "(organic)";
			// get the query string
			utm_context = unescape(getQueryVariable('q', referrer_url.search.substring(1)));
		}
		
		// if incoming from Yahoo
		else if (referrer_url.hostname == "search.yahoo.com") {
			utm_source 		= "yahoo";
			utm_medium 		= "organic";
			utm_campaign	= "(organic)";
			// get the query string
			utm_context = unescape(getQueryVariable('p', referrer_url.search.substring(1)));
		}
		
		// if incoming from Bing
		else if (referrer_url.hostname == "www.bing.com") {
			utm_source 		= "bing";
			utm_medium 		= "organic";
			utm_campaign	= "(organic)";
			// get the query string
			utm_context = unescape(getQueryVariable('q', referrer_url.search.substring(1)));
		}
		
		// if incoming not from Google and not from BG
		else if (referrer_url.hostname != window.location.hostname && referrer_url.hostname != "www.google.com") {
			utm_source 		= referrer_url.hostname;
			utm_medium 		= "referral";
			utm_campaign	= "(referral)";
		}
		
		// if direct link to BG
		else {
			utm_source 		= "direct";
			utm_campaign	= "(direct)";
		}
	
		/* Set the cookies for each, make sure it's a string
		------------------------------------------------- */
		setCookie('utm_source', 	utm_source.toString());
		setCookie('utm_medium', 	utm_medium.toString());
		setCookie('utm_campaign', utm_campaign.toString());
		setCookie('utm_context', 	utm_context.toString());
		setCookie('_vsrefdom', 		_vsrefdom.toString());
		setCookie('entry_url', 		entry_url.toString());
		setCookie('referrer_url', referrer_url.toString());
		
		
		
		/* Add hidden input fields to .wpcf7 forms
		------------------------------------------------- */	
		$('.wpcf7 form').each(function(){
			$(this).find('input[name=utm_context]').val($.cookies.get('utm_context'));
			$(this).find('input[name=utm_campaign]').val($.cookies.get('utm_campaign'));
			$(this).find('input[name=utm_medium]').val($.cookies.get('utm_medium'));
			$(this).find('input[name=utm_source]').val($.cookies.get('utm_source'));
			$(this).find('input[name=vsrefdom]').val($.cookies.get('_vsrefdom'));
			$(this).find('input[name=entry_url]').val($.cookies.get('entry_url'));
			$(this).find('input[name=referrer_url]').val($.cookies.get('referrer_url'));
		});
		
		
	});
	
	
	/* Split the query into variable value pairs
		------------------------------------------------- */	
		function getQueryVariable(variable, query) {
			var vars = query.split("&");
			for (var i=0;i<vars.length;i++) {
				var pair = vars[i].split("=");
				if(pair[0] == variable){
					return pair[1];
				}
			}
			return(false);
		}
	
	
	/* Check to see if the cookies is set yet
		------------------------------------------------- */	
		function setCookie(string, variable) {
			if ($.cookies.get(string)) {
				// don't do anything
				// console.log(string + ' is already set');
			} else {
				$.cookies.set(string, variable);
				// console.log(string + ' is being set');
			}
		}
		
	
	
	
	/* NOT USED - OLD FOR REFERENCE
		------------------------------------------------- 
	
		function getQueryVariable(variable) {
			var query = window.location.search.substring(1);
			var vars = query.split("&");
			for (var i=0;i<vars.length;i++) {
				var pair = vars[i].split("=");
				if(pair[0] == variable){
					return pair[1];
				}
			}
			return(false);
		}
		
		function falseTest(string, variable) {
				if (variable == false) {
					// don't do anything
				} else {
					$.cookies.set(string, variable);
				}
			}
		
		// testing
		//..................................................
			console.log("referer = " + referrer_url.href);
			console.log("search = " + referrer_url.search);
			console.log("host = " + referrer_url.host);
			console.log("google_query = " + google_query);
		
		*/
	
	
	
	
