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.