tool tip

by Oliver Kelso

HTML

<a href="#" data-type="testing">testing</a>

JavaScript

(function(){

    const config = {
        jqv: '3.3.1',
        isCssSet: 'false',
        cssArray: [
            '#ws-tooltip{padding:5px;text-align:left !important;min-width: 300px;position: absolute;display:none;border: 1px solid #000;border-radius:5px;text-align: center;z-index: 100000;background-color:rgba(0, 0, 0, 0.8);color:#FFF;font-family:helvetica;font-size:13px;font-weight:bold;}',
            '#ws-tooltip .ws-datarow{border-top:solid 1px #444;padding:5px;margin:0 0 2px 0;}',
            '.ws-link-error{border: 5px solid #ff0033 !important;}',
            '.ws-link-success{border: 5px solid #00FF00 !important;}',
            '.ws-error{color:#ff0033;}',
            '.ws-success{color:#00FF00;}'
        ]
    }

    //make sure jQuery is on the page
    if (window.jQuery === undefined || window.jQuery.fn.jquery < config.jqv) {
        var done = false;
        var script = document.createElement("script");
        script.src = window.location.protocol + `//ajax.googleapis.com/ajax/libs/jquery/${config.jqv}/jquery.min.js`;
        script.onload = script.onreadystatechange = function() {
            if (!done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
                done = true;
                init();
            }
        };
        document.getElementsByTagName("head")[0].appendChild(script);
    } else {
        init();
    }

    //add CSS to the page
    function addCSS(){
        if(config.isCssSet=='false'){
            for(i=0;i<config.cssArray.length;i++){
                jQuery('head').append('<style type="text/css">'+config.cssArray[i]+'</style>');
            }
            config.isCssSet = 'true';
        }
    }

    // add link style
    function addLinkBox(){
        jQuery('a').each(function(e){

            let data = jQuery(this).data();

            if(!data.type || !data.value || !data.section){
                jQuery(this).addClass('ws-link-error');
            } else {
              ...