function getQueryStringAsObject() { var query = window.location.search.substring(1); var qsJson = {}; qsJson.empty = 1; var list = "utm_campaign utm_medium utm_source utm_user utm_term utm_username utm_keyword"; if (query.length > 0) {//may remove this and place check outside this function var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if ( list.search(pair[0]) > -1){ var p0 = pair[0].replace(/utm_/, ''); qsJson[p0] = pair[1]; qsJson.empty = 0; if (pair[0] == 'utm_user') { qsJson.username = pair[1]; } } } } return qsJson; } function clickening_user_aware(){ if (clicky_custom && clicky_custom.session && clicky_custom.session.username && clicky_custom.session.username.length){ return true; } return false; } function clickening_session_aware(){ if (clicky_custom && clicky_custom.session ){ return true; } return false; } function clickening_aware(){ if (clicky_custom){ return true; } return false; } function init_clicky(){ try{ clicky.init(cidi); }catch(e){} } function auto_micro_log(tag){ if(this.value){//in this cse we have this attached explicitly to an element clicky.log(window.location.pathname, this.getAttribute("id")+"|"+ this.value); return; } if(tag){ clicky.log(window.location.pathname, tag); return; } } function set_cookie(name, value, expires, path, domain, secure){ var expirationDate = new Date(); value = value.replace(/\,$/,''); expirationDate.setMonth(expirationDate.getMonth()+6); document.cookie = name + "=" +escape( value ) + ( ( expires ) ? ";expires=" + expires_date.toGMTString() : ";expires=" +expirationDate.toGMTString() ) + ( ( path ) ? ";path=" + path : ";path=" + "/" ) + ( ( domain ) ? ";domain=" + domain : "" ) + ( ( secure ) ? ";secure" : "" ); } function get_cookie(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; } function delete_cookie( name, path, domain ) { if ( get_cookie( name ) ) { document.cookie = name + "=" + ( ( path ) ? ";path=" + path : ";path=" + "/") + ( ( domain ) ? ";domain=" + domain : "" ) + ";expires=Thu, 01-Jan-1970 00:00:01 GMT"; } } function addEvent(obj,type,fn) { if (obj.addEventListener) { obj.addEventListener(type,fn,false); return true; } else if (obj.attachEvent) { obj['e'+type+fn] = fn; obj[type+fn] = function() { obj['e'+type+fn]( window.event ); }; var r = obj.attachEvent('on'+type, obj[type+fn]); return r; } else { obj['on'+type] = fn; return true; } } function set_clicky_custom_username(value){//this really should change into an object... if (clicky_custom && clicky_custom.session){ clicky_custom.session.username = value; return; } clicky_custom = {}; clicky_custom.session = { username : value }; } function get_clickening_custom(){ if(!clickening_aware()){ clicky_custom = {}; } if(!clickening_session_aware()){ clicky_custom.session = {}; //clicky_custom.session.search = ""; } return clicky_custom; } function recon(){ var u_name = null; var qsao = getQueryStringAsObject(); if (!qsao.empty){ clicky_custom.session = qsao; set_cookie("highlander", qsao.username);//, expires, path, domain, secure) u_name = qsao.username; }else{ u_name = get_cookie("highlander"); if (u_name !== null){ get_clickening_custom().session.username = u_name; var src = get_cookie("highlander-source") ? get_cookie("highlander-source"):"unk"; get_clickening_custom().session.source = src; } } if(get_cookie("highlander-search")){ get_clickening_custom().session.search = get_cookie("highlander-search"); } init_clicky(); } function tag_user(){ set_cookie("highlander", this.value);//, expires, path, domain, secure) set_cookie("highlander-source", "capture"); auto_micro_log(this.value); } function tag_search(){ var current_val = get_cookie("highlander-search")?get_cookie("highlander-search")+",":""; set_cookie("highlander-search", current_val+encodeURIComponent(this.value)+","); auto_micro_log("search for:"+ encodeURIComponent(this.value)); } function track_ids(){ var subject = null; try{ var id_ray = email_ids.split(","); if(id_ray.length > 0){ for (i = 0; i < id_ray.length; i++) { subject = document.getElementById(id_ray[i]); if(subject){ addEvent(subject, "change", tag_user); break; } } } }catch(e){} try { if(search_id && search_id.length > 0 && document.getElementById(search_id)){ addEvent(document.getElementById(search_id), "change", tag_search); } } catch (exception) {} return subject; } function olligoodness(subject_element){ if(document.getElementById("olark-key")){ if(subject_element){ olark.extend(function(api){ subject_element.onchange = function() { var fieldNickname = subject_element.value; api.chat.updateNickname({ nickname: fieldNickname }); }; }); } //if we see the cookie, lets go ahead and set the username to that var n = get_cookie("highlander"); if (n !== null){ olark.extend(function(api){ api.chat.updateNickname({ nickname:n }); }) } } } window.onload = function(){ recon(); olligoodness(track_ids()); };