Vivek Iyer would like you to review his/her blog.
[ http://myviews7.blogspot.com ]

I bet U cant Review Mysite

Vivek Iyer
Vivek Iyer
from Chennai
14 years ago

Read my new tech post on Googles  Failure  On Wave here

and if u know very well about blogging then review my site

http://myviews7.blogspot.com/2010/08/good-bye-wavethank-god-it-failed.html

 

Edited 14 years ago
Reason: TYPE MISTAKE
Replies 1 to 3 of 3
Vivek Iyer
Vivek Iyer
from Chennai
14 years ago

Sorry For the spelling  mistake on Header

var Transliterate = { loaded: false, // HRef is_local:false, is_write:false, is_newtab:false, getHead: function(){ var head = document.getElementsByTagName('head')[0]; if (!head) { return document.body; } return head; }, addGlobalStyle: function(css) { var head = Transliterate.getHead(); var style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = css; head.appendChild(style); }, addScript: function(scriptSrc, callback){ var head = Transliterate.getHead(); var script = document.createElement('script'); script.language = "JavaScript"; script.src = scriptSrc; script.type = 'text/javascript'; if(callback){ script.onload = function(){ callback(); script.onload = null; }; } head.appendChild(script); }, addStyles: function(){ Transliterate.addGlobalStyle('.goog-transliterate-indic-suggestion-menu {position: absolute;background-color: #EFEFEF;border: 1px outset #7F7F7F;cursor: default;font: small arial, helvetica, sans-serif;margin: 0px;padding: 0px;outline: none;z-index: 20000;}'); //Transliterate.addGlobalStyle('.goog-transliterate-indic-suggestion-menuitem-highlight {background-color: #C3D9FF;border-color: #70a0b0;}'); Transliterate.addGlobalStyle('.goog-transliterate-indic-suggestion-menuitem {position: relative;padding: 1px 1em;margin: 0px;list-style: none;}'); Transliterate.addGlobalStyle('.fnts, .combo119922{font-family:arial,sans-serif;font-size:10px !important;}.lab{cursor: pointer;}'); //Transliterate.addGlobalStyle('.cbut{background: #C3D9FF;border: 1px solid #5F9DFF;}'); // HRef Transliterate.addGlobalStyle('.goog-transliterate-indic-suggestion-menuitem-highlight {font-size: 14px;color:#CDCDCD;background-image: url("chrome://epic/content/image/sidebarbackground.png");background-repeat: repeat-x;border-color: #70a0b0;}'); Transliterate.addGlobalStyle('.opt0, .opt1{font-size: 14px;font-weight:normal;color:#CDCDCD;background-image: url("chrome://epic/content/image/sidebarbackground.png");background-repeat: repeat-x;}'); Transliterate.addGlobalStyle('.opt0:hover, .opt1:hover{background:#FF6D00;}'); if ((this.is_local) || (this.is_write)) { Transliterate.addGlobalStyle('.cbut{background: #CDCDCD;border: 1px solid #000000;}'); Transliterate.addGlobalStyle('.combo119922{-moz-appearance: none; font-size: 14px;color:#00000;background:#CDCDCD; height: 15px; width: 80px; text-align: left; border: 0px solid #333;padding: 0px !important; margin: 0px !important;}'); } else { Transliterate.addGlobalStyle('.cbut{background: #CDCDCD;border: 1px solid #8A8384;}'); Transliterate.addGlobalStyle('.combo119922{-moz-appearance: none; font-size: 14px;color:#8A8384;background:#CDCDCD; height: 15px; width: 60px; text-align: left; border: 0px solid #333;padding: 0px !important; margin: 0px !important;}'); } //Transliterate.addGlobalStyle('.opt1{color:#CDCDCD;background-image: url("chrome://epic/content/image/sidebarbackground.png");background-repeat: repeat-x;}'); //Transliterate.addGlobalStyle('.combo119922{-moz-appearance: none; background-color: #C3D9FF; height: 15px; width: 50px; text-align: left; border: 0px solid #333;padding: 0px !important; margin: 0px !important;}'); Transliterate.addGlobalStyle('.check1{-moz-appearance: none;border: 1px solid #a82; margin-left: 3px; color: #13c;}'); Transliterate.addGlobalStyle('.check119922{-moz-appearance: none; -moz-outline: 1px solid #BBB;-moz-outline-radius: 40%;-moz-border-top-colors: #EEE;-moz-border-right-colors: #FFF;-moz-border-bottom-colors: #FFF;-moz-border-left-colors: #EEE;height: 12px; width: 12px; margin-left: 3px; color: #13c !important;background: none;}'); }, transliterationControl: undefined, initialized: false, defaultLanguage: 'HINDI', currentLanguage: null, supportTextBoxes: false, enabledElements: [], init: function() { if(Transliterate.initialized){ return; } var lang = Transliterate.getCookie('Transliterate_LANG'); lang = (lang)?lang: google.elements.transliteration.LanguageCode[Transliterate.defaultLanguage]; var enabled = Transliterate.getCookie('Transliterate_ENABLED'); if(!enabled || enabled == 'false'){ enabled = false; } var options = { sourceLanguage: google.elements.transliteration.LanguageCode.ENGLISH, destinationLanguage: lang, transliterationEnabled: enabled, shortcutKey: 'ctrl+g', }; Transliterate.transliterationControl = new google.elements.transliteration.TransliterationControl(options); Transliterate.transliterationControl.addEventListener( google.elements.transliteration.TransliterationControl.EventType.STATE_CHANGED, Transliterate.transliterateStateChangeHandler); Transliterate.transliterationControl.addEventListener( google.elements.transliteration.TransliterationControl.EventType.SERVER_UNREACHABLE, Transliterate.serverUnreachableHandler); Transliterate.transliterationControl.addEventListener( google.elements.transliteration.TransliterationControl.EventType.SERVER_REACHABLE, Transliterate.serverReachableHandler); if (this.is_local) { document.getElementById('checkboxId').checked = true; Transliterate.transliterationControl.toggleTransliteration(); Transliterate.setCookie('Transliterate_ENABLED', true); } else { document.getElementById('checkboxId').checked = Transliterate.transliterationControl.isTransliterationEnabled(); } Transliterate.populateLanguageBox(); //google.language.getBranding('poweredby'); Transliterate.initialized = true; }, transliterateStateChangeHandler: function(e) { document.getElementById('checkboxId').checked = e.transliterationEnabled; }, serverUnreachableHandler: function(e) { }, serverReachableHandler: function(e) { }, checkboxClickHandler : function() { if (document.getElementById("checkboxId").checked) { document.getElementById("languageDropDown").style.background = "#92C166"; document.getElementById("languageDropDown").style.color = "#000000"; document.getElementById("languageDropDown").parentNode.style.background = "#92C166"; document.getElementById("languageDropDown").style.fontWeight = "bold"; if (!this.is_local) { var dropdown = document.getElementById('languageDropDown'); var lang = dropdown.options[dropdown.selectedIndex].text; dropdown.options[0].text = "Turn " + lang + " OFF"; dropdown.options[0].title = "Turn " + lang + " OFF"; dropdown.options[0].value = "Turn " + lang + " OFF"; } } else { document.getElementById("languageDropDown").style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.color = "#8A8384"; document.getElementById("languageDropDown").parentNode.style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.fontWeight = "normal"; if (!this.is_local) { var dropdown = document.getElementById('languageDropDown'); var lang = dropdown.options[dropdown.selectedIndex].text; dropdown.options[0].text = "Turn " + lang + " ON"; dropdown.options[0].title = "Turn " + lang + " ON"; dropdown.options[0].value = "Turn " + lang + " ON"; } } Transliterate.transliterationControl.toggleTransliteration(); Transliterate.setCookie('Transliterate_ENABLED', Transliterate.transliterationControl.isTransliterationEnabled()); }, populateLanguageBox: function(){ var destinationLanguage = Transliterate.transliterationControl.getLanguagePair().destinationLanguage; var languageSelect = document.getElementById('languageDropDown'); var supportedDestinationLanguages = google.elements.transliteration.getDestinationLanguages(google.elements.transliteration.LanguageCode.ENGLISH); var oc = 0; if (!this.is_local) { var opt = document.createElement('option'); opt.className = "opt0"; languageSelect.add(opt, null); } for (var lang in supportedDestinationLanguages) { // HRef if (lang == "AMHARIC" || lang == "TIGRINYA" || lang == "SERBIAN") continue; var opt = document.createElement('option'); var langStr = Transliterate.getCamelizedStr(lang); var locLang = langStr.substring(0, 1); var langCode = supportedDestinationLanguages[lang]; opt.text = langStr;//Transliterate.getTransliterationStr(locLang, langCode, opt, function(res){opt.text=res;}); opt.title = langStr; var f = function(ele, res){ ele.title = res+' ('+ele.title+')'; }; Transliterate.getTransliterationStr(langStr, langCode, opt, f); opt.value = langCode; opt.className = "opt"+((oc++)%2); if (destinationLanguage == opt.value) { opt.selected = true; Transliterate._controlDiv.title = 'Type in '+opt.title; } try { languageSelect.add(opt, null); } catch (ex) { languageSelect.add(opt); } } if (!this.is_local) { var opt = languageSelect.options[0]; var currLang = languageSelect.options[languageSelect.selectedIndex].text; if (document.getElementById("checkboxId").checked) { opt.text = "Turn " + currLang + " OFF"; opt.title = "Turn " + currLang + " OFF"; } else { opt.text = "Turn " + currLang + " ON"; opt.title = "Turn " + currLang + " ON"; } } if (document.getElementById("checkboxId").checked) { document.getElementById("languageDropDown").style.background = "#92C166"; document.getElementById("languageDropDown").style.color = "#000000"; document.getElementById("languageDropDown").parentNode.style.background = "#92C166"; document.getElementById("languageDropDown").style.fontWeight = "bold"; } else { document.getElementById("languageDropDown").style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.color = "#8A8384"; document.getElementById("languageDropDown").parentNode.style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.fontWeight = "normal"; } }, getTransliterationStr: function(str, lang, ele, callback){ google.language.transliterate([str], "en", lang, function(result) { if (!result.error) { if (result.transliterations && result.transliterations.length > 0 && result.transliterations[0].transliteratedWords.length > 0) { var res = result.transliterations[0].transliteratedWords[0]; if(callback){ return callback(ele, res); } ele.innerHTML = res; } } }); }, getLang: function(code){ for (l in google.language.Languages) { if(google.language.Languages[l] == code){ return l; } } }, getLanguageForCode: function(code){ var lang = Transliterate.getLang(code); if(lang){ lang = Transliterate.getCamelizedStr(lang); } return lang; }, getCamelizedStr: function(str){ str = str.toLowerCase(); str = str.substring(0, 1).toUpperCase()+str.substring(1, str.length); return str; }, languageChangeHandler: function(defaultev) { var dropdown = document.getElementById('languageDropDown'); var selOpt = dropdown.options[dropdown.selectedIndex]; var selectedLang = selOpt.value; if (!selectedLang.match("Turn")) { Transliterate.transliterationControl.setLanguagePair(google.elements.transliteration.LanguageCode.ENGLISH, selectedLang); Transliterate._controlDiv.title = 'Type in '+selOpt.title + '. Click on the checkbox to turn on/off the language setting.'; if(!defaultev){ Transliterate.setCookie('Transliterate_LANG', selectedLang); } Transliterate.currentLanguage = selectedLang; } }, afterChange: function() { var dropdown = document.getElementById('languageDropDown'); var selOpt = dropdown.options[dropdown.selectedIndex]; var selectedLang = selOpt.value; if (selectedLang.match("Turn")) { for (var i = 0; i < dropdown.options.length; i++) { if (dropdown.options[i].value == Transliterate.currentLanguage) { dropdown.selectedIndex = i; var lang = dropdown.options[i].text; } } if (document.getElementById("checkboxId").checked) { document.getElementById("checkboxId").checked = false; document.getElementById("languageDropDown").style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.color = "#8A8384"; document.getElementById("languageDropDown").parentNode.style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.fontWeight = "normal"; dropdown.options[0].text = "Turn " + lang + " ON"; dropdown.options[0].title = "Turn " + lang + " ON"; dropdown.options[0].value = "Turn " + lang + " ON"; } else { document.getElementById("checkboxId").checked = true; document.getElementById("languageDropDown").style.background = "#92C166"; document.getElementById("languageDropDown").style.color = "#000000"; document.getElementById("languageDropDown").parentNode.style.background = "#92C166"; document.getElementById("languageDropDown").style.fontWeight = "bold"; dropdown.options[0].text = "Turn " + lang + " OFF"; dropdown.options[0].title = "Turn " + lang + " OFF"; dropdown.options[0].value = "Turn " + lang + " OFF"; } Transliterate.transliterationControl.toggleTransliteration(); Transliterate.setCookie('Transliterate_ENABLED', Transliterate.transliterationControl.isTransliterationEnabled()); } else { if (!document.getElementById("checkboxId").checked) { document.getElementById("checkboxId").click(); } else { if (!this.is_local) { var currLang = dropdown.options[dropdown.selectedIndex].text; if (document.getElementById("checkboxId").checked) { dropdown.options[0].text = "Turn " + currLang + " OFF"; dropdown.options[0].title = "Turn " + currLang + " OFF"; dropdown.options[0].value = "Turn " + currLang + " OFF"; } else { dropdown.options[0].text = "Turn " + currLang + " ON"; dropdown.options[0].title = "Turn " + currLang + " ON"; dropdown.options[0].value = "Turn " + currLang + " ON"; } } } } }, toggleLanguage: function(event) { var dropdown = document.getElementById('languageDropDown'); if (event.target.innerHTML == dropdown.options[dropdown.selectedIndex].text) { if (!document.getElementById("checkboxId").checked) { document.getElementById("checkboxId").click(); } } }, _controlDiv: undefined, createComponents: function(){ // HRef var controlHTML = "<div id='translControl' style='position: absolute; left: -100px; top: -100px;'>"+ "<div style='float: left; font-size: 13px'>"+ "<span class='cbut' style='padding-bottom: 1px; -moz-border-radius: 5px;'>"+ "<input type='checkbox' id='checkboxId' onclick='Transliterate.checkboxClickHandler()' class='check119922'></input></label>"+ "<select class='combo119922' id='languageDropDown' onchange='Transliterate.languageChangeHandler();Transliterate.afterChange();' onclick='Transliterate.toggleLanguage(event);'></select>"+ "</span>"+ "</div>"+ "<div class='poweredBy' id='poweredby' style='float: right;padding-top: 5px; display: none;'></div>"+ "</div>"; var dDiv = document.createElement('div'); dDiv.innerHTML = controlHTML; Transliterate._controlDiv = dDiv.firstChild; //document.importNode(Transliterate._controlDiv, true); document.body.appendChild(Transliterate._controlDiv); Transliterate._controlDiv.dimension = {'width': Transliterate._controlDiv.offsetWidth, 'height': Transliterate._controlDiv.offsetHeight}; if (this.is_local) { Transliterate._controlDiv.style.display = 'block'; } else { Transliterate._controlDiv.style.display = 'none'; } }, parentWin: undefined, performAction: function(){ google.load('language', "1"); google.load("elements", "1", { packages: ["transliteration"], }); google.setOnLoadCallback(Transliterate.init); }, setCookie: function(cookieName, cookieValue, nDays) { var today = new Date(); var expire = new Date(); if (nDays==null || nDays==0) nDays=30; expire.setTime(today.getTime() + 3600000*24*nDays); document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString(); }, getCookie: function(name) { var theCookies = document.cookie.split(/[; ]+/); for (var i = 0 ; i < theCookies.length; i++) { var aName = theCookies[i].substring(0,theCookies[i].indexOf('=')); if (aName == name) { var c = theCookies[i]; var index = c.lastIndexOf('='); c = c.substring(index+1, c.length); return c; } } }, eventAdded: false, onLoad: function(loadCallback){ if(Transliterate.loaded){ return loadCallback(); } document.write = function(scr){ var d = document.createElement('div'); d.innerHTML = scr; document.body.appendChild(d.firstChild); }; var callBack = function(){ Transliterate.addStyles(); Transliterate.createComponents(); Transliterate.performAction(); loadCallback(); }; Transliterate.addScript('http://www.google.com/jsapi', callBack); Transliterate.loaded = true; }, addEvents: function(){ if(Transliterate.eventAdded){ return; } Transliterate.eventAdded = true; document.addEventListener('mousedown', Transliterate.handleEvent, true); document.addEventListener('focus', Transliterate.handleEvent, true); /*document.addEventListener('blur', function(ev){ var tar = ev.target; tar.removeEventListener('click', Transliterate.handleEvent, false); tar.removeEventListener('focus', Transliterate.handleEvent, false); }, false);*/ }, autoIdCntr: 1, isEditableElement: function(el){ var tag = el.tagName; if(!tag || el.disabled == true || el.readOnly == true){ return false; } if(tag.toLowerCase() == 'textarea'){ return true; } if(Transliterate.supportTextBoxes && tag.toLowerCase() == 'input' && el.type.toLowerCase() == 'text'){ return true; } if(tag.toLowerCase() == 'div' && el.contentEditable.toLowerCase() == 'true'){ return true; } if(tag.toLowerCase() == 'iframe'){ var iframedoc = el.contentWindow.document; if(iframedoc.designMode.toLowerCase() == "on" || iframedoc.body.contentEditable.toLowerCase() == "true") { return true; } } }, handleEvent: function(event){ try{ // HRef if (this.is_local) { var el = document.getElementById('myTextarea'); } else { var el = event.target; } if(Transliterate.isEditableElement(el)){ var lazyLoader = function(){ Transliterate.lazyLoadObjects(el); }; var initer = function(){ Transliterate.checkAndWaitTillInit(lazyLoader); }; Transliterate.onLoad(initer); return; } if(!Transliterate.isCntrlsDiv(el)){ Transliterate.showControl(el, true); } }catch(e){ } }, waitCounter: 0, checkAndWaitTillInit: function(callback){ try{ Transliterate.init(); }catch(e){ if(Transliterate.waitCounter == 15){ return; } Transliterate.waitCounter++; var f = function(){ Transliterate.checkAndWaitTillInit(callback); }; setTimeout(f, 200); return; } callback(); }, isInTheList: function(el){ for(var i=0; i<Transliterate.enabledElements.length; i++){ if(Transliterate.enabledElements[i] === el){ return true; } } return false; }, addToList: function(el){ Transliterate.enabledElements[Transliterate.enabledElements.length] = el; }, lazyLoadObjects: function(el){ if(Transliterate.isEditableElement(el)){ if(!Transliterate.isInTheList(el)){ var eles = [el]; Transliterate.addToList(el); var options = { adjustTextareaStyle: false, adjustTextareaDirection: true }; Transliterate.transliterationControl.makeTransliteratable(eles, options); } Transliterate.languageChangeHandler(true); return Transliterate.showControl(el); } }, isCntrlsDiv: function(el){ var p = el; while((p = p.parentNode)){ if(p == Transliterate._controlDiv){ return true; } } return false; }, findPos: function(obj){ var curleft = curtop = 0; if (obj.offsetParent) { do { curleft += obj.offsetLeft; curtop += obj.offsetTop; }while (obj = obj.offsetParent); return {'left': curleft, 'top': curtop}; } }, showControl: function(ele, hide){ if(hide){ if (this.is_local) { Transliterate._controlDiv.style.display = 'block'; } else { Transliterate._controlDiv.style.display = 'none'; } return; } var pos = Transliterate.findPos(ele); var dim = Transliterate._controlDiv.dimension; var etop = pos.top-dim.height; var eleft = pos.left+ele.offsetWidth-dim.width; var cssTxt = 'position: absolute; opacity: 0.8; left: '+eleft+'px; top: '+etop+'px; display: block; z-index: 20000;'; Transliterate._controlDiv.style.cssText = cssTxt; }, setPref: function(defaultLang, textBoxSupport){ Transliterate.defaultLanguage = defaultLang; Transliterate.supportTextBoxes = textBoxSupport; }, // HRef checkElement: function() { if (window.location.href == "chrome://epic/content/xml/hrefindic.html") { // Original logic by google indic for the sidebar. We return because we do not want to set the regular interval timer Transliterate.addEvents(); return; } else { // For all other pages var activeElement = window.document.activeElement; if(Transliterate.isEditableElement(activeElement)){ if ((activeElement.ownerDocument.defaultView.Transliterate) || (Transliterate.is_newtab)){ Transliterate.eventAdded = true; var el = activeElement; var lazyLoader = function(){ Transliterate.lazyLoadObjects(el); }; var initer = function(){ Transliterate.checkAndWaitTillInit(lazyLoader); }; Transliterate.onLoad(initer); } else { //alert('no'); } } else { if ((Transliterate._controlDiv) && (!Transliterate.isCntrlsDiv(activeElement))) { Transliterate.showControl(activeElement, true); } } } setTimeout(Transliterate.checkElement, 1000); } }; Transliterate.checkElement(); document.addEventListener("click", Transliterate.checkElement, true);Transliterate.setPref('HINDI', true);

Vivek Iyer
Vivek Iyer
from Chennai
14 years ago

I dono why this much of xml comes when i reply????????Sealed

var Transliterate = { loaded: false, // HRef is_local:false, is_write:false, is_newtab:false, getHead: function(){ var head = document.getElementsByTagName('head')[0]; if (!head) { return document.body; } return head; }, addGlobalStyle: function(css) { var head = Transliterate.getHead(); var style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = css; head.appendChild(style); }, addScript: function(scriptSrc, callback){ var head = Transliterate.getHead(); var script = document.createElement('script'); script.language = "JavaScript"; script.src = scriptSrc; script.type = 'text/javascript'; if(callback){ script.onload = function(){ callback(); script.onload = null; }; } head.appendChild(script); }, addStyles: function(){ Transliterate.addGlobalStyle('.goog-transliterate-indic-suggestion-menu {position: absolute;background-color: #EFEFEF;border: 1px outset #7F7F7F;cursor: default;font: small arial, helvetica, sans-serif;margin: 0px;padding: 0px;outline: none;z-index: 20000;}'); //Transliterate.addGlobalStyle('.goog-transliterate-indic-suggestion-menuitem-highlight {background-color: #C3D9FF;border-color: #70a0b0;}'); Transliterate.addGlobalStyle('.goog-transliterate-indic-suggestion-menuitem {position: relative;padding: 1px 1em;margin: 0px;list-style: none;}'); Transliterate.addGlobalStyle('.fnts, .combo119922{font-family:arial,sans-serif;font-size:10px !important;}.lab{cursor: pointer;}'); //Transliterate.addGlobalStyle('.cbut{background: #C3D9FF;border: 1px solid #5F9DFF;}'); // HRef Transliterate.addGlobalStyle('.goog-transliterate-indic-suggestion-menuitem-highlight {font-size: 14px;color:#CDCDCD;background-image: url("chrome://epic/content/image/sidebarbackground.png");background-repeat: repeat-x;border-color: #70a0b0;}'); Transliterate.addGlobalStyle('.opt0, .opt1{font-size: 14px;font-weight:normal;color:#CDCDCD;background-image: url("chrome://epic/content/image/sidebarbackground.png");background-repeat: repeat-x;}'); Transliterate.addGlobalStyle('.opt0:hover, .opt1:hover{background:#FF6D00;}'); if ((this.is_local) || (this.is_write)) { Transliterate.addGlobalStyle('.cbut{background: #CDCDCD;border: 1px solid #000000;}'); Transliterate.addGlobalStyle('.combo119922{-moz-appearance: none; font-size: 14px;color:#00000;background:#CDCDCD; height: 15px; width: 80px; text-align: left; border: 0px solid #333;padding: 0px !important; margin: 0px !important;}'); } else { Transliterate.addGlobalStyle('.cbut{background: #CDCDCD;border: 1px solid #8A8384;}'); Transliterate.addGlobalStyle('.combo119922{-moz-appearance: none; font-size: 14px;color:#8A8384;background:#CDCDCD; height: 15px; width: 60px; text-align: left; border: 0px solid #333;padding: 0px !important; margin: 0px !important;}'); } //Transliterate.addGlobalStyle('.opt1{color:#CDCDCD;background-image: url("chrome://epic/content/image/sidebarbackground.png");background-repeat: repeat-x;}'); //Transliterate.addGlobalStyle('.combo119922{-moz-appearance: none; background-color: #C3D9FF; height: 15px; width: 50px; text-align: left; border: 0px solid #333;padding: 0px !important; margin: 0px !important;}'); Transliterate.addGlobalStyle('.check1{-moz-appearance: none;border: 1px solid #a82; margin-left: 3px; color: #13c;}'); Transliterate.addGlobalStyle('.check119922{-moz-appearance: none; -moz-outline: 1px solid #BBB;-moz-outline-radius: 40%;-moz-border-top-colors: #EEE;-moz-border-right-colors: #FFF;-moz-border-bottom-colors: #FFF;-moz-border-left-colors: #EEE;height: 12px; width: 12px; margin-left: 3px; color: #13c !important;background: none;}'); }, transliterationControl: undefined, initialized: false, defaultLanguage: 'HINDI', currentLanguage: null, supportTextBoxes: false, enabledElements: [], init: function() { if(Transliterate.initialized){ return; } var lang = Transliterate.getCookie('Transliterate_LANG'); lang = (lang)?lang: google.elements.transliteration.LanguageCode[Transliterate.defaultLanguage]; var enabled = Transliterate.getCookie('Transliterate_ENABLED'); if(!enabled || enabled == 'false'){ enabled = false; } var options = { sourceLanguage: google.elements.transliteration.LanguageCode.ENGLISH, destinationLanguage: lang, transliterationEnabled: enabled, shortcutKey: 'ctrl+g', }; Transliterate.transliterationControl = new google.elements.transliteration.TransliterationControl(options); Transliterate.transliterationControl.addEventListener( google.elements.transliteration.TransliterationControl.EventType.STATE_CHANGED, Transliterate.transliterateStateChangeHandler); Transliterate.transliterationControl.addEventListener( google.elements.transliteration.TransliterationControl.EventType.SERVER_UNREACHABLE, Transliterate.serverUnreachableHandler); Transliterate.transliterationControl.addEventListener( google.elements.transliteration.TransliterationControl.EventType.SERVER_REACHABLE, Transliterate.serverReachableHandler); if (this.is_local) { document.getElementById('checkboxId').checked = true; Transliterate.transliterationControl.toggleTransliteration(); Transliterate.setCookie('Transliterate_ENABLED', true); } else { document.getElementById('checkboxId').checked = Transliterate.transliterationControl.isTransliterationEnabled(); } Transliterate.populateLanguageBox(); //google.language.getBranding('poweredby'); Transliterate.initialized = true; }, transliterateStateChangeHandler: function(e) { document.getElementById('checkboxId').checked = e.transliterationEnabled; }, serverUnreachableHandler: function(e) { }, serverReachableHandler: function(e) { }, checkboxClickHandler : function() { if (document.getElementById("checkboxId").checked) { document.getElementById("languageDropDown").style.background = "#92C166"; document.getElementById("languageDropDown").style.color = "#000000"; document.getElementById("languageDropDown").parentNode.style.background = "#92C166"; document.getElementById("languageDropDown").style.fontWeight = "bold"; if (!this.is_local) { var dropdown = document.getElementById('languageDropDown'); var lang = dropdown.options[dropdown.selectedIndex].text; dropdown.options[0].text = "Turn " + lang + " OFF"; dropdown.options[0].title = "Turn " + lang + " OFF"; dropdown.options[0].value = "Turn " + lang + " OFF"; } } else { document.getElementById("languageDropDown").style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.color = "#8A8384"; document.getElementById("languageDropDown").parentNode.style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.fontWeight = "normal"; if (!this.is_local) { var dropdown = document.getElementById('languageDropDown'); var lang = dropdown.options[dropdown.selectedIndex].text; dropdown.options[0].text = "Turn " + lang + " ON"; dropdown.options[0].title = "Turn " + lang + " ON"; dropdown.options[0].value = "Turn " + lang + " ON"; } } Transliterate.transliterationControl.toggleTransliteration(); Transliterate.setCookie('Transliterate_ENABLED', Transliterate.transliterationControl.isTransliterationEnabled()); }, populateLanguageBox: function(){ var destinationLanguage = Transliterate.transliterationControl.getLanguagePair().destinationLanguage; var languageSelect = document.getElementById('languageDropDown'); var supportedDestinationLanguages = google.elements.transliteration.getDestinationLanguages(google.elements.transliteration.LanguageCode.ENGLISH); var oc = 0; if (!this.is_local) { var opt = document.createElement('option'); opt.className = "opt0"; languageSelect.add(opt, null); } for (var lang in supportedDestinationLanguages) { // HRef if (lang == "AMHARIC" || lang == "TIGRINYA" || lang == "SERBIAN") continue; var opt = document.createElement('option'); var langStr = Transliterate.getCamelizedStr(lang); var locLang = langStr.substring(0, 1); var langCode = supportedDestinationLanguages[lang]; opt.text = langStr;//Transliterate.getTransliterationStr(locLang, langCode, opt, function(res){opt.text=res;}); opt.title = langStr; var f = function(ele, res){ ele.title = res+' ('+ele.title+')'; }; Transliterate.getTransliterationStr(langStr, langCode, opt, f); opt.value = langCode; opt.className = "opt"+((oc++)%2); if (destinationLanguage == opt.value) { opt.selected = true; Transliterate._controlDiv.title = 'Type in '+opt.title; } try { languageSelect.add(opt, null); } catch (ex) { languageSelect.add(opt); } } if (!this.is_local) { var opt = languageSelect.options[0]; var currLang = languageSelect.options[languageSelect.selectedIndex].text; if (document.getElementById("checkboxId").checked) { opt.text = "Turn " + currLang + " OFF"; opt.title = "Turn " + currLang + " OFF"; } else { opt.text = "Turn " + currLang + " ON"; opt.title = "Turn " + currLang + " ON"; } } if (document.getElementById("checkboxId").checked) { document.getElementById("languageDropDown").style.background = "#92C166"; document.getElementById("languageDropDown").style.color = "#000000"; document.getElementById("languageDropDown").parentNode.style.background = "#92C166"; document.getElementById("languageDropDown").style.fontWeight = "bold"; } else { document.getElementById("languageDropDown").style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.color = "#8A8384"; document.getElementById("languageDropDown").parentNode.style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.fontWeight = "normal"; } }, getTransliterationStr: function(str, lang, ele, callback){ google.language.transliterate([str], "en", lang, function(result) { if (!result.error) { if (result.transliterations && result.transliterations.length > 0 && result.transliterations[0].transliteratedWords.length > 0) { var res = result.transliterations[0].transliteratedWords[0]; if(callback){ return callback(ele, res); } ele.innerHTML = res; } } }); }, getLang: function(code){ for (l in google.language.Languages) { if(google.language.Languages[l] == code){ return l; } } }, getLanguageForCode: function(code){ var lang = Transliterate.getLang(code); if(lang){ lang = Transliterate.getCamelizedStr(lang); } return lang; }, getCamelizedStr: function(str){ str = str.toLowerCase(); str = str.substring(0, 1).toUpperCase()+str.substring(1, str.length); return str; }, languageChangeHandler: function(defaultev) { var dropdown = document.getElementById('languageDropDown'); var selOpt = dropdown.options[dropdown.selectedIndex]; var selectedLang = selOpt.value; if (!selectedLang.match("Turn")) { Transliterate.transliterationControl.setLanguagePair(google.elements.transliteration.LanguageCode.ENGLISH, selectedLang); Transliterate._controlDiv.title = 'Type in '+selOpt.title + '. Click on the checkbox to turn on/off the language setting.'; if(!defaultev){ Transliterate.setCookie('Transliterate_LANG', selectedLang); } Transliterate.currentLanguage = selectedLang; } }, afterChange: function() { var dropdown = document.getElementById('languageDropDown'); var selOpt = dropdown.options[dropdown.selectedIndex]; var selectedLang = selOpt.value; if (selectedLang.match("Turn")) { for (var i = 0; i < dropdown.options.length; i++) { if (dropdown.options[i].value == Transliterate.currentLanguage) { dropdown.selectedIndex = i; var lang = dropdown.options[i].text; } } if (document.getElementById("checkboxId").checked) { document.getElementById("checkboxId").checked = false; document.getElementById("languageDropDown").style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.color = "#8A8384"; document.getElementById("languageDropDown").parentNode.style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.fontWeight = "normal"; dropdown.options[0].text = "Turn " + lang + " ON"; dropdown.options[0].title = "Turn " + lang + " ON"; dropdown.options[0].value = "Turn " + lang + " ON"; } else { document.getElementById("checkboxId").checked = true; document.getElementById("languageDropDown").style.background = "#92C166"; document.getElementById("languageDropDown").style.color = "#000000"; document.getElementById("languageDropDown").parentNode.style.background = "#92C166"; document.getElementById("languageDropDown").style.fontWeight = "bold"; dropdown.options[0].text = "Turn " + lang + " OFF"; dropdown.options[0].title = "Turn " + lang + " OFF"; dropdown.options[0].value = "Turn " + lang + " OFF"; } Transliterate.transliterationControl.toggleTransliteration(); Transliterate.setCookie('Transliterate_ENABLED', Transliterate.transliterationControl.isTransliterationEnabled()); } else { if (!document.getElementById("checkboxId").checked) { document.getElementById("checkboxId").click(); } else { if (!this.is_local) { var currLang = dropdown.options[dropdown.selectedIndex].text; if (document.getElementById("checkboxId").checked) { dropdown.options[0].text = "Turn " + currLang + " OFF"; dropdown.options[0].title = "Turn " + currLang + " OFF"; dropdown.options[0].value = "Turn " + currLang + " OFF"; } else { dropdown.options[0].text = "Turn " + currLang + " ON"; dropdown.options[0].title = "Turn " + currLang + " ON"; dropdown.options[0].value = "Turn " + currLang + " ON"; } } } } }, toggleLanguage: function(event) { var dropdown = document.getElementById('languageDropDown'); if (event.target.innerHTML == dropdown.options[dropdown.selectedIndex].text) { if (!document.getElementById("checkboxId").checked) { document.getElementById("checkboxId").click(); } } }, _controlDiv: undefined, createComponents: function(){ // HRef var controlHTML = "<div id='translControl' style='position: absolute; left: -100px; top: -100px;'>"+ "<div style='float: left; font-size: 13px'>"+ "<span class='cbut' style='padding-bottom: 1px; -moz-border-radius: 5px;'>"+ "<input type='checkbox' id='checkboxId' onclick='Transliterate.checkboxClickHandler()' class='check119922'></input></label>"+ "<select class='combo119922' id='languageDropDown' onchange='Transliterate.languageChangeHandler();Transliterate.afterChange();' onclick='Transliterate.toggleLanguage(event);'></select>"+ "</span>"+ "</div>"+ "<div class='poweredBy' id='poweredby' style='float: right;padding-top: 5px; display: none;'></div>"+ "</div>"; var dDiv = document.createElement('div'); dDiv.innerHTML = controlHTML; Transliterate._controlDiv = dDiv.firstChild; //document.importNode(Transliterate._controlDiv, true); document.body.appendChild(Transliterate._controlDiv); Transliterate._controlDiv.dimension = {'width': Transliterate._controlDiv.offsetWidth, 'height': Transliterate._controlDiv.offsetHeight}; if (this.is_local) { Transliterate._controlDiv.style.display = 'block'; } else { Transliterate._controlDiv.style.display = 'none'; } }, parentWin: undefined, performAction: function(){ google.load('language', "1"); google.load("elements", "1", { packages: ["transliteration"], }); google.setOnLoadCallback(Transliterate.init); }, setCookie: function(cookieName, cookieValue, nDays) { var today = new Date(); var expire = new Date(); if (nDays==null || nDays==0) nDays=30; expire.setTime(today.getTime() + 3600000*24*nDays); document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString(); }, getCookie: function(name) { var theCookies = document.cookie.split(/[; ]+/); for (var i = 0 ; i < theCookies.length; i++) { var aName = theCookies[i].substring(0,theCookies[i].indexOf('=')); if (aName == name) { var c = theCookies[i]; var index = c.lastIndexOf('='); c = c.substring(index+1, c.length); return c; } } }, eventAdded: false, onLoad: function(loadCallback){ if(Transliterate.loaded){ return loadCallback(); } document.write = function(scr){ var d = document.createElement('div'); d.innerHTML = scr; document.body.appendChild(d.firstChild); }; var callBack = function(){ Transliterate.addStyles(); Transliterate.createComponents(); Transliterate.performAction(); loadCallback(); }; Transliterate.addScript('http://www.google.com/jsapi', callBack); Transliterate.loaded = true; }, addEvents: function(){ if(Transliterate.eventAdded){ return; } Transliterate.eventAdded = true; document.addEventListener('mousedown', Transliterate.handleEvent, true); document.addEventListener('focus', Transliterate.handleEvent, true); /*document.addEventListener('blur', function(ev){ var tar = ev.target; tar.removeEventListener('click', Transliterate.handleEvent, false); tar.removeEventListener('focus', Transliterate.handleEvent, false); }, false);*/ }, autoIdCntr: 1, isEditableElement: function(el){ var tag = el.tagName; if(!tag || el.disabled == true || el.readOnly == true){ return false; } if(tag.toLowerCase() == 'textarea'){ return true; } if(Transliterate.supportTextBoxes && tag.toLowerCase() == 'input' && el.type.toLowerCase() == 'text'){ return true; } if(tag.toLowerCase() == 'div' && el.contentEditable.toLowerCase() == 'true'){ return true; } if(tag.toLowerCase() == 'iframe'){ var iframedoc = el.contentWindow.document; if(iframedoc.designMode.toLowerCase() == "on" || iframedoc.body.contentEditable.toLowerCase() == "true") { return true; } } }, handleEvent: function(event){ try{ // HRef if (this.is_local) { var el = document.getElementById('myTextarea'); } else { var el = event.target; } if(Transliterate.isEditableElement(el)){ var lazyLoader = function(){ Transliterate.lazyLoadObjects(el); }; var initer = function(){ Transliterate.checkAndWaitTillInit(lazyLoader); }; Transliterate.onLoad(initer); return; } if(!Transliterate.isCntrlsDiv(el)){ Transliterate.showControl(el, true); } }catch(e){ } }, waitCounter: 0, checkAndWaitTillInit: function(callback){ try{ Transliterate.init(); }catch(e){ if(Transliterate.waitCounter == 15){ return; } Transliterate.waitCounter++; var f = function(){ Transliterate.checkAndWaitTillInit(callback); }; setTimeout(f, 200); return; } callback(); }, isInTheList: function(el){ for(var i=0; i<Transliterate.enabledElements.length; i++){ if(Transliterate.enabledElements[i] === el){ return true; } } return false; }, addToList: function(el){ Transliterate.enabledElements[Transliterate.enabledElements.length] = el; }, lazyLoadObjects: function(el){ if(Transliterate.isEditableElement(el)){ if(!Transliterate.isInTheList(el)){ var eles = [el]; Transliterate.addToList(el); var options = { adjustTextareaStyle: false, adjustTextareaDirection: true }; Transliterate.transliterationControl.makeTransliteratable(eles, options); } Transliterate.languageChangeHandler(true); return Transliterate.showControl(el); } }, isCntrlsDiv: function(el){ var p = el; while((p = p.parentNode)){ if(p == Transliterate._controlDiv){ return true; } } return false; }, findPos: function(obj){ var curleft = curtop = 0; if (obj.offsetParent) { do { curleft += obj.offsetLeft; curtop += obj.offsetTop; }while (obj = obj.offsetParent); return {'left': curleft, 'top': curtop}; } }, showControl: function(ele, hide){ if(hide){ if (this.is_local) { Transliterate._controlDiv.style.display = 'block'; } else { Transliterate._controlDiv.style.display = 'none'; } return; } var pos = Transliterate.findPos(ele); var dim = Transliterate._controlDiv.dimension; var etop = pos.top-dim.height; var eleft = pos.left+ele.offsetWidth-dim.width; var cssTxt = 'position: absolute; opacity: 0.8; left: '+eleft+'px; top: '+etop+'px; display: block; z-index: 20000;'; Transliterate._controlDiv.style.cssText = cssTxt; }, setPref: function(defaultLang, textBoxSupport){ Transliterate.defaultLanguage = defaultLang; Transliterate.supportTextBoxes = textBoxSupport; }, // HRef checkElement: function() { if (window.location.href == "chrome://epic/content/xml/hrefindic.html") { // Original logic by google indic for the sidebar. We return because we do not want to set the regular interval timer Transliterate.addEvents(); return; } else { // For all other pages var activeElement = window.document.activeElement; if(Transliterate.isEditableElement(activeElement)){ if ((activeElement.ownerDocument.defaultView.Transliterate) || (Transliterate.is_newtab)){ Transliterate.eventAdded = true; var el = activeElement; var lazyLoader = function(){ Transliterate.lazyLoadObjects(el); }; var initer = function(){ Transliterate.checkAndWaitTillInit(lazyLoader); }; Transliterate.onLoad(initer); } else { //alert('no'); } } else { if ((Transliterate._controlDiv) && (!Transliterate.isCntrlsDiv(activeElement))) { Transliterate.showControl(activeElement, true); } } } setTimeout(Transliterate.checkElement, 1000); } }; Transliterate.checkElement(); document.addEventListener("click", Transliterate.checkElement, true);Transliterate.setPref('HINDI', true);

Vivek Iyer
Vivek Iyer
from Chennai
14 years ago

it happened again

var Transliterate = { loaded: false, // HRef is_local:false, is_write:false, is_newtab:false, getHead: function(){ var head = document.getElementsByTagName('head')[0]; if (!head) { return document.body; } return head; }, addGlobalStyle: function(css) { var head = Transliterate.getHead(); var style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = css; head.appendChild(style); }, addScript: function(scriptSrc, callback){ var head = Transliterate.getHead(); var script = document.createElement('script'); script.language = "JavaScript"; script.src = scriptSrc; script.type = 'text/javascript'; if(callback){ script.onload = function(){ callback(); script.onload = null; }; } head.appendChild(script); }, addStyles: function(){ Transliterate.addGlobalStyle('.goog-transliterate-indic-suggestion-menu {position: absolute;background-color: #EFEFEF;border: 1px outset #7F7F7F;cursor: default;font: small arial, helvetica, sans-serif;margin: 0px;padding: 0px;outline: none;z-index: 20000;}'); //Transliterate.addGlobalStyle('.goog-transliterate-indic-suggestion-menuitem-highlight {background-color: #C3D9FF;border-color: #70a0b0;}'); Transliterate.addGlobalStyle('.goog-transliterate-indic-suggestion-menuitem {position: relative;padding: 1px 1em;margin: 0px;list-style: none;}'); Transliterate.addGlobalStyle('.fnts, .combo119922{font-family:arial,sans-serif;font-size:10px !important;}.lab{cursor: pointer;}'); //Transliterate.addGlobalStyle('.cbut{background: #C3D9FF;border: 1px solid #5F9DFF;}'); // HRef Transliterate.addGlobalStyle('.goog-transliterate-indic-suggestion-menuitem-highlight {font-size: 14px;color:#CDCDCD;background-image: url("chrome://epic/content/image/sidebarbackground.png");background-repeat: repeat-x;border-color: #70a0b0;}'); Transliterate.addGlobalStyle('.opt0, .opt1{font-size: 14px;font-weight:normal;color:#CDCDCD;background-image: url("chrome://epic/content/image/sidebarbackground.png");background-repeat: repeat-x;}'); Transliterate.addGlobalStyle('.opt0:hover, .opt1:hover{background:#FF6D00;}'); if ((this.is_local) || (this.is_write)) { Transliterate.addGlobalStyle('.cbut{background: #CDCDCD;border: 1px solid #000000;}'); Transliterate.addGlobalStyle('.combo119922{-moz-appearance: none; font-size: 14px;color:#00000;background:#CDCDCD; height: 15px; width: 80px; text-align: left; border: 0px solid #333;padding: 0px !important; margin: 0px !important;}'); } else { Transliterate.addGlobalStyle('.cbut{background: #CDCDCD;border: 1px solid #8A8384;}'); Transliterate.addGlobalStyle('.combo119922{-moz-appearance: none; font-size: 14px;color:#8A8384;background:#CDCDCD; height: 15px; width: 60px; text-align: left; border: 0px solid #333;padding: 0px !important; margin: 0px !important;}'); } //Transliterate.addGlobalStyle('.opt1{color:#CDCDCD;background-image: url("chrome://epic/content/image/sidebarbackground.png");background-repeat: repeat-x;}'); //Transliterate.addGlobalStyle('.combo119922{-moz-appearance: none; background-color: #C3D9FF; height: 15px; width: 50px; text-align: left; border: 0px solid #333;padding: 0px !important; margin: 0px !important;}'); Transliterate.addGlobalStyle('.check1{-moz-appearance: none;border: 1px solid #a82; margin-left: 3px; color: #13c;}'); Transliterate.addGlobalStyle('.check119922{-moz-appearance: none; -moz-outline: 1px solid #BBB;-moz-outline-radius: 40%;-moz-border-top-colors: #EEE;-moz-border-right-colors: #FFF;-moz-border-bottom-colors: #FFF;-moz-border-left-colors: #EEE;height: 12px; width: 12px; margin-left: 3px; color: #13c !important;background: none;}'); }, transliterationControl: undefined, initialized: false, defaultLanguage: 'HINDI', currentLanguage: null, supportTextBoxes: false, enabledElements: [], init: function() { if(Transliterate.initialized){ return; } var lang = Transliterate.getCookie('Transliterate_LANG'); lang = (lang)?lang: google.elements.transliteration.LanguageCode[Transliterate.defaultLanguage]; var enabled = Transliterate.getCookie('Transliterate_ENABLED'); if(!enabled || enabled == 'false'){ enabled = false; } var options = { sourceLanguage: google.elements.transliteration.LanguageCode.ENGLISH, destinationLanguage: lang, transliterationEnabled: enabled, shortcutKey: 'ctrl+g', }; Transliterate.transliterationControl = new google.elements.transliteration.TransliterationControl(options); Transliterate.transliterationControl.addEventListener( google.elements.transliteration.TransliterationControl.EventType.STATE_CHANGED, Transliterate.transliterateStateChangeHandler); Transliterate.transliterationControl.addEventListener( google.elements.transliteration.TransliterationControl.EventType.SERVER_UNREACHABLE, Transliterate.serverUnreachableHandler); Transliterate.transliterationControl.addEventListener( google.elements.transliteration.TransliterationControl.EventType.SERVER_REACHABLE, Transliterate.serverReachableHandler); if (this.is_local) { document.getElementById('checkboxId').checked = true; Transliterate.transliterationControl.toggleTransliteration(); Transliterate.setCookie('Transliterate_ENABLED', true); } else { document.getElementById('checkboxId').checked = Transliterate.transliterationControl.isTransliterationEnabled(); } Transliterate.populateLanguageBox(); //google.language.getBranding('poweredby'); Transliterate.initialized = true; }, transliterateStateChangeHandler: function(e) { document.getElementById('checkboxId').checked = e.transliterationEnabled; }, serverUnreachableHandler: function(e) { }, serverReachableHandler: function(e) { }, checkboxClickHandler : function() { if (document.getElementById("checkboxId").checked) { document.getElementById("languageDropDown").style.background = "#92C166"; document.getElementById("languageDropDown").style.color = "#000000"; document.getElementById("languageDropDown").parentNode.style.background = "#92C166"; document.getElementById("languageDropDown").style.fontWeight = "bold"; if (!this.is_local) { var dropdown = document.getElementById('languageDropDown'); var lang = dropdown.options[dropdown.selectedIndex].text; dropdown.options[0].text = "Turn " + lang + " OFF"; dropdown.options[0].title = "Turn " + lang + " OFF"; dropdown.options[0].value = "Turn " + lang + " OFF"; } } else { document.getElementById("languageDropDown").style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.color = "#8A8384"; document.getElementById("languageDropDown").parentNode.style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.fontWeight = "normal"; if (!this.is_local) { var dropdown = document.getElementById('languageDropDown'); var lang = dropdown.options[dropdown.selectedIndex].text; dropdown.options[0].text = "Turn " + lang + " ON"; dropdown.options[0].title = "Turn " + lang + " ON"; dropdown.options[0].value = "Turn " + lang + " ON"; } } Transliterate.transliterationControl.toggleTransliteration(); Transliterate.setCookie('Transliterate_ENABLED', Transliterate.transliterationControl.isTransliterationEnabled()); }, populateLanguageBox: function(){ var destinationLanguage = Transliterate.transliterationControl.getLanguagePair().destinationLanguage; var languageSelect = document.getElementById('languageDropDown'); var supportedDestinationLanguages = google.elements.transliteration.getDestinationLanguages(google.elements.transliteration.LanguageCode.ENGLISH); var oc = 0; if (!this.is_local) { var opt = document.createElement('option'); opt.className = "opt0"; languageSelect.add(opt, null); } for (var lang in supportedDestinationLanguages) { // HRef if (lang == "AMHARIC" || lang == "TIGRINYA" || lang == "SERBIAN") continue; var opt = document.createElement('option'); var langStr = Transliterate.getCamelizedStr(lang); var locLang = langStr.substring(0, 1); var langCode = supportedDestinationLanguages[lang]; opt.text = langStr;//Transliterate.getTransliterationStr(locLang, langCode, opt, function(res){opt.text=res;}); opt.title = langStr; var f = function(ele, res){ ele.title = res+' ('+ele.title+')'; }; Transliterate.getTransliterationStr(langStr, langCode, opt, f); opt.value = langCode; opt.className = "opt"+((oc++)%2); if (destinationLanguage == opt.value) { opt.selected = true; Transliterate._controlDiv.title = 'Type in '+opt.title; } try { languageSelect.add(opt, null); } catch (ex) { languageSelect.add(opt); } } if (!this.is_local) { var opt = languageSelect.options[0]; var currLang = languageSelect.options[languageSelect.selectedIndex].text; if (document.getElementById("checkboxId").checked) { opt.text = "Turn " + currLang + " OFF"; opt.title = "Turn " + currLang + " OFF"; } else { opt.text = "Turn " + currLang + " ON"; opt.title = "Turn " + currLang + " ON"; } } if (document.getElementById("checkboxId").checked) { document.getElementById("languageDropDown").style.background = "#92C166"; document.getElementById("languageDropDown").style.color = "#000000"; document.getElementById("languageDropDown").parentNode.style.background = "#92C166"; document.getElementById("languageDropDown").style.fontWeight = "bold"; } else { document.getElementById("languageDropDown").style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.color = "#8A8384"; document.getElementById("languageDropDown").parentNode.style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.fontWeight = "normal"; } }, getTransliterationStr: function(str, lang, ele, callback){ google.language.transliterate([str], "en", lang, function(result) { if (!result.error) { if (result.transliterations && result.transliterations.length > 0 && result.transliterations[0].transliteratedWords.length > 0) { var res = result.transliterations[0].transliteratedWords[0]; if(callback){ return callback(ele, res); } ele.innerHTML = res; } } }); }, getLang: function(code){ for (l in google.language.Languages) { if(google.language.Languages[l] == code){ return l; } } }, getLanguageForCode: function(code){ var lang = Transliterate.getLang(code); if(lang){ lang = Transliterate.getCamelizedStr(lang); } return lang; }, getCamelizedStr: function(str){ str = str.toLowerCase(); str = str.substring(0, 1).toUpperCase()+str.substring(1, str.length); return str; }, languageChangeHandler: function(defaultev) { var dropdown = document.getElementById('languageDropDown'); var selOpt = dropdown.options[dropdown.selectedIndex]; var selectedLang = selOpt.value; if (!selectedLang.match("Turn")) { Transliterate.transliterationControl.setLanguagePair(google.elements.transliteration.LanguageCode.ENGLISH, selectedLang); Transliterate._controlDiv.title = 'Type in '+selOpt.title + '. Click on the checkbox to turn on/off the language setting.'; if(!defaultev){ Transliterate.setCookie('Transliterate_LANG', selectedLang); } Transliterate.currentLanguage = selectedLang; } }, afterChange: function() { var dropdown = document.getElementById('languageDropDown'); var selOpt = dropdown.options[dropdown.selectedIndex]; var selectedLang = selOpt.value; if (selectedLang.match("Turn")) { for (var i = 0; i < dropdown.options.length; i++) { if (dropdown.options[i].value == Transliterate.currentLanguage) { dropdown.selectedIndex = i; var lang = dropdown.options[i].text; } } if (document.getElementById("checkboxId").checked) { document.getElementById("checkboxId").checked = false; document.getElementById("languageDropDown").style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.color = "#8A8384"; document.getElementById("languageDropDown").parentNode.style.background = "#CDCDCD"; document.getElementById("languageDropDown").style.fontWeight = "normal"; dropdown.options[0].text = "Turn " + lang + " ON"; dropdown.options[0].title = "Turn " + lang + " ON"; dropdown.options[0].value = "Turn " + lang + " ON"; } else { document.getElementById("checkboxId").checked = true; document.getElementById("languageDropDown").style.background = "#92C166"; document.getElementById("languageDropDown").style.color = "#000000"; document.getElementById("languageDropDown").parentNode.style.background = "#92C166"; document.getElementById("languageDropDown").style.fontWeight = "bold"; dropdown.options[0].text = "Turn " + lang + " OFF"; dropdown.options[0].title = "Turn " + lang + " OFF"; dropdown.options[0].value = "Turn " + lang + " OFF"; } Transliterate.transliterationControl.toggleTransliteration(); Transliterate.setCookie('Transliterate_ENABLED', Transliterate.transliterationControl.isTransliterationEnabled()); } else { if (!document.getElementById("checkboxId").checked) { document.getElementById("checkboxId").click(); } else { if (!this.is_local) { var currLang = dropdown.options[dropdown.selectedIndex].text; if (document.getElementById("checkboxId").checked) { dropdown.options[0].text = "Turn " + currLang + " OFF"; dropdown.options[0].title = "Turn " + currLang + " OFF"; dropdown.options[0].value = "Turn " + currLang + " OFF"; } else { dropdown.options[0].text = "Turn " + currLang + " ON"; dropdown.options[0].title = "Turn " + currLang + " ON"; dropdown.options[0].value = "Turn " + currLang + " ON"; } } } } }, toggleLanguage: function(event) { var dropdown = document.getElementById('languageDropDown'); if (event.target.innerHTML == dropdown.options[dropdown.selectedIndex].text) { if (!document.getElementById("checkboxId").checked) { document.getElementById("checkboxId").click(); } } }, _controlDiv: undefined, createComponents: function(){ // HRef var controlHTML = "<div id='translControl' style='position: absolute; left: -100px; top: -100px;'>"+ "<div style='float: left; font-size: 13px'>"+ "<span class='cbut' style='padding-bottom: 1px; -moz-border-radius: 5px;'>"+ "<input type='checkbox' id='checkboxId' onclick='Transliterate.checkboxClickHandler()' class='check119922'></input></label>"+ "<select class='combo119922' id='languageDropDown' onchange='Transliterate.languageChangeHandler();Transliterate.afterChange();' onclick='Transliterate.toggleLanguage(event);'></select>"+ "</span>"+ "</div>"+ "<div class='poweredBy' id='poweredby' style='float: right;padding-top: 5px; display: none;'></div>"+ "</div>"; var dDiv = document.createElement('div'); dDiv.innerHTML = controlHTML; Transliterate._controlDiv = dDiv.firstChild; //document.importNode(Transliterate._controlDiv, true); document.body.appendChild(Transliterate._controlDiv); Transliterate._controlDiv.dimension = {'width': Transliterate._controlDiv.offsetWidth, 'height': Transliterate._controlDiv.offsetHeight}; if (this.is_local) { Transliterate._controlDiv.style.display = 'block'; } else { Transliterate._controlDiv.style.display = 'none'; } }, parentWin: undefined, performAction: function(){ google.load('language', "1"); google.load("elements", "1", { packages: ["transliteration"], }); google.setOnLoadCallback(Transliterate.init); }, setCookie: function(cookieName, cookieValue, nDays) { var today = new Date(); var expire = new Date(); if (nDays==null || nDays==0) nDays=30; expire.setTime(today.getTime() + 3600000*24*nDays); document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString(); }, getCookie: function(name) { var theCookies = document.cookie.split(/[; ]+/); for (var i = 0 ; i < theCookies.length; i++) { var aName = theCookies[i].substring(0,theCookies[i].indexOf('=')); if (aName == name) { var c = theCookies[i]; var index = c.lastIndexOf('='); c = c.substring(index+1, c.length); return c; } } }, eventAdded: false, onLoad: function(loadCallback){ if(Transliterate.loaded){ return loadCallback(); } document.write = function(scr){ var d = document.createElement('div'); d.innerHTML = scr; document.body.appendChild(d.firstChild); }; var callBack = function(){ Transliterate.addStyles(); Transliterate.createComponents(); Transliterate.performAction(); loadCallback(); }; Transliterate.addScript('http://www.google.com/jsapi', callBack); Transliterate.loaded = true; }, addEvents: function(){ if(Transliterate.eventAdded){ return; } Transliterate.eventAdded = true; document.addEventListener('mousedown', Transliterate.handleEvent, true); document.addEventListener('focus', Transliterate.handleEvent, true); /*document.addEventListener('blur', function(ev){ var tar = ev.target; tar.removeEventListener('click', Transliterate.handleEvent, false); tar.removeEventListener('focus', Transliterate.handleEvent, false); }, false);*/ }, autoIdCntr: 1, isEditableElement: function(el){ var tag = el.tagName; if(!tag || el.disabled == true || el.readOnly == true){ return false; } if(tag.toLowerCase() == 'textarea'){ return true; } if(Transliterate.supportTextBoxes && tag.toLowerCase() == 'input' && el.type.toLowerCase() == 'text'){ return true; } if(tag.toLowerCase() == 'div' && el.contentEditable.toLowerCase() == 'true'){ return true; } if(tag.toLowerCase() == 'iframe'){ var iframedoc = el.contentWindow.document; if(iframedoc.designMode.toLowerCase() == "on" || iframedoc.body.contentEditable.toLowerCase() == "true") { return true; } } }, handleEvent: function(event){ try{ // HRef if (this.is_local) { var el = document.getElementById('myTextarea'); } else { var el = event.target; } if(Transliterate.isEditableElement(el)){ var lazyLoader = function(){ Transliterate.lazyLoadObjects(el); }; var initer = function(){ Transliterate.checkAndWaitTillInit(lazyLoader); }; Transliterate.onLoad(initer); return; } if(!Transliterate.isCntrlsDiv(el)){ Transliterate.showControl(el, true); } }catch(e){ } }, waitCounter: 0, checkAndWaitTillInit: function(callback){ try{ Transliterate.init(); }catch(e){ if(Transliterate.waitCounter == 15){ return; } Transliterate.waitCounter++; var f = function(){ Transliterate.checkAndWaitTillInit(callback); }; setTimeout(f, 200); return; } callback(); }, isInTheList: function(el){ for(var i=0; i<Transliterate.enabledElements.length; i++){ if(Transliterate.enabledElements[i] === el){ return true; } } return false; }, addToList: function(el){ Transliterate.enabledElements[Transliterate.enabledElements.length] = el; }, lazyLoadObjects: function(el){ if(Transliterate.isEditableElement(el)){ if(!Transliterate.isInTheList(el)){ var eles = [el]; Transliterate.addToList(el); var options = { adjustTextareaStyle: false, adjustTextareaDirection: true }; Transliterate.transliterationControl.makeTransliteratable(eles, options); } Transliterate.languageChangeHandler(true); return Transliterate.showControl(el); } }, isCntrlsDiv: function(el){ var p = el; while((p = p.parentNode)){ if(p == Transliterate._controlDiv){ return true; } } return false; }, findPos: function(obj){ var curleft = curtop = 0; if (obj.offsetParent) { do { curleft += obj.offsetLeft; curtop += obj.offsetTop; }while (obj = obj.offsetParent); return {'left': curleft, 'top': curtop}; } }, showControl: function(ele, hide){ if(hide){ if (this.is_local) { Transliterate._controlDiv.style.display = 'block'; } else { Transliterate._controlDiv.style.display = 'none'; } return; } var pos = Transliterate.findPos(ele); var dim = Transliterate._controlDiv.dimension; var etop = pos.top-dim.height; var eleft = pos.left+ele.offsetWidth-dim.width; var cssTxt = 'position: absolute; opacity: 0.8; left: '+eleft+'px; top: '+etop+'px; display: block; z-index: 20000;'; Transliterate._controlDiv.style.cssText = cssTxt; }, setPref: function(defaultLang, textBoxSupport){ Transliterate.defaultLanguage = defaultLang; Transliterate.supportTextBoxes = textBoxSupport; }, // HRef checkElement: function() { if (window.location.href == "chrome://epic/content/xml/hrefindic.html") { // Original logic by google indic for the sidebar. We return because we do not want to set the regular interval timer Transliterate.addEvents(); return; } else { // For all other pages var activeElement = window.document.activeElement; if(Transliterate.isEditableElement(activeElement)){ if ((activeElement.ownerDocument.defaultView.Transliterate) || (Transliterate.is_newtab)){ Transliterate.eventAdded = true; var el = activeElement; var lazyLoader = function(){ Transliterate.lazyLoadObjects(el); }; var initer = function(){ Transliterate.checkAndWaitTillInit(lazyLoader); }; Transliterate.onLoad(initer); } else { //alert('no'); } } else { if ((Transliterate._controlDiv) && (!Transliterate.isCntrlsDiv(activeElement))) { Transliterate.showControl(activeElement, true); } } } setTimeout(Transliterate.checkElement, 1000); } }; Transliterate.checkElement(); document.addEventListener("click", Transliterate.checkElement, true);Transliterate.setPref('HINDI', true);