﻿var serverTracking = "corpws1.ac-markets.com";

var ACMVisitor = {};

function setCookie(cookieName, cookieValue, daysExpirationNumber) {
    var dt = new Date();
    dt.setDate(dt.getDate() + daysExpirationNumber);
    document.cookie = cookieName + "=" + escape(cookieValue) +
        ((daysExpirationNumber == null) ? "" : "; expires=" + dt.toGMTString()) +
        "; path=/";
}

function getCookie(cookieName) {
    var result = "";
    if (document.cookie.length > 0) {
        strStart = document.cookie.indexOf(cookieName + "=");
        if (strStart != -1) {
            strStart = strStart + cookieName.length + 1;
            strEnd = document.cookie.indexOf(";", strStart);
            if (strEnd == -1) strEnd = document.cookie.length;
            result = unescape(document.cookie.substring(strStart, strEnd));
        }
    }
    return result;
}

function getQueryString(key) {
    var result = "";
    arrQueryString = window.location.search.substring(1).split("&");
    for (i = 0; i < arrQueryString.length; i++) {
        if (arrQueryString[i].split("=")[0].toLowerCase() == key.toLowerCase()) {
            result = arrQueryString[i].split("=")[1];
        }
    }
    return result;
}

function getACMVisitor() {
    return ACMVisitor;
}

function setACMVisitorCookieId(cookieId) {
    setCookie("cookieId", cookieId, 3650);
    ACMVisitor.cookieId = cookieId;

    var arrQueryStrings = new Array();
    arrQueryStrings["tp"] = ACMVisitor.trackPageId;
    arrQueryStrings["ck"] = ACMVisitor.cookieId;

    var strKey;
    var strQuerystring = "";
    for (strKey in arrQueryStrings) {
        if (arrQueryStrings[strKey] != "") {
            if (strQuerystring != "") { strQuerystring += "&" };
            strQuerystring += strKey + "=" + escape(arrQueryStrings[strKey]);
        }
    }
    callWs(strQuerystring, "TrackCookieId");
    setTextboxes();
    return false;
}

function callWs(param, serviceName) {
    var urlImageTracking = "http://" + serverTracking + "/ACMBank.Tracking.Service/" + serviceName + ".aspx?" + param + "&" + Math.random();
    var sc = document.createElement("img");
    sc.id = "acmbank" + serviceName;
    sc.height = "1px";
    sc.width = "1px";
    sc.src = urlImageTracking;
    document.getElementById("divTrackPage").appendChild(sc);
}

function setInfos() {
    var strSessionId = Math.uuid(25, 35);
    if (getCookie("sessionId") != "") {
        strSessionId = getCookie("sessionId")
    }
    setCookie("sessionId", strSessionId, 1);

    var strTrackPageId = strSessionId + "*" + Math.uuid(10, 10)

    ACMVisitor.sessionId = strSessionId;
    ACMVisitor.trackPageId = strTrackPageId;

    if (getCookie("cookieId") != "") {
        ACMVisitor.cookieId = getCookie("cookieId");
        setACMVisitorCookieId(ACMVisitor.cookieId);
    }

    var arrQueryStrings = new Array();
    arrQueryStrings["tp"] = strTrackPageId;
    arrQueryStrings["ss"] = strSessionId;
    arrQueryStrings["ck"] = ""; //strCookieId;
    arrQueryStrings["rf"] = document.referrer;
    arrQueryStrings["qs"] = window.location.search;

    arrQueryStrings["gc"] = getQueryString("gclid");
    arrQueryStrings["so"] = getQueryString("utm_source");
    arrQueryStrings["me"] = getQueryString("utm_medium");
    arrQueryStrings["te"] = getQueryString("utm_term");
    arrQueryStrings["co"] = getQueryString("utm_content");
    arrQueryStrings["ca"] = getQueryString("utm_campaign");

    var strKey;
    var strQuerystring = "";
    for (strKey in arrQueryStrings) {
        if (arrQueryStrings[strKey] != "") {
            if (strQuerystring != "") { strQuerystring += "&" };
            strQuerystring += strKey + "=" + escape(arrQueryStrings[strKey]);
        }
    }

    callWs(strQuerystring, "TrackPage");
    return false;
}

function setTextboxes() {
    if (document.getElementById("txtTrackPageId") != null) {
        document.getElementById("txtTrackPageId").value = ACMVisitor.trackPageId;
    }
    if (document.getElementById("txtCookieId") != null) {
        document.getElementById("txtCookieId").value = ACMVisitor.cookieId;
    }
    if (document.getElementById("txtSessionId") != null) {
        document.getElementById("txtSessionId").value = ACMVisitor.sessionId;
    }
}

if (getQueryString("partnerid") != "") ACMVisitor.partnerId = getQueryString("partnerid");
if (getQueryString("category") != "") ACMVisitor.category = getQueryString("category");
if (getQueryString("formName") != "") ACMVisitor.formName = getQueryString("formName");
