﻿var snhuCookie = {};

snhuCookie.GetQueryStringParameter = function (name) {
    name = String(name).replace(/[.*+?|()[\]{}\\]/g, '\\$&');
    var match = RegExp('[?&]' + name.toLowerCase() + '=([^&]*)').exec(window.location.search.toLowerCase());
    return match && (decodeURIComponent(match[1].replace(/\+/g, ' ')));
}
snhuCookie.GetCookieByName = function (name) {
    var pos = document.cookie.indexOf(name + '=');
    if (pos == -1) {
        return null;
    } else {
        var pos2 = document.cookie.indexOf(';', pos);
        if (pos2 == -1) {
            return unescape(document.cookie.substring(pos + name.length + 1));
        } else {
            return unescape(document.cookie.substring(pos + name.length + 1, pos2));
        }
    }
}

snhuCookie.BuildSnhuReferrerCookie = function () {
	var defaultReferrer = '?utm_source=snhu&utm_medium=webform&utm_content=01&utm_campaign=SNHUEDU&SNHU_Segment=Unknown';
	var source = snhuCookie.GetQueryStringParameter('utm_source');
	var medium = snhuCookie.GetQueryStringParameter('utm_medium');
	var content = snhuCookie.GetQueryStringParameter('utm_content');
	var campaign = snhuCookie.GetQueryStringParameter('utm_campaign');
	var segment = snhuCookie.GetQueryStringParameter('SNHU_Segment');
	if (segment == 'null' ) {
		segment = "ol";
	}

	var currentCookie = snhuCookie.GetCookieByName('GoogleString');
	var cookieString = '?utm_source=' + source + '&utm_medium=' + medium + '&utm_content=' + content + '&utm_campaign=' + campaign + '&SNHU_Segment=' + segment;
	var date = new Date();
	date.setTime(date.getTime() + (1000 * 60 * 60 * 48));

	if (source !== null && source != '') {
		if ((currentCookie === null) || (medium.toLowerCase() == "ban" || medium.toLowerCase() == "ppc" || medium.toLowerCase() == "c2c" || medium.toLowerCase() == "directmail" || medium.toLowerCase() == "display" || medium.toLowerCase() == "socialmedia" || medium.toLowerCase() == "txt") || (medium.toLowerCase() == "email" && source.toLowerCase() != "snhu")) {
			snhuCookie.WriteCookie('GoogleString', cookieString, date);
			$('input[name="PageID"]').val(cookieString);
		}
		else if (currentCookie.indexOf('medium%3Dban') > -1 || currentCookie.indexOf('medium%3Dppc') > -1 || currentCookie.indexOf('medium%3Dc2c') > -1 || currentCookie.indexOf('medium%3Ddirectmail') > -1 || currentCookie.indexOf('medium%3Ddisplay') > -1 || currentCookie.indexOf('medium%3Dsocialmedia') > -1 || currentCookie.indexOf('medium%3Dtxt') > -1 || (currentCookie.indexOf('medium%3Demail') > -1 && !currentCookie.indexOf('source%3Dsnhu') > -1)) {
			snhuCookie.WriteCookie('GoogleString', cookieString, date);
			$('input[name="PageID"]').val(cookieString);
		}
	}
	else {
		if (currentCookie !== null) {
			$('input[name="PageID"]').val(unescape(currentCookie));
		}
		else {
			$('input[name="PageID"]').val(defaultReferrer);
		}
	}
}

snhuCookie.WriteCookie = function (cookieName, cookieValue, cookieExpiresDate) {
    var cookieString = escape(cookieValue);
    var date = cookieExpiresDate;
    document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + cookieExpiresDate + ';path=/';
}

$(function () {
	snhuCookie.BuildSnhuReferrerCookie();
});
