var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

var ga_loc = location.hostname;
var ga_path = location.pathname;

var pageTracker;

var extras = false;
var extraName = new Array("ga_campaign", "ga_keyword", "ga_ad_content", "ga_adgroup", "ga_landingpage"); // extra cookie names
var queryName = extraName;	// By default, query parameter names and extra cookie names are indentical
var utmName = new Array("ga_source", "ga_medium", "ga_campaign", "ga_keyword", "ga_ad_content", "ga_search_query");	// fieldname list
var utmValue = new Array();		// store field values here
var formListAfter = new Array("","_header","_main","_main2");
var formListBefore = new Array("","custom ga_","ga ");

function createCookie(name,value) {	// creates a 6 month cookie
	var date = new Date();
	date.setTime(date.getTime()+15768000000);
	var expires = "; expires="+date.toGMTString();
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {		// function to read cookie
	var nameRegex = RegExp("(?:;\\s|^)" + name + "=([^;]+)");	// match name of cookie and store value in $1
	nameValue = nameRegex.exec(document.cookie);
	if(nameValue) {	
		return nameValue[1];
	} else {
		return null;
	}
}

function readSubCookie(name, vari) {	// function to read subcookie of passed value of __utmz
	var nameRegex = RegExp("(?:\\||\\.)" + name + "=([^|]+)");
	nameValue = nameRegex.exec(vari);
	if(nameValue) {
		return nameValue[1];
	} else {
		return " ";
	}
}

function readQuery(name) { 	// function to read query parameters of query string
	var nameRegex = RegExp("(?:\\?|&)" + name + "=([^&]+)");
	nameValue = nameRegex.exec(location.search);
	if(nameValue) {
		return nameValue[1];
	} else {
		return null;
	}
}
	

function extraCookies() {	// creates and renews supplemental cookies 
	for (i = 0; i < extraName.length; i += 1) {
		var oldCookieValue = readCookie(extraName[i]);
		var newCookieValue = readQuery(queryName[i]);
		
		if (i === 4) { 
			if (!oldCookieValue) { 
				createCookie(extraName[i], ga_path);
			}	
		} else if (newCookieValue || (oldCookieValue && !(readCookie("__utmb") || readCookie("__utmc")))) {
			createCookie(extraName[i], newCookieValue);
		}
	}
	extras = true;
}

function parseCookies() {
	var c2 = readCookie("__utmz"); 			// This gets the cookie
	var gclid = readSubCookie("utmgclid",c2);	// read utmgclid subcookie
	if(gclid!=" ") {		// read values for adwords
		
		utmValue[0] = "google";
		utmValue[1] = "cpc";
		utmValue[2] = "google";
		utmValue[3] = " ";
		utmValue[4] = " ";
		
		if (extras) {	// when supplemental cookies are enabled
			for(i = 2; i < 5; i += 1) { 
				var extraValue = readCookie(utmName[i].replace(/\s/g,"_").toLowerCase()) // check for each cookie
				if(extraValue) {
					utmValue[i] = extraValue;
				}
			}
		} 
	} else {	// read values for non-adwords
		utmValue[0] = readSubCookie("utmcsr", c2);
		utmValue[1] = readSubCookie("utmcmd", c2);
		utmValue[2] = readSubCookie("utmccn", c2);
		utmValue[3] = readSubCookie("utmctr", c2);
		utmValue[4] = readSubCookie("utmcct", c2);
	}
	utmValue[5] = " ";
	if (extras) {
		utmName[6] = "ga_adgroup";
		utmValue[6] = " ";
		utmName[7] = "ga_landingpage";
		utmValue[7] = readCookie(utmName[7]);
	}
	if (utmValue[1] === "cpc") {
		searchQuery = readCookie("__utmv");
		if(searchQuery) {
			searchValue = /^[0-9]+\.(.+)/.exec(searchQuery);
			if(searchValue) {
				utmValue[5] = searchValue[1];
			}
		}
		
		if (extras) {
			var adgroup = readCookie("ga_adgroup");
			if(adgroup) {
				utmValue[6] = adgroup;
			}
		}
	}
}


function modifyForm(name) {
	if(name) { // if adding hidden fields to named form
		if(document.forms[name]) {
			parseCookies(); 		// read cookies and set values
			ga_Limiter();
			for(i=0;i<utmName.length;i++) {
				var gaField = document.createElement("input");
				gaField.setAttribute("name", utmName[i]);
				gaField.setAttribute("value",utmValue[i]);
				gaField.setAttribute("type","hidden");
				document.forms[name].appendChild(gaField);
			}
		}
	} else { // if modifying existing fields
		parseCookies(); 		// read cookies and set values
		ga_Limiter();
		for(i=0;i<formListAfter.length;i++) {
			for (l=0;l<formListBefore.length;l++) {
				for(j=0;j<utmName.length;j++) {
					if(document.getElementById(formListBefore[l] + utmName[j].replace(/\s/g,"_") + formListAfter[i])) { 
						document.getElementById(formListBefore[l] + utmName[j].replace(/\s/g,"_") + formListAfter[i]).value = utmValue[j]; 
					}
					var fieldName=document.getElementsByName(formListBefore[l] + utmName[j].replace(/\s/g,"_") + formListAfter[i]);
					if(fieldName) {
						for(k=0;k<fieldName.length;k++) {
							fieldName[k].value = utmValue[j];
						}
					}
				}
			}
		}
	}
}

function ga_Limiter(){
	if (utmValue[0] && utmValue[0].length > 30){
		utmValue[0] = utmValue[0].substring(0,30);
	}
	if (utmValue[1] && utmValue[1].length > 10){
		utmValue[1] = utmValue[1].substring(0,10);
	}
	if (utmValue[2] && utmValue[2].length > 50){
		utmValue[2] = utmValue[2].substring(0,50);
	}
	if (utmValue[3] && utmValue[3].length > 60){
		utmValue[3] = utmValue[3].substring(0,60);
	}
	if (utmValue[5] && utmValue[5].length > 60){
		utmValue[5] = utmValue[5].substring(0,60);
	}
	if (utmValue[6] && utmValue[6].length > 30){
		utmValue[6] = utmValue[6].substring(0,30);
	}
	if (utmValue[7] && utmValue[7].length > 60){
		utmValue[7] = utmValue[7].substring(0,60);
	}
}

function noPercent(x) {
	x = unescape(x);
	return x.replace(/\+/g, " ").replace(/(^ +| +$)/g, "");
}

function sleuth() {
	var cpcValue = "cpc - ", userdef, cpcregexp, ref, re, searchq;
	if (location.search.indexOf("gclid") !== -1 || location.search.indexOf("cpc") !== -1) {	
		userdef = readCookie("__utmv");
		cpcregexp = new RegExp(/^cpc - /);
		if (!userdef || !cpcregexp.exec(userdef)) {
			ref = document.referrer;
			re = new RegExp(/(?:\?|&)(?:q|p|query|encquery|qt|terms|rdata|qs|wd|text|szukaj|k|searchExpr|search_for|string|search_query|searchfor)=([^&]+)/);
			searchq = re.exec(ref);
			if (searchq) { 
				cpcValue += noPercent(searchq[1]);
			} else {
				cpcValue += "Paid Referral: "; 
				cpcValue += ref;
			}
			pageTracker._setVar(cpcValue);
		}
	}
}

expertsregexp	= new RegExp(/504experts\.com/);
expertsconv 	= new RegExp(/\/landing\-thank\-you\/general\.php/);
medicalregexp	= new RegExp(/medicalpropertyloans\.com/);
medicalconv 	= new RegExp(/\/med\-thank\-you\.html/);
hotelregexp		= new RegExp(/hotel\-financing\.com/);
hotelconv 		= new RegExp(/\/hotel\-thank\-you\.html/);
daycareregexp	= new RegExp(/daycare\-loans\.com/);
daycareconv 	= new RegExp(/\/thank\-you\-daycare/);
smartregexp		= new RegExp(/thesmartchoiceloan\.com/);
smartconv 		= new RegExp(/\/(thank\-you\-for\-signing\-up|thank\-you\-for\-requesting\-our\-free\-reports)/);

function runGA() {            
	if(typeof(_gat)=='object') {
		if (expertsregexp.exec(ga_loc)){ //if the code runs on 504experts.com
			try{
				pageTracker = _gat._getTracker('UA-231401-1');
				pageTracker._setDomainName("504experts.com");
				pageTracker._trackPageview();
				sleuth();
				extraCookies();
				modifyForm("signupform");
			}catch(err){}
		}
		else if (medicalregexp.exec(ga_loc)){ //if the code runs on medicalpropertyloans.com
			try{
				pageTracker = _gat._getTracker('UA-231401-4');
				pageTracker._setDomainName("medicalpropertyloans.com");
				pageTracker._trackPageview();
				sleuth();
				extraCookies();
				modifyForm("signupform");
			}catch(err){}
		}
		else if (hotelregexp.exec(ga_loc)){ //if the code runs on hotel-financing.com
			try{
				pageTracker = _gat._getTracker('UA-231401-4');
				pageTracker._setDomainName("hotel-financing.com");
				pageTracker._trackPageview();
				sleuth();
				extraCookies();
				modifyForm("signupform");
			}catch(err){}
		}
		else if (daycareregexp.exec(ga_loc)){ //if the code runs on daycare-loans.com
			try{
				pageTracker = _gat._getTracker('UA-231401-4');
				pageTracker._setDomainName("daycare-loans.com");
				pageTracker._trackPageview();
				sleuth();
				extraCookies();
				modifyForm("signupform");
			}catch(err){}
		}
		else if (smartregexp.exec(ga_loc)){ //if the code runs on smartchoiceloan.com
			try{
				pageTracker = _gat._getTracker('UA-231401-6');
				pageTracker._setDomainName("thesmartchoiceloan.com");
				pageTracker._trackPageview();
				sleuth();
				extraCookies();
				modifyForm("signupform");
			}catch(err){}
		}	
	} else {
		setTimeout(function () { 
			runGA(); 
		}, 100);
	}
}

runGA();
if (expertsregexp.exec(ga_loc)&&expertsconv.exec(ga_path)){
	window.ysm_customData = new Object();
	window.ysm_customData.conversion = "transId=,currency=,amount=";
	var ysm_accountid  = "127TB6OTNITCLSCJLCOLSP5DG3O";
	var google_conversion_id = 1070250692;
	var google_conversion_language = "en_US";
	var google_conversion_format = "1";
	var google_conversion_color = "ffffff";
	var google_conversion_label = "D34dCM7YnwEQxPWq_gM";
	var google_conversion_value = 0;
	document.write(unescape('%3Cscript language="JavaScript" src="http://www.googleadservices.com/pagead/conversion.js"%3E%3C/script%3E'));
	document.write("<SCR" + "IPT language='JavaScript' type='text/javascript' " 
+ "SRC=//" + "srv2.wa.marketingsolutions.yahoo.com" + "/script/ScriptServlet" + "?aid=" + ysm_accountid 
+ "></SCR" + "IPT>");
}
if (medicalregexp.exec(ga_loc)&&medicalconv.exec(ga_path)){
	var google_conversion_id = 1070250692;
	var google_conversion_language = "en_US";
	var google_conversion_format = "1";
	var google_conversion_color = "ffffff";
	var google_conversion_label = "ATQlCKbkkQEQxPWq_gM";
	var google_conversion_value = 0;
	document.write(unescape('%3Cscript language="JavaScript" src="http://www.googleadservices.com/pagead/conversion.js"%3E%3C/script%3E'));
	document.write("<SCR" + "IPT language='JavaScript' type='text/javascript' " 
+ "SRC=//" + "srv2.wa.marketingsolutions.yahoo.com" + "/script/ScriptServlet" + "?aid=" + ysm_accountid 
+ "></SCR" + "IPT>");
}
if (hotelregexp.exec(ga_loc)&&hotelconv.exec(ga_path)){
	var google_conversion_id = 1070250692;
	var google_conversion_language = "en_US";
	var google_conversion_format = "1";
	var google_conversion_color = "ffffff";
	var google_conversion_label = "AYH3CO6BkQEQxPWq_gM";
	var google_conversion_value = 0;
	document.write(unescape('%3Cscript language="JavaScript" src="http://www.googleadservices.com/pagead/conversion.js"%3E%3C/script%3E'));
	document.write("<SCR" + "IPT language='JavaScript' type='text/javascript' " 
+ "SRC=//" + "srv2.wa.marketingsolutions.yahoo.com" + "/script/ScriptServlet" + "?aid=" + ysm_accountid 
+ "></SCR" + "IPT>");
}
if (daycareregexp.exec(ga_loc)&&daycareconv.exec(ga_path)){
	var google_conversion_id = 1070250692;
	var google_conversion_language = "en_US";
	var google_conversion_format = "1";
	var google_conversion_color = "ffffff";
	var google_conversion_label = "kmKECIrgkQEQxPWq_gM";
	var google_conversion_value = 0;
	document.write(unescape('%3Cscript language="JavaScript" src="http://www.googleadservices.com/pagead/conversion.js"%3E%3C/script%3E'));
	document.write("<SCR" + "IPT language='JavaScript' type='text/javascript' " 
+ "SRC=//" + "srv2.wa.marketingsolutions.yahoo.com" + "/script/ScriptServlet" + "?aid=" + ysm_accountid 
+ "></SCR" + "IPT>");
}
if (smartregexp.exec(ga_loc)&&smartconv.exec(ga_path)){
	var google_conversion_id = 1070250692;
	var google_conversion_language = "en_US";
	var google_conversion_format = "1";
	var google_conversion_color = "ffffff";
	var google_conversion_label = "wgxqCKiNoQEQxPWq_gM";
	var google_conversion_value = 0;
	document.write(unescape('%3Cscript language="JavaScript" src="http://www.googleadservices.com/pagead/conversion.js"%3E%3C/script%3E'));
	document.write("<SCR" + "IPT language='JavaScript' type='text/javascript' " 
+ "SRC=//" + "srv2.wa.marketingsolutions.yahoo.com" + "/script/ScriptServlet" + "?aid=" + ysm_accountid 
+ "></SCR" + "IPT>");
}