PageSourceSearch

https://revoltlib.com/javascript/like-dislike.js

js revoltlib.com collected 2026-09-25 06:17:15 UTC 4,267 bytes, 144 lines download raw bytes

1$(document).ready(function(event){
2	id_token = $('#google_token_id').val();
3	if($('#userid').attr('id')) {
4		xmlhttp = undefined;
5		if (window.XMLHttpRequest) {
6			// code for IE7+, Firefox, Chrome, Opera, Safari
7			xmlhttp = new XMLHttpRequest();
8		} else {  // code for IE6, IE5
9			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
10		}
11		
12		var liked = 0;
13		var disliked = 0;
14		var profile;
15		
16		$('#thumbs-up-button-container').click(function(e){
17			console.log("BT: VOTE!" + id_token + "|");
18			if(liked) {
19				undoLike();
20				
21				decrementLikes();
22				
23				xmlhttp.open('POST','view.json',true);
24				xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
25				xmlhttp.send('action=undoupvote&google_token_id=' + id_token);
26			} else {
27				if(disliked) {
28					decrementDislikes();
29				}
30				undoDisLike();
31				doLike();
32				
33				incrementLikes();
34				
35				xmlhttp.open('POST','view.json',true);
36				console.log("BT: OPENING action=upvote!");
37				xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
38				xmlhttp.send('action=upvote&google_token_id=' + id_token);
39			}
40		});
41		
42		$('#thumbs-down-button-container').click(function(e){
43			if(disliked) {
44				undoDisLike();
45				
46				decrementDisLikes();
47				
48				xmlhttp.open('POST','view.json',true);
49				xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
50				xmlhttp.send('action=undodownvote&google_token_id=' + id_token);
51			} else {
52				if(liked) {
53					decrementLikes();
54				}
55				undoLike();
56				doDisLike();
57				
58				incrementDisLikes();
59				
60				xmlhttp.open('POST','view.json',true);
61				xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
62				xmlhttp.send('action=downvote&google_token_id=' + id_token);
63			}
64		});
65		
66		xmlhttp.onreadystatechange=function() {
67			if (this.readyState==XMLHttpRequest.DONE && this.status==200) {
68				console.log("BT: Response text!!!" + xmlhttp.responseText + "|");
69			//	document.getElementById("txtHint").innerHTML=this.responseText;
70			}
71		}
72		
73		function doLike() {
74			liked = 1;
75			imagesource = $('#thumbs-up-button').attr('src');
76			imagesource = imagesource.replace('thumbs-up-right.jpg', 'thumbs-up-right-green.jpg');
77			$('#thumbs-up-button').prop('src', imagesource);
78		}
79		
80		function undoLike() {
81			liked = 0;
82			imagesource = $('#thumbs-up-button').attr('src');
83			imagesource = imagesource.replace('thumbs-up-right-green.jpg', 'thumbs-up-right.jpg');
84			$('#thumbs-up-button').prop('src', imagesource);
85		}
86		
87		function doDisLike() {
88			disliked = 1;
89			imagesource = $('#thumbs-down-button').attr('src');
90			imagesource = imagesource.replace('thumbs-down-right.jpg', 'thumbs-down-right-red.jpg');
91			$('#thumbs-down-button').prop('src', imagesource);
92		}
93		
94		function undoDisLike() {
95			disliked = 0;
96			imagesource = $('#thumbs-down-button').attr('src');
97			imagesource = imagesource.replace('thumbs-down-right-red.jpg', 'thumbs-down-right.jpg');
98			$('#thumbs-down-button').prop('src', imagesource);
99		}
100		
101		function incrementLikes() {
102			likes_text = $('#total-likes').html();
103			likes_text = likes_text.replace(/,/gi, '');
104			likes = parseInt(likes_text);
105			likes = likes + 1;
106			$('#total-likes').html(likes);
107		}
108		
109		function decrementLikes() {
110			likes_text = $('#total-likes').html();
111			likes_text = likes_text.replace(/,/gi, '');
112			likes = parseInt(likes_text);
113			likes = likes - 1;
114			$('#total-likes').html(likes);
115		}
116		
117		function incrementDisLikes() {
118			dislikes_text = $('#total-dislikes').html();
119			dislikes_text = dislikes_text.replace(/,/gi, '');
120			dislikes = parseInt(dislikes_text);
121			dislikes = dislikes + 1;
122			$('#total-dislikes').html(dislikes);
123		}
124		
125		function decrementDisLikes() {
126			dislikes_text = $('#total-dislikes').html();
127			dislikes_text = dislikes_text.replace(/,/gi, '');
128			dislikes = parseInt(dislikes_text);
129			dislikes = dislikes - 1;
130			$('#total-dislikes').html(dislikes);
131		}
132		
133		if($('#likeordislike') && $('#likeordislike').attr('id')) {
134			if(parseInt($('#likeordislike').val()))
135			{
136				doLike();
137			}
138			else
139			{
140				doDisLike();
141			}
142		}
143	}
144});

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.