PageSourceSearch

https://www.kingsdentalclinic.co.uk/translator/_translate.js

js kingsdentalclinic.co.uk collected 2026-10-05 23:46:19 UTC 5,743 bytes, 126 lines download raw bytes

1var languageGoogleCookieName = 'googtrans';
2/* -------------------------------------------------------------------------------- */
3/* -------------------      GOOGLE TRANSLATE FUNCTIONALITY        ----------------- */
4/* -------------------------------------------------------------------------------- */
5
6// --------------------------------------------------------------------------------------------
7// FUNCTION: googleTranslateElementInit
8// DESCRIPTION: Checks for Google language cookie and loads translate elements
9// ARGUMENTS: None
10// RETURN: None
11// --------------------------------------------------------------------------------------------
12function googleTranslateElementInit() {
13    (function($) {
14        if (checkFlashEnabled()) {
15            $('a.translate-text').remove();
16            $('ul li.translate-item').append('<div id="google_translate_element"></div>');
17            var googleCookieLanguage = getGoogleCookieLanguage();
18            if ((googleCookieLanguage != null) && (googleCookieLanguage != 'en')) {
19                loadGoogleTranslation('auto', $);
20            }
21            else {
22                loadGoogleTranslation('en', $);
23            }
24        }
25    })(jQuery)
26}
27
28// --------------------------------------------------------------------------------------------
29// FUNCTION: loadGoogleTranslation
30// DESCRIPTION: Loads Google translation functionality
31// ARGUMENTS: detectionLanguage(string), jQuery object
32// RETURN: None
33// --------------------------------------------------------------------------------------------
34function loadGoogleTranslation(detectionLanguage, $) {
35    try {
36        new google.translate.TranslateElement({
37            pageLanguage: detectionLanguage,
38            layout: google.translate.TranslateElement.InlineLayout.SIMPLE
39        }, 'google_translate_element');
40        $('a.goog-te-menu-value span').remove();
41        $('a.goog-te-menu-value img').remove();
42        $('.goog-te-gadget-icon').remove();
43        var $a = $("a.goog-te-menu-value");
44        $a.prepend("<span onclick='amendLanguagesDisplay();return false;' class='translate-text'>Translate</span>");
45    }
46    catch (err) {
47        $('ul li.translate-item').append('<a href="/pages/languagehub.aspx" class="translate-text">Translate</a>');
48    }
49}
50
51// --------------------------------------------------------------------------------------------
52// FUNCTION: amendLanguagesDisplay
53// DESCRIPTION: Amends the display of translatable languages
54// ARGUMENTS: None
55// RETURN: None
56// --------------------------------------------------------------------------------------------
57function amendLanguagesDisplay() {
58    (function($) {
59        $("iframe.goog-te-menu-frame").contents().find("body table .google-powered").remove();
60        $("iframe.goog-te-menu-frame").contents().find("body .goog-te-menu2").css("border-color", "#666");
61
62        var framehead = $("iframe.goog-te-menu-frame").contents().find("head").html();
63        if (framehead.indexOf('<style type="text/css">') == -1) {
64            try {
65                $("iframe.goog-te-menu-frame").contents().find("head").append('<style type="text/css">.goog-te-menu2-item:hover div {background:none; color:#00c; text-decoration:underline;}</style>');
66            } catch (err) { }
67        }
68
69        try {
70            $("iframe.goog-te-menu-frame").contents().find("body table tbody").append('<tr class="google-powered"><td colspan="20" align="right">Powered by <img src="images/google.gif" alt="Powered by Google" style="position:relative; top:5px;"/></td></tr>');
71        } catch (err) { }
72        if ($("iframe.goog-te-menu-frame").contents().find("body table span.text:lt(1)")[0].innerHTML != 'English') {
73            try {
74                $("iframe.goog-te-menu-frame").contents().find("body table span.text:lt(1)").text("Translate");
75            } catch (err) { }
76        }
77    })(jQuery)
78}
79
80// --------------------------------------------------------------------------------------------
81// FUNCTION: checkFlashEnabled
82// DESCRIPTION: Check Flash enabled
83// ARGUMENTS: None
84// RETURN: Flash enabled(boolean)
85// --------------------------------------------------------------------------------------------
86function checkFlashEnabled() {
87    var flashEnabled = false;
88    //for IE
89    var flashPlugin = ['ShockwaveFlash.ShockwaveFlash', 'ShockwaveFlash.ShockwaveFlash.3', 'ShockwaveFlash.ShockwaveFlash.4', 'ShockwaveFlash.ShockwaveFlash.5', 'ShockwaveFlash.ShockwaveFlash.6', 'ShockwaveFlash.ShockwaveFlash.7'];
90    if (typeof ActiveXObject != 'undefined') {
91        for (var i = 5; i > 0; i--) {
92            try {
93                new ActiveXObject(flashPlugin[i]);
94                flashEnabled = true;
95                break;
96            }
97            catch (err) {
98            }
99        }
100    }
101    //for standard compliant browsers
102    if (!flashEnabled) {
103        if (navigator.mimeTypes) {
104            if (navigator.mimeTypes["application/x-shockwave-flash"] &&
105                navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) flashEnabled = true;
106        }
107    }
108    return flashEnabled;
109}
110
111// --------------------------------------------------------------------------------------------
112// FUNCTION: getGoogleCookieLanguage
113// DESCRIPTION: checks for google language cookie and returns the language id
114// ARGUMENTS: None
115// RETURN: language id(string)
116// --------------------------------------------------------------------------------------------
117function getGoogleCookieLanguage() {
118    var languageValue = jQuery.cookie(languageGoogleCookieName);
119    if (languageValue) {
120        var languageId = (languageValue.slice(languageValue.lastIndexOf('/') + 1));
121        return languageId;
122    }
123    else {
124        return null;
125    }
126}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.