﻿var Pristiq = window.Pristiq || {};
Pristiq.Survey = (function(){
    
    //
    // Private Constants
    var TAG_ID = 10872;
    var SURVEY_COOKIE_NAME = "pristiq_survey_id";
    
	//
    // Private Attributes
    var _surveyId;
    var _siteCatalyst;
    
    //
    // Private Methods
    function injectSurveyIntoHeader(tagGID, surveyKey) {
        var tagURL;
        
        if( location.protocol == 'http:' ) {
            tagURL = 'http://sensor2.suitesmart.com/sensor4.js?GID=' + tagGID + ';ADI=' + surveyKey;
        } else {
            tagURL = 'https://secured.suitesmart.com/sensor4.js?GID=' + tagGID + ';ADI=' + surveyKey;
        }
 
        var hed = document.getElementsByTagName('head').item(0);
        var ftg = document.createElement('script');
        ftg.setAttribute('type', 'text/javascript');
        ftg.setAttribute('src', tagURL);
        hed.appendChild(ftg);
    }
    function generateSurveyId() { return (new Date().getTime() + '-' + Math.floor(Math.random() * 1e10)); }
    
	function fetchStoredId() {
		var needle = SURVEY_COOKIE_NAME + "=";
		var haystack = document.cookie.split(';');
		for(var i = 0, len = haystack.length;i < len;i++) {
			var pieceOfHay = haystack[i];
			while (pieceOfHay.charAt(0)==' ') pieceOfHay = pieceOfHay.substring(1, pieceOfHay.length);
			if (pieceOfHay.indexOf(needle) == 0) return pieceOfHay.substring(needle.length, pieceOfHay.length);
		}
		return null;
	}

	function storeSurveyId() { document.cookie = SURVEY_COOKIE_NAME+"=" + _surveyId + "; path=/"; }

	///
    /// Public Interface
    return {
        embed: function() {
			
			_surveyId = fetchStoredId();
			if( !_surveyId ) {
				_surveyId = generateSurveyId();
				storeSurveyId();
			}
        
            injectSurveyIntoHeader(TAG_ID, _surveyId);
               
            s.prop26 = _surveyId;
            s.eVar26 = _surveyId;
               
            _siteCatalyst = s.t(); 
            if( _siteCatalyst ) { 
                document.write(_siteCatalyst);
            }
        }
    };
})();