﻿
function setTooltip(id, text) {
    new Ext.ToolTip({
        target: id,
        html: text,
        maskDisabled: false
    });
}

Ext.onReady(function() {

    if (isRegister == 'True') {
        setTooltip('saveToPdf', 'Export this report in PDF format.');
        setTooltip('csvexelExport', 'Export this report in CSV format.');
        setTooltip('emailPdfReport', 'Email this report as a PDF.');
        setTooltip('emailReport', 'Email this report in HTML format.');
        setTooltip('addToSaved', 'Save this report to the above Report Management tool.');
    } else {
        if (typeof (isDemo) == 'undefined' || !isDemo) {
            setTooltip('saveToPdf', 'Sign up for a Free 30 Day Trial or Subscribe to the service to export a report in PDF format.');
            setTooltip('csvexelExport', 'Sign up for a Free 30 Day Trial or Subscribe to the service to export a report in CSV format.');
            setTooltip('emailPdfReport', 'Sign up for a Free 30 Day Trial or Subscribe to the service to email a report as a PDF.');
            setTooltip('emailReport', 'Sign up for a Free 30 Day Trial or Subscribe to the service to email a report in HTML format.');
        } else {
            setTooltip('saveToPdf', 'Export this report in PDF format.');
            setTooltip('csvexelExport', 'Export this report in CSV format.');
            setTooltip('emailPdfReport', 'Email this report as a PDF.');
            setTooltip('emailReport', 'Email this report in HTML format.');
        }

        setTooltip('addToSaved', 'Sign up for a Free 30 Day Trial or Subscribe to the service to save a report to the Report Management tool.');
        setTooltip('addToMonitoring', 'Sign up for a Free 30 Day Trial or Subscribe to the service to track page rank & ads for a domain (up to 5 sites).');
        setTooltip('addKeywordsToMonitoring', 'Sign up for a Free 30 Day Trial or Subscribe to the service to track page rank across monitored sites for a keywords that you may select below.');
    }
});

function FillButtonForGuest(button) {

    button.enable();
    button.setHandler(function() {
        window.location.href = "subscribe.aspx";
        /*Ext.Msg.buttonText.no = 'No thank-you';
        Ext.Msg.confirm('', 'This functionality becomes available for Trial Users and Paid Subscribers.<br>' +
        'Would you like to register for a Free Trial?',
        function(button) {
        Ext.Msg.buttonText.no = 'No';
        if (button == 'yes') {
        ShowSignupWindow();
        }
        });*/
    });
}

