﻿
if (typeof (synovatePopup) == 'undefined')
{ synovatePopup = {}; }

// url for survey
synovatePopup.urlSurvey = 'http://w.synovate.no/urlizer.asp?qif=D402CF49374E4934B109EDD722B5308A';

// random likeliness in percent for getting the survey
synovatePopup.surveyLikelinessPercent = 100;

// how long should it take before hitting the site until popup appears
synovatePopup.firstLevelElapsedTimeInSeconds = 20;

// how long should it take to snooze the popup
synovatePopup.secondLevelElapsedTimeInSeconds = 120;

// expiration length of the cookie
synovatePopup.cookiesExpiresInDays = 30;

// if you want the survey to autoclose, set length of seconds (turned off: -1)
synovatePopup.secondsPopupVisibleBeforeClose = -1;

// get debug information on the page
synovatePopup.debugMode = false;

//starts on each page request
$(document).ready(function() {
    if (synovatePopup.UserHasSeenSurvey() == false) {
        synovatePopup.TimerTick();
    }

    //show trace
    synovatePopup.showDebugInfoInTitle();

    //count pages for test
    synovatePopup.AddPageVisit();
});

synovatePopup.StartSurveyTimer = function() {
    setTimeout("synovatePopup.TimerTick()", 1000);
}

synovatePopup.TimerTick = function() {
    //check if we will launch survey
    if (synovatePopup.GetTimeSpentOnPage() == null) {
        synovatePopup.SetTimeVisited();
    }

    //get time elapsed since first hit
    var dateNow = new Date();
    var secondElapsedSinceStart = synovatePopup.GetSecondsBetween(synovatePopup.GetTimeSpentOnPage(), dateNow.getTime());

    //show trace
    synovatePopup.showDebugInfoInTitle();

    //we exit here if user has seen survey
    if (synovatePopup.UserHasSeenSurvey() == true) return;

    //first check second level
    if (secondElapsedSinceStart > synovatePopup.secondLevelElapsedTimeInSeconds) {
        synovatePopup.AddUserHasSeenSurvey();
        synovatePopup.AddLevelReachedCookie(2);
        synovatePopup.ShowSurveyWindow();
        return;
    }
    //then check first level
    else if (secondElapsedSinceStart > synovatePopup.firstLevelElapsedTimeInSeconds && synovatePopup.GetLevelReached() != 1) {
        //mark that level 1 was reached here
        synovatePopup.AddLevelReachedCookie(1);
        if (synovatePopup.IsUserSelected() == true) {
            synovatePopup.AddUserHasSeenSurvey();
            synovatePopup.ShowSurveyWindow();
            return;
        }
    }

    //start again
    synovatePopup.StartSurveyTimer();
}

synovatePopup.ShowSurveyWindow = function() {

    var height = $(document).height()

    $("<div id='synovatePopupWrapper' style='display:none; position: absolute; margin:0; padding: 0; text-align:center; top:0; left:0; position:absolute; width:100%;'>" +
        "<div style='width: 955px; height: 106px; padding:5px 20px; top:0; left:0; margin-left: auto; margin-right: auto; background-color: #FFFFFF; border: 2px solid #C72127; text-align:left; position:relative;'>" +
        "<img onclick='synovatePopup.synovateBtnCancelClick();' src='media/fileclose.png' alt='' style='position: absolute; right:0; top: 0; cursor:pointer;' />" +
        "<div style='font-family: Arial,Helvetica,sans-serif;font-size:1.7em;font-weight:bold;margin-bottom:5px;'>Unders&oslash;kelse</div>" +
        "<span style='font-family: Arial,Helvetica,sans-serif; font-size: 1.3em;'>Hei! Synovate MMI gjennomf&oslash;rer p&aring; vegne av Skeidar en liten unders&oslash;kelse p&aring; disse sidene, som vi gjerne vil at du svarer p&aring;. Unders&oslash;kelsen tar 4-5 minutter og vi trekker 3 gavekort á 1000, som kan benyttes i alle Skeidar-varehus.</span> " +
        "<span style='font-family: Arial,Helvetica,sans-serif; font-size: 1.3em;'>Dine personlige opplysninger vil bli behandlet konfidensielt, og vil ikke kunne kobles opp mot dine svar p&aring; sp&oslash;rreunders&oslash;kelsen.</span>" +
        "<div style='height:30px; padding-top:7px;'><span style='font-family: Arial,Helvetica,sans-serif;font-weight:bold; font-size: 1.3em;cursor:pointer;color: #666666;text-decoration:underline; padding: 3px 10px; border: 1px solid #999999; background-color:#FAD03C;' onclick='synovatePopup.synovateBtnOKClick();'>Ja takk, gi meg unders&oslash;kelsen n&aring;</span>" +
        "<span style='font-family: Arial,Helvetica,sans-serif; font-size: 1.3em;cursor:pointer;color: #666666;text-decoration:underline; margin-left: 10px;' onclick='synovatePopup.synovateBtnLaterClick();'>Sp&oslash;r meg om 2 minutter</span>" +
        "<span style='font-family: Arial,Helvetica,sans-serif; font-size: 1.3em;cursor:pointer;color: #666666;text-decoration:underline; margin-left: 10px;' onclick='synovatePopup.synovateBtnCancelClick();'>Nei takk</span>" +
        "</div></div></div>").appendTo(document.body).slideDown(1000);

    synovatePopup.StartClosePopupTimer();
}

