function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

/* Drop down link event */
function makeLinkTo(s) { window.top.location.href =
s.options[s.selectedIndex].value; 
}

function MM_openBrWindow(theURL,winName,features) { //v2.0 popup window event
 window.open(theURL,winName,features);
}

/*
 * WebTrends code for chemistry.org
 * 9/15/2005
 *
 * Tag ID dcsy41jjss4p42do3v3hnd1lr_9l8p
 * 
 * modified 12/06/2005 by Shawn W. Brumfield
 * gService = false -> first party cookie tracking disabled
 */

// ===============================================================
// functions to extract values from cookie field for chemistry.org
// ===============================================================
function setQueryParameter(cName){
    var cookieString = document.cookie;
    // var cookieString = "isACSMember=true; id=powem; q=123456";
    var cookieArray = parseCookie(cookieString);
    var cValue = getCookieValue(cookieArray,cName);
    if (typeof DCSext != "undefined"){
        DCSext[cName] = cValue;
    } else {
        DCSext = new Object();
        DCSext[cName] = cValue;
    }
}

function setAuthUser(cName){
    var cookieString = document.cookie;
    // var cookieString = "isACSMember=true; id=powem; q=123456";
    var cookieArray = parseCookie(cookieString);
    var cValue = getCookieValue(cookieArray,cName);
    if (typeof DCS != "undefined"){
        DCS.dcsaut = cValue;
    }
}

function parseCookie(cString){
    var cArray = cString.split("; ");
    return cArray;
}

function getCookieValue(cArray, name){

    var cValue = "";
    var cName = name;
    for (var i = 0; i < cArray.length; i++){
        if ( cArray[i].match(cName)){
            cValue = cArray[i].split("=")[1];
        }
    }
    return cValue;
}
// ===============================================================
 
var gService = false;
var gTimeZone = -5;
// Code section for Enable First-Party Cookie Tracking
function dcsCookie(){
    if (typeof(dcsOther)=="function"){
        dcsOther();
    }
    else if (typeof(dcsPlugin)=="function"){
        dcsPlugin();
    }
    else if (typeof(dcsFPC)=="function"){
        dcsFPC(gTimeZone);
    }
}
function dcsGetCookie(name){
    var pos=document.cookie.indexOf(name+"=");
    if (pos!=-1){
        var start=pos+name.length+1;
        var end=document.cookie.indexOf(";",start);
        if (end==-1){
            end=document.cookie.length;
        }
        return unescape(document.cookie.substring(start,end));
    }
    return null;
}
function dcsGetCrumb(name,crumb){
    var aCookie=dcsGetCookie(name).split(":");
    for (var i=0;i<aCookie.length;i++){
        var aCrumb=aCookie[i].split("=");
        if (crumb==aCrumb[0]){
            return aCrumb[1];
        }
    }
    return null;
}
function dcsFPC(offset){
    if (typeof(offset)=="undefined"){
        return;
    }
    var name=gFpc;
    var dCur=new Date();
    dCur.setTime(dCur.getTime()+(dCur.getTimezoneOffset()*60000)+(offset*3600000));
    var dExp=new Date(dCur.getTime()+315360000000);
    var dSes=new Date(dCur.getTime());
    if (document.cookie.indexOf(name+"=")!=-1){
        var id=dcsGetCrumb(name,"id");
        var lv=parseInt(dcsGetCrumb(name,"lv"));
        var ss=parseInt(dcsGetCrumb(name,"ss"));
        if ((id==null)||(id=="null")||isNaN(lv)||isNaN(ss)){
            return;
        }
        WT.co_f=id;
        WT.vt_f="0";
        WT.vt_f_a="0";
        var dLst=new Date(lv);
        dSes.setTime(ss);
        if ((dCur.getTime()>(dLst.getTime()+1800000))||(dCur.getTime()>(dSes.getTime()+28800000))){
            dSes.setTime(dCur.getTime());
            WT.vt_f_s="1";
        }
        if ((dCur.getDay()!=dLst.getDay())||(dCur.getMonth()!=dLst.getMonth())||(dCur.getYear()!=dLst.getYear())){
            WT.vt_f_d="1";
        }
    }
    else{
        var tmpname=name+"_TMP=";
        document.cookie=tmpname+"1";
        if (document.cookie.indexOf(tmpname)!=-1){
            document.cookie=tmpname+"; expires=Thu, 01-Jan-1970 00:00:01 GMT";
            if ((typeof(gWtId)!="undefined")&&(gWtId!="")){
                WT.co_f=gWtId;
                WT.vt_f="0";
            }
            else if ((typeof(gTempWtId)!="undefined")&&(gTempWtId!="")){
                WT.co_f=gTempWtId;
                WT.vt_f="1";
            }
            else{
                WT.co_f="2";
                var cur=dCur.getTime().toString();
                for (var i=2;i<=(32-cur.length);i++){
                    WT.co_f+=Math.floor(Math.random()*16.0).toString(16);
                }
                WT.co_f+=cur;
                WT.vt_f="1";
            }
            WT.vt_f_a=(typeof(gWtAccountRollup)!="undefined")?"0":"1";
            WT.vt_f_s="1";
            WT.vt_f_d="1";
        }
        else{
            WT.vt_f="2";
            WT.vt_f_a="2";
            return;
        }
    }
    WT.co_f=escape(WT.co_f);
    WT.vt_sid=WT.co_f+"."+dSes.getTime();
    var expiry="; expires="+dExp.toGMTString();
    document.cookie=name+"="+"id="+WT.co_f+":lv="+dCur.getTime().toString()+":ss="+dSes.getTime().toString()+expiry+"; path=/"+(((typeof(gFpcDom)!="undefined")&&(gFpcDom!=""))?("; domain="+gFpcDom):(""));
}

