function FDCPClient() { this.cpHost = "cleanprint.net"; this.divid="2486"; this.refid="2361"; this.rt = "i"; this.cpstatus = false; this.ptstatus = "y"; this.printSpecId = 0; this.fdDebug = false; this.cpc = null; this.blkwidth=0; this.xpathLib = ""; this.shost = "formatdynamics.com"; this.hosted = "customer"; this.blockThreshold = 500; this.modes = {unset:0, printLink:1, filePrint:2, printerFriendlyViewer:3}; this.mode = 0;//modes.unset this.resetMode = function(){this.mode = this.modes.unset;}; // moved from the printtracker FormatDynamicsPT object this.pthosts = "formatdynamics.com,cleanprint.net"; this.autoRefreshCSS = "true"; this.autoRefreshTime = "30000"; this.isPtCss=function(content) { var phosts = this.pthosts.split(','); for(var i = 0; i < phosts.length; i++) { if(content.indexOf(phosts[i]) != -1) return true; } return false; } // templatetest var to pull templates from a directory this.templateTest = false; // 's' for standalone and 'c' for combined. A standalone install turns off registration for // PrintTracker events this.insType = "c"; this.escCom = function(st) { st = new st.constructor(st); st = st.replace(/:/g, "::"); st = st.replace(/,/g, ":,"); return st; } this.getSegment=function () { var section = "Other"; var subsection = "Other"; var meta = document.getElementsByTagName("META"); try{ for(var i=0; i 0){ return "1"; } else{ return "0"; } } this.getVR = function() { return {}; } this.onPrint = function(cpdata) { } this.getBlockThreshold = function() { return this.getCfg('blockThreshold', this.blockThreshold); } this.getCfg=function(ckey, cdef) { if(this.cpc != null && typeof this.cpc[ckey] != 'undefined') return this.cpc[ckey]; return cdef; } this.getTHost=function() { if(this.shost.length > 0 && document.location.protocol == "https:") return this.shost; else return this.cpHost; } this.getcpStat=function() { return this.getCfg('cpStatus', this.cpstatus); } this.getptStat=function() { return this.getCfg('ptStatus', this.ptstatus); } this.getDiv=function() { return this.getCfg('divisionId', this.divid); } this.getTmpl=function() { return this.getCfg('templateId', null); } this.getRfmt = function() { return this.getCfg('templateId', this.refid); } this.getTPath = function() { return this.getCfg('tPath', null); } this.getLPath = function() { return this.getCfg('lPath', null); } this.getTO = function() { return this.getCfg('timeout', 10000); } this.getTemplateTest = function() { return this.getCfg('templateTest', this.templateTest); } this.getXpathLib = function() { return this.getCfg('xpathLib', this.xpathLib); } this.getAutoRefreshCSS = function() { return this.getCfg('autoRefreshCSS', this.autoRefreshCSS); } this.getAutoRefreshTime = function() { return this.getCfg('autoRefreshTime', this.autoRefreshTime); } this.getPtHosts = function() { return this.getCfg('pthosts', this.pthosts); } this.getFDDebug = function() { return this.getCfg('fdDebug', this.fdDebug); } this.getRType= function() { return this.rt; } this.getIframeUrls=function(){ } this.onCpLoad = function(){ } this.cpServletPath=document.location.protocol + "//" + this.getTHost() + "/cp/psj"; this.getCalculatedPrintSpecId = function(){ if(window.location.href.indexOf("/article/") < 0){ return false; } if(window.location.href.indexOf("printMode") > 0){ return false; } var meta=document.getElementsByTagName("META"); try{ for(var i=0; i 1) { var lastSlashIndex = path.search(/[^/]*$/); return path.substr(0, lastSlashIndex); } else { return path; } }, getPDScriptUrl: function(){ var snodes = document.getElementsByName('cleanprintloader'); var url = ""; if(snodes.length > 0) { url = snodes[0].src; } else { snodes = document.getElementsByTagName('SCRIPT'); for(var i = 0; i < snodes.length; i++) { if(snodes[i].name == 'cleanprintloader') { url = snodes[i].src; break; } } } return url; }, loadPrintSpec: function(){ if(!this.loaded) { this.loaded = true; var pdSrc = this.getPDScriptUrl(); if (this.FDCPClient.hosted == "fd" && pdSrc.length > 0) this.divId = this.getDivisionId(pdSrc); else this.divId = this.FDCPClient.divid; this.printSpecId = this.getPrintSpecId(pdSrc); var url = this.FDCPClient.cpServletPath; url += "?useCache=false"; url += "&divId=" + this.divId; var psid = null; if(typeof this.FDCPClient.getCalculatedPrintSpecId != "undefined" && this.divId != 'tester') { try { psid = this.FDCPClient.getCalculatedPrintSpecId(); if(psid == false){ return; } } catch(err) { return; } } url += "&printSpecId=" + ((typeof psid == 'undefined' || psid == null) ? this.printSpecId : psid); var cpDefScript = document.createElement('script'); cpDefScript.src = url; cpDefScript.type = 'text/javascript'; document.getElementsByTagName("head")[0].appendChild(cpDefScript); } }, validatePath: function(path , jsFile){ if (path.indexOf(jsFile) > 1) return path; else { if (path.charAt(path.length -1) == "/") return path + jsFile; else return path + "/" + jsFile; } }, getPrintSpecId: function(pdSrc) { var queryString = pdSrc.replace(/^[^\?]+\??/,''); var params = this.parseQuery( queryString ); return params['ps']; }, getDivisionId: function(pdSrc) { var tmpUrl = pdSrc.replace(/[^/]*$/,""); var lastSlashIndex = tmpUrl.search(/[^/]*$/); var divId = tmpUrl.substr(0, lastSlashIndex -1); lastSlashIndex = divId.search(/[^/]*$/); divId = divId.substr(lastSlashIndex, divId.length); return divId; }, parseQuery: function( query ) { var Params = new Object (); if ( ! query ) return Params; // return empty object var Pairs = query.split(/[;&]/); for ( var i = 0; i < Pairs.length; i++ ) { var KeyVal = Pairs[i].split('='); if ( ! KeyVal || KeyVal.length != 2 ) continue; var key = unescape( KeyVal[0] ); var val = unescape( KeyVal[1] ); val = val.replace(/\+/g, ' '); Params[key] = val; } return Params; }, cpJsLoaded:false, xpathJsLoaded:navigator.appName != "Microsoft Internet Explorer", registerModuleLoaded: function(moduleName){ if(moduleName == "cp.js"){ this.cpJsLoaded = true; } else if(moduleName == "xpath.js"){ this.xpathJsLoaded = true; } if(this.xpathJsLoaded && this.cpJsLoaded){ fdcp.replacePrintLinks(); } }, fdPrintWrapper: function(theContext){ theContext = typeof theContext == "undefined" ? window : theContext; theContext.print(); } } function FDCPUrl(pfLink, isViewer) { isViewer = typeof isViewer == "undefined" ? false : isViewer; if(typeof fdcp == 'undefined') { if(FDCPLoader.incyc == false) FDCPLoader.incyc = true; if(FDCPLoader.tagg > FDCPLoader.tmax) { FDCPLoader.incyc = false; FDCPLoader.fdPrintWrapper(); return false; } FDCPLoader.tagg += FDCPLoader.tint; setTimeout("FDCPUrl(" + pfLink + ", " + isViewer + ")", FDCPLoader.tint); return false; } else FDCPLoader.incyc = false; fdcp.clt.mode = isViewer ? fdcp.clt.modes.printerFriendlyViewer : fdcp.clt.modes.printLink; fdcp.linkPrintHandler(pfLink); fdcp.clt.resetMode(); return false; } // a simple ajax object getter function fdGetAjaxObj(){ if(window.XMLHttpRequest){ return new XMLHttpRequest(); //Not IE }else if(window.ActiveXObject){ return new ActiveXObject("Microsoft.XMLHTTP"); //IE }else{ return null; } } if (window.addEventListener) { window.addEventListener("load", function() { FDCPLoader.loadPrintSpec(); }, true); } else if (window.attachEvent) { window.attachEvent("onload", function() { FDCPLoader.loadPrintSpec(); }); }