
if(window.isWidgetAuthenticatorLoaded == undefined)
{
    var params = {};
    window.isWidgetAuthenticatorLoaded = true;
    var _widgetAuthenticator = (function() {
    
    poweredByDivException : false;
    poweredByLink         : null;
    poweredByLinkText     : null;
    backLinkException     : false;
    backLink              : null;
    backLinkText          : null;
    isLinkJuiceActive     : null;
    linkJuiceLinks        : null;
    linkJuiceExtraLinks   : null;
    widgetInstanceId      : null;
    
    _initializeObject = function(params){
        this.poweredByDivException = params.poweredByDivException;
        this.poweredByLink         = params.poweredByLink;
        this.poweredByLinkText     = params.poweredByLinkText;
        this.isLinkJuiceActive     = params.isLinkJuiceActive;
        this.linkJuiceLinks        = params.linkJuiceLinks;
        this.linkJuiceExtraLinks   = params.linkJuiceExtraLinks;
        this.widgetInstanceId      = params.widgetInstanceId;
        this.backLinkException     = params.backLinkException;
        this.backLink              = params.backLink;
        this.backLinkText          = params.backLinkText;
    };
    
    _validatePoweredByDiv = function(){
        var validFlag = true;
        if(!this.poweredByDivException)
        {
            var wrapperDiv = document.getElementById('poweredby' + this.widgetInstanceId);
            if(wrapperDiv == null || wrapperDiv.length < 0  )
            {
                validFlag = false;
            }
            else
            {
                if(this.poweredByLink != '')
                {
                    var domAnchorTag = wrapperDiv.getElementsByTagName('a');
                    if(domAnchorTag.length > 0)
                    {
                        var domHref = domAnchorTag[0].href;
                        if(domHref.charAt(domHref.length - 1) === "/" && this.poweredByLink.charAt(this.poweredByLink.length - 1) !== "/")
                        {
                            domHref = domHref.substr(0,domHref.length - 1); 
                        }
                        var domText = domAnchorTag[0].innerText ;
                        if(domText == undefined)//mighty IE
                        {
                            domText = domAnchorTag[0].text ;
                        }
                        if(domHref != this.poweredByLink || domText != this.poweredByLinkText)
                        {
                            validFlag = false;
                        }
                    }
                    else
                    {
                        validFlag = false;
                    }
                }
            }
        }
        return validFlag;
    };
        
    _validateBackLink = function(){
        var validFlag = true;
        if(!this.backLinkException)
        { 
            var wrapperDiv = document.getElementById('wcFooterDiv-' + this.widgetInstanceId) || document.getElementById('backLink-' + this.widgetInstanceId);			
            if(wrapperDiv == null || wrapperDiv.length < 0  )
            {
                console.log('backLink-' + this.widgetInstanceId);
                validFlag = false;
            }
            else
            {
                if(this.backLink != '')
                {
                    var domAnchorTag = wrapperDiv.getElementsByTagName('a');
                    if(domAnchorTag.length > 0)
                    {
                        var domHref = domAnchorTag[0].href;
                        if(domHref.charAt(domHref.length - 1) === "/" && this.backLink.charAt(this.backLink.length - 1) !== "/")
                        {
                            domHref = domHref.substr(0,domHref.length - 1); 
                        }
                        var domText = domAnchorTag[0].innerText ;
                        if(domText == undefined)//mighty IE
                        {
                            domText = domAnchorTag[0].text ;
                        }
                        if(domHref != this.backLink || domText != this.backLinkText)
                        {
                            validFlag = false;
                        }
                    }
                    else
                    {
                        validFlag = false;
                    }
                }
            }
        }
        return validFlag;
    };
    
    _validateLinkJuice = function(){
        var linkJuiceValidFlag = true;
        if(this.isLinkJuiceActive && this.linkJuiceLinks != null)
        {
            var originalLinkTexts = [];
            var originalLinkUrls  = [];
            var i = 0;
            for (var url in this.linkJuiceLinks)
            {
                originalLinkTexts[i] = this.linkJuiceLinks[url];
                originalLinkUrls[i]  = url;
                i++;
            }
            var staticLinksWrapperDiv = document.getElementById('wc_static_article_list_container_' + this.widgetInstanceId);
            if(staticLinksWrapperDiv == null || staticLinksWrapperDiv.length < 0  )
            {
                linkJuiceValidFlag = false;
                _hideLinkJuiceContainers();
                return linkJuiceValidFlag;
            }

            var domAnchorTags = staticLinksWrapperDiv.getElementsByTagName('a');
            for(i = 0 ; i< domAnchorTags.length; i++)
            {
                if(domAnchorTags[i].href.indexOf(originalLinkUrls[i]) == -1)
                {
                    linkJuiceValidFlag = false;
                }
                var domText = domAnchorTags[i].innerText ;
                if(domText == undefined)//mighty IE
                {
                    domText = domAnchorTags[i].text ;
                }
                if(domText != originalLinkTexts[i])
                {
                    linkJuiceValidFlag = false;
                }
            }
            if(!linkJuiceValidFlag)
            {
                _hideLinkJuiceContainers();

            }
        }   
        return linkJuiceValidFlag;
    };
    
    _validateLinkJuiceExtraLinks = function(){
        var linkJuiceValidFlag = true;
        if(this.isLinkJuiceActive && this.linkJuiceExtraLinks != null)
        {
            var extraStaticLinksWrapper = document.getElementById('wc_static_extra_links_' + this.widgetInstanceId);
            if(extraStaticLinksWrapper == null || extraStaticLinksWrapper.length < 0  )
            {
                linkJuiceValidFlag = false;
                _hideLinkJuiceContainers();
                return linkJuiceValidFlag;
            }
            var originalExtraLinkTexts = [];
            var originalExtraLinkUrls  = [];
            i = 0;
            for (var url in this.linkJuiceExtraLinks)
            {
                originalExtraLinkTexts[i] = this.linkJuiceExtraLinks[url];
                originalExtraLinkUrls[i]  = url;
                i++;
            }
            var extraDomAnchorTags = extraStaticLinksWrapper.getElementsByTagName('a');
            for(i = 0 ; i< extraDomAnchorTags.length; i++)
            {
                if(extraDomAnchorTags[i].href.indexOf(originalExtraLinkUrls[i]) == -1)
                {
                    linkJuiceValidFlag = false;
                }
                var domText = extraDomAnchorTags[i].innerText ;
                if(domText == undefined)//mighty IE
                {
                    domText = extraDomAnchorTags[i].text ;
                }
                if(domText != originalExtraLinkTexts[i])
                {
                    linkJuiceValidFlag = false;
                }
            }
            if(!linkJuiceValidFlag)
            {
                _hideLinkJuiceContainers();
            }
        }
        return linkJuiceValidFlag;
    };
    
    _hideLinkJuiceContainers = function(){
        var staticLinksWrapperDiv = document.getElementById('wc_static_article_list_container_' + this.widgetInstanceId);
        var extraStaticLinksWrapper = document.getElementById('wc_static_extra_links_' + this.widgetInstanceId);
        if(staticLinksWrapperDiv != null)
        {
            staticLinksWrapperDiv.style.display = 'none';
        }
        if(extraStaticLinksWrapper != null)
        {
            extraStaticLinksWrapper.style.display = 'none';
        }
    };
    
    _authenticateWidgetRequest = function(params){
        _initializeObject(params);
        return validFlag = (_validatePoweredByDiv() && _validateLinkJuice() && _validateLinkJuiceExtraLinks() && _validateBackLink());
    };
    
    return{
        authenticateWidgetRequest: _authenticateWidgetRequest
    }
})();
    var JSON;if(!JSON){JSON={}}(function(){function f(a){return a<10?"0"+a:a}function quote(a){escapable.lastIndex=0;return escapable.test(a)?'"'+a.replace(escapable,function(a){var b=meta[a];return typeof b==="string"?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function str(a,b){var c,d,e,f,g=gap,h,i=b[a];if(i&&typeof i==="object"&&typeof i.toJSON==="function"){i=i.toJSON(a)}if(typeof rep==="function"){i=rep.call(b,a,i)}switch(typeof i){case"string":return quote(i);case"number":return isFinite(i)?String(i):"null";case"boolean":case"null":return String(i);case"object":if(!i){return"null"}gap+=indent;h=[];if(Object.prototype.toString.apply(i)==="[object Array]"){f=i.length;for(c=0;c<f;c+=1){h[c]=str(c,i)||"null"}e=h.length===0?"[]":gap?"[\n"+gap+h.join(",\n"+gap)+"\n"+g+"]":"["+h.join(",")+"]";gap=g;return e}if(rep&&typeof rep==="object"){f=rep.length;for(c=0;c<f;c+=1){if(typeof rep[c]==="string"){d=rep[c];e=str(d,i);if(e){h.push(quote(d)+(gap?": ":":")+e)}}}}else{for(d in i){if(Object.prototype.hasOwnProperty.call(i,d)){e=str(d,i);if(e){h.push(quote(d)+(gap?": ":":")+e)}}}}e=h.length===0?"{}":gap?"{\n"+gap+h.join(",\n"+gap)+"\n"+g+"}":"{"+h.join(",")+"}";gap=g;return e}}"use strict";if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(a){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(a){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","	":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;if(typeof JSON.stringify!=="function"){JSON.stringify=function(a,b,c){var d;gap="";indent="";if(typeof c==="number"){for(d=0;d<c;d+=1){indent+=" "}}else if(typeof c==="string"){indent=c}rep=b;if(b&&typeof b!=="function"&&(typeof b!=="object"||typeof b.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":a})}}if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){function walk(a,b){var c,d,e=a[b];if(e&&typeof e==="object"){for(c in e){if(Object.prototype.hasOwnProperty.call(e,c)){d=walk(e,c);if(d!==undefined){e[c]=d}else{delete e[c]}}}}return reviver.call(a,b,e)}var j;text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}})();    function msieversion()
    {
        var ua = window.navigator.userAgent;
        var msie = ua.indexOf ( "MSIE " );

        if ( msie > 0 )      // If Internet Explorer, return version number
            return parseInt (ua.substring (msie+5, ua.indexOf (".", msie )));
        else                 // If another browser, return 0
            return 0;

    }
    
    function checkIfJqueryLoaded()
    {
        if(typeof window.isWCJqueryLoaded == "undefined")
        {
            window.isWCJqueryLoaded = 'yes'
            return 1;
        }
        else
        {
            return 0;
        }
    }
}