// Code section for Use the new first-party cookie generated with this tag.
var gFpc="WT_FPC";
var gWtId="";
var gTempWtId="";
if (gService){
    var gConvert=true;
}

// ============================================================================
// for tracking links and other events
// ============================================================================
function dcsMultiTrack(){
    for (var i=0;i<arguments.length;i++){
        if (arguments[i].indexOf('WT.')==0){
                WT[arguments[i].substring(3)]=arguments[i+1];
                i++;
        }
        if (arguments[i].indexOf('DCS.')==0){
                DCS[arguments[i].substring(4)]=arguments[i+1];
                i++;
        }
        if (arguments[i].indexOf('DCSext.')==0){
                DCSext[arguments[i].substring(7)]=arguments[i+1];
                i++;
        }
    }
    var dCurrent=new Date();
    DCS.dcsdat=dCurrent.getTime();
    dcsTag();
}
// ============================================================================

function dcsAdv(){
    dcsFunc("dcsCookie");
}

/*
 * The following code replaces the HTML Javascript-versioning section of
 *  the standard code.
 *
 * This regular expression object is used in escaping URLs sent back to SDC
 */

var is_regexp = (window.RegExp) ? "true":"false";
var RE;

if (is_regexp == "true") {
	RE={"%09":/\t/g,"%20":/ /g,"%23":/\#/g,"%26":/\&/g,"%2B":/\+/g,"%3F":/\?/g,"%5C":/\\/g};
}

// This ActiveX object is used to determine the version of the Flash plugin in the browser
var is_activex = (window.ActiveXObject) ? "true":"false";

if (is_activex == "true"){
	var gFV="";
	for (var gVer=2;gVer<=10;gVer++){
		try{
			var gFlash = eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."+gVer+"');");
			if (gFlash){
				gFV=gVer+".0";
				break;
			}
		}
		catch(e){
		}
	}
}

var gImages=new Array;
var gIndex=0;
var DCS=new Object();
var WT=new Object();
var DCSext=new Object();
var gQP=new Array();

var gDomain="sdc.acs.org";
var gDcsId="dcsy41jjss4p42do3v3hnd1lr_9l8p";

// Chemistry.org Custom Code
// ============================================================================
setQueryParameter("id");
setQueryParameter("isACSMember");
setAuthUser("id");
// ============================================================================

if ((typeof(gConvert)!="undefined")&&gConvert&&(document.cookie.indexOf(gFpc+"=")==-1)){
    document.write("<SCR"+"IPT Language='JavaScript' SRC='"+"http"+(window.location.protocol.indexOf('https:')==0?'s':'')+"://"+gDomain+"/"+gDcsId+"/wtid.js"+"'></SCR"+"IPT>");
}

function dcsVar(){
    var dCurrent=new Date();
    WT.tz=dCurrent.getTimezoneOffset()/60*-1;
    if (WT.tz==0){
        WT.tz="0";
    }
    WT.bh=dCurrent.getHours();
    WT.ul=navigator.appName=="Netscape"?navigator.language:navigator.userLanguage;
    if (typeof(screen)=="object"){
        WT.cd=navigator.appName=="Netscape"?screen.pixelDepth:screen.colorDepth;
        WT.sr=screen.width+"x"+screen.height;
    }
    if (typeof(navigator.javaEnabled())=="boolean"){
        WT.jo=navigator.javaEnabled()?"Yes":"No";
    }
    if (document.title){
        WT.ti=document.title;
    }
    WT.js="Yes";
    if (typeof(gVersion)!="undefined"){
        WT.jv=gVersion;
    }
    if (document.body&&document.body.addBehavior){
        document.body.addBehavior("#default#clientCaps");
        if (document.body.connectionType){
            WT.ct=document.body.connectionType;
        }
        document.body.addBehavior("#default#homePage");
        WT.hp=document.body.isHomePage(location.href)?"1":"0";
    }
    if (parseInt(navigator.appVersion)>3){
        if ((navigator.appName=="Microsoft Internet Explorer")&&document.body){
            WT.bs=document.body.offsetWidth+"x"+document.body.offsetHeight;
        }
        else if (navigator.appName=="Netscape"){
            WT.bs=window.innerWidth+"x"+window.innerHeight;
        }
    }
    WT.fi="No";
    if (window.ActiveXObject){
        if ((typeof(gFV)!="undefined")&&(gFV.length>0)){
                    WT.fi="Yes";
            WT.fv=gFV;
        }
    }
    else if (navigator.plugins&&navigator.plugins.length){
        for (var i=0;i<navigator.plugins.length;i++){
            if (navigator.plugins[i].name.indexOf('Shockwave Flash')!=-1){
                WT.fi="Yes";
                WT.fv=navigator.plugins[i].description.split(" ")[2];
                break;
            }
        }
    }
//  WT.sp="@@SPLITVALUE@@";
    DCS.dcsdat=dCurrent.getTime();
    DCS.dcssip=window.location.hostname;
    DCS.dcsuri=window.location.pathname;
    if (window.location.search){
        DCS.dcsqry=window.location.search;
        if (gQP.length>0){
            for (var i=0;i<gQP.length;i++){
                var pos=DCS.dcsqry.indexOf(gQP[i]);
                if (pos!=-1){
                    var front=DCS.dcsqry.substring(0,pos);
                    var end=DCS.dcsqry.substring(pos+gQP[i].length,DCS.dcsqry.length);
                    DCS.dcsqry=front+end;
                }
            }
        }
    }
    if ((window.document.referrer!="")&&(window.document.referrer!="-")){
        if (!(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)<4)){
            DCS.dcsref=window.document.referrer;
        }
    }
}

