var CQ_Analytics={};CQ_Analytics.Utils=new function(){var contextPath="";return{addListener:function(){if(window.addEventListener){return function(el,eventName,fn,capture){el.addEventListener(eventName,fn,(capture))}}else if(window.attachEvent){return function(el,eventName,fn,capture){el.attachEvent("on"+eventName,fn)}}else{return function(){}}},indexOf:function(array,o){for(var i=0,len=array.length;i<len;i++){if(array[i]==o){return i}}return-1}}}();ClickstreamCloudManagerConfig={"ui":{"target":"clickstreamcloud-gui","version":"light"},"configs":{"meritusdata":{"ui":{"title":"Meritus Data","mode":"textfield","jcr:primaryType":"nt:unstructured"},"store":{"excludedFromStats":["random"],"jcr:primaryType":"nt:unstructured","invisible":["path"]}},"segments":{"ui":{"title":"Resolved segments","mode":"link","jcr:primaryType":"nt:unstructured"}},"upxdata":{"ui":{"title":"Upx Data","mode":"textfield","jcr:primaryType":"nt:unstructured"},"store":{"excludedFromStats":["random"],"jcr:primaryType":"nt:unstructured","invisible":["path"]}}}};CQ_Analytics.Cookie={set:function(name,value,days){var expires="";if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires="; expires="+date.toGMTString()}var url=window.location.host;var domain=".phoenix.edu";if(url&&url.length>0){var index=url.indexOf(".");domain=url.substring(index,url.length)}document.cookie=name+"="+value+expires+"; path=/; domain="+domain},read:function(name){var nameEQ=name+"=";var ca=document.cookie.split(";");for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==" "){c=c.substring(1,c.length)}if(c.indexOf(nameEQ)==0){return c.substring(nameEQ.length,c.length)}}return null},erase:function(name){CQ_Analytics.Cookie.set(name,"",-1)}};var SessionPersistence=function(){return{COOKIE_NAME:"SessionPersistence",set:function(key,value){value=value||"";var pairsMap=this.getMap();if(!pairsMap){pairsMap=""}var index=pairsMap.indexOf(key+":=");if(index==-1){pairsMap+=key+":="+value+"|"}else{var start=pairsMap.substring(0,index);var end=pairsMap.substring(pairsMap.indexOf("|",index+2)+1);pairsMap=start+key+":="+value+"|"+end}this.setMap(pairsMap)},get:function(key){var pairsMap=this.getMap();var value="";if(pairsMap){var index=pairsMap.indexOf(key+":=");if(index!=-1){value=pairsMap.substring(index+(key+":=").length,pairsMap.indexOf("|",index+2))}}value=(value=="null"?"":(value||""));return value},getMap:function(){var pairsMap=CQ_Analytics.Cookie.read(this.COOKIE_NAME);if(pairsMap){return decodeURIComponent(pairsMap)}return null},setMap:function(pairsMap){CQ_Analytics.Cookie.set(this.COOKIE_NAME,encodeURIComponent(pairsMap),365)},clearMap:function(){CQ_Analytics.Cookie.erase(this.COOKIE_NAME)},remove:function(key){var pairsMap=this.getMap();if(!pairsMap){pairsMap=""}var index=pairsMap.indexOf(key+":=");if(index!=-1){var start=pairsMap.substring(0,index);var end=pairsMap.substring(pairsMap.indexOf("|",index+2)+1);pairsMap=start+"|"+end}this.setMap(pairsMap)}}};CQ_Analytics.Observable=function(){this.fireEvent=function(event){if(event&&this.listeners){event=event.toLowerCase();var args=Array.prototype.slice.call(arguments,0);for(var i=0;i<this.listeners.length;i++){var l=this.listeners[i];if(event==l.event){if(l.fireFn.apply(l.scope||this||window,args)===false){return false}}}}return true}};CQ_Analytics.Observable.prototype.addListener=function(event,fct,scope){this.listeners=this.listeners||new Array();if(event&&fct){this.listeners.push({event:event.toLowerCase(),fireFn:fct,scope:scope})}};CQ_Analytics.Observable.prototype.listeners=null;CQ_Analytics.SessionStore=function(){};CQ_Analytics.SessionStore.prototype=new CQ_Analytics.Observable();CQ_Analytics.SessionStore.prototype.setProperty=function(name,value){if(this.data==null){this.init()}this.data[name]=value;this.fireEvent("update",name)};CQ_Analytics.SessionStore.prototype.init=function(){};CQ_Analytics.SessionStore.prototype.getLabel=function(name){return name};CQ_Analytics.SessionStore.prototype.getLink=function(name){return name};CQ_Analytics.SessionStore.prototype.removeProperty=function(name){if(this.data==null){this.init()}if(this.data[name]){delete this.data[name]}this.fireEvent("update",name)};CQ_Analytics.SessionStore.prototype.getPropertyNames=function(excluded){if(this.data==null){this.init()}excluded=excluded?excluded:[];var res=new Array();for(var p in this.data){if(CQ_Analytics.Utils.indexOf(excluded,p)==-1){res.push(p)}}return res};CQ_Analytics.SessionStore.prototype.getSessionStore=function(){return this};CQ_Analytics.SessionStore.prototype.clear=function(){this.data=null};CQ_Analytics.SessionStore.prototype.getData=function(excluded){if(this.data==null){this.init()}if(excluded){var ret={};for(var p in this.data){if(CQ_Analytics.Utils.indexOf(excluded,p)==-1){ret[p]=this.data[p]}}return ret}else{return this.data}};CQ_Analytics.SessionStore.prototype.reset=function(){if(this.data!=null){this.data=null;this.fireEvent("update")}};CQ_Analytics.SessionStore.prototype.getProperty=function(name){if(this.data==null){this.init()}return this.data[name]};CQ_Analytics.SessionStore.prototype.getName=function(){return this.STORENAME};CQ_Analytics.SessionStore.prototype.addInitProperty=function(name,value){if(!this.initProperty){this.initProperty={}}this.initProperty[name]=value};CQ_Analytics.SessionStore.prototype.loadInitProperties=function(obj){if(obj){for(var p in obj){this.addInitProperty(p,obj[p])}}};CQ_Analytics.PersistedSessionStore=function(){};CQ_Analytics.PersistedSessionStore.prototype=new CQ_Analytics.SessionStore();CQ_Analytics.PersistedSessionStore.prototype.STOREKEY="key";CQ_Analytics.PersistedSessionStore.prototype.setNonPersisted=function(name){if(!this.nonPersisted){this.nonPersisted={}}this.nonPersisted[name]=true};CQ_Analytics.PersistedSessionStore.prototype.isPersisted=function(name){if(!this.nonPersisted){this.nonPersisted={}}return this.nonPersisted[name]!==true};CQ_Analytics.PersistedSessionStore.prototype.getStoreKey=function(){return this.STOREKEY};CQ_Analytics.PersistedSessionStore.prototype.persist=function(){if(this.fireEvent("beforepersist")!==false){var store=new SessionPersistence();store.set(this.getStoreKey(),this.toString());this.fireEvent("persist")}};CQ_Analytics.PersistedSessionStore.prototype.setProperty=function(name,value){if(this.data==null){this.init()}this.data[name]=value;if(this.isPersisted(name)){this.persist()}this.fireEvent("update",name)};CQ_Analytics.PersistedSessionStore.prototype.toString=function(){var list=null;if(this.data){for(var p in this.data){if(this.isPersisted(p)&&this.data.hasOwnProperty(p)){list=(list===null?"":list+",");list+=(p+"="+this.data[p])}}}return list};CQ_Analytics.PersistedSessionStore.prototype.parse=function(str){var obj={};var array=str.split(",");for(var t in array){if(array.hasOwnProperty(t)){var entry=array[t].split("=");if(entry.length==2){obj[entry[0]]=entry[1]}}}return obj};CQ_Analytics.PersistedSessionStore.prototype.reset=function(deferEvent){if(this.data!=null){this.data={};this.persist();this.data=null;if(!deferEvent){this.fireEvent("update")}}};CQ_Analytics.PersistedSessionStore.prototype.removeProperty=function(name){if(this.data==null){this.init()}if(this.data[name]){delete this.data[name];if(this.isPersisted(name)){this.persist()}}this.fireEvent("update",name)};CQ_Analytics.PersistedSessionStore.prototype.clear=function(){var store=new SessionPersistence();store.remove(this.getStoreKey());this.data=null};if(!CQ_Analytics.ClickstreamcloudMgr){function ClickstreamcloudManager(){this.clickstreamcloud=null;this.clickstreamcloudToServer=null;this.data=null;this.config=null;this.isConfigLoaded=false;this.areStoresLoaded=false;this.posting=false}ClickstreamcloudManager.prototype=new CQ_Analytics.PersistedSessionStore();ClickstreamcloudManager.prototype.STOREKEY="CLICKSTREAMCLOUD";ClickstreamcloudManager.prototype.STORENAME="clickstreamcloud";ClickstreamcloudManager.prototype.POST_MODE_PAGELOAD=1;ClickstreamcloudManager.prototype.POST_MODE_TIMER=2;ClickstreamcloudManager.prototype.POST_MODE_DATAUPDATE=4;ClickstreamcloudManager.prototype.POST_TIMER=600;ClickstreamcloudManager.prototype.POST_PROCESS_TIMER=60;ClickstreamcloudManager.prototype.POST_MODE=6;ClickstreamcloudManager.prototype.POST_PATH="/var/statistics/";ClickstreamcloudManager.prototype.CONFIG_PATH="/libs/cq/personalization/components/clickstreamcloud/content/config.json";ClickstreamcloudManager.prototype.init=function(){this.clickstreamcloud={};this.clickstreamcloudToServer={};var store=new SessionPersistence();var value=store.get(this.getStoreKey());if(value){this.data=this.parse(value)}else{this.data={}}if(this.isMode(CQ_Analytics.CCM.POST_MODE_TIMER)){var currentObj=this;var func=function(){currentObj.timer=window.setInterval(function(){try{var lastPost=parseInt(currentObj.data.lastPost);var doPost=false;if(isNaN(lastPost)){doPost=true}else{var currentTime=new Date().getTime();if(currentTime>lastPost+CQ_Analytics.CCM.POST_TIMER*1000){doPost=true}}}catch(error){}if(doPost){currentObj.post()}},CQ_Analytics.POST_PROCESS_TIMER*1000)};if(this.areStoresLoaded){func.call(this)}else{this.addListener("storesloaded",func,this)}}};ClickstreamcloudManager.prototype.getSessionId=function(){if(!this.data.sessionId){this.setSessionId(CQ_Analytics.Utils.getUID())}return this.data.sessionId};ClickstreamcloudManager.prototype.setSessionId=function(id){if(id){this.setProperty("sessionId",id)}};ClickstreamcloudManager.prototype.getVisitorId=function(){return this.data.visitorId};ClickstreamcloudManager.prototype.setVisitorId=function(id){this.setProperty("visitorId",id)};ClickstreamcloudManager.prototype.getId=function(){var id=this.getVisitorId();if(!id){return this.getSessionId()}return id};ClickstreamcloudManager.prototype.isAnonymous=function(){var id=this.getVisitorId();return(!id)};ClickstreamcloudManager.prototype.isMode=function(mode){return(CQ_Analytics.CCM.POST_MODE&mode)>0};ClickstreamcloudManager.prototype.get=function(toServer){if(this.clickstreamcloud==null){this.init()}if(toServer){return this.clickstreamcloudToServer}return this.clickstreamcloud};ClickstreamcloudManager.prototype.register=function(sessionstore){if(this.clickstreamcloud==null){this.init()}var currentObj=this;this.clickstreamcloud[sessionstore.getName()]=sessionstore.getData();var config=this.getStoreConfig(sessionstore.getName());if(config.stats!==false&&config.stats!="false"){this.clickstreamcloudToServer[sessionstore.getName()]=sessionstore.getData(config.excludedFromStats)}sessionstore.addListener("update",function(){currentObj.update(sessionstore)});if(this.isMode(CQ_Analytics.CCM.POST_MODE_DATAUPDATE)){sessionstore.addListener("persist",function(){if(currentObj.areStoresLoaded){currentObj.post(sessionstore)}})}this.addListener("clear",function(){sessionstore.clear()});this.fireEvent("storeupdate",sessionstore)};ClickstreamcloudManager.prototype.update=function(sessionstore){if(this.clickstreamcloud==null){this.init()}this.clickstreamcloud[sessionstore.getName()]=sessionstore.getData();var config=this.getStoreConfig(sessionstore.getName());if(config.stats!==false&&config.stats!="false"){this.clickstreamcloudToServer[sessionstore.getName()]=sessionstore.getData(config.excludedFromStats)}this.fireEvent("storeupdate",sessionstore)};ClickstreamcloudManager.prototype.startPosting=function(){this.posting=true};ClickstreamcloudManager.prototype.stopPosting=function(){this.posting=false};ClickstreamcloudManager.prototype.post=function(){if(this.posting){try{var obj=this.getCCMToJCR();var currentTime=CQ_Analytics.Utils.getTimestamp();obj["./jcr:primaryType"]="nt:unstructured";obj["./sessionId"]=this.getSessionId();var url=this.POST_PATH+this.getName()+"/";if(this.isAnonymous()){var sessionSplit=CQ_Analytics.Utils.insert(this.getId(),2,"/");url+="anonymous/"+sessionSplit+"/"+currentTime}else{url+="users/"+this.getId()+"/"+currentTime}CQ_Analytics.Utils.post(url,null,obj);this.setProperty("lastPost",currentTime)}catch(error){}}};ClickstreamcloudManager.prototype.getCCMToJCR=function(){var obj=this.get(true);var resObj={};for(var key in obj){var ov=obj[key],k=encodeURIComponent(key);var type=typeof ov;if(type=="object"){for(var l2key in ov){var v=ov[l2key];l2key=l2key.replace(":","/");resObj["./"+key+"/./"+l2key]=v}}else{resObj["./"+key]=ov}}return resObj},ClickstreamcloudManager.prototype.getName=function(){return this.STORENAME};ClickstreamcloudManager.prototype.clear=function(){this.clickstreamcloud=null;this.clickstreamcloudToServer=null;this.fireEvent("clear")};ClickstreamcloudManager.prototype.loadConfig=function(){this.config=ClickstreamCloudManagerConfig;this.isConfigLoaded=true;this.fireEvent("configloaded");this.fireEvent("storesloaded");this.areStoresLoaded=true;if(this.isMode(CQ_Analytics.CCM.POST_MODE_PAGELOAD)){this.post()}};ClickstreamcloudManager.prototype.getConfig=function(){return this.config};ClickstreamcloudManager.prototype.getStoreConfig=function(storename){if(this.config&&this.config.configs&&this.config.configs[storename]&&this.config.configs[storename]["store"]){return this.config.configs[storename]["store"]}return{}};ClickstreamcloudManager.prototype.getEditConfig=function(storename){if(this.config&&this.config.configs&&this.config.configs[storename]&&this.config.configs[storename]["edit"]){return this.config.configs[storename]["edit"]}return{}};ClickstreamcloudManager.prototype.getUIConfig=function(storename){if(this.config&&this.config.configs&&this.config.configs[storename]&&this.config.configs[storename]["ui"]){return this.config.configs[storename]["ui"]}return{}};ClickstreamcloudManager.prototype.getInitialData=function(storename){if(this.config&&this.config.data&&this.config.data[storename]){return this.config.data[storename]}return{}};CQ_Analytics.ClickstreamcloudMgr=CQ_Analytics.CCM=new ClickstreamcloudManager();window.setTimeout(function(){CQ_Analytics.CCM.init()},1);function addWindowOnLoadListener(fn){if(window.addEventListener){addEventListener("load",fn,false)}else{if(window.attachEvent){attachEvent("onload",fn)}else{window.onload+=fn}}}addWindowOnLoadListener(function(){CQ_Analytics.ClickstreamcloudMgr.loadConfig()});CQ_Analytics.Utils.addListener(window,"unload",function(){try{for(var p in CQ_Analytics.ClickstreamcloudMgr){delete CQ_Analytics.ClickstreamcloudMgr[p]}CQ_Analytics.ClickstreamcloudMgr=null}catch(error){}CQ_Analytics.CCM=null})};if(!CQ_Analytics.UpxDataMgr){function UpxDataManager(){}UpxDataManager.prototype=new CQ_Analytics.PersistedSessionStore();UpxDataManager.prototype.STOREKEY="UPXDATA";UpxDataManager.prototype.STORENAME="upxdata";UpxDataManager.prototype.init=function(){var store=new SessionPersistence();var value=store.get(this.getStoreKey());if(!value||value==""){this.data={};for(var p in this.initProperty){this.data[p]=this.initProperty[p]}}else{this.data=this.parse(value)}this.persist();this.fireEvent("update")};UpxDataManager.prototype.getLabel=function(name){return name};UpxDataManager.prototype.getLink=function(name){return""};UpxDataManager.prototype.clear=function(){var store=new SessionPersistence();store.remove(this.getStoreKey());this.data=null;this.initProperty={}};CQ_Analytics.UpxDataMgr=new UpxDataManager();CQ_Analytics.CCM.addListener("configloaded",function(){this.loadInitProperties(CQ_Analytics.CCM.getInitialData(this.getName()));CQ_Analytics.CCM.register(this)},CQ_Analytics.UpxDataMgr)};CQ_Analytics.Cookie.set=function(name,value,days){var expires="";if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires="; expires="+date.toGMTString()}var url=window.location.hostname;var domain=".phoenix.edu";if(url&&url.length>0){if(url.split(".").length>1){var index=url.indexOf(".");domain=index>-1?url.substring(index):url}else{domain=""}}document.cookie=name+"="+value+expires+"; path=/; domain="+domain};
