/* Omniture Site Catalyst Firmsite Specific Code Version 4/16/2010 (MK) Added eVar7 collection Modified event41 collection Added contact form type detection Version 3/23/2010 (MK) Modified to add event41 when is on home page. Event is a serialized event that will fire once per visit on a site Version 3/16/2010 (MK) Modified LogicalSite-Date to avoid conflict with pilot site code, added profileeoform to form detection code. Version 2/17/2010 (MK) Added prop15 Version 2/1/2010 (MK) Added Blog tracking, changed LogicalSite-Date to monthly Version 1/14/2010 (MK) Added "D=" mobile syntax Version 12/2/2009 (MK) Added title tag to prop4, 'FS Onsite Search' to prop9, added contact us to prop41, lowercase to pageName and channel Version 11/12/2009 (MK) initial version */ //Utility JS Functions function getMetaContents(mn){ var m = document.getElementsByTagName('meta'); for(var i in m){ if(m[i].name == mn){ return m[i].content; } } } //function to get week number Date.prototype.getWeek = function() { var onejan = new Date(this.getFullYear(),0,1); return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7); } /* You may give each page an identifying name, server, and channel on the next lines. */ omtr.pageName="" omtr.hier1 = "" omtr.pageType="" omtr.campaign="" var fl_Date = new Date(); omtr.channel=document.domain.toLowerCase(); omtr.server='Firmsite'; omtr.pageName=document.domain+':'+omtr.getPageName(); omtr.pageName=omtr.pageName.toLowerCase(); if (omtr.getPageName()==omtr.defaultPage){ var flid; if(omtr.c_r('flid')){ flid=omtr.c_r('flid'); }else{ flid=omtr.getAndPersistValue(fl_Date.getTime(),'flid',0); }; omtr.events=omtr.apl(omtr.events,'event41:'+flid+'-'+sfl_logicalSite,",",0) }; omtr.eVar7=omtr.getQueryParam('flcmp');//Set eVar7 campaign here. /********************* *prop9/eVar9 is search type *prop10/eVar10 is search term *event5 is searches *NOTE: for null searches, prepend 'null: ' to the search term: i.e. s.prop9='null:teeth cleaning' *********************/ //get search term (New publisher only) omtr.prop10=omtr.getQueryParam('stext'); //Add code here for FSControl Search if (omtr.prop10) { omtr.prop10=omtr.prop10.toLowerCase() omtr.prop9='FS Onsite Search'; omtr.events=omtr.apl(omtr.events,"event5",",",0); } //fire Thankyou and contact page event var sfl_path = location.pathname.toLowerCase()+location.search.toLowerCase(); var sfl_thank=0; var sfl_contact=0; var tagName; if ((sfl_path.indexOf('thank'))>0&&(sfl_path.indexOf('jonathank')<0)) { tagName=omtr.c_r('cform'); if(!tagName){tagName='FirmSite Contact Form';} omtr.prop15=tagName; omtr.events=omtr.apl(omtr.events,"event4",",",0); sfl_thank=1; omtr.prop41=omtr.eVar41='contact us'; } if (sfl_thank==0&&((sfl_path.indexOf('contact')>0)||(sfl_path.indexOf('staticform')>0)||(sfl_path.indexOf('profileeoform')>0)||(sfl_path.indexOf('officedescriptions')>0)||(sfl_path.indexOf('intake')>0))) { var formArray=document.getElementsByTagName('form'); var tag; for (var i=0;i<formArray.length;i++){ tag = formArray.item(i); if (tag.name){ try{ tagName=tag.name.toLowerCase(); if (tagName.indexOf('short')>0){ tagName='FirmSite Short Form'; }else if (tagName.indexOf('practicecenterform')>0){ tagName='Practice Center Form'; }else if (tagName.indexOf('intakeform')>0){ tagName='FirmSite Intake Form'; }else{ tagName='FirmSite Contact'; } }catch(err){ tagName='FirmSite Contact Form'; }; if(tagName)break; } }; omtr.prop15=omtr.getAndPersistValue(tagName,'cform',0); omtr.events=omtr.apl(omtr.events,"event3",",",0); sfl_contact=1; omtr.prop41=omtr.eVar41='contact us'; } //prop and evar 28 //set hier4 variable var sfl_pageType = getMetaContents('FSWritertoolPageType'); if (!sfl_pageType) sfl_pageType='Interior Page'; omtr.hier4="Firmsite:"; if (omtr.getPageName()==omtr.defaultPage) {omtr.hier4+=omtr.defaultPage} else if(sfl_thank==1) {omtr.hier4+=sfl_pageType+':Thank You Page'} else if(sfl_contact==1) {omtr.hier4+=sfl_pageType+':Contact Page'} else {omtr.hier4+=sfl_pageType}; omtr.prop28=omtr.hier4; omtr.eVar28="D=c28" // use hier1 to set the site section variables var siteSectionLength = omtr.pageName.split(':').length var siteSection = omtr.pageName.split(':', siteSectionLength-1); /* Based on Page Name Plugin*/ //omtr.prop1 if(siteSection[0]) { omtr.prop1 = siteSection[0]; } else { omtr.prop1 = document.domain; } //omtr.prop2 if(siteSection[1]) { omtr.prop2 = omtr.prop1 + ':' + siteSection[1]; } else { omtr.prop2 = omtr.prop1; } // omtr.prop3 if(siteSection[2]) { omtr.prop3 = omtr.prop2 + ':' + siteSection[2]; } else { omtr.prop3 = omtr.prop2; } // omtr.prop4 if(siteSection[3]) { omtr.hier1 = omtr.prop3 + ':' + siteSection[3]; } else { omtr.hier1 = omtr.prop3; } omtr.prop4=omtr.hier1 + ' | ' + document.title; omtr.prop4=omtr.prop4.substring(0,255) //cut off long titles. eVar can only handle 255 chars anyway //set site specific values omtr.eVar18=omtr.prop18=sfl_logicalSite; //LogicalSiteID; omtr.eVar19=omtr.prop19=sfl_logicalSite+'-'+fl_Date.getFullYear()+'m'+(fl_Date.getMonth()+1); omtr.eVar20=omtr.prop20=sfl_subID; //Set Blog Variables //33 Name 34 type 35 title if (getMetaContents('generator')){ if (getMetaContents('generator').indexOf('Movable Type') >= 0) { //it is a MT blog // Set event8 omtr.events=omtr.apl(omtr.events,"event8",",",0); omtr.prop34='FS Blog'; //Get RSS title for name of blog var t = document.getElementsByTagName('link'); for(var i in t){ if(t[i].rel == 'alternate' && t[i].type == 'application/rss+xml'){ omtr.prop33 = t[i].title.replace('RSS Feed',''); } }; //get post name from file name ("home page" or condensed post title) a = omtr.split(omtr.pageName,':'); omtr.prop35=omtr.split(a[a.length-1],'.')[0]; //38 = article author if (omtr.prop35 != omtr.defaultPage) { // is a blog and is an interior page omtr.prop39 = getMetaContents('FLBlogAuthor'); } //Check for comment if (document.title.search(/comment submitted/i)>-1||document.title.search(/comment pending/i)>-1) { //is a comment. fire comment event omtr.events=omtr.apl(omtr.events,"event18",",",0); } } } 
