﻿//returns querystring values for a variable
function GetQueryStringVal(varName) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    if (query != "" && vars.length > 0) {
        for (var i = 0; i < vars.length; i++) {
            var pair = vars[i].split("=");
            if (pair[0].toLowerCase() == varName.toLowerCase()) {
                return pair[1];
            }
        }
    }
    else {
        return null;
    }
}

// this fixes an issue with the old method, ambiguous values
// with this test document.cookie.indexOf( name + "=" );
function GetCookie(check_name) {
    // first we'll split this cookie up into name/value pairs
    // note: document.cookie only returns name=value, not the other components
    var a_all_cookies = document.cookie.split(';');
    var a_temp_cookie = '';
    var cookie_name = '';
    var cookie_value = '';
    var b_cookie_found = false; // set boolean t/f default f

    for (i = 0; i < a_all_cookies.length; i++) {
        // now we'll split apart each name=value pair
        a_temp_cookie = a_all_cookies[i].split('=');


        // and trim left/right whitespace while we're at it
        cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

        // if the extracted name matches passed check_name
        if (cookie_name == check_name) {
            b_cookie_found = true;
            // we need to handle case where cookie has no value but exists (no = sign, that is):
            if (a_temp_cookie.length > 1) {
                cookie_value = unescape(a_temp_cookie[1].replace(/^\s+|\s+$/g, ''));
            }
            // note that in cases where cookie is initialized but no value, null is returned
            return cookie_value;
            break;
        }
        a_temp_cookie = null;
        cookie_name = '';
    }
    if (!b_cookie_found) {
        return null;
    }
}

//check if campaign and kw cookies are set; if yes populate campaign and keyword fields.
function InitCampaignIdAndKw() {
    var CampaignId = document.getElementById("CampaignId");
    var kw = document.getElementById("Keyword");
    var EnforceHidden = document.getElementById("EnforceHidden");

    if (typeof(EnforceHidden) != "undefined" && (EnforceHidden == null || EnforceHidden.value.toLowerCase() != "true")) {
        if (GetCookie("CampaignId") != null) {
            CampaignId.value = GetCookie("CampaignId");
        }
        else if (CampaignId != null && CampaignId.value == "" && GetQueryStringVal("CampaignId") != null) {
            CampaignId.value = GetQueryStringVal("CampaignId");
        }

        if (GetCookie("KW") != null) {
            kw.value = GetCookie("KW");
        }
        else if (kw != null && kw.value == "" && GetQueryStringVal("KW") != null) {
            kw.value = GetQueryStringVal("KW");
        }
    }
}

// Checks if querystrings exist and sets cookies
function SetCampaignIdAndKw() {
    var expVal = 90;
    if (GetQueryStringVal("CampaignId") != null) {
        SetCookie("CampaignId", GetQueryStringVal("CampaignId"), expVal);
    }
    if (GetQueryStringVal("KW") != null) {
        SetCookie("KW", GetQueryStringVal("KW"), expVal);
    }
}

function SetCookie(name, value, expireDay) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + expireDay);
    document.cookie = name + "=" + escape(value) +
        (";path=/;") +
        ((expireDay == null) ? "" : ";expires=" + exdate.toGMTString());
}
function InitCookie() {
    if (typeof (InitContactForm) != "undefined" && InitContactForm != null && InitContactForm == true) {
        InitForm();
    }
    SetCampaignIdAndKw();
    InitCampaignIdAndKw();
    
}

window.onload = InitCookie;
