PageSourceSearch

https://www.zdravrussia.ru/js/smile.js

js zdravrussia.ru collected 2026-10-02 12:49:49 UTC 11,592 bytes, 225 lines download raw bytes

1
2var Smile = {
3		smiles: {":-)": "ulibka", ":-(": "gruschu", ":D": "smeus", ";-)": "podmigivau", ":P": "pokazivauYazik", ":-D": "kataus_popolu", ":-*": "pocelui", "=-O": "udivlyaus",
4					":'(": "plachu", "(disappointment)": "razocharovanie", "(yawn)": "zevau", "(redden)": "krasneu", "(party)": "prazdnik", "(wait)": "zdu", ":@": "zloy",
5					":-[": "smuschen", ":-!": "toshnit", "(hug)": "obnimau", ":X":"rotNaZamke", ":-|": "vozmuschenie", ":O": "glaza_na_lbu", "(like)": "obozau", "(watch)": "slezhuZaToboi",
6					":|": "sderzan", "(love)": "vlublen", "(skeptical)": "skeptichen", "(talk)": "boltau", "(clap)": "ovacii", "(meditate)": "mediciruyu", "(think)": "dumau",  
7					"(y)": "soglashaus", "(n)": "otkazivaus", "|-(": "skushno", "(ill)": "boleu", "(fear)": "ispug", "|-)": "splu", "(wave)": "preved", "(bye)": "poka", "(thanks)": "spasibo",
8					"8)": "krosavcheg", "8-)": "krupoi", "%-)": "besumnii", "8-|": "ochkarik", "]:->": "besitMenya", ":-X": "neznau", "]:)": "uhmilka", "(sweat)": "zarko", "(cold)": "holodno",
9					"(handshake)": "rukopozatie", "(dance)": "tancuiu", "(work)": "rabotau", "(relax)": "otdihau", "(present)":"podarok", "(h)": "serdce", "@}---": "cvetok"},  
10		smilesTitles: {"ulibka": "Улыбаюсь", "prazdnik": "Праздник", "kataus_popolu": "Катаюсь по полу от меха", "smeus": "Смеюсь", "gruschu": "Грущу", "razocharovanie"
10: "Разочарование", 
11		    "toshnit": "Тошнит", "plachu": "Плачу", "zdu": "Жду", "zarko": "Жарко", "zloy": "Злой", "vozmuschenie": "Возмущенный", "soglashaus": "Соглашаюсь", "otkazivaus": "Отказываюсь", 
12		    "boltau": "Болтаю", "zevau": "Зеваю", "smuschen": "Смущен", "obnimau": "Обнимаю", "obozau": "Обожаю", "udivlyaus": "Удивляюсь", "glaza_na_lbu": "Глаза на лбу", "podmigivau": "Подмигиваю", 
13		    "pokazivauYazik": "Показываю язык", "slezhuZaToboi": "Слежу за тобой", "uhmilka": "Ухмылка", "krosavcheg": "Красавчик", "sderzan": "Сдержан", "mediciruyu": "Медитирую", "ochkarik": "Очкарик", 
14		    "neznau": "Не знаю", "holodno": "Холодно", "krupoi": "Крутой", "besumnii": "Сумасшедший", "podarok": "Подарок", "boleu": "Болею", "rotNaZamke": "Рот на замке", "rabotau": "Работаю", "ispug": "Испуг", 
15		    "splu": "Сонный", "ovacii": "Овации", "poka": "Пока", "krasneu": "Краснею", "skeptichen": "Скептичен", "spasibo": "Спасибо", "besitMenya": "Бесит меня", "preved": "Привет", 
16		    "pocelui": "Поцелуй", "tancuiu": "Танцую", "serdce": "Сердце", "skushno": "Скучаю", "rukopozatie": "Рукопожатие", "vlublen": "Влюблен", "dumau": "Думаю", "otdihau": "Отдыхаю", "cvetok": "Цветок"},
17
18	    processSmiles: function(msg) {
19			$.each(Smile.smiles, function(index, value) {
20				msg = msg.replaceAll(index, "<span class='smile " + value + " active' title='" + Smile.smilesTitles[value] + "'/>");
21			})
22			return msg;
23	    }, 
24	    buildSmilesMenu: function(smiles) {
25	    	$.each(Smile.smiles, function(index, value) {
26        		var html = $("<div class='smile " + value + "' text=\"" + index + "\"><div class='hint'>" + Smile.smilesTitles[value] + "<div class='pointer'/><div class='right'/></div>" +
27        				"<div class='border'><div class='corner lt'/><div class='corner rt'/><div class='corner lb'/><div class='corner rb'/></div></div>");
28        		smiles.append(html);
29        	});
30	    	Smile.initHints(smiles);
31	    },
32	    initHints: function(smiles) {
33	    	smiles.find(".smile").unbind("hover").hover( function() {
34    			var smile = $(this);
35    			$(document).stopTime("smileHint").oneTime(500, "smileHint", function() {
36        			var hint = $(smile).find(".hint");
37        			hint.show();
38        			hint.css("left", -hint.width()/2 + 6 + "px" );
39    			} );
40    		},
41    		function() {
42    			$(document).stopTime("smileHint");
43    			$(this).find(".hint").hide();
44        	})
45	    },
46	    initSmileIcon: function(smiles, smilesIcon, documentElement) {
47	    	documentElement = !documentElement ? document: documentElement;
48	    	smilesIcon.unbind("click").click( function() {
49        		if(smiles.is(":visible")) {
50        			smiles.hide();
51        		} else {
52        			smiles.show();
53            		var closePanel = function(e){
54        				//if( smiles.is(":visible") && $(e.target).parents(".smiles").length == 0 ) {
55        				smiles.hide();
56        				$(documentElement).unbind("click", closePanel);
57        				if(document != documentElement) {
58        					$(document).unbind("click", closePanel);
59        				}
60        				//}
61        			};
62        			$(documentElement).unbind("click", closePanel).click( closePanel );
63        			if(document != documentElement) {
64    					$(document).unbind("click", closePanel).click( closePanel );
65    				}
66            	}
67        		return false;
68        	});
69	    },
70	    initSmilesTextarea: function(smiles, smilesIcon, textarea, buildMenu) {
71	    	if(buildMenu) {
72	    		Smile.buildSmilesMenu(smiles);
73	    	}
74	    	var range;
75	    	if(document.selection) {
76		    	$(textarea).click(function() {
77		    		range = document.selection.createRange(); 
78		    	}).keydown( function() {
79		    		range = document.selection.createRange(); 
80		    	});
81	    	}
82	    	smiles.find(".smile").unbind("click").click( function() {
83    			Smile.insertText($(this).attr("text"), textarea, range);
84    			smiles.hide();
85    		});
86	    	Smile.initSmileIcon(smiles, smilesIcon);
87	    	Smile.initHints(smiles);
88        }, 
89        initSmilesDiv: function(smiles, smilesIcon, contentEditableElement, contentWindow, isBuildMenu, onChange) {
90        	var documentElement = contentEditableElement.length > 0 ? contentEditableElement[0].ownerDocument : document;
91        	var windowElement = contentWindow ? contentWindow : window;
92        	
93        	if(isBuildMenu) {
94	    		Smile.buildSmilesMenu(smiles);
95	    	}
96        	Smile.initSmileIcon(smiles, smilesIcon, documentElement);
97        	
98            var range;
99            insertTextAtCursor = function(documentElement, windowElement, text) {
100            	var sel, range, html;
101                if (windowElement.getSelection) {
102                    sel = windowElement.getSelection();
103                    if (sel.getRangeAt && sel.rangeCount) {
104                    	range = sel.getRangeAt(0);
105                     	var node = documentElement.createTextNode(text);
106                     	range.insertNode( node );
107                        range.selectNodeContents(node);
108        		        range.collapse(false);
109                    }
110                } else if (documentElement.selection && documentElement.selection.createRange) {
111                    range = documentElement.selection.createRange();
112                    range.pasteHTML(text);
113                }
114            }
115            saveSelection = function() {
116            	var sel;
117            	if (windowElement.getSelection) {
118                    sel = windowElement.getSelection();
119                    if (sel.getRangeAt && sel.rangeCount) {
120                    	return sel.getRangeAt(0);
121                    }
122                } else if (documentElement.selection && documentElement.selection.createRange) {
123                    return documentElement.selection.createRange();
124                }
125                return null;
126            }
127            restoreSelection = function(range) {
128                if (range) {
129                	if (windowElement.getSelection) {
130                        sel = windowElement.getSelection();
131                        sel.removeAllRanges();
132                        sel.addRange(range);
133                    } else if (documentElement.selection && range.select) {
134                        range.select();
135                    }
136                } else {
137                	if(documentElement.createRange) {
138        		        range = documentElement.createRange();
139        		        range.selectNodeContents(contentEditableElement[0]);
140        		        range.collapse(false);
141        		        selection = windowElement.getSelection();
142        		        selection.removeAllRanges();
143        		        selection.addRange(range);
144        		    } else if(documentElement.selection) { 
145        		        range = documentElement.body.createTextRange();
146        		        range.moveToElementText(contentEditableElement[0]);
147        		        range.collapse(false);
148        		        range.select();
149        		    }
150                }
151            }
152            contentEditableElement.keypress( function() {
153            	setTimeout(function(){
154            		range = saveSelection();
155            	}, 200);
156            } ).click( function() {
157            	range = saveSelection();
158            });
159            
160            
161        	smiles.find(".smile").each( function() {
162        		$(this).unbind("click").click( function() {
163        			restoreSelection(range);
164        			insertTextAtCursor(documentElement, windowElement, $(this).attr("text"));
165        			smiles.hide();
166        			//Smile.setEndOfContenteditable(contentEditableElement[0]);
167        			$(contentEditableElement).focus();
168        			if ( onChange ) onChange();
169        		});
170        	});
171        	Smile.initHints(smiles);
172        }, 
173        insertText: function insertAtCaret(text, txtarea, range) { 
174    		var scrollPos = txtarea.scrollTop; 
175    		var strPos = 0; 
176    		var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ? "ff" : (document.selection ? "ie" : false ) ); 
177    		if (br == "ie") { 
178    			txtarea.focus(); 
179    			if(!range) {
180    				alert("null");
181    				range = document.selection.createRange(); 
182    			}
183    			var length = range.htmlText.length;
184    			while(range.htmlText.length - length <= 1) {
185    				length = range.htmlText.length;
186    				range.moveStart ('character', -1);
187    			}
188    			strPos = range.text.length; 
189    		} else if (br == "ff") 
190    			strPos = txtarea.selectionStart; 
191    		
192    		var front = (txtarea.value).substring(0, strPos); 
193    		var back = (txtarea.value).substring(strPos, txtarea.value.length); 
194    		txtarea.value=front + text + back; 
195    		strPos = strPos + text.length; 
196    		if (br == "ie") { 
197    			txtarea.focus();
198    			var range = document.selection.createRange(); 
199    			range.moveStart ('character', strPos); 
200    			range.moveEnd ('character', 0); 
201    			range.select();
202    		} else if (br == "ff") { 
203    			txtarea.selectionStart = strPos; 
204    			txtarea.selectionEnd = strPos; 
205    			txtarea.focus(); 
206    		} 
207    		txtarea.scrollTop = scrollPos; 
208    	}, 
209    	setEndOfContenteditable: function ( contentEditableElement ) {
210		    var range,selection;
211		    if(document.createRange) {
212		        range = document.createRange();
213		        selection = window.getSelection();
214		        selection.removeAllRanges();
215		        selection.addRange(range);
216		        range.selectNodeContents(contentEditableElement);
217		        range.collapse(false);
218		    } else if(document.selection) { 
219		        range = document.body.createTextRange();
220		        range.moveToElementText(contentEditableElement);
221		        range.collapse(false);
222		        range.select();
223		    }
224		}
225}

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.