params.widgetInstanceId = 2907;

    params.poweredByDivException = true;
    params.poweredByLink = null;
    params.poweredByLinkText = null;
    params.backLinkException = true;
    params.backLink = null;
    params.backLinkText = null;
    params.isLinkJuiceActive   = false;
    params.linkJuiceLinks      = null;
    params.linkJuiceExtraLinks = null;



if(_widgetAuthenticator.authenticateWidgetRequest(params))
{
    var isJqueryLoaded = checkIfJqueryLoaded();
    
    if(widgetScripts_2907 == undefined)
    {
        var WCTracker2907 = document.createElement("div");    
        var widgetTracker_2907 = document.createElement("img");
        widgetTracker_2907.src = "//widgets.quinstreet.com/tracking/check/2907";
        widgetTracker_2907.id = "wcTrackingImage";
        WCTracker2907.appendChild(widgetTracker_2907);
        
        var widgetScripts_2907 = '';
        var docHeadForWidget_2907 = document.getElementsByTagName('head')[0];
        var widget2907Location = document.createElement('div');
        var widget2907Script = document.getElementById('widget_2907');
        widget2907Script.parentNode.insertBefore(widget2907Location, widget2907Script);

        var WCLoadingDivWrapper2907 = document.createElement("div");
        WCLoadingDivWrapper2907.id = "WCLoadingDivWrapperID2907";
        widget2907Script.parentNode.insertBefore(WCLoadingDivWrapper2907, widget2907Script) ;

        var WCLoadingDiv2907 = document.createElement("div");
        WCLoadingDiv2907.id = "WCLoadingDivID2907";
        WCLoadingDiv2907.align = "center";
        WCLoadingDiv2907.innerHTML = "Loading.....";
        WCLoadingDivWrapper2907.appendChild(WCLoadingDiv2907);

        var WCbr2907 = document.createElement("br");
        WCLoadingDiv2907.appendChild(WCbr2907);

        var WCimg2907 = document.createElement("img");
        WCimg2907.src = "//widgets.quinstreet.com/images/wcajax_loading.gif";
        WCimg2907.id = "wcLoadingImage";
        WCLoadingDiv2907.appendChild(WCimg2907);

        
            widgetScripts_2907 = document.createElement('script');
            widgetScripts_2907.setAttribute('src', '//widgets.quinstreet.com/2907/wcjs/138?' + 'loadJquery=' + isJqueryLoaded + '&ieVersion=' + msieversion());
            widgetScripts_2907.setAttribute('type', 'text/javascript');
            docHeadForWidget_2907.appendChild(widgetScripts_2907);

        var element = document.getElementById("wc_static_article_list_container_" + 2907);//this is for link juice
        if(typeof element != 'undefined' &&  typeof element !== 'null' && element !== null)
            element.style.display = 'none';

        element = document.getElementById("wc_static_extra_links_" + 2907);//this is for link juice
        if(typeof element != 'undefined' &&  typeof element !== 'null' && element !== null)
            element.style.display = 'none';
        
     } // check for widget process       
}
else
{
   document.write('The user has violated the T&amp;Cs for this widget.');
}
