mmcore.SetCookie('mmid','-1440640737|AQAAAAob+AtfpAwAAA==',365,1);mmcore.SetCookie('pd','-484686692|AQAAAAoBQhv4C1+kDOGgy04BAN+hfPXu6tJIDwAAAN+hfPXu6tJIAAAAAP//////////AAZEaXJlY3QBpAwBAAAAAAAAAAAAAP///////////////wAAAAAAAUU=',365);mmcore.SetCookie('srv','nycvwcgus02',365);(function(){if(typeof(mmcore.GenInfo)!='object')mmcore.GenInfo={};mmcore.EH=function(e){var s=e.message+'\r\n';if(!window.mm_error)window.mm_error=s;else window.mm_error+=s;};
try{
;(function(){
    if(window.visitorID){
        mmcore.SetVisitorID(visitorID, 2);
        mmcore.SetPageID('mmevents');
        mmcore.CGRequest();
    }
})();
}catch(err){mmcore.EH(err);}
try{
;(function(){
    var sent = {},
    sendAnalytics = function(){
        var GI = mmcore.GenInfo, str, campaign, el, request;
        for(campaign in GI){
            if(sent[campaign]) continue;
            sent[campaign] = 1;
            str = 'testName=' + campaign;
            for(el in GI[campaign])
                str += '&' + el + '=' + GI[campaign][el];
            request = new XMLHttpRequest();
            request.open("GET", "/Log/AppendToLogMultiple/?" + str, true);        
            request.onreadystatechange = function(){	
              if(request.readyState == 4 && request.status == 200 && mmcore._integrationCallback)
                mmcore._integrationCallback();	
            };	
            request.send();
        }
    };
    mmcore.CGRequest = (function(orig){
        return function(callback){
            var cbNew = callback ? function(){ callback(); sendAnalytics(); } : sendAnalytics;
            return orig.call(this, cbNew);
        };
    })(mmcore.CGRequest);
    sendAnalytics();  
})();


}catch(err){mmcore.EH(err);}
try{
;(function(){
	function bind(el, func){
		if(el.addEventListener){
			el.addEventListener('beforeprint', func, false);
		}else if(el.attachEvent){
			el.attachEvent('onbeforeprint', func);
		}	
	}

	if(navigator.userAgent.match(/msie/i)){
		bind(window, function(){
			var nodes = document.getElementsByTagName('script'),
				i;

			for(i = nodes.length; i--;){
				if((nodes[i].id || '').match(mmcore.cprefix))
					nodes[i].removeAttribute('src');
			}
		});
	}
})();

}catch(err){mmcore.EH(err);}
try{
/** 
* Maxymiser - Google Analytics Integration 
* 
* account          : required. {string}            UA-2108837-10 
* campaignName     : required. {String}            must be exactly what is set in the UI 
* slotNumber       : required. {Int 1-50}          GA custom variable slot # 1-50. Basic accounts have 1-5. 
* 
*/  
mmcore.GA = function (account, campaignName, slotNumber, _optCallback) {  
    var m = mmcore,
        foundGA;  
    if (!account || !campaignName || !slotNumber) {  
        return m.EH({  
            message: '(mm_GA) insufficient arguments'  
        });  
    }  
    var GI = m.GenInfo[campaignName],  
        keys = [],  
        output = [];  
    if (!GI) {  
        return m.EH({  
            message: '(mm_GA) Campaign Not Found: ' + campaignName  
        });  
    }  
    if (slotNumber < 1 || slotNumber > 50 || isNaN(parseFloat(slotNumber)) || !isFinite(slotNumber)) {  
        return m.EH({  
            message: '(mm_GA) invalid slot number'  
        });  
    }  
    for (var key in GI) {  
        keys.push(key);  
    }  
    keys.sort();  
    for (var i = 0; i < keys.length; i++) output.push(keys[i] + ':' + GI[keys[i]]);  
    var campaignInfo = (campaignName + '=' + output.join('|')).toLowerCase(),  
        varKey = (mmcore._vars.cfgid === '1') ? campaignName + " Sand" : campaignName + " Prod";  
  
  
    function sendGA() {  
        window._gaq = window._gaq || [];  
        window._gaq.push(  
            ["mmGA._setAccount", account], ['mmGA._setCustomVar', slotNumber, varKey, campaignInfo, 2], ['mmGA._trackEvent', 'Maxymiser', campaignName, campaignInfo, undefined, true]  
        );  
        if (typeof opt_Callback == 'function') opt_Callback();  
    }  
    var waitForGA = setInterval(function () {  
        if (!window._gaq || typeof window._gaq.push !== 'function') return;  
        clearInterval(waitForGA);  
        foundGA = true;  
        sendGA();  
    }, 50);  
    mmcore.AddDocLoadHandler(function () {  
        setTimeout(function () {  
            if (!foundGA) {  
                clearInterval(waitForGA);  
                m.EH({  
                    message: 'mmcore.GA: no _gaq.push method found'  
                });  
            }  
        }, 4000);  
    });  
} // end mmcore.GA()
}catch(err){mmcore.EH(err);}
try{
;
(function () {
    // Only accepts strings. No booleans.
    var criteria = {
        epmCustomer: '',
        PC2: '',
        PC3: '',
        TrafficSource: '',
        Age: '',
        CreditLevel: '',
        Education: '',
        Homeowner: '',
        MaritalStatus: '',
        CMTSegment: ''
    },
    map = {
        48812388: ['Age', '18-24Lotame'],
        48812414: ['Age', '35-44Lotame'],
        48810437: ['Age', '25-34Lotame'],
        48810458: ['Age', '45-54Lotame'],
        48812424: ['Age', '55PlusLotame'],
        48812448: ['Age', '18-24Epsilon'],
        48810473: ['Age', '35-44Epsilon'],
        48812454: ['Age', '25-34Epsilon'],
        48812475: ['Age', '45-54Epsilon'],
        48812492: ['Age', '55PlusEpsilon'],
        48853209: ['CreditLevel', 'PoorLotame'],
        48853221: ['CreditLevel', 'GoodLotame'],
        48853230: ['CreditLevel', 'ExcellentLotame'],
        48859175: ['CreditLevel', 'PoorEpsilon'],
        48855385: ['CreditLevel', 'GoodEpsilon'],
        48855392: ['CreditLevel', 'ExcellentEpsilon'],
        48854839: ['Education', 'HighSchoolLotame'],
        48853185: ['Education', 'CollegeLotame'],
        48853202: ['Education', 'AdvancedDegreeLotame'],
        48855369: ['Education', 'HighSchoolEpsilon'],
        48859000: ['Education', 'CollegeEpsilon'],
        48859017: ['Education', 'AdvancedDegreeEpsilon'],
        48853278: ['Homeowner', 'RenterLotame'],
        48855321: ['Homeowner', 'HomeownerLotame'],
        48810661: ['Homeowner', 'RenterEpsilon'],
        48810647: ['Homeowner', 'HomeownerEpsilon'],
        48853235: ['MaritalStatus', 'SingleLotame'],
        48853243: ['MaritalStatus', 'MarriedLotame'],
        48810635: ['MaritalStatus', 'SingleEpsilon'],
        48810641: ['MaritalStatus', 'MarriedEpsilon'],
        48971848: ['CMTSegment', 'Choice'],
        48971868: ['CMTSegment', 'Value'],
        48971853: ['CMTSegment', 'Basic'],
        48972352: ['CMTSegment', 'Select'],
        48971895: ['CMTSegment', 'Essential'],
        999999:   ['MaritalStatus', 'Test Segment']
    };

    function restore() {
        var storedData = JSON.parse(mmcore.GetCookie('mm_pc', 1) || '{}');

        for (var key in criteria) {
            criteria[key] = storedData[key] || criteria[key];
        }

        mmcore.AddDocLoadHandler(calculate);
    }

    function store() {
        mmcore.SetCookie('mm_pc', JSON.stringify(criteria), 365, 1);
    }

    function calculate() {
        // epmCustomer

        // code here to populate 'epmCustomer'
        criteria['epmCustomer'] = epm.UserSegment;

        //calculate traffic source
        var traffic = /code=/.test(location.search) ? location.search.match(/code=\d*/).toString().replace(/code=/, '') : '',
            segmentIDs = mmcore.GetCookie('mm_turn_segmentID', 1) || ''; // ",111111,222222,333333,444444,"

        if (traffic === '8004309008' || traffic === '9003849005') {
            criteria['TrafficSource'] = 'PaidSearchGen';
        } else if (traffic === '8004309007' || traffic === '9003849004') {
            criteria['TrafficSource'] = 'PaidSearchBrand';
        } else if (traffic.substr(0, 5) === '99036') {
            criteria['TrafficSource'] = 'Display';
        } else {
            criteria['TrafficSource'] = 'Unknown';
        }

        //tracks Age, CreditLevel, Education, Homeowner, MaritalStatus, CMTSegment criterias
        for (var key in map) {
            if (segmentIDs.indexOf(','+key+',')+1) {
                criteria[map[key][0]] = map[key][1];
            }
        }

        store();
    }

    mmcore.getCriteria = function () {
        calculate();

        if (mmcore.GetCookie('crm')) mmcore.SetVisitorID(mmcore.GetCookie('crm'), 1);

        return criteria;
    };

    // init
    restore();

})();
}catch(err){mmcore.EH(err);}
try{
;(function () {
	mmcore.snippets = mmcore.snippets || {};
	mmcore.snippets.Style = function (css) {
		var doc = document, st = doc.createElement("style");
		st.type = "text/css";
		st.media = "screen";
		function attach(css) {
			if (st && css) {
				if (st.styleSheet) {
					st.styleSheet.cssText += css;
				} else {
					st.innerHTML += css;
				}
			}
		}

		function detach() {
			st && st.parentNode.removeChild(st);
			st = null;
		}

		attach(css);
		var mm = doc.getElementById(mmcore.cprefix + 1);
		mm.parentNode.insertBefore(st, mm);
		return {
			attach: attach,
			detach: detach
		}
	}
}());
}catch(err){mmcore.EH(err);}
try{
;(function () {
	mmcore.snippets = mmcore.snippets || {};
	mmcore.snippets.EventManager = function () {
		var eventPool = {};
		var eventListeners = {};
		this.trigger = function (event_type, event_data, callback) {
			eventPool[event_type] = {
				event_data: event_data,
				callback: callback
			};
			eventListeners[event_type] = eventListeners[event_type] || [];
			for (var i = 0; i < eventListeners[event_type].length; i++) {
				try {
					eventListeners[event_type][i](event_data);
				} catch (e) {
					mmcore.EH && mmcore.EH(e)
				}
			}
			callback && callback();
		};
		this.on = function (event_type, callback) {
			var lastData = eventPool[event_type];
			if (lastData) {
				try {
					callback(lastData.event_data);
				} catch (e) {
					mmcore.EH && mmcore.EH(e)
				}
				setTimeout(function () {
					lastData.callback && lastData.callback();
					lastData.callback = null;
				}, 0);
			}
			eventListeners[event_type] = eventListeners[event_type] || [];
			eventListeners[event_type].push(callback);
		};
	};
	mmcore.snippets.EventManager.call(mmcore)
}());
}catch(err){mmcore.EH(err);}
try{
$(function() {
  $(".quoteRetrieve").submit(function() {
    var formElement = $(this).closest("form");
    var product = $('[id^="product"]',formElement).val();
    mmcore._async = true;
    mmcore.SetAction("Auto_Retrieve", 1, product);
    mmcore.SetPageID("mmevents");
    mmcore.CGRequest();
  });
  
  $("a:contains('Make a Payment')").click(function() {
    mmcore._async = true;
    mmcore.SetAction("OLS_Make_Payment", 1);
    mmcore.SetPageID("mmevents");
    mmcore.CGRequest();
  });
  
  $("a:contains('Log In')").click(function() {
    mmcore._async = true;
    mmcore.SetAction("OLS_Login", 1);
    mmcore.SetPageID("mmevents");
    mmcore.CGRequest();
  });
});
}catch(err){mmcore.EH(err);}
if(typeof mmcore._callback=='object'&&typeof mmcore._callback[1]=='function'){try{mmcore._callback[1]();}catch(err){mmcore.EH(err);}
finally{mmcore._callback[1]=null;}}
})();