1/** 2 * Revolution Lightbox PACKAGED v3.0 3 * Share. 4 * 5 * @author Tibi - FWDesign [https://webdesign-flash.ro/] 6 * Copyright © 2006 All Rights Reserved. 7 */ 8(function(window){ 9 10 var FWDRLShare = function(prt){ 11 12 var _s = this; 13 _s.prt = prt; 14 _s._d = prt._d; 15 _s.x2 = _s.y2 = 0; 16 17 _s.socialMedia = { 18 facebook : 'https://www.facebook.com/sharer/sharer.php?u=[url]', 19 twitter : 'https://twitter.com/intent/tweet?text=[text]&url=[url]', 20 pinterest : 'https://www.pinterest.com/pin/create/button/?url=[url]&media=[image]&caption=[text]', 21 linkedin : 'https://www.linkedin.com/shareArticle?url=[url]&mini=true&title=[text]', 22 reddit : 'https://www.reddit.com/submit?url=[url]&title=[text]', 23 tumblr : 'https://www.tumblr.com/share?v=3&u=[url]&t=[text]', 24 blogger : 'https://www.blogger.com/blog_this.pyra?t&u=[url]&n=[text]', 25 buffer : 'https://bufferapp.com/add?url=[url]title=[text]', 26 digg : 'https://digg.com/submit?url=[url]&title=[text]' 27 }; 28 29 30 /** 31 * Initialize. 32 */ 33 _s.init = function(){ 34 _s.setOverflow('visible'); 35 _s.style().width = '100%'; 36 _s.style().height = '100%'; 37 _s.setupCnt(); 38 }; 39 40 41 /** 42 * Setup containers. 43 */ 44 _s.setupCnt = function(){ 45 _s.bk_do = new FWDRLDO('div'); 46 _s.bk_do.style().width = '100%'; 47 _s.bk_do.style().height = '100%'; 48 _s.bk_do.setBkColor(prt.shareMainBackgroundColor); 49 _s.bk_do.screen.addEventListener("click", _s.bkMHU); 50 _s.addChild(_s.bk_do); 51 52 _s.mainHld_do = new FWDRLDO('div'); 53 _s.mainHld_do.screen.className = prt.cls + '-share'; 54 _s.mainHld_do.setOverflow('visible'); 55 _s.addChild(_s.mainHld_do); 56 57 _s.text_do = new FWDRLDO('div', 'relative'); 58 _s.text_do.screen.className = prt.cls + '-text'; 59 _s.mainHld_do.addChild(_s.text_do); 60 61 _s.hld_do = new FWDRLDO('div', 'relative'); 62 _s.hld_do.screen.className = prt.cls + '-buttons-holder'; 63 _s.mainHld_do.addChild(_s.hld_do); 64 65 _s.setupButtons(); 66 _s.setupPointer(); 67 _s.hide(false, true); 68 } 69 70 _s.bkMHU = function(){ 71 _s.hide(true); 72 } 73 74 75 /** 76 * Setup pointers. 77 */ 78 _s.setupPointer = function(){ 79 _s.pointer_do = new FWDRLDO("div"); 80 _s.pointer_do.hasTransform3d_bl = _s.pointer_do.hasTransform2d_bl = false; 81 _s.pointer_do.screen.className = prt.cls + '-pointer'; 82 _s.pointer_do.setBkColor(prt.shareBackgroundColor); 83 _s.pointer_do.style().transform = 'rotate(45deg)'; 84 _s.pointer_do.setWidth(8); 85 _s.pointer_do.setHeight(8); 86 _s.mainHld_do.addChild(_s.pointer_do); 87 } 88 89 90 /** 91 * Setup buttons. 92 */ 93 _s.setupButtons = function(){ 94 _s.buttons = []; 95 96 FWDRLSimpleButton.setPrototype(); 97 if(prt.useVectorIcons){ 98 _s.facebook_do = new FWDRLSimpleButton(0, 0, prt.cls, 99 '<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-facebook"></span>', 100 prt.cls + '-button facebook', 101 'selected'); 102 }else{ 103 _s.facebook_do = new FWDRLSimpleButton(_s._d.facebookN_img, _s._d.facebookSPath, prt.cls); 104 } 105 _s.facebook_do.setShareButton('facebook'); 106 _s.facebook_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH); 107 _s.hld_do.addChild(_s.facebook_do); 108 _s.buttons.push(_s.facebook_do); 109 110 FWDRLSimpleButton.setPrototype(); 111 if(prt.useVectorIcons){ 112 _s.twitter_do = new FWDRLSimpleButton(0, 0, prt.cls, 113 '<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-twitter"></span>', 114 prt.cls + '-button twitter', 115 'selected'); 116 }else{ 117 _s.twitter_do = new FWDRLSimpleButton(_s._d.twitterN_img, _s._d.twitterSPath, prt.cls); 118 } 119 _s.twitter_do.setShareButton('twitter'); 120 _s.twitter_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH); 121 _s.hld_do.addChild(_s.twitter_do); 122 _s.buttons.push(_s.twitter_do); 123 124 FWDRLSimpleButton.setPrototype(); 125 if(prt.useVectorIcons){ 126 _s.linkedin_do = new FWDRLSimpleButton(0, 0, prt.cls, 127 '<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-linkedin"></span>', 128 prt.cls + '-button linkedin', 129 'selected'); 130 }else{ 131 _s.linkedin_do = new FWDRLSimpleButton(_s._d.linkedinN_img, _s._d.linkedinSPath, prt.cls); 132 } 133 _s.linkedin_do.setShareButton('linkedin'); 134 _s.linkedin_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH); 135 _s.hld_do.addChild(_s.linkedin_do); 136 _s.buttons.push(_s.linkedin_do); 137 138 139 FWDRLSimpleButton.setPrototype(); 140 if(prt.useVectorIcons){ 141 _s.tumblr_do = new FWDRLSimpleButton(0, 0, prt.cls, 142 '<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-tumblr"></span>', 143 prt.cls + '-button tumblr', 144 'selected'); 145 }else{ 146 _s.tumblr_do = new FWDRLSimpleButton(_s._d.tumblrN_img, _s._d.tumblrSPath, prt.cls); 147 } 148 _s.tumblr_do.setShareButton('tumblr'); 149 _s.tumblr_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH); 150 _s.hld_do.addChild(_s.tumblr_do); 151 _s.buttons.push(_s.tumblr_do); 152 153 FWDRLSimpleButton.setPrototype(); 154 if(prt.useVectorIcons){ 155 _s.pinterest_do = new FWDRLSimpleButton(0, 0, prt.cls, 156 '<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-pinterest"></span>', 157 prt.cls + '-button pinterest', 158 'selected'); 159 }else{ 160 _s.pinterest_do = new FWDRLSimpleButton(_s._d.pinterestN_img, _s._d.pinterestSPath, prt.cls); 161 } 162 _s.pinterest_do.setShareButton('pinterest'); 163 _s.pinterest_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH); 164 _s.hld_do.addChild(_s.pinterest_do); 165 _s.buttons.push(_s.pinterest_do); 166 167 FWDRLSimpleButton.setPrototype(); 168 if(prt.useVectorIcons){ 169 _s.reddit_do = new FWDRLSimpleButton(0, 0, prt.cls, 170 '<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-reddit"></span>', 171 prt.cls + '-button reddit', 172 'selected'); 173 }else{ 174 _s.reddit_do = new FWDRLSimpleButton(_s._d.redditN_img, _s._d.redditSPath, prt.cls); 175 } 176 _s.reddit_do.setShareButton('reddit'); 177 _s.reddit_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH); 178 _s.hld_do.addChild(_s.reddit_do); 179 _s.buttons.push(_s.reddit_do); 180 181 FWDRLSimpleButton.setPrototype(); 182 if(prt.useVectorIcons){ 183 _s.buffer_do = new FWDRLSimpleButton(0, 0, prt.cls, 184 '<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-buffer"></span>', 185 prt.cls + '-button buffer', 186 'selected'); 187 }else{ 188 _s.buffer_do = new FWDRLSimpleButton(_s._d.bufferN_img, _s._d.bufferSPath, prt.cls); 189 } 190 _s.buffer_do.setShareButton('buffer'); 191 _s.buffer_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH); 192 _s.hld_do.addChild(_s.buffer_do); 193 _s.buttons.push(_s.buffer_do); 194 195 FWDRLSimpleButton.setPrototype(); 196 if(prt.useVectorIcons){ 197 _s.digg_do = new FWDRLSimpleButton(0, 0, prt.cls, 198 '<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-digg"></span>', 199 prt.cls + '-button digg', 200 'selected'); 201 }else{ 202 _s.digg_do = new FWDRLSimpleButton(_s._d.diggN_img, _s._d.diggSPath, prt.cls); 203 } 204 _s.digg_do.setShareButton('digg'); 205 _s.digg_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH); 206 _s.hld_do.addChild(_s.digg_do); 207 _s.buttons.push(_s.digg_do); 208 209 FWDRLSimpleButton.setPrototype(); 210 if(prt.useVectorIcons){ 211 _s.blogger_do = new FWDRLSimpleButton(0, 0, prt.cls, 212 '<span class="' + prt.fontIcon + ' ' + prt.fontIcon + '-blogger"></span>', 213 prt.cls + '-button blogger', 214 'selected'); 215 }else{ 216 _s.blogger_do = new FWDRLSimpleButton(_s._d.bloggerN_img, _s._d.bloggerSPath, prt.cls); 217 } 218 _s.blogger_do.setShareButton('blogger'); 219 _s.blogger_do.addListener(FWDRLSimpleButton.MOUSE_UP, _s.shareMUH); 220 _s.hld_do.addChild(_s.blogger_do); 221 _s.buttons.push(_s.blogger_do); 222 223 } 224 225 _s.shareMUH = function(e){ 226 _s.shareOn(e.inst); 227 } 228 229 /** 230 * Share when button is clicked. 231 * @param {String} type 232 */ 233 _s.shareOn = function(type){ 234 var media = prt.gallery_ar[prt.mId], 235 image = media.type == FWDRL.IMAGE ? media.src : media.posterSrc, 236 url = _s.socialMedia[type], 237 uri 238 239 console.log(prt.sharedURL); 240 if(prt.sharedURL == 'page') { 241 uri = [location.protocol, '//', location.host, location.pathname].join( '' ); 242 }else if(prt.sharedURL == 'deeplink' || ['iframe', 'HTML'].indexOf(media.type) > -1){ 243 uri = [location.protocol, '//', location.host, location.pathname].join( '' ); 244 uri += '#/' + prt.setDL(false); 245 }else{ 246 uri = media.src; 247 } 248 249 // convert to absolute path if necessary 250 var link = document.createElement('a'); 251 link.href = image; 252 image = link.href; 253 link.href = uri; 254 uri = link.href; 255 256 var tmp = document.createElement( 'div' ); 257 tmp.innerHTML = media.caption; 258 var text = (tmp.textContent || tmp.innerText).replace( /\s+/g, ' ' ).trim() || ''; 259 260 url = url.replace('[url]', encodeURIComponent(uri)) 261 .replace('[image]', encodeURIComponent(image)) 262 .replace('[text]', encodeURIComponent(text || document.title)); 263 264 var left = Math.round(window.screenX + (window.outerWidth - 626)/2), 265 top = Math.round(window.screenY + ( window.outerHeight - 436 )/2); 266 267 268 window.open(url, 'fwdrl_share', 'status=0,resizable=1,location=1,toolbar=0,width=626,height=436,top=' + top + ',left=' + left ); 269 } 270 271 272 /** 273 * Update text and buttons. 274 */ 275 _s.update = function(){
276 if(!prt.showShareButton) return; 277 _s.bk_do.setBkColor(prt.shareMainBackgroundColor); 278 _s.mainHld_do.setBkColor(prt.shareBackgroundColor); 279 _s.pointer_do.setBkColor(prt.shareBackgroundColor); 280 _s.text_do.setInnerHTML(prt.shareText); 281 282 var tempBtns = []; 283 for(var i=0; i<prt.shareButtons.length; i++){ 284 var btnName = prt.shareButtons[i]; 285 for(var j=0; j<_s.buttons.length; j++){ 286 var btn = _s.buttons[j]; 287 if(btnName == btn.inst){ 288 tempBtns.push(btn); 289 } 290 } 291 } 292 293 for(var i=0; i<_s.buttons.length; i++){ 294 var btn = _s.buttons[i]; 295 try{ 296 _s.hld_do.removeChild(btn); 297 }catch(e){} 298 } 299 300 for(var i=0; i<tempBtns.length; i++){ 301 var btn = tempBtns[i]; 302 _s.hld_do.addChild(btn); 303 } 304 } 305 306 307 /** 308 * Show/hide. 309 */ 310 _s.show = function(pos, x, y){ 311 if(_s.isShowed || prt.isLoading) return; 312 _s.isShowed = true; 313 _s.setX(0); 314 315 var btnX = prt.shareBtn_do.x; 316 var btnY = prt.shareBtn_do.y; 317 var btnW = prt.shareBtn_do.w; 318 var btnH = prt.shareBtn_do.h; 319 var sW = prt.stageW; 320 var sH = prt.stageH; 321 var wW = _s.mainHld_do.getWidth(); 322 var wH = _s.mainHld_do.getHeight(); 323 var x,y,x2,y2; 324 var pointerOffset = 4; 325 326 327 if(prt.tempBtnsAlign == FWDRL.BUTTONS_TOP){ 328 x = btnX - Math.round((wW - btnW)/2); 329 y = btnY + btnW + 10; 330 pos = 'top'; 331 if(x + wW > sW){ 332 x = btnX - wW + btnW; 333 pointerOffset = -(wW - btnW)/2 + 5; 334 } 335 }else{ 336 x = btnX + btnW + 10; 337 y = btnY - Math.round((wH - btnH)/2); 338 339 if(y < 0){ 340 pointerOffset = 78; 341 y = prt.shareBtn_do.y - 5; 342 } 343 pos = 'right'; 344 if(x + wW > sW - 20){ 345 x = btnX - wW - 10; 346 pos = 'left'; 347 } 348 } 349 350 x= Math.round(x); 351 y = Math.round(y); 352 353 354 _s.x2 = x; 355 _s.y2 = y; 356 if(pos == 'right'){ 357 _s.x2 = x + 20; 358 }else if(pos == 'left'){ 359 _s.x2 = x - 20; 360 }else if(pos == 'top'){ 361 _s.y2 = y + 20; 362 } 363 364 _s.mainHld_do.setX(_s.x2); 365 _s.mainHld_do.setY(_s.y2); 366 _s.mainHld_do.setAlpha(0); 367 _s.bk_do.setAlpha(0) 368 369 if(pos == 'top'){ 370 _s.pointer_do.style().top = ' -4px'; 371 _s.pointer_do.style().left = 'calc(50% - ' + pointerOffset + 'px)'; 372 }else if(pos == 'left'){ 373 _s.pointer_do.style().top = 'calc(50% - ' + pointerOffset + 'px)'; 374 _s.pointer_do.style().left = 'calc(100% - 4px)'; 375 }else if(pos == 'right'){ 376 _s.pointer_do.style().top = 'calc(50% - ' + pointerOffset + 'px)'; 377 _s.pointer_do.style().left = '-4px'; 378 } 379 380 FWDAnimation.to(_s.bk_do, .6, {alpha:1, ease:Expo.easeInOut}); 381 FWDAnimation.to(_s.mainHld_do, .6, {x:x, y:y, alpha:1, ease:Expo.easeInOut}); 382 _s.setVisible(true); 383 _s.dispatchEvent(FWDRLShare.SHOW); 384 } 385 386 _s.hide = function(anim, o){ 387 if(!_s.isShowed && !o || FWDAnimation.isTweening(_s.mainHld_do)) return; 388 _s.isShowed = false; 389 390 FWDAnimation.killTweensOf(_s.mainHld_do); 391 if(anim){ 392 FWDAnimation.to(_s.bk_do, .6, {alpha:0, ease:Expo.easeInOut}); 393 FWDAnimation.to(_s.mainHld_do, .6, {x:_s.x2, y:_s.y2, alpha:0, ease:Expo.easeInOut, onComplete:_s.hideComplete}); 394 }else{ 395 _s.hideComplete(); 396 } 397 _s.dispatchEvent(FWDRLShare.HIDE); 398 } 399 400 _s.hideComplete = function(){ 401 _s.setX(-8000); 402 _s.setVisible(false); 403 } 404 405 _s.init(); 406 }; 407 408 /** 409 * Prototype. 410 */ 411 FWDRLShare.setPrototype = function(){ 412 FWDRLShare.prototype = new FWDRLDO('div'); 413 }; 414 415 FWDRLShare.SHOW = 'show'; 416 FWDRLShare.HIDE = 'hide'; 417 418 window.FWDRLShare = FWDRLShare; 419}(window));
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.