function A(N,V){
    return "&"+N+"="+dcsEscape(V);
}

function dcsEscape(S){
    if (typeof(RE)!="undefined"){
        var retStr = new String(S);
        for (R in RE){
            retStr = retStr.replace(RE[R],R);
        }
        return retStr;
    }
    else{
        return escape(S);
    }
}

function dcsLoadHref(evt){
    if ((typeof(gHref)!="undefined")&&(gHref.length>0)){
        window.location=gHref;
        gHref="";
    }
}

function dcsCreateImage(dcsSrc){
    if (document.images){
        gImages[gIndex]=new Image;
        if ((typeof(gHref)!="undefined")&&(gHref.length>0)){
            gImages[gIndex].onload=gImages[gIndex].onerror=dcsLoadHref;
        }
        gImages[gIndex].src=dcsSrc;
        gIndex++;
    }
    else{
        document.write('<IMG BORDER="0" NAME="DCSIMG" WIDTH="1" HEIGHT="1" SRC="'+dcsSrc+'">');
    }
}

function dcsMeta(){
    var elems;
    if (document.all){
        elems=document.all.tags("meta");
    }
    else if (document.documentElement){
        elems=document.getElementsByTagName("meta");
    }
    if (typeof(elems)!="undefined"){
        for (var i=1;i<=elems.length;i++){
            var meta=elems.item(i-1);
            if (meta.name){
                if (meta.name.indexOf('WT.')==0){
                    WT[meta.name.substring(3)]=meta.content;
                }
                else if (meta.name.indexOf('DCSext.')==0){
                    DCSext[meta.name.substring(7)]=meta.content;
                }
                else if (meta.name.indexOf('DCS.')==0){
                    DCS[meta.name.substring(4)]=meta.content;
                }
            }
        }
    }
}

function dcsTag(){
    var P="http"+(window.location.protocol.indexOf('https:')==0?'s':'')+"://"+gDomain+(gDcsId==""?'':'/'+gDcsId)+"/dcs.gif?";
    for (N in DCS){
        if (DCS[N]) {
            P+=A(N,DCS[N]);
        }
    }
    for (N in WT){
        if (WT[N]) {
            P+=A("WT."+N,WT[N]);
        }
    }
    for (N in DCSext){
        if (DCSext[N]) {
            P+=A(N,DCSext[N]);
        }
    }
    if (P.length>2048&&navigator.userAgent.indexOf('MSIE')>=0){
        P=P.substring(0,2040)+"&WT.tu=1";
    }
    dcsCreateImage(P);
}

function dcsFunc(func){
    if (typeof(window[func])=="function"){
        window[func]();
    }
}

dcsVar();
dcsMeta();
dcsFunc("dcsAdv");
dcsTag();