function SetTableTooltips(isKeywordReport) {
    
    if (isRegister != 'True') {

        var reportPanel = Ext.getCmp('report-panel');

        var position = 0;
        
        for (var i = 0; i < reportPanel.topToolbar.items.items.length; i++) {
            if (reportPanel.topToolbar.items.items[i].type == 'button') {
                position++;

                if (!isDemo || position > 4) {
                    FillButtonForGuest(reportPanel.topToolbar.items.items[i]);
                }
            }
        }
    }

    var tabs = Ext.getCmp('report-tabs');

    for (var t = 0; t < tabs.items.items.length; t++) {
        var tab = tabs.items.items[t];

        if (tabs.getTabEl(tab).style.display == 'none') {
            continue;
        }

        var grid = findGridComponent(tab.items.items);

        for (var i = 0; i < grid.colModel.config.length; i++) {

            var dataIndex = grid.colModel.config[i].dataIndex;
            var tooltip = '';

            switch (grid.id) {
                case 'summary-grid':
                    switch (dataIndex) {
                        case 'searchEngine':
                            tooltip = isKeywordReport ?
                                    'Search Engine (Google or Yahoo) where an ad campaign was discovered for this keyword.' :
                                    'Search Engine (Google or Yahoo) where this domain was discovered in either the sponsored or organic results.';
                            break;
                        case 'paidKeywordsCount':
                            tooltip = 'Number of targeted keywords this domain has in paid ad campaigns.';
                            break;
                        case 'paidKeywordsPosition':
                            tooltip = 'The average page rank across all targeted keywords in this domain\'s ad campaign.';
                            break;
                        case 'organicKeywordsCount':
                            tooltip = 'Number of naturally discovered keywords in this domain.';
                            break;
                        case 'organicKeywordsPosition':
                            tooltip = 'The average page rank across all organic keywords discovered in this domain.';
                            break;
                        case 'competitorsCount':
                            tooltip = isKeywordReport ?
                                    'Number of PPC competitors targeting this keyword in ad campaigns.' :
                                    'Number of PPC competitors with ad campaigns for this keyword. Click number to see the list of PPC competitors.';
                            break;
                        case 'adVariationsCount':
                            tooltip = isKeywordReport ?
                                    'Number of sponsored ads that are a result of a search on this keyword.' :
                                    'Total number of ads this domain uses across all of its targeted keyword campaigns.';
                            break;
                    }
                    break;

                case 'paid-keywords-grid':
                    switch (dataIndex) {
                        case '':
                            tooltip = 'Check/Uncheck all. Check off the keywords you wish to monitor (up to 30).';
                            break;
                        case 'searchEngine':
                            tooltip = 'Search Engine (Google or Yahoo) where this domain was discovered in either the sponsored results.';
                            break;
                        case 'text':
                            tooltip = 'The keyword targeted in a paid advertising campaign.';
                            break;
                        case 'position':
                            tooltip = 'Page number and then position on page where the sponsored listing was discovered.';
                            break;
                        case 'competitorCount':
                            tooltip = 'Number of PPC competitors with ad campaigns for this keyword. Click number to see the list of PPC competitors.';
                            break;
                        case 'adCount':
                            tooltip = 'Number of ads THIS domain is running for this particular keyword';
                            break;
                        case 'searchResults':
                            tooltip = 'How many pages of results in this search engine for this particular keyword.';
                            break;
                        case 'advertiserCompetitionScale':
                            tooltip = '100% green means extremely competitive; 100% white means not competitive at all.';
                            break;
                        case 'avgSearchVolume':
                            tooltip = 'The average monthly search volume for this keyword over the previous 12 months.';
                            break;
                        case 'lastMonthSearchVolume':
                            tooltip = 'The total search volume for this keyword in the most recent calendar month.';
                            break;
                        case 'cpc':
                            tooltip = 'Dollar amount a company would have to bid to land on the first 3 pages of the search engine results.';
                            break;
                    }
                    break;

                case 'organic-keywords-grid':
                    switch (dataIndex) {
                        case '':
                            tooltip = 'Check/Uncheck all. Check off the keywords you wish to monitor (up to 30).';
                            break;
                        case 'searchEngine':
                            tooltip = 'Search Engine (Google or Yahoo) where this domain was discovered in the natural results.';
                            break;
                        case 'text':
                            tooltip = 'The keyword that occurred organically in this domain.';
                            break;
                        case 'position':
                            tooltip = 'Page number and then position on page where the natural listing was discovered.';
                            break;
                        case 'searchResults':
                            tooltip = 'How many pages of results in this search engine for this particular keyword.';
                            break;
                        case 'advertiserCompetitionScale':
                            tooltip = '100% green means extremely competitive; 100% white means not competitive at all.';
                            break;
                        case 'avgSearchVolume':
                            tooltip = 'The average monthly search volume for this keyword over the previous 12 months.';
                            break;
                        case 'lastMonthSearchVolume':
                            tooltip = 'The total search volume for this keyword in the most recent calendar month.';
                            break;
                    }
                    break;

                case 'unique-competitors-grid':
                    switch (dataIndex) {
                        case 'searchEngine':
                            tooltip = isKeywordReport ?
                                'Search Engine (Google or Yahoo) where an ad campaign was discovered for this keyword.' :
                                'Search Engine (Google or Yahoo) where a PPC competitor was discovered targeting the same keywords.';
                            break;
                        case 'name':
                            tooltip = isKeywordReport ?
                                'Domains with paid advertising campaigns for this keyword.' :
                                'Domain uncovered as targeting the same keywords as this report\'s domain of focus.';
                            break;
                        case 'overlap':
                            tooltip = 'The percentage of keywords this potential PPC competitor targets (in campaigns, and optimizes for organically) from all the sponsored and organic keywords used by this domain.';
                            break;
                    }
                    break;
            }

            if (tooltip) {

                grid.colModel.config[i].tooltip = tooltip;

                if (grid.view) {
                    var headerCells = grid.view.mainHd.dom.getElementsByTagName('td');
                    var cell = headerCells[i];
                    cell.firstChild['ext:qtip'] = tooltip;
                    grid.view.updateHeaders();
                }
            }
        }
    }
}