synovatePopup.StartClosePopupTimer = function() {
    //-1 means no auto close
    if (synovatePopup.secondsPopupVisibleBeforeClose == -1) return;

    setTimeout("synovatePopup.ClosePopupTimerTick()", synovatePopup.secondsPopupVisibleBeforeClose * 1000);
}

synovatePopup.ClosePopupTimerTick = function() {
    synovatePopup.SlideUpAndClosePopup();
}

synovatePopup.synovateBtnOKClick = function() {
    window.open(synovatePopup.urlSurvey, "synovatePopupWindow", "status=0,toolbar=0,height=620, width=960, resizable=1");
    synovatePopup.SlideUpAndClosePopup();
}

synovatePopup.synovateBtnCancelClick = function() {
    synovatePopup.SlideUpAndClosePopup();
}

synovatePopup.SlideUpAndClosePopup = function() {
    $("#synovatePopupWrapper").remove();
    $("#synovatePopup").remove();
}

synovatePopup.synovateBtnLaterClick = function() {
    synovatePopup.SlideUpAndClosePopup();

    //set new time so will count from clicked
    synovatePopup.SetTimeVisited();

    //make sure it will popup again
    synovatePopup.RemoveHasSeenSurvey();

    //start timer again
    synovatePopup.TimerTick()
}

synovatePopup.showDebugInfoInTitle = function() {
    if (synovatePopup.debugMode)
        document.title = synovatePopup.GetTraceInfo();
}

synovatePopup.GetTraceInfo = function() {
    var dateNow = new Date();
    return "Seconds elapsed since first visit: " + synovatePopup.GetSecondsBetween(synovatePopup.GetTimeSpentOnPage(), dateNow.getTime()) + " | UserHasSeenSurvey: " + synovatePopup.UserHasSeenSurvey() + " | LevelReached: " + synovatePopup.GetLevelReached();
}

synovatePopup.GetSecondsBetween = function(from, to) {
    return Math.floor(Number((to - from) / 1000));
}

synovatePopup.GetTimeSpentOnPage = function() {
    return synovatePopup.readCookie("dateFirstVisited");
}

synovatePopup.SetTimeVisited = function() {
    //set cookie with current time
    synovatePopup.createCookie("dateFirstVisited", new Date().getTime(), synovatePopup.cookiesExpiresInDays);
}

synovatePopup.UserHasSeenSurvey = function() {
    var x = synovatePopup.readCookie('userHasSeenSurvey');
    return x != null;
}

synovatePopup.AddUserHasSeenSurvey = function() {
    synovatePopup.createCookie('userHasSeenSurvey', true, synovatePopup.cookiesExpiresInDays);
}

synovatePopup.RemoveHasSeenSurvey = function() {
    synovatePopup.eraseCookie('userHasSeenSurvey');
}

synovatePopup.AddLevelReachedCookie = function(levelReached) {
    synovatePopup.createCookie('levelReached', levelReached, synovatePopup.cookiesExpiresInDays);
}

synovatePopup.GetLevelReached = function() {
    var x = synovatePopup.readCookie('levelReached')
    if (x != null) return Number(x);
    return 0;
}

synovatePopup.AddPageVisit = function() {
    if (synovatePopup.debugMode)
        synovatePopup.createCookie('pagesVisited', synovatePopup.GetPageVisits() + 1, synovatePopup.cookiesExpiresInDays);
}

synovatePopup.GetPageVisits = function() {
    pagesVisited = synovatePopup.readCookie('pagesVisited');
    if (pagesVisited == null) {
        pagesVisited = 0;
    }
    return Number(pagesVisited);
}

synovatePopup.ClearCookiesAndRefreshPage = function() {
    synovatePopup.ClearAllCookies();
    window.location = document.URL;
}

synovatePopup.ClearAllCookies = function() {
    synovatePopup.eraseCookie('pagesVisited');
    synovatePopup.eraseCookie('userHasSeenSurvey');
    synovatePopup.eraseCookie('levelReached');
    synovatePopup.eraseCookie('dateFirstVisited');
}

synovatePopup.IsUserSelected = function() {
    return synovatePopup.SelectedRandomly(synovatePopup.surveyLikelinessPercent);
}

synovatePopup.SelectedRandomly = function(percentLikeliness) {
    return Math.random() <= (percentLikeliness / 100);
}

synovatePopup.createCookie = function(name, value, days) {
    if (days) {
        var exdate = new Date();
        exdate.setDate(exdate.getDate()+days);
        var expires = ";expires=" + exdate.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + escape(value) + expires;
}

synovatePopup.readCookie = function(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return null;
}

synovatePopup.eraseCookie = function(name) {
    synovatePopup.createCookie(name, "", -1);
}
