/* SGE addon - This a user-script that provides extra functionallity on top of steamgifts.com Copyright (C) 2012 Rossen Georgiev This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ (function($) { // chrome/opera hack; var unsafeWindow = this['unsafeWindow'] || window; // check if already loaded if(unsafeWindow.gafIsLoaded) return false; unsafeWindow.gafIsLoaded = true; // doesnt load on search page if(window.location.href.indexOf("search/") > -1 ) return false; // make sure we only load the code on supported pages // -------- // This was functionality was moved from the init script. // Adding support for certain parts of the site will no longer require an action on the user side if(!window.location.href.match(/^https?\:\/\/www\.steamgifts\.com\/?(#|(open|new|forum).*)?$/)) if(typeof unsafeWindow.gafDev === 'undefined') return false; // load DLC database $('body').append('<script type="text/javascript" src="http://rossengeorgiev.github.com/sg-enhancement-addon/sg_dlc_database.json"></script>'); // fades background and shows+centre the popup unsafeWindow.gafPopupShow = function() { $("#gafPopup").css({ "top": document.documentElement.clientHeight / 2 - 150, "left": document.documentElement.clientWidth / 2 - 200 }); $('#gafPopup').fadeIn('slow'); $('#gafPopupBackground').fadeIn('normal'); } // hide popup and background unsafeWindow.gafPopupHide = function() { $('#gafOverlay').remove(); $('#gafPopup').fadeOut('normal'); $('#gafPopupBackground').fadeOut('slow'); $('.ajax_gifts>div.post.quickview').removeClass('quickview'); } // function is called everytime there is a change to textarea for the filter // and contents mirrored in the cookie unsafeWindow.gafFormUpdate = function() { unsafeWindow.localStorage.gafFilter = $('#gafFilterInput').val(); unsafeWindow.gafFilter = $('#gafFilterInput').val().split(','); } // called then ignore button is pressed // * adds name of the game to the filter and updates the cookie // * hides all giveaways for the same game // * slide up animantion unsafeWindow.gafIgnore = function(elm) { var node = elm.parentNode.parentNode.parentNode.parentNode; $(elm).hide(); $('#gafFilterInput').append(',' + $(node).find('.title').find('a').html()); unsafeWindow.gafFormUpdate(); unsafeWindow.gafApplyFilter($('.ajax_gifts>div.post')); unsafeWindow.gafLoadingCheck(); } // removes giveaway matching the filter unsafeWindow.gafApplyFilter = function(gafs) { // quick search if($.trim($('input[name=gafSearch]').val()) != "") { var match_pat = new RegExp($.trim($('input[name=gafSearch]').val()).replace(/[-[\]{}()+?.,\\^$|#\s]/g, '\\$&'),'i'); $(gafs).find('.title a').each(function(k,e) { if($(e).text().match(match_pat)) { $(e).parent().parent().parent().stop(true,true).slideDown(); } else { $(e).parent().parent().parent().stop(true,true).slideUp(); } }); setTimeout(unsafeWindow.gafLoadingCheck, 1000); return false; } var fall = $('#sg_fid0').is(':checked'); var fftr = $('#sg_fid1').is(':checked'); var fwish = $('#sg_fid2').is(':checked'); var ffade = $('#sg_fid3').is(':checked'); var fpts = $('#sg_fid4').is(':checked'); var fdlc = $('#sg_fid5').is(':checked'); var freg = $('#sg_fid6').is(':checked'); var fgrp = $('#sg_fid7').is(':checked'); var fgreen = $('#sg_fid8').is(':checked'); var fred = $('#sg_fid9').is(':checked'); var fcont_min = parseFloat($('#gafViewLinks .price.min').text().replace('$','')); var fcont_max = parseFloat($('#gafViewLinks .price.max').text().replace('$','')); // show all giveaways if(fall) { gafs = $(gafs).filter(':hidden'); gafs.find('.description').attr('style',''); gafs.slice(0,5).slideDown(function() { gafs.slice(5).show(); }); return true; } var finalset = []; // final set of giveways that will be displayed var fgafs = [] // filtered set of giveaways, source for other filters // filter already owned or ignored giveaways if(fftr || fwish) { var gaflist = $.unique(unsafeWindow.gafFilter.concat(unsafeWindow.gafSyncFilter).sort()); var gafstr; // when the list is empty, additional filtering like for contributor giveaways doenst work // this this is because, the code block for the second block doesnt execture gaflist.push('_______'); // quick fix fake entry // remove all DLC for games we dont own if(fdlc) $.merge(gaflist, unsafeWindow.gafDLCSyncd); fgafs = $(gafs).map(function(i,giveaway) { var elm = $(giveaway).find('a')[0]; $(giveaway).find('.description').attr('style',''); match = false; for(j = 0; j < gaflist.length; j++) { gafstr = $.trim(gaflist[j]).toLowerCase().replace(/&/g,'&'); if(gafstr == "") continue; // check if we are parsing a highlight entry var highlight = false; if(gafstr.match(/^\d+\. /)) { highlight = true; gafstr = gafstr.replace(/^\d+\. /,''); } var pat = new RegExp('^'+gafstr.replace(/[\_\-\[\]{}()+?.,\\^$|#\s]/g, '\\$&').replace(/\*/g,'.*')+'$'); if(highlight) { // if element doenst match continue with next one if(!elm.innerHTML.toLowerCase().match(pat)) continue; // else highlight the element and make it visible $(giveaway).find('.description').css({background: '#aaFFa8'}); if(fwish) return giveaway; // append fgafs with highlighted giveway, if highlighted is enabled (fwish) } else if(elm.innerHTML.toLowerCase().match(pat)) { match = true; break; } } if(!match && fftr) return giveaway; // append giveaway if not in filter list }).get(); } else { fgafs = $(gafs).find('.description').attr('style','').parent().parent().get(); } // filter finalset by number of points if(fpts) { // need to get current number of points, if logged in var p = $('#navigation li a.arrow').slice(1,2).text().match(/\-?(\d+)P/); if(!p) return false; else p = parseInt(p[1]); if(p < 0) return false; fgafs = $(fgafs).find('.title span').map(function(i,e) { var s = e.innerHTML.match(/(\d+)P/); if(s) { if(s && parseInt(s[1]) <= p) return $(e).parent().parent().parent().get(); } }).get(); } // include contributor giveaways if(ffade) { fgafs = $(fgafs).filter(':not(.fade)').get(); } // include group giveaways if(fgrp) { // subset of group giveaways var tmp = $(fgafs).find('.group_only').parent().parent().parent(); // susbet of tmp of red contributor giveways var subset = tmp.find('.contributor_only:not(.green)').parent().parent().parent(); // subtract sets $.merge(finalset, $.grep(tmp, function(e) { return $.inArray(e, subset) == -1 })); } // include contributor giveaways if(fgreen) { $.merge(finalset, $(fgafs).find('.contributor_only.green').parent().parent().parent().get()); } if(fred) { $.merge(finalset, $(fgafs).find('.contributor_only:not(.green)').parent().parent().parent().get()); } // contributor range finalset = $.grep(finalset, function(e) { e = $(e); if(e.find('.contributor_only').length > 0) { var amount = parseFloat(e.find('.contributor_only').text().match(/[0-9\.,]+/)[0]); return (amount >= fcont_min) && (amount <= fcont_max); // apply contributor range } return true; }, false); // include regular giveaways if(freg) { $.merge(finalset, $(fgafs).map(function(i,e) { if($(e).find('.group_only,.contributor_only').length == 0) { return e; } }).get()); } // allways show developer giveaways on top $.merge(finalset, $(".content>.post .new:contains('Developer')").parent().parent().parent().get()); //--------------------- // Filters end //--------------------- // finalize finalset // if no filters are selected simply output the whole list if(!fgreen && !fred && !fgrp && !freg) finalset = fgafs; else finalset = $.unique(finalset); // excludeset consists of only giveaways that should be hidden var excludeset = $(gafs).map(function() { if( $.inArray(this,finalset) < 0) { return this; } }).get(); // display results :) excludeset = $(excludeset).filter(':visible'); finalset = $(finalset).filter(':hidden'); excludeset.slice(0,5).stop(true,true).slideUp(function() { excludeset.slice(5).stop(true,true).hide(); }); finalset.slice(0,5).stop(true,true).slideDown(function() { finalset.slice(5).stop(true,true).show(); }); } // add ignore buttons to all giveaways :) unsafeWindow.gafAddIgnoreButton = function(elms) { var gafs = $(elms).find('a'); for(i = 0; i < gafs.length; i++) { if(gafs[i].href.match(/\/giveaway.*?entries$/)) { $(gafs[i].parentNode.parentNode).append("<span style='margin-right: 10px;'><a href='#' name='gafbutton' onclick='javascript: gafIgnore(this); return false'>Ignore</a></span>") } } } // function is called by iframe onLoad // filters new giveaways and adds them to the current page for endless scroll unsafeWindow.gafPageLoaded = function(data) { if(data == '') { return; } else { var loadedContent = $(data); } if(window.location.href.match(/forum/)) { if(unsafeWindow.gafHrefPart.length > 5) { unsafeWindow.gafAddHC(loadedContent); if(unsafeWindow.gafReverse) { loadedContent.find('.parent_container').reverse().insertAfter($('.parent_container').last()); } else { loadedContent.find('.parent_container').insertAfter($('.parent_container').last()); } // restore click functionallity // code taken from SG, credit: CG $('.delete_comment').click(function(){ $("input[name='delete_comment_id']").val($(this).parent().attr("rel")); $('#delete_comment').submit(); return false; }); $('.comment_reply .edit_comment').click(function(){ $(this).parent().parent().parent().children('.user_body').hide(); $(this).parent().parent().parent().children('.user_edit').show(); return false; }); $('.comment_reply .reply_link a').click(function(){ id=$(this).attr('rel'); depth=parseInt($(this).attr('class'))+1; $("#comment_form #parent_id").val(id); $("span.title").html("Add a reply"); $("span.cancel").show(); $("#comment_form").insertAfter('.comment#' + id); $("#comment_form").addClass('border_container'); return false; }); $('#comment_form span.cancel a').click(function(){ $("#comment_form #parent_id").val(0); $("span.title").html("Add a comment"); $("span.cancel").hide(); $("#comment_form").insertAfter('#comment_location'); $("#comment_form").removeClass('border_container'); return false; }); $('.cancel_edit_comment').click(function(){ $(this).parent().parent().parent().parent().children('.user_body').show(); $(this).parent().parent().parent().parent().children('.user_edit').hide(); return false; }); } else { loadedContent.find('.row a').each(function(key,obj) { if($(obj).attr('href').match(/^\/forum/)) { var newURL = $(obj).attr('href') + "/page/31337"; $(obj).attr('href',newURL); } }); loadedContent.find('.row').appendTo('.discussions'); $('.row').css({padding: $('#gafSlider').slider("value") + "px 0"}); } } else { // remove Contributor links from loaded elements // get all giveaways var elms = loadedContent.find('.ajax_gifts>div.post'); // update points from endless scroll page load var p = loadedContent.find('#navigation li a.arrow').slice(1,2).text().match(/(\d+)P/); if(p && parseInt(p[1]) != NaN) { unsafeWindow.gafSetPoints(p[1]); } // new page refresh if(unsafeWindow.gafLoadingNew) { var codebase = {}; var celms = $('.ajax_gifts>div.post').slice(0,15); var code = celms.first().find('.title a').attr('href').match(/way\/([a-z0-9]{4,6})\//i)[1]; var i = 0; for(; i < 10; i++) { if($(elms[i]).find('.title a').attr('href').match(/way\/([a-z0-9]{4,6})\//i)[1] == code) break; } if(i > 0) { $('div.pagination:first').after(elms.slice(0,i).hide().css({padding:unsafeWindow.gafPadding+'px 0'})); unsafeWindow.gafAddIgnoreButton(elms.slice(0,i)); unsafeWindow.gafApplyFilter(elms.slice(0,i)); } celms.each(function(k,v) { codebase[ $(v).find('.title a').attr('href').match(/way\/([a-z0-9]{4,6})\//i)[1] ] = k; }); elms.slice(i,20).each(function(k,v) { var test = codebase[ $(v).find('.title a').attr('href').match(/way\/([a-z0-9]{4,6})\//i)[1] ]; if(test != undefined) { $(celms[test]).find('.time_remaining').html('').append($(v).find('.time_remaining').html()); $(celms[test]).find('.entries span').slice(0,2).remove(); $(celms[test]).find('.entries').prepend($(v).find('.entries span').slice(0,2)); } }); unsafeWindow.gafLoadingNew = false; } else { unsafeWindow.gafAddIgnoreButton(elms); if(elms.length > 0) { if($('div.post').length > 0) { $('div.post').last().after(elms); } else { $('div.pagination:first').after(elms); } } $('div.post').css({padding: $('#gafSlider').slider("value") + "px 0"}); unsafeWindow.gafApplyFilter(elms.hide()); } unsafeWindow.gafAddOverlay(); } if( (!unsafeWindow.gafReverse && unsafeWindow.gafPage == unsafeWindow.gafMaxPage) || (unsafeWindow.gafReverse && unsafeWindow.gafPage == 1) ) { $('#gafLoading').html("<p>You've reached the end.</p>"); if(unsafeWindow.gafShowSettings && $('.post').length == 0) { $('#gafLoading').html("<p>There seem to be no giveaways matching your settings.</p>"); } } unsafeWindow.gafLoading = false; unsafeWindow.gafLoadingCheck(); } // function runs when gafLoading is in veiw unsafeWindow.gafLoadNextPage = function() { if(!unsafeWindow.gafLoading && ( (!unsafeWindow.gafReverse && unsafeWindow.gafPage < unsafeWindow.gafMaxPage) || (unsafeWindow.gafReverse && unsafeWindow.gafPage > 1) )){ unsafeWindow.gafLoading = true; unsafeWindow.gafPage += (unsafeWindow.gafReverse) ? -1 : 1; var url = ''; if(window.location.href.match(/forum/)) { if(unsafeWindow.gafHrefPart.length > 5) { if(unsafeWindow.gafReverse) { url = window.location.href.replace(/\d+$/,unsafeWindow.gafPage); } else { url = window.location.href + '/page/' + unsafeWindow.gafPage; } } else { url = 'http://www.steamgifts.com/forum/page/' + unsafeWindow.gafPage; } } else if(window.location.href.match(/new$/)) { url = 'http://www.steamgifts.com/new/page/' + unsafeWindow.gafPage; } else { url = 'http://www.steamgifts.com/open/page/' + unsafeWindow.gafPage; } $.get(url, function(data) { unsafeWindow.gafPageLoaded(data); }); } } // credit for code goes to creators to the reddit enchancement suit // check if obj in the view unsafeWindow.gafElementInSight = function(obj) { var top = obj.offsetTop; var left = obj.offsetLeft; var width = obj.offsetWidth / 4; var height = obj.offsetHeight / 4; while(obj.offsetParent) { obj = obj.offsetParent; top += obj.offsetTop; left += obj.offsetLeft; } return top >= window.pageYOffset && left >= window.pageXOffset && (top + height) <= (window.pageYOffset + window.innerHeight) && (left + width) <= (window.pageXOffset + window.innerWidth); } // creates a filter array using the sync games unsafeWindow.gafSync = function() { // get list from the sync page $.get('http://www.steamgifts.com/sync', function(data) { // update the syncfilter array $(data.match(/\"code\">(.*?)<\//g)).each(function(k,v) { unsafeWindow.gafSyncFilter.push(v.replace(/\"code\">/g,'').replace(/<\//g,'')); }); unsafeWindow.gafSyncFilter = $.grep(unsafeWindow.gafSyncFilter, function(a) { return !a.match(/^<a /) }); unsafeWindow.gafLoadDLC(); // filter out giveaways using the new list unsafeWindow.gafApplyFilter($('.ajax_gifts>.post')); // check if we got the loading element in sight unsafeWindow.gafLoadingCheck(); }); } // check if gafLoading is in sight unsafeWindow.gafLoadingCheck = function() { if(unsafeWindow.gafElementInSight( document.getElementById('gafLoading') ) ) { // || unsafeWindow.gafPage < 3) { setTimeout(unsafeWindow.gafLoadNextPage, 1); } } // refresh if on /new page unsafeWindow.gafRefreshCheck = function() { if(!unsafeWindow.gafLoading) { unsafeWindow.gafLoading = true; unsafeWindow.gafLoadingNew = true; $.get('http://www.steamgifts.com/new/page/1', function(data) { unsafeWindow.gafPageLoaded(data); }); } setTimeout(unsafeWindow.gafRefreshCheck, 1000 * 90); } // toggle endless scroll on various pages unsafeWindow.gafToggleScroll = function(obj) { if(obj.innerHTML == "on") { obj.innerHTML = 'off'; if(window.location.href.match(/\/forum/)) { if(unsafeWindow.gafHrefPart.length > 5) { unsafeWindow.gafOptions = unsafeWindow.gafOptions.replace(/D/g,''); } else { unsafeWindow.gafOptions = unsafeWindow.gafOptions.replace(/F/g,''); } } else { unsafeWindow.gafOptions = unsafeWindow.gafOptions.replace(/G/g,''); } } else { obj.innerHTML = 'on'; if(window.location.href.match(/\/forum/)) { if(unsafeWindow.gafHrefPart.length > 5) { unsafeWindow.gafOptions += 'D'; } else { unsafeWindow.gafOptions += 'F'; } } else { unsafeWindow.gafOptions += 'G'; } } document.cookie = "gafOptions=" + unsafeWindow.gafOptions + "; expires=Fri, 27 Jul 2030 02:47:11 UTC; path=/"; if(!window.location.href.match(/page\/31337$/) && window.location.href.match(/page\/\d+$/) && !unsafeWindow.gafReverse ) { window.location.href = window.location.href.replace(/\/page\/\d+/,''); } else { if(obj.innerHTML == 'on' && unsafeWindow.gafReverse) { window.location.href = window.location.href.replace(/\/page\/\d+/,'') + '/page/31337'; } else { window.location.href = window.location.href; } } } // toggle reverse order unsafeWindow.gafToggleRev = function(obj) { if(obj.innerHTML.match(/newest/)) { obj.innerHTML = 'oldest first'; unsafeWindow.gafOptions = unsafeWindow.gafOptions.replace(/R/g,''); unsafeWindow.gafReverse = false; } else { obj.innerHTML = 'newest first'; unsafeWindow.gafOptions += 'R'; unsafeWindow.gafReverse = true; } document.cookie = "gafOptions=" + unsafeWindow.gafOptions + "; expires=Fri, 27 Jul 2030 02:47:11 UTC; path=/"; if(unsafeWindow.gafScrollOn && unsafeWindow.gafReverse) { window.location.href = window.location.href.replace(/\/page\/\d+/,''); } else if(unsafeWindow.gafScrollOn) { window.location.href = window.location.href + '/page/31337'; } else { $('.parent_container').reverse().appendTo('.comment_container'); } } unsafeWindow.gafHideFeatured = function(obj) { if(unsafeWindow.gafFeaturedHidden) { unsafeWindow.gafOptions = unsafeWindow.gafOptions.replace(/Z/g,''); $(this).attr('checked',false); unsafeWindow.gafFeaturedHidden = false; $('.featured').slideDown(); } else { unsafeWindow.gafOptions += "Z"; $(this).attr('checked',true); unsafeWindow.gafFeaturedHidden = true; $('.featured').slideUp(); } document.cookie = "gafOptions=" + unsafeWindow.gafOptions + "; expires=Fri, 27 Jul 2030 02:47:11 UTC; path=/"; } unsafeWindow.gafSyncToggle = function(obj) { if(unsafeWindow.gafSyncState) { unsafeWindow.gafOptions = unsafeWindow.gafOptions.replace(/S/g,''); $(this).attr('checked',false); unsafeWindow.gafSyncState = false; } else { unsafeWindow.gafOptions += "S"; $(this).attr('checked',true); unsafeWindow.gafSyncState = true; if(unsafeWindow.gafSyncFilter.length < 1) unsafeWindow.gafSync(); } document.cookie = "gafOptions=" + unsafeWindow.gafOptions + "; expires=Fri, 27 Jul 2030 02:47:11 UTC; path=/"; } // rearrange page to fit in 500px window unsafeWindow.gafOverlayLoaded = function(obj) { $('#gafPopupBackground').fadeIn('slow'); var e = $(obj).contents(); // update points from the overlay page var p = e.find('#navigation li a.arrow').slice(1,2).text().match(/(\d+)P/); if(p && parseInt(p[1]) != NaN) { unsafeWindow.gafSetPoints(p[1]); } if( e.find('#form_enter_giveaway a.entered').length > 0 ) { $('.ajax_gifts>div.post.quickview').addClass('fade'); } else { $('.ajax_gifts>div.post.quickview').removeClass('fade'); } e.find('.footer,.featured .left').remove(); e.find('.bg_gradient .content').first().remove(); e.find('.content').css({width:'500px'}); e.find('.bg_gradient').css({'background-position':'center center'}); e.find('.body_container').css({width:'400px'}); e.find('.parent_container').css({padding:0}).find('.comment.parent').css({padding:'5px'}); e.find('.featured').css({padding:0}).find('.right').css({'padding-top':'5px'}); e.find('body').css({'min-width':0,width:'510px'}); e.find('#comment_form').prependTo(e.find('.wrapper').css({padding:0})).find('.body_container').attr('style','') var env = $('#gafOverlay iframe').contents().find('#comment_form'); $('<input type="submit" value="Comment and Enter" />') .appendTo(env.find('.comment_reply')).click(function() { $.post($('#gafOverlay iframe').attr('src'), $('#gafOverlay iframe').contents().find('#form_enter_giveaway').serialize(), function(data) { env.find('form') .append('<input type="hidden" name="submit_comment" value="1" />').submit(); }); return false; }); env.find('.comment_reply input:first').attr("value","Submit"); if(!$(obj).hasClass('gafMoved')) { $(obj).addClass('gafMoved'); var x = $(obj).parent().css('left').match(/(\d+)/)[1]; var y = $(obj).parent().css('top').match(/(\d+)/)[1]; $(obj).parent().css({left: (x - 530) + "px",top:y - 100}); $(obj).css({width:'530px',height:'400px'}).parent().find('img').hide(); } } unsafeWindow.gafAddOverlay = function() { $('.post .right').each(function(k,v) { v = $(v); if(v.find('div').length > 0) return; v.find('img').css({float:'right'}) $('<div>Quick View</div>').css({opacity:0,'font-size':'20px',color:"#000",'font-size':'25px','background-color':'#ccc',float:'left',position:'absolute',width:'144',height:'29px','padding':'20px','font-weight':'bold',cursor:'pointer','text-align':'center'}) .mouseleave(function() { $(this).stop(true,true).animate({opacity:'0'},1000); }) .mouseover(function() { $(this).stop(true,true).animate({opacity:'0.75'},100); }) .appendTo(v) .click(function() { if($('#gafOverlay').length > 0) return false; $(this).parent().parent().addClass("quickview"); $('body').append("<div style='z-index:25;position:absolute;box-shadow:0 0 3px #000;padding:4px;background-color:#F9F9FB;border-radius:5px' id='gafOverlay'><iframe style='width:1px;height:1px;border:0' onload='javascript:gafOverlayLoaded(this);' src='"+$(this).parent().find('a').attr('href')+"'></iframe><img src='data:image/gif;base64,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' /></div>"); var elm = $(this)[0]; $('#gafOverlay').css({ top: (elm.offsetTop + 15) + 'px', left: (elm.offsetLeft - 20) + 'px' }); return false; }); }); } unsafeWindow.gafPutLoading = function() { $('.pagination:last').html("<div id='gafLoading' style='text-align: center;'><img src='data:image/gif;base64,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' /><p>Gremlins are fetching more stuff. Please standby...</p></div>"); } unsafeWindow.gafSetPoints = function(pts) { var e = $('#navigation li a.arrow:contains("Account")'); var a = e.text().match(/(\d+)P/); if(a.length) { var p = a[1]; var y = Math.round(Math.random()*60)-50; var x = Math.round(Math.random()*40)-20; var total = pts - p; $('#nav,#navigation').each(function(k,v) { v = $(v).find('li a.arrow:contains("Account")').text('Account ('+pts+'P)'); }); if(total == 0) return; $('<div>'+((total >= 0)?'+'+String(total):total)+'</div>') .appendTo('body') .css({position:'fixed', top:'0px', left: ($('#navigation li a.arrow:contains("Account")')[0].offsetLeft + 50) + "px", 'font-size':'20px', 'font-weight':'bold', 'text-shadow':'#666 0px 0px 6px', color:(total >= 0) ? '#77FF73' : 'red', 'z-index':55 }) .show().animate({top:60+x,left:'+='+y},350) .delay(300).animate({fontSize:'60px',top:'-=10',left:'-=20'},100) .delay(100).fadeOut(300,function(){ $(this).remove(); }); } } unsafeWindow.gafDLCSyncd = []; unsafeWindow.gafLoadDLC = function() { // make sure DLC database is loaded if(typeof unsafeWindow.gafDLC === 'undefined') { setTimeout(unsafeWindow.gafLoadDLC, 100); return; } // add all for(var item in unsafeWindow.gafDLC) { if($.inArray(item, unsafeWindow.gafSyncFilter) == -1) $.merge(unsafeWindow.gafDLCSyncd, unsafeWindow.gafDLC[item]); }; } unsafeWindow.gafUpdateViews = function() { var v = ['All', 'Filtered', 'Wishlist','Entered', 'Limit by points','DLC','Regular','Group','C.Green','C.Red']; // load filter layout var s = ''; for(var i = 0; i < v.length; i++) s += (unsafeWindow.gafFilOpts >> i) % 2; // place container if($('#gafViewLinks').length == 0) { $('body').prepend("<style>#gafFNav {float:right;}#gafFNav ol{list-style-type:none;float:left;}#gafFNav ol>li{float:left;height:25px; background-color: #fff; border: 1px solid #ddd; border-radius:10px 10px 10px 10px;}#gafFNav ol>li:hover{background-color: #347DB5;border: 1px solid #347DB5;}#gafFNav ol>li>a.arrow{background-image: url(../img/navigation_dropdown_arrow_click.png);background-repeat: no-repeat;background-position:right center;color: #347DB5; padding-right:34px;}#gafFNav ol>li:hover>a.arrow{background-image: url(../img/navigation_dropdown_arrow_hover.png);}#gafFNav ol>li.open>a.arrow{background-image: url(../img/navigation_dropdown_arrow_click.png);}#gafFNav ol>li.open{background-color:#fff;border: 0px;border-radius:5px 5px 0 0;}#gafFNav ol>li>a{font-weight:bold;padding:5px 12px;text-decoration:none;display:block;font-size:11px;color:#c3dbed;}#gafFNav ol>li.open>a{padding-top:7px;}#gafFNav ol>li:hover>a{color:#fff;}#gafFNav ol>li.open>a{color:#434343;}#gafFNav .relative-dropdown{float:left;position:relative;}#gafFNav .absolute-dropdown{overflow:hidden;z-index:19;top:25px;right:-112px; position:absolute; width:400px;padding:5px;background-color:#fff;border-radius:5px 0px 5px 5px;display:none;box-shadow:5px 5px 4px rgba(0, 0, 0, 0.1), 3px 3px 2px rgba(0, 0, 0, 0.1), 2px 2px 1px rgba(0, 0, 0, 0.1);}#gafFNav .absolute-dropdown ul{list-style-type:none;}#gafFNav .absolute-dropdown ul>li{padding-top:5px;padding-bottom:5px}#gafFNav hr{float:left;margin-top:7px;border-top:1px dashed #c6c6c6;border-bottom:1px dashed #fff;border-left:none;border-right:none;}#gafFNav .hr{float:left;color:#347DB5;font-weight:bold;}#gafViewLinks .price.min{padding-right:5px}#gafViewLinks .price.max{padding-left:5px}#gafViewLinks .price{width: 40px;color:#89B363;font-weight:bold;text-align:center;float:left}#sg_fdlc_range{float:left}</style>"); $('.pagination:first').prepend('<div id="gafFNav"><ol><li><div class="relative-dropdown"><div class="absolute-dropdown"><ul id="gafViewLinks"></ul></div></div><a href="" class="arrow">Modify filter</a></li></ol></div>'); } $("#gafFNav, #gafFNav .absolute-dropdown.open").mouseout(function() { var e = $(this); unsafeWindow.gafFNav_n = setTimeout(function() { e.find('.open').removeClass('open').find('.absolute-dropdown').hide(); }, 1000); }); $("#gafFNav, #gafFNav .absolute-dropdown.open").mouseover(function() { if(typeof unsafeWindow.gafFNav_n !== 'undefined') clearTimeout(unsafeWindow.gafFNav_n); }); var elm = $('#gafViewLinks'); elm.html('<li></li><li></li><li><hr style="margin-right:5px;margin-left:-5px;width:20px;"/><span class="hr">Contributor range</span><hr style="margin-left:5px;width:100%;float:none;"/><div class="clear_both"></div></li><li><div class="price min">0$</div><div id="sg_fdlc_range" style="width:300px"></div><div class="price max">4000$</div><div class="clear_both"></div></li>'); elm = elm.find('li:first'); // fill the container with the options for(var i = 0; i < v.length; i++) { if(i > 4) elm = elm.parent().find('li').slice(1,2); elm.append("<input type='checkbox' id='sg_fid"+i+"' " + ((parseInt(s[i])==1)?'checked':'') + "/> " + ((i>=6)?"<a href='#' id='sg_link"+i+"'>":'') + v[i] + ((i>=5)?"</a>":'') + ' '); } // if all is checked, disable the rest of the options if(s[0]==1) $('#gafViewLinks input[type="checkbox"]').slice(1,99).attr('disabled','disabled'); $('#sg_fdlc_range').slider({ range:true,values:[0,1000],min:0,step:1,max:200,animate:true, slide: function(event, ui) { var e = $('#sg_fdlc_range').parent().find('.price'); e.first().text(Math.floor(ui.values[0]*(ui.values[0]/10)) + '$'); e.last().text(Math.floor(ui.values[1]*(ui.values[1]/10)) + '$'); }, stop: function(event, ui) { unsafeWindow.gafApplyFilter($('.ajax_gifts>div.post')); setTimeout(unsafeWindow.gafLoadingCheck, 1000); } }); } $("#gafLivePreview h1:first").live("click", function() { var e = $("#gafLivePreview .markdown"); if(e.is(':visible')) e.hide(); else e.show(); }); $("#create_form textarea#body, #comment_form textarea#body, .user_edit textarea").live('keyup', function() { var e = $(this); if($("#gafLivePreview").length > 0 && e.parent().parent().find("#gafLivePreview").length == 0) $("#gafLivePreview").remove(); if(e.val() != "" && $("#gafLivePreview").length == 0) { var insertAfterElement; if(window.location.href.match(/forum\/(new|edit)$/)) insertAfterElement = e.parent().find('.clear_both'); else { insertAfterElement = e.parent().parent().find('.clear_both'); if(insertAfterElement.length == 0) insertAfterElement = e.parent().parent().parent().parent().find('.clear_both'); if(insertAfterElement.length == 0) insertAfterElement = e.parent().parent().parent().parent().find('.user_edit'); } insertAfterElement.after('<div id="gafLivePreview" style="width:700px"><h1 style="cursor:pointer;color: #347DB5; border: solid 1px #ddd;border-radius: 4px 4px 0px 0px; font-size: 14px; padding: 5px;background-color: #F4F4F4;">Live Preview</h1><div class="markdown comment_container" style="background-color: #fff;border: solid 1px #ddd; border-top: 0px; padding: 5px;"></div></div>'); } else if(e.val() == "") { $('#gafLivePreview').remove(); return; } var tmp = e.val(); // emulate markdown // remove long vertical spaces tmp = tmp.replace(/\n{3,}/g,"\n\n"); // add horizontal spaces tmp = tmp.replace(/\-{3,}/gi,"<hr />"); // headings tmp = tmp.replace(/(<\/?p>|\n|^)(\#{1,3}) (.*?)\n/gi, function(a,b,c,d) { var str = (b == "<p>") ? "" : "</p>"; var n = c.length; return str + "<h"+n+">" + d + "</h"+n+"><p>"; }); tmp = tmp.replace(/\n?(.*?)\n\={4,}/gi,"</p><h1>$1</h1><p>"); tmp = tmp.replace(/\n?(.*?)\n\-{4,}/gi,"</p><h2>$1</h2><p>"); // break line and paragraph tmp = tmp.replace(/( \n)/gi,"<br />"); tmp = tmp.replace(/(\n\n)/gi,"</p><p>"); // handle urls tmp = tmp.replace(/\[(.*?)\]\((((http)s?\:\/\/)?.*?)\)/gi, function(a,b,c,d,e) { return '<a href="'+((e=='http')?'':'http://')+c+'">'+b+'</a>' }); // bullets points, very basic tmp = tmp.replace(/\n\* /gi,"<br /> ● "); tmp = tmp.replace(/>\* /gi,"> ● "); // italics and bold tmp = tmp.replace(/(\*\*|__)(.*?)\1/gi,"<strong>$2</strong>"); tmp = tmp.replace(/\*(.*?)\*/gi,"<em>$1</em>"); // code tag tmp = tmp.replace(/`(.*?)`/gi,"<code>$1</code>"); // fix paragraphs tmp = "<p>"+tmp+"</p>"; tmp = tmp.replace(/<p><\/p>/g,""); $("#gafLivePreview .markdown").html(tmp); }); // move the comment box at the top for less frustration if(window.location.href.match(/\/forum\//)) $('.discussions').after($('#comment_form')); else $('.sub_navigation').before($('#comment_form')); $("span.cancel a").live('mousedown', function() { $("#gafLivePreview").remove(); setTimeout(function() { if(window.location.href.match(/\/forum\//)) $('.discussions').after($('#comment_form')); else $('.sub_navigation').before($('#comment_form')); }, 120); }); $("a.cancel_edit_comment").live('mousedown', function() { $("#gafLivePreview").remove(); }); unsafeWindow.gafAddHC = function(elm) { $(elm).find(".comment_container .parent_container .border_container").parent().find(".parent .reply_link").parent().append(' or <a href="#" class="gafHideChild show">Hide child comments</a>'); } unsafeWindow.gafAddHC('body'); $(".gafHideChild").live("click", function() { var e = $(this); if(e.hasClass("show")) { e.removeClass("show"); e.text("Show child comments"); e.parent().parent().parent().parent().parent().find(".border_container").stop(true,true).slideUp('fast'); } else { e.addClass("show"); e.text("Hide child comments"); e.parent().parent().parent().parent().parent().find(".border_container").stop(true,true).slideDown('fast'); } return false; }); // main code if(window.location.href.match(/forum\/edit$/)) return; // rest of the code is not applicable on this page unsafeWindow.gafFilter = []; unsafeWindow.gafSyncFilter = []; // flags for options // G - giveaway endless scroll turned on // F - forum endless scroll turned on // D - dicussion endless scroll // R - reverse order of comments // S - ignore sync games unsafeWindow.gafOptions = "GFDR"; unsafeWindow.gafPadding = 25; unsafeWindow.gafFilOpts = 230; var $ = unsafeWindow.jQuery; $.fn.reverse = [].reverse; // add popup elements $('body').append("<div id='gafPopupBackground' style='position:fixed;display:none;top:0;left:0;height:100%;width:100%;background:#000000;z-index:20;opacity: 0.4;' onClick='javascript: gafPopupHide();'></div><div id='gafPopup' style='position:fixed;float:left;left:50%;top:50%;background:#FFFFFF;display:none;border:1px solid #cccccc;z-index:21;padding:8px;height:295px;width:408px;border-radius: 10px 10px 10px 10px;box-shadow: 0 0 20px #000000;'><h1 style='color: #347DB5;font-size: 22px;'>Giveaway Filter</h1><p style='color: #4F565A;font-size: 12px;'>Enter the games you want filtered out from the giveaway list separated by commas. (eg 'Portal 2, Half-Life 2') <b>/Save by clicking on the background/</b></p><textarea id='gafFilterInput' style='width:400px;height:200px;' onchange='javascript:gafFormUpdate();'></textarea><p style='color: #4F565A;font-size: 12px;'><input type='checkbox' value='tiny gremlin' id='gafSyncCBox' onchange='javascript:gafSyncToggle();'> Ignore games in my sync library. (Update sync page <a href='http://www.steamgifts.com/sync'>here</a>)</p><p style='color: #4F565A;font-size: 12px;'><input type='checkbox' value='medium gremlin' id='gafHideFeatCBox' onchange='javascript:gafHideFeatured();'> Check this box if you want to hide featured giveaway.</p></div>"); // read cookie var i,j,val='',c=document.cookie.split(";"); for (i=0;i<c.length;i++) { var testStr = $.trim(c[i].substr(0,c[i].indexOf("="))); if(testStr == "gafOptions") { unsafeWindow.gafOptions = c[i].substr(c[i].indexOf("=")+1); } else if (testStr == "gafPadding") { unsafeWindow.gafPadding = c[i].substr(c[i].indexOf("=")+1); } else if (testStr == "gafFopts") { unsafeWindow.gafFilOpts = c[i].substr(c[i].indexOf("=")+1); } } if(unsafeWindow.localStorage.gafFilter) { $('#gafFilterInput').text(unsafeWindow.localStorage.gafFilter) unsafeWindow.gafFilter = unsafeWindow.localStorage.gafFilter.split(","); } unsafeWindow.gafLoading = false; unsafeWindow.gafLoadingNew = false; unsafeWindow.gafPage = 1; unsafeWindow.gafMaxPage = 1; unsafeWindow.gafPerPage = 50; unsafeWindow.gafFloatMenuOn = false; unsafeWindow.gafScrollOn = true; unsafeWindow.gafShowESS = true; unsafeWindow.gafReverse = false; unsafeWindow.gafShowSettings = true; unsafeWindow.gafShowReverse = false; unsafeWindow.gafRepReverse = false; unsafeWindow.gafSyncState = false; unsafeWindow.gafFeaturedHidden = false; unsafeWindow.gafHrefPart = window.location.href.split('/'); switch(unsafeWindow.gafHrefPart[3]) { case "forum": if(unsafeWindow.gafHrefPart[4] == "replies"){ unsafeWindow.gafScrollOn = false; unsafeWindow.gafShowSettings = false; unsafeWindow.gafShowESS = false; break; } if(unsafeWindow.gafHrefPart.length > 5) { if( unsafeWindow.gafOptions.match('R') && !window.location.href.match(/page\/31337$/)) { window.location.href = window.location.href.split('/').slice(0,6).join('/') + '/page/31337'; } if( unsafeWindow.gafOptions.match('R') || window.location.href.match(/page\/31337$/)) { unsafeWindow.gafReverse = true; } if( !unsafeWindow.gafOptions.match('D') ) { unsafeWindow.gafScrollOn = false; } unsafeWindow.gafPerPage = 40; unsafeWindow.gafShowReverse = true; } else { if( !unsafeWindow.gafOptions.match('F') ) { unsafeWindow.gafScrollOn = false; } if( unsafeWindow.gafOptions.match('R') ) { unsafeWindow.gafRepReverse = true; } unsafeWindow.gafPerPage = 50; } unsafeWindow.gafShowSettings = false; break; case "new": setTimeout(unsafeWindow.gafRefreshCheck, 1000 * 60); case "": case "open": if( !unsafeWindow.gafOptions.match('G') ) { unsafeWindow.gafScrollOn = false; } unsafeWindow.gafReverse = false; if( unsafeWindow.gafOptions.match('S') ) { unsafeWindow.gafSync(); } break; } if( unsafeWindow.gafOptions.match('S') ) { unsafeWindow.gafSyncState = true; $('#gafSyncCBox').attr('checked',true); } if( unsafeWindow.gafOptions.match('Z') ) { unsafeWindow.gafFeaturedHidden = true; $('#gafHideFeatCBox').attr('checked',true); } // remove giveaways and add ignore buttons if(unsafeWindow.gafShowSettings) { unsafeWindow.gafUpdateViews(); val = $('.ajax_gifts>div.post'); unsafeWindow.gafApplyFilter(val); unsafeWindow.gafAddIgnoreButton(val); unsafeWindow.gafAddOverlay(); } // get rows per page, total rows, and calculate max page unsafeWindow.gafMaxPage = Math.ceil($('.results').first().text().replace(',','').match(/(\d+) result/)[1] / unsafeWindow.gafPerPage); unsafeWindow.gafPage = (unsafeWindow.gafReverse) ? unsafeWindow.gafMaxPage : 1; // endless scroll settings on page if(unsafeWindow.gafShowESS) $('.results:first').html("Endless scrolling is <a style='color:#347DB5;' href='javascript:void(0);' onclick='javascript:gafToggleScroll(this);' >"+((unsafeWindow.gafScrollOn)?'on':'off')+"</a>"); if(unsafeWindow.gafShowSettings) { $('#gafViewLinks a').live('click', function() { var id = $(this).attr('id').match(/\d+/); $('#gafViewLinks input').slice(5,15).attr('checked','').slice(id-5,id-4).attr('checked','checked'); // save filter layout var dopts = 0; $('#gafViewLinks input').each(function(i,e){ dopts += (($(this).attr('checked')!='')/1) << i; }); document.cookie = "gafFopts=" + dopts + "; expires=Fri, 27 Jul 2030 02:47:11 UTC; path=/"; unsafeWindow.gafApplyFilter($('.ajax_gifts>div.post')); return false; }); $('#gafViewLinks input').live('change', function() { if($('#sg_fid0').is(':checked')) { $('#gafViewLinks input').slice(1,99).attr('disabled','disabled'); } else { $('#gafViewLinks input:disabled').removeAttr('disabled'); } // save filter layout var dopts = 0; $('#gafViewLinks input').each(function(i,e){ dopts += (($(this).attr('checked')!='')*1) << i; }); document.cookie = "gafFopts=" + dopts + "; expires=Fri, 27 Jul 2030 02:47:11 UTC; path=/"; unsafeWindow.gafApplyFilter($('.ajax_gifts>div.post')); setTimeout(unsafeWindow.gafLoadingCheck, 1000); return false; } ); $('.sub_navigation h1').html('<h1><i>Dear User, the SGE addon will be discontinued. Consider using <u><a href="http://www.steamgifts.com/forum/Emu2M/steam-user-add-ons-and-iphoneandroid-apps">SG+</a></u>. Happy holidays! -Zo</i></h1>'); $('input[name=gafSearchClear]').click(function() { $('input[name=gafSearch]').val(''); unsafeWindow.gafApplyFilter($('.ajax_gifts>div.post')); }); $('input[name=gafSearch]').keyup(function() { clearTimeout(unsafeWindow.gafssssssss); unsafeWindow.gafssssssss = setTimeout("gafApplyFilter($('.ajax_gifts>div.post'));",400); }); } // reverse order settings on page if(unsafeWindow.gafShowReverse && unsafeWindow.gafShowESS) { $('.results:first').append(" and order <a style='color:#347DB5;' href='javascript:void(0);' onclick='javascript:gafToggleRev(this);' >"+((unsafeWindow.gafReverse)?'newest first':'oldest first')+"</a>"); } else if(unsafeWindow.gafShowESS) { $('.results:first').append("<div id='gafSlider' style='margin-top:5px'></div>"); $('#gafSlider').slider({ min:0,max:25,animate:true,value: unsafeWindow.gafPadding, slide: function(event, ui) { $('.post,.row').css({padding:ui.value+'px 0'}); }, stop: function(event, ui) { unsafeWindow.gafPadding = ui.value; document.cookie = "gafPadding=" + ui.value + "; expires=Fri, 27 Jul 2030 02:47:11 UTC; path=/"; } }); $('.ajax_gifts>div.post,.row').css({padding: unsafeWindow.gafPadding +'px 0'}); } if(unsafeWindow.gafScrollOn) { // endless scrolling elements and adjustments $('.numbers').remove() // turn off scrolling if there is only one page if(unsafeWindow.gafMaxPage == 1) { unsafeWindow.gafScrollOn = false; $('.pagination:last').html("<div style='text-align: center;'><p>You've reached the end.</p></div>"); } else { unsafeWindow.gafPutLoading(); } } // reverse order if(unsafeWindow.gafReverse) { $('.parent_container').reverse().appendTo('.comment_container'); } // fix urls for discussions in the forum page for reverse order if(unsafeWindow.gafRepReverse) { $('.row a').each(function(key,obj) { if($(obj).attr('href').match(/^\/forum/)) { var newURL = $(obj).attr('href') + "/page/31337"; $(obj).attr('href',newURL); } }); } // replicate nagivation bar to use as float menu $('body').prepend('<style>#gafMenuWrapper .left {width:512px;float:left;}#gafMenuWrapper .left .logo{height:40px;width:154px;display:block;background-image: url(/img/logo_new.png);background-repeat: no-repeat;background-position:center center;}#gafMenuWrapper .left .search{float:right;width:338px;height:25px;margin-top:6px;background-color:#fff;-moz-border-radius:20px;border-radius:20px;background-color:#fff;}#gafMenuWrapper .left .search.disabled{background-color:transparent;border:1px solid #4c7b9b;}#gafMenuWrapper .left .search .input input{float:left;padding:0 10px;background-color:transparent;border:none;color:#5c7689;font-size:11px;outline:none;line-height:25px;height:25px;width:263px;}#gafMenuWrapper .left .search .icon{float:right;height:25px;background-image: url(/img/search_icon.png);background-repeat: no-repeat;background-position:right center;display:block;opacity:0.6;width:35px;}#gafMenuWrapper .left .search .icon.loading{background-image: url(/img/search_loading_tmp.gif);}#gafMenuWrapper .left ol{list-style-type:none;position:fixed;}#gafMenuWrapper .left ol>li{float:left;height:50px;}#gafMenuWrapper .left ol li a.arrow{background-image: url(/img/navigation_dropdown_arrow.png);background-repeat: no-repeat;background-position:right center;padding-right:37px;}#gafMenuWrapper .left ol li a.arrow:hover{background-image: url(/img/navigation_dropdown_arrow_hover.png);}#gafMenuWrapper .left ol li.open a.arrow{background-image: url(/img/navigation_dropdown_arrow_click.png);}#gafMenuWrapper .left ol li.open{background-color:#fff;border-radius:5px 5px 0 0;}#gafMenuWrapper .left ol li>a{font-weight:bold;padding:5px 15px;text-decoration:none;display:block;font-size:11px;color:#c3dbed;}#gafMenuWrapper .left ol li.open>a{padding-top:7px;}#gafMenuWrapper .left ol li a:hover{color:#d5dfe6;}#gafMenuWrapper .left ol li.selected a, #gafMenuWrapper .left ol li.selected a:hover{color:#fff;}#gafMenuWrapper .right {float:right;width: 400px;}#gafMenuWrapper .right .banner{width:468px;height:60px;}#gafMenuWrapper .left ol li.open a{color:#434343;}#gafMenuWrapper .left .relative-dropdown{float:left;position:relative;z-index:9999;}#gafMenuWrapper .left .absolute-dropdown{top:29px;position:absolute;width:150px;padding:5px;background-color:#fff;border-radius:0 5px 5px 5px;display:none;box-shadow:5px 5px 4px rgba(0, 0, 0, 0.1), 3px 3px 2px rgba(0, 0, 0, 0.1), 2px 2px 1px rgba(0, 0, 0, 0.1);}#gafMenuWrapper .left .absolute-dropdown ul{list-style-type:none;}#gafMenuWrapper .left .absolute-dropdown ul li a{display:block;padding:5px 10px;font-weight:bold;font-size:11px;color:#6d7c87;text-shadow:none;border:1px solid transparent;border-radius:4px;}#gafMenuWrapper .left .absolute-dropdown ul li a:hover{color:#ff2800;border:1px solid #ffdad3;}</style'); $('.bg_gradient .content:first').prepend('<div id="nav" class="gafNav"><div style="margin:0 auto;width:1000px;" id="gafMenuWrapper"><div class="left"><div></div></div>'); $('.gafNav').attr('style','display:none;overflow:hidden;box-shadow:0 0 8px #000000;z-index:55;background:#25303A url(http://www.steamgifts.com/img/background_clean.png) no-repeat;background-position: center -60px;position:fixed;left:0px;height:62px;width:100%;'); $('.gafNav').css({padding:0}); $("#navigation ol li:first").after('<li><div class="relative-dropdown"><div class="absolute-dropdown"><ul><li><a href="javascript: gafPopupShow()">Settings</a></li><li><a href="/forum/ba6uc/sg-enhancement-addon/page/31337">Forum thread</a></li></ul></div></div><a href="" class="arrow">SGE</a></li>'); $('#gafMenuWrapper .left').append($('div#navigation').last().find('.logo,ol').clone()); $('.gafNav ol').hide(); $('.gafNav .search').remove(); $("#gafMenuWrapper li a.arrow, #navigation li a.arrow, #gafFNav li a.arrow").unbind('click').click(function() { $(this).parent().siblings().removeClass('open'); $(this).parent().siblings().children('.relative-dropdown').children('.absolute-dropdown').hide(); $(this).parent().addClass('open'); $(this).siblings('.relative-dropdown').children('.absolute-dropdown').show(); return false; }); $("#gafMenuWrapper .left ol>li").mouseleave(function() { $('#gafMenuWrapper .left ol li').removeClass('open'); $('#gafMenuWrapper .left ol li .absolute-dropdown').hide(); // Le4IM }); //$('#gafMenuWrapper').append("<div class='right' style='text-align:center;padding-top:6px'><a href=''><img src='' /></a></div>") $(window).bind('scroll', function() { if(unsafeWindow.gafScrollOn) { unsafeWindow.gafLoadingCheck(); } if(!unsafeWindow.gafFloatMenuOn && window.pageYOffset > 150) { unsafeWindow.gafFloatMenuOn = true; $('.gafNav').slideDown(function() { $('.gafNav ol').show(); }); } else if(unsafeWindow.gafFloatMenuOn && window.pageYOffset < 150) { $('.gafNav ol').hide(); $('.gafNav').slideUp(); unsafeWindow.gafFloatMenuOn = false; } }); if(!unsafeWindow.gafFloatMenuOn && window.pageYOffset > 150) { unsafeWindow.gafFloatMenuOn = true; $('.gafNav').stop(true,true).slideDown('slow',function() { $('.gafNav ol').show(); }); } // check if fetured is hidden if(unsafeWindow.gafFeaturedHidden) $('.featured').slideUp(); // if first page is empty, start loading next page unsafeWindow.gafLoadingCheck(); })(jQuery)