There are 2 previous versions of this script.
Add Syntax Highlighting (this will take a few seconds, probably freezing your browser while it works)
// ==UserScript==
// @name AllegroTools for IE i FF
// @namespace http://allegrotoolsie.hopto.org/
// @description Kilka narzedzi pomocnych w przegladaniu Allegro // v0.20110829.0
// @include http*://*allegro.pl/*
// @exclude http*://*allegro.pl/show_user.php?*
// ==/UserScript==
(function(){
// Menu components constants
var GET_DESCRIPTIONS_BTN = "_get_descriptions_btn_";
var AUTO_GET_DESCRIPTIONS_CHBX = "_auto_get_descriptions_chbx_";
var GET_CATEGORIES_CHBX = "_get_categories_chbx_";
var GET_CATEGORY_LINKS_CHBX = "_get_category_links_chbx_";
var GET_COMMENT_STATS_CHBX = "_comment_stats_chbx_";
var GET_DELIVERY_PRICE_CHBX = "_delivery_price_chbx_";
var GET_THUMBNAILS_CHBX = "_thumbnails_chbx_";
var THUMBNAILS_QUALITY_CHBX = "_thumbnails_quality_chbx_";
var GET_BIG_PHOTOS_CHBX = "_big_photos_chbx_";
var GET_EXACT_TIME_CHBX = "_exact_time_chbx_";
var NO_PRYWATNA_CHBX = "_no_prywatna_chbx_";
var CENA_MINIMALNA_CHBX = "_cena_minimalna_chbx_";
var PRZESYLKA_POBRANIOWA_ONLY_CHBX = "_przesylka_pobraniowa_only_chbx_";
var WYSYLKA_ZA_GRANICE_ONLY_CHBX = "_wysylka_za_granice_only_chbx_";
var FIRMA_ONLY_CHBX = "_firma_only_chbx_";
var NO_LOW_POSITIVE_CHBX = "_no_low_positive_chbx_";
var LOW_POSITIVE_TRESHOLD_FLD = "_low_positive_treshold_fld_";
var NO_LOW_POINTS_CHBX = "_no_low_points_chbx_";
var LOW_POINTS_TRESHOLD_FLD = "_low_points_treshold_fld_";
var LOW_POINTS_OPERATOR_BTN = "_low_points_operator_btn_";
var NO_LOW_ITEM_COUNT_CHBX = "_no_low_item_count_chbx_";
var LOW_ITEM_COUNT_TRESHOLD_FLD = "_low_item_count_treshold_fld_";
var ALLEGROTOOLS_MENU_HEADER = "_allegrotools_menu_header_";
var ALLEGROTOOLS_MENU_BODY = "_allegrotools_menu_body_";
var ALLEGROTOOLS_MENU_MARKER = "_allegrotools_menu_marker_";
// Tag constants (used to mark auction rows)
var PRYWATNA_TAG = "_prv_";
var CENA_MINIMALNA_TAG = "_cm_";
var NO_PRZESYLKA_POBRANIOWA_TAG = "_npp_";
var NO_WYSYLKA_ZA_GRANICE_TAG = "_nwz_";
var NO_FIRMA_TAG = "_nfrm_";
// Allegro Tools parameters constants
var AT_SHOW_MENU = "AT_show_menu";
var AT_AUTO_GET_DESCRIPTIONS = "AT_auto_get_descriptions";
var AT_GET_CATEGORIES = "AT_get_categories";
var AT_GET_CATEGORY_LINKS = "AT_get_category_links";
var AT_GET_COMMENT_STATS = "AT_get_comment_stats";
var AT_GET_DELIVERY_PRICE = "AT_get_delivery_price";
var AT_GET_THUMBNAILS = "AT_get_thumbnails";
var AT_THUMBNAILS_QUALITY = "AT_thumbnails_quality";
var AT_GET_BIG_PHOTOS = "AT_get_big_photos";
var AT_GET_EXACT_TIME = "AT_get_exact_time";
var AT_NO_PRYWATNA = "AT_no_prywatna";
var AT_CENA_MINIMALNA = "AT_cena_minimalna";
var AT_PRZESYLKA_POBRANIOWA_ONLY = "AT_przesylka_pobraniowa_only";
var AT_WYSYLKA_ZA_GRANICE_ONLY = "AT_wysylka_za_granice_only";
var AT_FIRMA_ONLY = "AT_firma_only";
var AT_NO_LOW_POSITIVE = "AT_no_low_positive";
var AT_LOW_POSITIVE_TRESHOLD = "AT_low_positive_treshold";
var AT_NO_LOW_POINTS = "AT_no_low_points";
var AT_LOW_POINTS_TRESHOLD = "AT_low_points_treshold";
var AT_LOW_POINTS_OPERATOR = "AT_low_points_operator";
var AT_NO_LOW_ITEM_COUNT = "AT_no_low_item_count";
var AT_LOW_ITEM_COUNT_TRESHOLD = "AT_low_item_count_treshold";
var AT_BLACKLIST = "AT_blacklist";
// Default treshold for filtering auctions with low positive comments count
var DEFAULT_LOW_POSITIVE_TRESHOLD = 90;
// Default treshold for filtering auctions with low points count
var DEFAULT_LOW_POINTS_TRESHOLD = 10;
// Default treshold for filtering auctions with low item count
var DEFAULT_LOW_ITEM_COUNT_TRESHOLD = 2;
// References to auction rows
var auctions = new Array();
// Popup for displaying big photo preview or user details
var popup = null;
// ----------- icons
var ICON_MAIL = "data:image/gif;base64,R0lGODlhDQAJAIMAADEtQmdjhHNzkoWGp5SUtaSiw7Kyz8C92MbG1svL5NfX7d7e9+fn8+/v+/r3+/8A/yH5BAMAAA8ALAAAAAANAAkAAARG8JFJh7XPGMZa6x4nGAeDNA63HIQRGIiTGEmaDEXyHo5z0AZcQhE4xIyKQqu1eCESh49imiAcAoJE4rOYTn+BhyBALpsfEQA7";
var ICON_MAILRE = "data:image/gif;base64,R0lGODlhDgAKAIMAAAAAABhSMV5keAiBBQuaCz63PnmSlpGOsqWlxbHPwMfH4Nja8eby7fXz+/////8A/yH5BAEAAA8ALAAAAAAOAAoAAARI8L1Dq7lXIsRY603ILMKjKIwijsqBlMUQF2rqKsLMzApykzKHMOYrAhMJBnKwaLZwBELBUYg2na+ANFENCL5gSWBAGAQkaHQEADs=";
var ICON_MAIL2 = "data:image/gif;base64,R0lGODlhCgAKAIMAAAAAABsbYDk5eEpKg1hYkm1tonx8ro6OuqamzMDA287O3tLS59ra6+Tk8ff3/P8A/yH5BAEAAA8ALAAAAAAKAAoAAARB8ElTzClkGoMYO8NzHEnjOEtCDN15JowhHA2jKEyyIIKRvAdEAkEoHE6LhSJREDwKJSVIEHgQDAoiVfIYFAdObgQAOw==";
var ICON_MAIL2RE = "data:image/gif;base64,R0lGODlhCgAKAIMAAAAAAB8fb0FDewtpEzSsNFpanGiMiIeHs5iYwZnMorGx0srQ2tbW5+De7fP39/8A/yH5BAMAAA8ALAAAAAAKAAoAAAQ+8MlXzilF2oNWQxlyKIzjNEshHJ7pLMwhKB7jkYowGAmM0IrCgJAg2hQyYsNgYIACgWHRoApIBsOBQGCVRAAAOw==";
var ICON_REPORT = "data:image/x-png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAf0lEQVR42mNgQAJnGRgEgNgBiiUYsAGgRMUZBobvQPo/DAP504E0B4oiZAVoitfDFCmc5uf/edbP7z9WzMcHUuzBACQiQAK4AFgxA0MDSGEGUQqBhAHIeHxWA9UkgN0JcjAez9yH+xwUZkCB81gUPQfZiC0sE0DuAWGw25HCEABByqQDfkZ/IwAAAABJRU5ErkJggg==";
var ICON_ABOUT = "data:image/gif;base64,R0lGODlhDwAKAIMAAAAAAP////////8A/wAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAMAAAMALAAAAAAPAAoAAAQdcMg5gKV4gprz3h1lgWFpctqnktX1ce8YwzQ9rxEAOw==";
var ICON_SS = "data:image/gif;base64,R0lGODlhCgAKAIMAADQTCF4rE4AuBYVgTqNBDp9xX5+Deb9FCNRNCMdgKcZ6VMyQc9Kum+HIuezg3v8A/yH5BAEAAA8ALAAAAAAKAAoAAARF8DVTjBmsPWdCYYMgGFwwOAWhEkoBFA6THAcbBILSNEuCEDgBIbFwLBCJAY6AQPAQCsbykJAhMgbRYaE46CSFsCHKeEQAADs=";
var ICON_SA = "data:image/x-png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAKCAYAAABmBXS+AAABFklEQVR42m2PTyiDcRjHfy4OIxTLbYry70SrpRx2UdvFwZ+TUgwpRTaWg5Hyp9emOGiIorbSOFhy8pJaLpTTJCkOpDdhcVTy8bwWObzfeur59v08T8+jlIgOlc+QY5VgbUp6u7KSBGWs+a5Izr7QZXOLz7GCbAw6YlynYKH5Uny9FZQr5WFvBoybLzTPhfji/4ALf8UW0U4dPcqPbs+hv2RDsjqpIiVTZ5zGYScE8QC8GVnwIQ1HKxCojCiGy2Nsj8G+BlONcLjMnzKPoHmTip4CP/PeD9b7YFe2LbXB+1MWer2HuaaEeVMp485jDsKfbA7AhAvSugxMPjNafUJvYevv8Q2MVN2x2ALBGph2G3TntZtfm/k3iYG+DmSQtuMAAAAASUVORK5CYII=";
var ICON_JUNIOR = "data:image/x-png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAKCAMAAABR24SMAAAA21BMVEX//////////v/2+/3u9vzo8/vl8fvi7vrI4fXE3fS72vSp1fKbzvCXxOuEueZnsuZcsehasOhoqeJTredQquZYpONMp+RRpt9Kp+ZVo+FJpuRTo+BFo+NCo+NEouNCouM/ouA+ouA+oeBDn+JDn+E9oOA8oN9CnuE7oN87n986n985n985nt84nd43nd42nd5CmeA0m90zm9w4meEymtw1mdw0mdszmdwxmdswmdswmNsvmNofjtYli9UoitYiitQhh9YZh9AWhs4Vhc4XhM8ShM0Ugc8GfssJd80nOgEdAAAAAXRSTlMAQObYZgAAAGdJREFUeNoFwTEKg0AQBdA/f2YWorCGNPaCRcpYCN4frHKGtHYhqCRKdPU9Qb0dAPiS+6Du4Fia2HeUPTWTkVfyveyuJS+Bk6yRzOLnltyULJ6/LD2oFI1zn4fKzdlS0hb+go4AcPQnr4Ub6z/4x3wAAAAASUVORK5CYII=";
var ICON_FIRMA = "data:image/x-png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAKCAMAAABVLlSxAAAA1VBMVEUAAADo9v2U0PuT1PeSz/uM0PeCxvumrLB4yPd/x/p6xPp1xvd1x/VsuPtkuvVgtvRqsuVavPNSuPRSt/RKufNNs/NCrfJGoe1Wod1ah68wq/A1pvE0o/EyovEqp/AlieMZl+8Xle8Pju8Hhu5Ud54EeuYVctsdcs0Wa9IRbdEWaM8DbdsCYdACYc8CWMUCV8MzYpQ6WoM3XY0CU70BOogBOYQ6WH04VHkBJ1oBIloBIVoNI0IBG0gLHDYAEzkAEC0BECIADyoADB8ADBgAChgACBgACRTnE5EHAAAAAXRSTlMAQObYZgAAAGVJREFUeNoFwVEKwjAQRdH74kxS/BC/RaG4B8H9b6WCLkAUp03GcwQcr+nLEzQZLpX6zq4ZVEpVcSzABBLsmotvDEZfzV6jxTDf2kn3A/FYLufKR7c9xWEdhGXSOwCyLScyIX/9D/6FJL1rN4+AAAAAAElFTkSuQmCC";
var ICON_SHOP = "data:image/x-png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAMAAAC38k/IAAAA7VBMVEUAAACgIRqmLRemKBuzNRyzNB29TjG+XEq/ZGLddD/mQR3uSSLkUizkVSvxVyLxXDXgYhbiaRTmbBTlbS7lfifhcjHmcTjzbSbycjLMWkHacU7Rdl7Ga2fndkrgfUTybkzzdkjzfFfbg0/fg0zZiljeiF7Kg3vei2/XkGfWkmrblHLYpHngjEblhFPmj1vkkFv0j1vjlGvzgmLzh2H0k3XxoXnPlYbJlYrWpJTUo5nRsZvSs5vRr6frpYfuoojpq4HstIDqtI7stZL2uZrwt6L2u6ncxrr2ysD30sb20cj20sr42M723dn23tj55uEBrdSNAAAAAXRSTlMAQObYZgAAAGxJREFUaN5jYAACG3ZpOwYYMFc3k9IyBDMtVDnFdE0NJMAcNnFnPw9XYz4wh1XB20TRSJ7bBci2ZOZ39/L09eG1BXLUGLl4ZIXl3EQcgBwOJiEdbWsrTQF7IEeGRVBFQ0lZzxFsgKSovhPEPgD8bwwKH5lDKgAAAABJRU5ErkJggg==";
var ICON_EXCLAMATION = "data:image/gif;base64,R0lGODlhDQAMAJEAAHx8fL+/v////////yH5BAEAAAMALAAAAAANAAwAAAIgXI4ZJu0vzgP0SUeBDbO622Rbp30cBIGCaJIjahmKMhQAOw==";
var ICON_WATCH = "data:image/x-png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAKCAMAAACOlf6TAAAA4VBMVEX////X19fW1tbV1dXJycnIyMjGxsbExMTDw8PAwMC+vr69vb28vLy6urq2tra1tbWzs7OysrKvr6+urq6tra2srKyrq6uqqqqpqamoqKimpqalpaWkpKSjo6OioqKhoaGgoKCbm5uampqZmZmYmJiXl5eWlpaVlZWUlJSSkpKRkZGQkJCPj4+Ojo6NjY2MjIyLi4uKioqJiYmIiIiHh4eGhoaEhISDg4OCgoKBgYGAgIB/f399fX18fHx6enp5eXl4eHh3d3d2dnZ0dHRzc3NycnJxcXFwcHBtbW1ra2tnZ2ehd9ajAAAAAXRSTlMAQObYZgAAAJtJREFUaN49jmkTgWAAhFeEhBAhcpUo0YHy5uwg/P8fRNPwfNud2QNIseSDR7b9AX6M944wTfyraRMucxzCApTNl5ZF/aKmjr0DysDmJXAShNvkm4opMGJNqj8fWACjhMYqzIER2u9TnEAH5HsBMPw8DFqLok5TRDfg0zLj2GIV2m1UFMY5D7NJzVqTILmEc8Ot/p+pPdP11FkmPpigEe+leTM1AAAAAElFTkSuQmCC";
// ----------- arrows
var ARR_LEFT = "data:image/x-png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAANCAYAAABLjFUnAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADaSURBVDhPY/iPCzy79v//tT04pcESaGoYsKoGKvpXIv//X7YgbgOxqME07NHF//+KZf7/S+OAYJCB1/ej2olDDaph6IpAhmXx/f9/YTPCMDxqEIY9OPf/X6EkwkUwV13ZiTCIgBqIYVQwCGQMw/9vHzBdBHTV/yPzES4iRg3YMBA4ueL/vwxuVC+WKf3//+ImwkAi1CDC7Ow6cGDDYxEUZsDkAU5LMEBADWpsUmggZjoDJgMMF85LQk1nONRgzwGXtiEMXJiBPUthUYPdMJB2UPra3o0/b6KpAQD3TTFuV81kpgAAAABJRU5ErkJggg==";
var ARR_RIGHT = "data:image/x-png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAANCAIAAADE7sJwAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADNSURBVChTY/gPAdu7/1/ZCWWjUTikGP7//fNvYca/NI5/WXz/L21D0YVH6v9/hn/zkkDaIAio+cJmuGY8UkA1DP+fXftXIo+i+ew6qGY8UiCdQECWZrBOIHhx81+ZEsLmDO7/J1fgl4LpBKo6Mh+hE+jnQsn/3z5ANWOTgum8svNftiBCJ1Dbg3NQbTikwDpJ1wYO2wubgZGBsK1Y5v+ji1Db8EiBdF7fj3AnsjagbjxS0Fi5tgekuUQeGD3oCRC3FCyEru3Bog1iDA4pACO1O0zUKE2tAAAAAElFTkSuQmCC";
var FOLD_ARR = "data:image/x-png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAJBAMAAAAbVLtZAAAAAXNSR0IArs4c6QAAADBQTFRFAAAAMmOXOXGsPnq6RIHBS4XDVIvGYJPKlLfbq8bj0uDw6vD48fX69fj89/n8/f3+WFqurgAAAAF0Uk5TAEDm2GYAAABHSURBVAjXY2BgEFnMAAYxvw1BlNj9/1tAdN3//38CGRjE3/////8YiPun7//fBIb1/48ChSYwaP12YMz9KcDAtFiAga2RAQCPJhv9wIfuqgAAAABJRU5ErkJggg==";
var UNFOLD_ARR = "data:image/x-png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAJBAMAAAAbVLtZAAAAAXNSR0IArs4c6QAAADBQTFRFAAAAMmOXOXGsPnq6RIHBS4XDVIvGYJPKlLfbq8bj0uDw6vD48fX69fj89/n8/f3+WFqurgAAAAF0Uk5TAEDm2GYAAABISURBVAjXY2BaLMDA1sjAoPXbgTH3pwDD+v9Hxd//n8BQ9/9P3/+/CQxAzv//xxgYgAL//wQCabH7/7cwgEDMb0MwLbIYSAAAVdUb/bwrk0cAAAAASUVORK5CYII=";
// ----------- stars
var STAR1 = "data:image/gif;base64,R0lGODlhCwAKAIMAAAAAAL2ECMaEAM6MANqQAM6QENSeOe+fAPqpC/m1K/fDV/nOff3ch/vhq/jtz/8A/yH5BAMAAA8ALAAAAAALAAoAAAQ38Em53LzPqYXnStXkME3zJUxKngmCHEfSZIr7DgZzKQcxBBxRYlAQFBS7hKGhKOQkjsVi9thwIgA7";
var STAR5 = "data:image/gif;base64,R0lGODlhCwAKAIMAAAAAAMYAAMYICM4AANoAAM4YGM5FRfUCAvoaGvpAQPBubveCgvSbm/i1tfjW1v8A/yH5BAEAAA8ALAAAAAALAAoAAAQ58Em53LzPqYXnSoolOUzTKEnCrOWHvMdBJE2WIPEhKMylyARBb+JIDAqCAmeiQBgai8JztKo9NpwIADs=";
var STAR25 = "data:image/gif;base64,R0lGODlhCwAKAIMAAAAAAAAAxggIxgAA1gwM1iEhxmBg0gEB8x0d+z8/925u84KC95ub9LW1+Nvb/f8A/yH5BAEAAA8ALAAAAAALAAoAAAQ48Em53LzPqYXnSoolOUzTKEnCrOWHvEecNJmCxAdhMJdyDAMBb+JIDAqCAmdiMzQWhQItsxJtOBEAOw==";
var STAR125 = "data:image/gif;base64,R0lGODlhCwAKAIMAAAAAAL1aEL9kKNZhEfJhBN6LWOW8oP9jAPxtCvx1Hv+MPv+iYP2xeP3UuPzj1/8A/yH5BAEAAA8ALAAAAAALAAoAAARD8LnmzKKtPbnY+gpjbGBiJsjWLAqKHEjCrIryHgcxFBqT4DmCwPFotAjIQSBgcCwKhcRAWRAUiA/DwMrceLOGRtgbAQA7";
var STAR625 = "data:image/gif;base64,R0lGODlhCwAKAIMAAAAAAIwQvY4jvaIA4a0A87UE+6gx270V/MQs/85P/NBl+8157dmi8eq59/La/f8A/yH5BAEAAA8ALAAAAAALAAoAAAQ+8LnmmKL0ScWTX43WIQdCao2SHEV7HKBiti0xgI9M20bYrITgIBBgOFQKw8AQMAgWDg2juRAwNNjHAsQIaSIAOw==";
var STAR3125 = "data:image/gif;base64,R0lGODlhCwAKAIMAAAAAADkQvU4owT8T2TwG8HNS3qmW6TkA/0IM/1Ig/3FF/4he/6CE/cm7/ePc/v8A/yH5BAEAAA8ALAAAAAALAAoAAARA8LnmzKKtvdeWV4vCaM+XnAmydUp6HEgyhgryHsRQaExyEwSBptECAgMBgyO0EAwGgYKg4FgNpsmN9mEwNLzaCAA7";
// -------------- backgorunds
var BG_BYSTR = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAFRlDm/AAAAB3RJTUUH1gwHDRgVt4pvywAAAAlwSFlzAAAPYQAAD2EBqD+naQAAAARnQU1BAACxjwv8YQUAAAAYSURBVHjaY/j/nwEGoEwQBWEyoovDFQMAkc0N9HFYUnUAAAAASUVORK5CYII=";
var MENU_HEADER = "data:image/x-png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAbCAIAAAAyOnIjAAAAQElEQVR42k3JuRGEABDEQI1CuDgJjAhxbh8MMLBaVeJ3nPbEMf47VmJtpEqmZFv668i0cAkIedy3N7IryedHlhs4gx8XdAAi7AAAAABJRU5ErkJggg==";
/////////////////////////////////////////////////////////////////
//// IE/FF compatibility
/////////////////////////////////////////////////////////////////
// FF uses addEventListener method while IE uses attachEvent method
// to register event handler
// Call this mehod with the element that generates the event,
// the event name (without 'on' prefix) and the handler routine
// The handler routine should accept an event source
// See getEvent method to see how to get the event source in FF and IE
function registerEventHandler(element, eventName, handler)
{
if (element.addEventListener)
{
element.addEventListener(eventName, handler, false);
}
else if (document.attachEvent)
{
element.attachEvent("on" + eventName, handler);
}
}
// FF passes event to the handler function, while IE does not
// Call this function fit the ergument of the handler function:
// If e is not null (FF) then it will be returned. Otherwise (IE)
// the event will be retrieved from the window object and this value
// will be returned instead.
function getEvent(source)
{
if (source)
{
return source;
}
else
{
return window.event;
}
}
// Returns the number-th parent node of the element
function getParentNode(element, number)
{
var parent = element;
while((number > 0) && (parent))
{
parent = parent.parentNode;
number--;
}
return parent;
}
// In FF childNodes returns also #text nodes that represents
// the whitespaces in the HTML source. IE skips these nodes
// For IE and FF use this method instead od childNodes property
// to return all children of an element.
// NOTE: this method skips ALL #text nodes (not only whitespaces)
function getChildNodes(element)
{
var children = new Array();
if(element)
{
var child = element.firstChild;
while(child)
{
if (child.nodeType == 1)
{
children.push(child);
}
child = child.nextSibling;
}
}
return children;
}
// Returns the number-th next sibling of the element
// for IE/FF compatibility skips #text nodes
function getNextSibling(element, number)
{
var sibling = element;
while((number > 0) && (sibling))
{
sibling = sibling.nextSibling;
if (sibling && (sibling.nodeType == 1))
{
number--;
}
}
return sibling;
}
// In FF firstChild returns also #text nodes that represents
// the whitespaces in the HTML source. IE skips these nodes
// For IE and FF use this method instead of firstChild property
// to return the first non-#text element.
// NOTE: this method skips ALL #text nodes (not only whitespaces)
function getFirstChild(element)
{
var child = element.firstChild;
while(child && (child.nodeType != 1))
{
child = child.nextSibling;
}
return child;
}
// FF uses textContent property while IE uses innerText property
// to return the inner text of an element
function getInnerText(element)
{
var result = null;
if (element)
{
// For IE
result = element.innerText;
if(result == null)
{
// For FireFox
result = element.textContent;
}
}
return result;
}
// scrollXxx values shall be received either via body or documentElement depending on the DTD selected.
// 0 is returned by browser when the wrong parent is used so using the max function guarantees value will be chosen.
function getScrollTop()
{
return Math.max(document.body.scrollTop, document.documentElement.scrollTop);
}
function getScrollLeft()
{
return Math.max(document.body.scrollLeft, document.documentElement.scrollLeft);
}
/////////////////////////////////////////////////////////////////
/**
* wycina htmlz info o userze
*/
function getSeller(str){
if(str.match(/<span class="uname"(.*?)<\/p>/))
{
return RegExp.$1;
}
else
{
return null;
}
}
/**
* wycina numer aukcji z linka aukcji
*/
function getAuctionNumberFromLink(str){
if(str.match(/i(\d+)\.html/))
{
return RegExp.$1;
}
else if (str.match(/item=?(\d+)/))
{
return RegExp.$1;
}
else
{
return null;
}
}
/**
* pobiera date konca aukcji
*/
function getEndTime(str){
if(str.match(/(\(.{3} \d{2} .{3} \d{4} \d{2}:\d{2}:\d{2} .+?\))/g))
{
return RegExp.$1;
}
else
{
return null;
}
}
/**
* pobiera lokalizacje aukcji
*/
function getLocation(str){
if(str.match(/<tr>\s*?<th.*?>Lokalizacja<\/th>\s*?<td.*?>(.*?)<\/td>\s*?<\/tr>/))
{
return RegExp.$1;
}
else
{
return null;
}
}
function checkOsobisty(str)
{
if(str.match(/Odbi.r osobisty<\/span><\/p><\/li>/))
{
return true;
}
else
{
return false;
}
}
function checkCenaMinimalna(str)
{
if(str.match(/<p>Cena <a href="javascript:OpenHelp\(46\)" class="alleLink"><span>minimalna<\/span><\/a> nie zosta.a osi.gni.ta.<\/p>/))
{
return true;
}
else
{
return false;
}
}
function checkPrzesylkaPobraniowa(str)
{
if(str.match(/(?:Przesy.ka pobraniowa|Przesy.ka pobraniowa priorytetowa|Przesy.ka kurierska pobraniowa)<\/span>/g))
{
return true;
}
else
{
return false;
}
}
function checkPrywatna(str)
{
if(str.match(/Popro. Sprzedaj.cego o zgod. na udzia. w aukcji/))
{
return true;
}
else
{
return false;
}
}
function checkWysylkaZaGranice(str)
{
if(str.match(/<li class="showItemTransList">zgadza si. na wysy.k. za granic./))
{
return true;
}
else
{
return false;
}
}
function getMinPrice(prices)
{
if(prices)
{
var minPrice = 0.0;
for(var i = 0; i < prices.length; i++)
{
prices[i].match(/<(?:b|strong)>(.*?) z.<\/(?:b|strong)>/);
var price = parseInt(RegExp.$1.replace(/,/,"")) / 100;
if((price < minPrice) || (minPrice == 0))
{
minPrice = price;
}
}
return minPrice.toFixed(2);
}
else
{
return null;
}
}
function getPriceTransfer(str)
{
return getMinPrice(str.match(/<span.*?>(Paczka pocztowa ekonomiczna|Paczka pocztowa priorytetowa|Przesy.ka kurierska|List ekonomiczny|List priorytetowy|List polecony ekonomiczny|List polecony priorytetowy|Przesyłka elektroniczna \(e-mail\)|Odbi.r osobisty po przedp.acie|Odbi.r w punkcie po przedp.acie)<\/span><span.*?\d+,\d+ z.*?\/span>/g));
}
function getPricePostal(str)
{
return getMinPrice(str.match(/<span.*?>(Przesy.ka pobraniowa|Przesy.ka pobraniowa priorytetowa|Przesy.ka kurierska pobraniowa|Odbi.r osobisty|Odbi.r w punkcie)<\/span><span.*?\d+,\d+ z.*?\/span>/g));
}
function checkPriceExtra(str)
{
if(str.match(/<strong>Dodatkowe informacje o dostawie i p.atno.ci<\/strong>/))
{
return true;
}
else
{
return false;
}
}
/*
* Retrieves URL to thumbnail from the auction (if any)
*/
function getThumbnailURL(str)
{
if(str.match(/<a href="#gallery"><img.*?src="(.*?)".*?><\/a>/))
{
return RegExp.$1;
}
else
{
return null;
}
}
/*
* Retrieves URL to big photo from the auction (if any)
*/
function getBigPhotoUrl(str)
{
if(str.replace(/[\s]+/g, " ").match(/photos:.*?medium:\s*?\[\s*?"(.*?)"/))
{
return RegExp.$1;
}
else if(str.match(/<a name="gallery"><\/a>\s<div class="tocenter">[\s ]*?<div class="tocenter"><img src="(.*?)"/))
{
return RegExp.$1;
}
else
{
return null;
}
}
function getCategory(str)
{
if(str.replace(/[\s]+/g, " ").match(/<p class="small"><a class="alleLink bold" href="\/"><span>Allegro<\/span><\/a> › (.*?)<\/p>/))
{
return RegExp.$1;
}
else
{
return null;
}
}
function getWatchlist(str)
{
if(str.match(/href="(\/add_to_watchlist.php?.*?)"/))
{
return RegExp.$1;
}
else
{
return null;
}
}
/*
* Replaces thumbnail placeholder with the real thumbnail (if available)
*/
function replaceThumbnail(fotoTD, details)
{
if((fotoTD.innerHTML.match(/src=".*?site_images.*?foto\.gif"/) && GM_getValue(AT_GET_THUMBNAILS, false)) ||
((fotoTD.innerHTML.match(/src=".*?site_images.*?foto\.gif"/) == null) && GM_getValue(AT_THUMBNAILS_QUALITY, false)))
{
thumbnailURL = getThumbnailURL(details);
if (thumbnailURL != null)
{
var photoTDlink = getFirstChild(fotoTD);
if(photoTDlink)
{
photoTDlink.innerHTML = photoTDlink.innerHTML.replaceArray([/src=".*?"/, /width="?\d+"?/, /height="?\d+"?/, /style=".*?"/], ["src=\"" + thumbnailURL + "\"", "width=64", "height=48", ""]);
}
}
}
}
function checkPositivePercent(id, treshold)
{
if(id)
{
if(id.match(/_pos(\d+)_/))
{
if(parseInt(treshold) > parseInt(RegExp.$1))
{
return false;
}
}
}
return true;
}
function checkPointsCount(id, treshold)
{
if(id)
{
if(id.match(/_pts(\d+)_/))
{
if(GM_getValue(AT_LOW_POINTS_OPERATOR, true))
{
if(parseInt(treshold) > parseInt(RegExp.$1))
{
return false;
}
}
else
{
if(parseInt(treshold) < parseInt(RegExp.$1))
{
return false;
}
}
}
}
return true;
}
function getItemCount(str)
{
var itemCount = 1;
if(str.match(/<td>(\d+?) z \d+? Wystawionych<\/td>/))
{
itemCount = RegExp.$1;
}
return itemCount;
}
function checkItemCount(id, treshold)
{
if(id)
{
if(id.match(/_cnt(\d+)_/))
{
if(parseInt(treshold) > parseInt(RegExp.$1))
{
return false;
}
}
}
return true;
}
/**
* zamienia string allegrowej daty w date JS
*/
function makeDate(str){
var PATTERN = new Array('sty','lut','mar','kwi','maj','cze','lip','sie','wrz','pa\u017A','lis','gru');
var REPLACE = new Array('jan','feb','mar','apr','may','jun','jul','aug','sep','oct', 'nov','dec');
var data = str.match(/\d{2} .{3} \d{4} \d{2}:\d{2}:\d{2} /g)[0];
data = data.replaceArray(PATTERN, REPLACE);
return Date.parse(data);
}
function makeStartDate(str)
{
var MONTHS = new Array('jan','feb','mar','apr','may','jun','jul','aug','sep','oct', 'nov','dec');
if(str.match(/(\d{4})-(\d{2})-(\d{2})( \d{2}:\d{2}:\d{2})/))
{
return Date.parse(RegExp.$3 + " " + MONTHS[parseInt(RegExp.$2, 10) - 1] + " " + RegExp.$1 + RegExp.$4);
}
else
{
return null;
}
}
/**
* String.prototype
* replace na arrayach
*/
String.prototype.replaceArray = function(pattern, replace){
if(typeof pattern == "string" || typeof pattern == "function"){
return this.replace(pattern, replace);
}else{
if(typeof replace == "string"){
var ret = this.toString();
for (var i=0; i<pattern.length; i++){
ret = ret.replace(pattern[i], replace);
}
return ret;
}else{
var ret = this;
for (var i=0; i<pattern.length; i++){
var m = Math.min(i, replace.length);
ret = ret.replace(pattern[i], replace[m]);
}
return ret;
}
}
}
/**
* Date.prototype
* liczy czas od tej daty (this) do danej innej, wyjscie formatuje
*/
Date.prototype.timeTo = function(otherdate){
var delta = otherdate-this;
return new TimeTo(delta);
}
/**
*
*/
function TimeTo(miliseconds){
this.negative = (miliseconds < 0);
this.miliseconds = Math.abs(miliseconds);
this.ms = this.miliseconds % 1000;
this.s = Math.floor(this.miliseconds/1000) % 60;
this.m = Math.floor(this.miliseconds/1000/60) % 60;
this.h = Math.floor(this.miliseconds/1000/60/60) % 24;
this.d = Math.floor(this.miliseconds/1000/60/60/24);
}
TimeTo.prototype.toString = function(format){
if(!format || format == "auto"){
if(this.d > 0){
format = ":dd :hh :mm";
}else if(this.h > 0){
format = ":hh :mm :ss";
}else if(this.m > 0){
format = ":mm :ss";
}else{
format = ":ss";
}
}
return format.replaceArray([/:d/g, /:M/g, /:h/g, /:m/g, /:s/g],
[this.d, this.M, this.h, this.m, this.s]);
}
/**
* klasa User
*/
function User(){
this.uid = "";
this.nick = "";
this.points = "";
this.stars = [];
this.about = "";
this.ss = "";
this.junior = "";
this.firma = "";
this.itemId = "";
this.blacklisted = false;
this.location = "";
this.osobisty = "";
this.przesylkaPobraniowa = "";
this.prywatna = "";
this.watchlist = "";
};
User.prototype.fromHTML = function(str){
str.match(/uid=([\d]+).*?([\w-]+).*?\((\-?[\d]+)\)/);
// -- podstawowe
this.uid = RegExp.$1;
this.nick = RegExp.$2;
this.points = RegExp.$3;
this.stars = str.match(/star\d+/g);
this.about = (str.match(/omnie.gif/))?true:false;
this.ss = (str.match(/supers.gif/))?true:false;
this.sa = (str.match(/ico_sa.png/))?true:false;
this.junior = (str.match(/junior.gif/))?true:false;
this.firma = (str.match(/company_icon.gif/))?true:false;
this.shop = str.match(/<a href="(\/sklep\/.*?)"><img src=".*?shop_ico.gif"/);
var bl = GM_getValue(AT_BLACKLIST, "");
this.blacklisted = (bl && bl.match(":" + this.uid + ":")) ? true : false;
// -- inne
}
User.prototype.userURL = function(){
return (this._userURL)?(this._userURL):(this._userURL = ('/show_user.php?uid=:UID:').replace(/:UID:/g, this.uid));
}
User.prototype.aboutURL = function(){
return (this.aboutURL)?(this.aboutURL):(this.aboutURL = ('/my_page.php?uid=:UID:').replace(/:UID:/g, this.uid));
}
User.prototype.toHTML = function(){
var aboutHTML = "<a href='/my_page.php?uid=:UID:'><img src=':ICON_ABOUT:' title='Strona o mnie'/></a>";
var starHTML = "<img src=':SRC:' title='*'/>";
var mailHTML = "<a href='/email_to_user.php?uid=:UID:'><img src=':ICON_MAIL:' title='Mail do sprzedajacego'></a>";
var mailAuctionHTML = "<a href='/email_to_user.php?uid=:UID:&item_id=:IID:'><img src=':ICON_MAILRE:' title='Mail do sprzedajacego w zwiazku z ta aukcja'></a>";
var reportHTML = "<a href='/report_item.php?item_id=:IID:'><img src=':ICON_REPORT:' title='Zglos naruszenie zasad'></a>";
var ssHTML = "<img src=':ICON_SS:' title='Super Sprzedawca'/>";
var saHTML = "<img src=':ICON_SA:' title='Standard Allegro'/>";
var juniorHTML = "<img src=':ICON_JUNIOR:' title='Junior'/>";
var firmaHTML = "<img src=':ICON_FIRMA:' title='Firma'/>";
var shopHTML = "<a href=':URL_SHOP:'><img src=':ICON_SHOP:' title='Sklep'/></a>";
var mainStr = "<span id='user:UID::IID:' style='font-size:8pt; color: #afafaf;'><a href='/show_user.php?uid=:UID:' style='font-size:8pt; color: #afafaf;'>:NICK:</a> <span name='p'>(:POINTS:)</span> :MAILTO: :STARS: :ABOUT: :SS::SA: :JUNIOR: :FIRMA: :SHOP: :MAILAUCTION: :REPORT: :WATCHLIST: :LOCATION::OSOBISTY::POBRANIOWA::ZAGRANICZNA::PRYWATNA:</span> :BLACKLIST:";
var stars = "";
if(this.stars){
for (var i = 0; i<this.stars.length; i++){
var s;
switch(this.stars[i])
{
case "star1":s=STAR1;break;
case "star5":s=STAR5;break;
case "star25":s=STAR25;break;
case "star125":s=STAR125;break;
case "star625":s=STAR625;break;
case "star3125":s=STAR3125;break;
}
stars += starHTML.replaceArray(':SRC:', s);
}
}
var about = "";
if(this.about){
about = aboutHTML.replaceArray([/:UID:/g, /:ICON_ABOUT:/g], [this.uid, ICON_ABOUT]);
}
var ss = "";
if(this.ss){
ss = ssHTML.replace(/:ICON_SS:/g, ICON_SS);
}
var sa = "";
if(this.sa){
sa = saHTML.replace(/:ICON_SA:/g, ICON_SA);
}
var junior = "";
if(this.junior){
junior = juniorHTML.replace(/:ICON_JUNIOR:/g, ICON_JUNIOR);
}
var firma = "";
if(this.firma){
firma = firmaHTML.replace(/:ICON_FIRMA:/g, ICON_FIRMA);
}
var shop = "";
if(this.shop){
shop = shopHTML.replace(/:ICON_SHOP:/g, ICON_SHOP);
shop = shop.replace(/:URL_SHOP:/g, this.shop[1]);
}
var mailAuction = "";
if (this.itemId){
mailAuction = mailAuctionHTML.replaceArray([/:UID:/g, /:IID:/g, /:ICON_MAILRE:/], [this.uid, this.itemId, ICON_MAILRE]);
}
var mailto = mailHTML.replaceArray([/:UID:/g, /:ICON_MAIL:/g],[this.uid, ICON_MAIL]);
var watchlist = "<a target='_blank' href='" + this.watchlist + "'><img src='" + ICON_WATCH + "' title='Dodaj aukcje do obserwowanych'></a>";
var report = reportHTML.replaceArray([/:IID:/g, /:ICON_REPORT:/g], [this.itemId, ICON_REPORT]);
var bl = (this.blacklisted == true) ? "<span style='font-size:8pt; color: #FFFFFF; background-color: #000000' ><b> CZARNA LISTA </b></span>" : "";
var osobisty = (this.osobisty == true) ? "<span title='Odbior Osobisty'> <b>[OO]</b></span>" : "";
var pobraniowa = (this.przesylkaPobraniowa == true) ? "<span title='Przesylka za pobraniem'> <b>[PP]</b></span>" : "";
var prywatna = (this.prywatna == true) ? "<span title='Aukcja Prywatna'> <b>[PRV]</b></span>" : "";
var wysylkaZaGranice = (this.wysylkaZaGranice == true) ? "<span title='Wysylka za granice'> <b>[WZ]</b></span>" : "";
var p = [/:UID:/ig, /:NICK:/ig, /:POINTS:/ig, /:STARS:/ig, /:ABOUT:/ig, /:SS:/ig, /:SA:/ig, /:JUNIOR:/ig, /:FIRMA:/ig, /:SHOP:/ig, /:MAILTO:/ig, /:MAILAUCTION:/ig, /:WATCHLIST:/ig,
/:REPORT:/ig, /:BLACKLIST:/ig, /:IID:/ig, /:LOCATION:/ig, /:OSOBISTY:/ig, /:POBRANIOWA:/ig, /:ZAGRANICZNA:/ig, /:PRYWATNA:/ig];
var r = [this.uid, this.nick, this.points, stars, about, ss, sa, junior, firma, shop, mailto, mailAuction, watchlist,
report, bl, this.itemId, this.location, osobisty, pobraniowa, wysylkaZaGranice, prywatna];
mainStr = mainStr.replaceArray(p,r);
return mainStr;
}
User.prototype.setLocation = function(location){
if (location != null)
{
this.location = location;
}
}
User.prototype.setOsobisty = function(osobisty){
this.osobisty = osobisty;
}
User.prototype.setPrzesylkaPobraniowa = function(przesylkaPobraniowa){
this.przesylkaPobraniowa = przesylkaPobraniowa;
}
User.prototype.setWysylkaZaGranice = function(wysylkaZaGranice){
this.wysylkaZaGranice = wysylkaZaGranice;
}
User.prototype.setPrywatna = function(prywatna){
this.prywatna = prywatna;
}
User.prototype.setWatchlist = function(watchlist){
this.watchlist = watchlist;
}
/**
* klasa Processor
*/
function Processor(node, getCommentStats){
this.node = node;
var cell = node.firstChild;
while(cell)
{
if(cell.className)
{
if (cell.className.match("cellPhoto"))
{
this.cellPhoto = cell;
}
else if (cell.className.match("cellName"))
{
this.cellName = cell;
}
else if (cell.className.match("cellPrice"))
{
this.cellPrice = cell;
}
else if (cell.className.match("cellTrans"))
{
this.cellTrans = cell;
}
else if (cell.className.match("cellTime"))
{
this.cellTime = cell;
}
}
cell = cell.nextSibling;
}
this.stats = getCommentStats;
this.mark();
this.process();
}
Processor.processedUsers = new Array();
Processor.prototype.mark = function()
{
this.cellPhoto.style.backgroundImage = "url('"+BG_BYSTR+"')";
}
Processor.prototype.unmark = function()
{
this.cellPhoto.style.backgroundImage = "";
}
Processor.prototype.process = function()
{
this.auctionURL = select(this.cellName, 0).href;
var me = this;
try
{
GM_xmlhttpRequest({method:"GET", url:this.auctionURL, onload:function(d){me.processAuction(d)}, onerror:function(d){me.processError(d)}});
}
catch(e)
{
me.processError();
}
}
Processor.prototype.processError = function(details)
{
this.unmark();
}
Processor.prototype.processAuction = function(details){
var userHTML = getSeller(details.responseText);
if (userHTML)
{
var u = new User();
u.itemId = getAuctionNumberFromLink(this.auctionURL);
u.fromHTML(userHTML);
u.setLocation(getLocation(details.responseText));
var watchlist = getWatchlist(details.responseText);
if(watchlist)
{
u.setWatchlist(watchlist);
}
var odbiorOsobisty = checkOsobisty(details.responseText);
if(odbiorOsobisty)
{
u.setOsobisty(odbiorOsobisty);
}
var przesylkaPobraniowa = checkPrzesylkaPobraniowa(details.responseText);
if(przesylkaPobraniowa)
{
u.setPrzesylkaPobraniowa(przesylkaPobraniowa);
}
else
{
this.node.id = NO_PRZESYLKA_POBRANIOWA_TAG.concat(this.node.id);
if (GM_getValue(AT_PRZESYLKA_POBRANIOWA_ONLY, false))
{
this.node.style.display = "none";
}
}
var prywatna = checkPrywatna(details.responseText);
if(prywatna)
{
u.setPrywatna(prywatna);
this.node.id = PRYWATNA_TAG.concat(this.node.id);
if (GM_getValue(AT_NO_PRYWATNA, false))
{
this.node.style.display = "none";
}
}
var wysylkaZaGranice = checkWysylkaZaGranice(details.responseText);
if(wysylkaZaGranice)
{
u.setWysylkaZaGranice(wysylkaZaGranice);
}
else
{
this.node.id = NO_WYSYLKA_ZA_GRANICE_TAG.concat(this.node.id);
if (GM_getValue(AT_WYSYLKA_ZA_GRANICE_ONLY, false))
{
this.node.style.display = "none";
}
}
if(u.firma == false)
{
this.node.id = NO_FIRMA_TAG.concat(this.node.id);
if (GM_getValue(AT_FIRMA_ONLY, false))
{
this.node.style.display = "none";
}
}
// if(kupTerazFilterEnabled == false)
{
var cenaMinimalna = checkCenaMinimalna(details.responseText);
if(cenaMinimalna)
{
this.node.id = CENA_MINIMALNA_TAG.concat(this.node.id);
if(this.cellPrice)
{
this.cellPrice.innerHTML = "<span title='Cena minimalna nie zostala osiagnieta' style='font-size:8pt; color: #afafaf;'><b>[<CM]</b></span> ".concat(this.cellPrice.innerHTML);
}
if (GM_getValue(AT_CENA_MINIMALNA, false))
{
this.node.style.display = "none";
}
}
}
if(getCheckbox(GET_DELIVERY_PRICE_CHBX) == true)
{
var priceTransfer = getPriceTransfer(details.responseText);
var pricePostal = getPricePostal(details.responseText);
var priceExtra = checkPriceExtra(details.responseText);
if(this.cellTrans && (pricePostal || priceTransfer))
{
this.cellTrans.innerHTML = this.cellTrans.innerHTML.concat("<table cellpadding='0' cellspacing='0' align='right'><tr>" +
(priceExtra ? "<td style='font-size:8pt; color: #afafaf; align: right; vertical-align: middle;'><a href='" + this.auctionURL + "'><img src=" + ICON_EXCLAMATION + " title='Sprawdz dodatkowe informacje o dostawie i platnosci'></a></td><td> </td>" : "") +
"<td nowrap style='font-size:8pt; color: #afafaf; text-align: right; vertical-align: middle;'>" +
(priceTransfer ? "Przelew: <b>" + priceTransfer + " zl</b>" : "") + "<BR>" +
(pricePostal ? "Pobranie: <b>" + pricePostal + " zl</b>" : "") +
"</td></tr></table>");
}
}
// Replace thumbnails when necessary
if (GM_getValue(AT_GET_THUMBNAILS, false) || GM_getValue(AT_THUMBNAILS_QUALITY, false))
{
replaceThumbnail(this.cellPhoto, details.responseText);
}
// Add big image popup with handlers if necessary
if (GM_getValue(AT_GET_BIG_PHOTOS, false))
{
var bigPhotoUrl = getBigPhotoUrl(details.responseText);
if(bigPhotoUrl != null)
{
this.bigPhotoPopupInnerHTML = "<table cellspacing='0' cellpadding='5' bgcolor='white'><tr><td><img src='" + bigPhotoUrl + "' width='400' height='300' class='gallery-big' alt='Pobieranie obrazka, prosze czekac...'></td></tr></table>";
var me = this;
registerEventHandler(this.cellPhoto, 'mouseover', function(e){me.showPopup(e, popup, me.bigPhotoPopupInnerHTML, -150)});
registerEventHandler(this.cellPhoto, 'mouseout', function(e){me.hidePopup(popup)});
}
}
if (GM_getValue(AT_GET_CATEGORIES, false))
{
var categoryHTML = getCategory(details.responseText);
if(categoryHTML != null)
{
if(GM_getValue(AT_GET_CATEGORY_LINKS, false) == false)
{
categoryHTML = categoryHTML.replace(/<\/?a.*?>/g, ""); // remove links if not requested
}
categoryHTML = categoryHTML.replace(/<\/?h2.*?>/g, ""); // remove <H2> wrapper affecting the size
categoryHTML = "<span style='font-size:8pt; color: #afafaf;'>" + categoryHTML + "</span>";
var categoryP = document.createElement('p');
categoryP.innerHTML = categoryHTML;
this.cellName.insertBefore(categoryP, getFirstChild(this.cellName));
}
}
this.infoParagraph = this.cellName.appendChild(document.createElement('p'));
this.infoParagraph.innerHTML = u.toHTML();
if (GM_getValue(AT_GET_EXACT_TIME, true))
{
var endTime;
if(document.location.href.match(/special_listing.php/) && document.location.href.match(/type=new/))
{
endTime = makeStartDate(getInnerText(this.cellTime));
}
else
{
endTime = makeDate(getEndTime(details.responseText));
}
this.cellTime.innerHTML = "";
var now = new Date();
var t = now.timeTo(endTime);
var timeDIV = document.createElement('div');
if((t.miliseconds < 10 * 60 * 1000) && (t.negative == false))
{
timeDIV.style.color = "#ff0000";
}
timeDIV.style.textAlign = "center";
timeDIV.appendChild(document.createTextNode(t.toString() + (t.negative ? " temu" : "")));
this.cellTime.appendChild(timeDIV);
}
this.node.id = this.node.id.concat("_pts" + u.points + "_");
var lowPointsTreshold = GM_getValue(AT_LOW_POINTS_TRESHOLD, DEFAULT_LOW_POINTS_TRESHOLD);
if(GM_getValue(AT_NO_LOW_POINTS, false) && (checkPointsCount(this.node.id, lowPointsTreshold) == false))
{
this.node.style.display = "none";
}
this.node.id = this.node.id.concat("_cnt" + getItemCount(details.responseText) + "_");
var lowItemCountTreshold = GM_getValue(AT_LOW_ITEM_COUNT_TRESHOLD, DEFAULT_LOW_ITEM_COUNT_TRESHOLD);
if(GM_getValue(AT_NO_LOW_ITEM_COUNT, false) && (checkItemCount(this.node.id, lowItemCountTreshold) == false))
{
this.node.style.display = "none";
}
if(this.stats == true)
{
var uURL = window.location.protocol + "//" + window.location.host + u.userURL();
var me = this;
try
{
GM_xmlhttpRequest({method:"GET", url:uURL, onload:function(d){me.processUserPage(d,u)}, onerror:function(d){me.processError(d)}});
}
catch(e)
{
me.processError();
}
}
else
{
this.unmark();
}
}
else
{
this.processError();
}
}
Processor.prototype.processUserPage = function(details, user){
Processor.processedUsers.push(user.uid);
this.userDetailsPopupInnerHTML = details.responseText.replace(/[\s]+/g, " ").match(/<div class="feedbacksSummary.*?<table.*?<\/table>.*?<\/div>/)[0];
this.userDetailsPopupInnerHTML.match(/Pozytywne.*?(\d+) \/ (\d+)/);
var positive = parseInt(RegExp.$1) + parseInt(RegExp.$2);
this.userDetailsPopupInnerHTML.match(/Neutralne.*?(\d+) \/ (\d+)/);
var neutral = parseInt(RegExp.$1) + parseInt(RegExp.$2);
this.userDetailsPopupInnerHTML.match(/Negatywne.*?(\d+) \/ (\d+)/);
var negative = parseInt(RegExp.$1) + parseInt(RegExp.$2);
var total = positive + neutral + negative;
var positivePercent = (positive == 0) ? 0 : positive / total * 100;
var neutralPercent = (neutral == 0) ? 0 : neutral / total * 100;
var negativePercent = (negative == 0) ? 0 : negative / total * 100;
this.userDetailsPopupInnerHTML = this.userDetailsPopupInnerHTML.replace(/(Pozytywne)/, "$1 (" + positivePercent.toFixed(1) + "%)");
this.userDetailsPopupInnerHTML = this.userDetailsPopupInnerHTML.replace(/(Neutralne)/, "$1 (" + neutralPercent.toFixed(1) + "%)");
this.userDetailsPopupInnerHTML = this.userDetailsPopupInnerHTML.replace(/(Negatywne)/, "$1 (" + negativePercent.toFixed(1) + "%)");
this.sp = select(this.infoParagraph, 0, 1);
var me = this;
registerEventHandler(this.sp, 'mouseover', function(e){me.showPopup(e, popup, me.userDetailsPopupInnerHTML, 5)});
registerEventHandler(this.sp, 'mouseout', function(e){me.hidePopup(popup)});
this.node.id = this.node.id.concat("_pos" + Math.floor(positivePercent) + "_");
var lowPositiveTreshold = GM_getValue(AT_LOW_POSITIVE_TRESHOLD, DEFAULT_LOW_POSITIVE_TRESHOLD);
if(GM_getValue(AT_NO_LOW_POSITIVE, false) && (checkPositivePercent(this.node.id, lowPositiveTreshold) == false))
{
this.node.style.display = "none";
}
this.unmark();
}
Processor.prototype.showPopup = function(e, popup, innerHTML, verticalOffset){
var event = getEvent(e);
popup.style.left = event.clientX + getScrollLeft() + 5 + 'px';
popup.style.top = event.clientY + getScrollTop() + verticalOffset + 'px';
popup.innerHTML = innerHTML;
popup.style.display = '';
}
Processor.prototype.hidePopup = function(popup){
popup.style.display = 'none';
}
// IE specific functions
function select()
{
if (arguments.length>1) {
var node = arguments[0];
for (var i=1; i<arguments.length; i++) {
if (typeof(arguments[i])=='string') {
node = node.getElementById(arguments[i]);
} else {
var nodeIdx = arguments[i];
var children = getChildNodes(node);
if (nodeIdx<children.length) {
node = children[nodeIdx];
} else {
node = null;
break;
}
}
}
}
return node;
}
function getChildByClassName(parent, className)
{
if(parent)
{
var child = parent.firstChild;
while(child)
{
if (child.className == className)
{
return child;
}
child = child.nextSibling;
}
}
return null;
}
function storeBlacklistTable()
{
var forms = document.getElementsByTagName("form");
var blacklist = null;
var blacklistStr = ":";
if (forms)
{
for(var i = 0; i < forms.length; i++)
{
if (forms[i].action.match(/my_settings_change.php\?type=set_buyer&option=black_rmv/))
{
blacklist = getChildNodes(select(forms[i], 0, 0));
break;
}
}
}
if (blacklist)
{
for(var i = 0; i < blacklist.length; i++)
{
if (blacklist[i] && getChildNodes(blacklist[i]) && (getChildNodes(blacklist[i]).length == 3))
{
userLink = select(blacklist[i], 1, 0, 0).href;
if (userLink)
{
if (userLink.match(/uid=([\d]+)/))
{
blacklistStr = blacklistStr.concat(RegExp.$1 + ":");
}
}
}
}
}
GM_setValue(AT_BLACKLIST, blacklistStr);
}
function showMenuBody()
{
var show = GM_getValue(AT_SHOW_MENU, true);
var menuBodyElement = document.getElementById(ALLEGROTOOLS_MENU_BODY);
if(menuBodyElement)
{
menuBodyElement.style.display = show ? "block" : "none";
var menuMarkerElement = document.getElementById(ALLEGROTOOLS_MENU_MARKER);
if(menuMarkerElement)
{
menuMarkerElement.src = show ? FOLD_ARR : UNFOLD_ARR;
}
}
}
function handleMenuBodyToggle()
{
GM_setValue(AT_SHOW_MENU, !GM_getValue(AT_SHOW_MENU, true));
showMenuBody();
}
function handleAutoGetDescriptionsCheckbox()
{
var autoGetDescriptionsValue = getCheckbox(AUTO_GET_DESCRIPTIONS_CHBX);
GM_setValue(AT_AUTO_GET_DESCRIPTIONS, autoGetDescriptionsValue);
showButton(GET_DESCRIPTIONS_BTN, !autoGetDescriptionsValue);
autoGetDescriptions();
}
function handleGetDescriptionsButton()
{
enableButton(GET_DESCRIPTIONS_BTN, false);
getDescriptions();
}
function handleGetCategoriesCheckbox()
{
var val = getCheckbox(GET_CATEGORIES_CHBX);
GM_setValue(AT_GET_CATEGORIES, val);
enableCheckbox(GET_CATEGORY_LINKS_CHBX, val);
}
function handleGetCategoryLinksCheckbox()
{
GM_setValue(AT_GET_CATEGORY_LINKS, getCheckbox(GET_CATEGORY_LINKS_CHBX));
}
function handleGetCommentStatsCheckbox()
{
var val = getCheckbox(GET_COMMENT_STATS_CHBX);
GM_setValue(AT_GET_COMMENT_STATS, val);
enableCheckbox(NO_LOW_POSITIVE_CHBX, val)
}
function handleGetDeliveryPriceCheckbox()
{
GM_setValue(AT_GET_DELIVERY_PRICE, getCheckbox(GET_DELIVERY_PRICE_CHBX));
}
function handleGetThumbnailsCheckbox()
{
GM_setValue(AT_GET_THUMBNAILS, getCheckbox(GET_THUMBNAILS_CHBX));
}
function handleThumbnailsQualityCheckbox()
{
GM_setValue(AT_THUMBNAILS_QUALITY, getCheckbox(THUMBNAILS_QUALITY_CHBX));
}
function handleGetBigPhotosCheckbox()
{
GM_setValue(AT_GET_BIG_PHOTOS, getCheckbox(GET_BIG_PHOTOS_CHBX));
}
function handleGetExactTimeCheckbox()
{
GM_setValue(AT_GET_EXACT_TIME, getCheckbox(GET_EXACT_TIME_CHBX));
}
function handleCenaMinimalnaCheckbox()
{
GM_setValue(AT_CENA_MINIMALNA, getCheckbox(CENA_MINIMALNA_CHBX));
filterAuctions();
}
function handlePrzesylkaPobraniowaOnlyCheckbox()
{
GM_setValue(AT_PRZESYLKA_POBRANIOWA_ONLY, getCheckbox(PRZESYLKA_POBRANIOWA_ONLY_CHBX));
filterAuctions();
}
function handleNoPrywatnaCheckbox()
{
GM_setValue(AT_NO_PRYWATNA, getCheckbox(NO_PRYWATNA_CHBX));
filterAuctions();
}
function handleWysylkaZaGraniceOnlyCheckbox()
{
GM_setValue(AT_WYSYLKA_ZA_GRANICE_ONLY, getCheckbox(WYSYLKA_ZA_GRANICE_ONLY_CHBX));
filterAuctions();
}
function handleFirmaOnlyCheckbox()
{
GM_setValue(AT_FIRMA_ONLY, getCheckbox(FIRMA_ONLY_CHBX));
filterAuctions();
}
function handleNoLowPositiveCheckbox()
{
GM_setValue(AT_NO_LOW_POSITIVE, getCheckbox(NO_LOW_POSITIVE_CHBX));
filterAuctions();
}
function handleLowPositiveTresholdField()
{
var field = document.getElementById(LOW_POSITIVE_TRESHOLD_FLD);
checkInputFieldValue(field, 0, 100)
GM_setValue(AT_LOW_POSITIVE_TRESHOLD, field.value);
if(GM_getValue(AT_NO_LOW_POSITIVE, false))
{
filterAuctions();
}
}
function handleNoLowPointsCheckbox()
{
GM_setValue(AT_NO_LOW_POINTS, getCheckbox(NO_LOW_POINTS_CHBX));
filterAuctions();
}
function handleLowPointsOperatorButton()
{
var operator = GM_getValue(AT_LOW_POINTS_OPERATOR, true);
var button = document.getElementById(LOW_POINTS_OPERATOR_BTN);
if (operator == true)
{
button.value = ">";
}
else
{
button.value = "<";
}
GM_setValue(AT_LOW_POINTS_OPERATOR, !operator);
filterAuctions();
}
function handleLowPointsTresholdField()
{
var field = document.getElementById(LOW_POINTS_TRESHOLD_FLD);
checkInputFieldValue(field, 0, 999999)
GM_setValue(AT_LOW_POINTS_TRESHOLD, field.value);
if(GM_getValue(AT_NO_LOW_POINTS, false))
{
filterAuctions();
}
}
function handleNoLowItemCountCheckbox()
{
GM_setValue(AT_NO_LOW_ITEM_COUNT, getCheckbox(NO_LOW_ITEM_COUNT_CHBX));
filterAuctions();
}
function handleLowItemCountTresholdField()
{
var field = document.getElementById(LOW_ITEM_COUNT_TRESHOLD_FLD);
checkInputFieldValue(field, 0, 99999)
GM_setValue(AT_LOW_ITEM_COUNT_TRESHOLD, field.value);
if(GM_getValue(AT_NO_LOW_ITEM_COUNT, false))
{
filterAuctions();
}
}
function checkInputFieldValue(field, min, max)
{
// Remove non-digits
if(field.value.match(/[^0-9]/g))
{
field.value = field.value.replace(/[^0-9]/g, '');
}
if(field.value)
{
// Remove trailing zeros
if(field.value.match(/^0\d+/))
{
field.value = field.value.replace(/^0/, '');
}
// Set to max if more
if(parseInt(field.value) > max)
{
field.value = max;
}
}
else
{
// Add min if no value
field.value = min;
}
}
function showButton(id, show)
{
var displayValue = show ? "block" : "none";
var element = document.getElementById(id);
if(element && element.style.display != displayValue)
{
element.style.display = displayValue;
}
}
function enableButton(id, enable)
{
var element = document.getElementById(id);
if(element && element.disabled != !enable)
{
element.disabled = !enable;
}
}
function isEnabledButton(id)
{
var element = document.getElementById(id);
if(element)
{
return !element.disabled;
}
else
{
return false;
}
}
function setCheckbox(id, checked)
{
var element = document.getElementById(id);
if(element && element.checked != checked)
{
element.checked = checked;
}
}
function getCheckbox(id)
{
var element = document.getElementById(id);
if(element)
{
return element.checked;
}
else
{
return false;
}
}
function enableCheckbox(id, enable)
{
var checkbox = document.getElementById(id);
if(checkbox && checkbox.disabled != !enable)
{
checkbox.disabled = !enable;
}
var label = document.getElementById(id + "_label");
if(label && label.disabled != !enable)
{
label.disabled = !enable;
label.style.color = enable ? "Black" : "Gray";
}
}
function getButtonHtml(title, help, id)
{
return "<input style=\"font-size:8pt\" title=\"" + help + "\" type=\"button\" id=\"" + id + "\" value=\"" + title +"\"/>";
}
function getCheckboxHtml(title, help, id)
{
return "<input style=\"font-size:8pt\" title=\"" + help + "\" type=\"checkbox\" id=\"" + id + "\"/><label style=\"font-size:8pt\" title=\"" + help + "\" for=\"" + id + "\" id=\"" + id + "_label\">" + title + "</label>";
}
function getTextFldHtml(title, help, size, value, id)
{
return "<input style=\"font-size:8pt\" title=\"" + help + "\" type=\"text\" id=\"" + id + "\" size=\"" + size + "\" maxlength=\"" + size + "\" value=\"" + value + "\" /><label style=\"font-size:8pt\" title=\"" + help + "\" for=\"" + id + "\" id=\"" + id + "_label\">" + title + "</label>";
}
function addTableRow(table, innerHTML)
{
var tr = document.createElement('tr');
var td = document.createElement('td');
if(innerHTML)
{
td.innerHTML = innerHTML;
}
tr.appendChild(td);
table.appendChild(tr);
}
function addAllegrotoolsOptionsMenu()
{
// First find Allegro Options menu
var h2Elements = document.getElementsByTagName("h2");
if(h2Elements)
{
for(var i = 0; i < h2Elements.length; i++)
{
if(h2Elements[i].className.match(/naviLeftH2/) && getInnerText(h2Elements[i]).match(/Opcje ?/))
{
var allegrotoolsMenuBody = document.createElement("table");
allegrotoolsMenuBody.style.width = "100%";
allegrotoolsMenuBody.cellPadding = "0";
allegrotoolsMenuBody.cellSpacing = "0";
allegrotoolsMenuBody.id = ALLEGROTOOLS_MENU_BODY;
allegrotoolsMenuBody.style.backgroundColor = "#E7DAD1";
var allegrotoolsMenuBodyTBody = document.createElement("tbody");
allegrotoolsMenuBody.appendChild(allegrotoolsMenuBodyTBody);
allegrotoolsMenuBody.className = "naviLeftContent";
h2Elements[i].parentNode.insertBefore(allegrotoolsMenuBody, h2Elements[i]);
var allegrotoolsMenuHeader = document.createElement("H2");
allegrotoolsMenuHeader.id = ALLEGROTOOLS_MENU_HEADER;
allegrotoolsMenuHeader.title = "Kliknij aby zwinac/rozwinac menu AllegroTools";
allegrotoolsMenuHeader.className = "naviLeftH2";
allegrotoolsMenuHeader.style.backgroundImage = "url(" + MENU_HEADER + ")";
allegrotoolsMenuHeader.style.backgroundPosition = "0px 0px";
allegrotoolsMenuHeader.innerHTML = "Opcje AllegroTools <img src='" + FOLD_ARR + "'id='" + ALLEGROTOOLS_MENU_MARKER + "'>";
h2Elements[i].parentNode.insertBefore(allegrotoolsMenuHeader, allegrotoolsMenuBody);
showMenuBody();
registerEventHandler(document.getElementById(ALLEGROTOOLS_MENU_HEADER), "click", handleMenuBodyToggle);
// --- "Auto-get descriptions" checkbox and "Get descriptions" button ------------------------------
addTableRow(allegrotoolsMenuBodyTBody, "<table cellspacing='0' cellpadding='0' border='0'><tr>" +
"<td><span class='small'>" + getCheckboxHtml("Autoopisy", "Automatyczne pobieranie opisow uzytkownikow", AUTO_GET_DESCRIPTIONS_CHBX ) + "</span></td>" +
"<td> </td>" +
"<td><span class='small'>" + getButtonHtml("Pobierz", "Pobiera opisy uzytkownikow", GET_DESCRIPTIONS_BTN) + "</span></td>" +
"</tr></table>");
var autoGetDescriptions = GM_getValue(AT_AUTO_GET_DESCRIPTIONS, true);
setCheckbox(AUTO_GET_DESCRIPTIONS_CHBX, autoGetDescriptions);
enableButton(GET_DESCRIPTIONS_BTN, true);
showButton(GET_DESCRIPTIONS_BTN, !autoGetDescriptions);
registerEventHandler(document.getElementById(AUTO_GET_DESCRIPTIONS_CHBX), "click", handleAutoGetDescriptionsCheckbox);
registerEventHandler(document.getElementById(GET_DESCRIPTIONS_BTN), "click", handleGetDescriptionsButton);
// -------------------------------------------------------------------------------------------------
// --- "Categories" checkbox --------------------------------------------------------------------
addTableRow(allegrotoolsMenuBodyTBody, "<table cellspacing='0' cellpadding='0' border='0'><tr>" +
"<td><span class='small'>" + getCheckboxHtml("Kategorie", "Pobiera i wyswietla kategorie przedmiotow.\nUWAGA! zmiany tej opcji beda widoczne dopiero po nastepnym pobraniu opisow sprzedawcow!", GET_CATEGORIES_CHBX) + "</span></td>" +
"<td> </td>" +
"<td><span class='small'>" + getCheckboxHtml("Pokaz odnosniki", "Dodaje odnosniki przy wyswietlanych kategoriach", GET_CATEGORY_LINKS_CHBX) + "</span></td>" +
"</tr></table>");
setCheckbox(GET_CATEGORIES_CHBX, GM_getValue(AT_GET_CATEGORIES, false));
registerEventHandler(document.getElementById(GET_CATEGORIES_CHBX), "click", handleGetCategoriesCheckbox);
setCheckbox(GET_CATEGORY_LINKS_CHBX, GM_getValue(AT_GET_CATEGORY_LINKS, false));
registerEventHandler(document.getElementById(GET_CATEGORY_LINKS_CHBX), "click", handleGetCategoryLinksCheckbox);
enableCheckbox(GET_CATEGORY_LINKS_CHBX, GM_getValue(AT_GET_CATEGORIES, false))
// -------------------------------------------------------------------------------------------------
// --- "Comment Stats" checkbox --------------------------------------------------------------------
addTableRow(allegrotoolsMenuBodyTBody, "<span class='small'>" +
getCheckboxHtml("Statystyki komentarzy", "Pobiera takze tabele komentarzy sprzedajacych.\nUWAGA! zmiany tej opcji beda widoczne dopiero po nastepnym pobraniu opisow sprzedawcow!", GET_COMMENT_STATS_CHBX) +
"</span>");
setCheckbox(GET_COMMENT_STATS_CHBX, GM_getValue(AT_GET_COMMENT_STATS, false));
registerEventHandler(document.getElementById(GET_COMMENT_STATS_CHBX), "click", handleGetCommentStatsCheckbox);
// -------------------------------------------------------------------------------------------------
// --- "Delivery Price" checkbox --------------------------------------------------------------------
addTableRow(allegrotoolsMenuBodyTBody, "<span class='small'>" +
getCheckboxHtml("Koszty przesylki", "Pobiera i wyswietla koszty przesylki.\nUWAGA! zmiany tej opcji beda widoczne dopiero po nastepnym pobraniu opisow sprzedawcow!", GET_DELIVERY_PRICE_CHBX) +
"</span>");
setCheckbox(GET_DELIVERY_PRICE_CHBX, GM_getValue(AT_GET_DELIVERY_PRICE, false));
registerEventHandler(document.getElementById(GET_DELIVERY_PRICE_CHBX), "click", handleGetDeliveryPriceCheckbox);
// -------------------------------------------------------------------------------------------------
// --- "Missing thumbnails" checkbox --------------------------------------------------------------------
addTableRow(allegrotoolsMenuBodyTBody, "<span class='small'>" +
getCheckboxHtml("Brakujace miniaturki", "Wyswietla brakujace miniaturki (jesli sa dostepne).\nUWAGA! zmiany tej opcji beda widoczne dopiero po nastepnym pobraniu opisow sprzedawcow!", GET_THUMBNAILS_CHBX) +
"</span>");
setCheckbox(GET_THUMBNAILS_CHBX, GM_getValue(AT_GET_THUMBNAILS, false));
registerEventHandler(document.getElementById(GET_THUMBNAILS_CHBX), "click", handleGetThumbnailsCheckbox);
// -------------------------------------------------------------------------------------------------
// --- "Thumbnail quality" checkbox --------------------------------------------------------------------
addTableRow(allegrotoolsMenuBodyTBody, "<span class='small'>" +
getCheckboxHtml("Popraw miniaturki", "Poprawia jakosc wyswietlanych miniatur.\nUWAGA! zmiany tej opcji beda widoczne dopiero po nastepnym pobraniu opisow sprzedawcow!", THUMBNAILS_QUALITY_CHBX) +
"</span>");
setCheckbox(THUMBNAILS_QUALITY_CHBX, GM_getValue(AT_THUMBNAILS_QUALITY, false));
registerEventHandler(document.getElementById(THUMBNAILS_QUALITY_CHBX), "click", handleThumbnailsQualityCheckbox);
// -------------------------------------------------------------------------------------------------
// --- "Big photos" checkbox --------------------------------------------------------------------
addTableRow(allegrotoolsMenuBodyTBody, "<span class='small'>" +
getCheckboxHtml("Duze zdjecia", "Wyswietla duze zdjecia po najechaniu kursorem na miniaturke (jesli sa dostepne).\nUWAGA! zmiany tej opcji beda widoczne dopiero po nastepnym pobraniu opisow sprzedawcow!", GET_BIG_PHOTOS_CHBX) +
"</span>");
setCheckbox(GET_BIG_PHOTOS_CHBX, GM_getValue(AT_GET_BIG_PHOTOS, false));
registerEventHandler(document.getElementById(GET_BIG_PHOTOS_CHBX), "click", handleGetBigPhotosCheckbox);
// -------------------------------------------------------------------------------------------------
// --- "Exact time" checkbox --------------------------------------------------------------------
addTableRow(allegrotoolsMenuBodyTBody, "<span class='small'>" +
getCheckboxHtml("Dokladny czas", "Wyswietla dokladniejszy czas do zakonczenia aukcji.\nUWAGA! zmiany tej opcji beda widoczne dopiero po nastepnym pobraniu opisow sprzedawcow!", GET_EXACT_TIME_CHBX) +
"</span>");
setCheckbox(GET_EXACT_TIME_CHBX, GM_getValue(AT_GET_EXACT_TIME, true));
registerEventHandler(document.getElementById(GET_EXACT_TIME_CHBX), "click", handleGetExactTimeCheckbox);
// -------------------------------------------------------------------------------------------------
addTableRow(allegrotoolsMenuBodyTBody, "<hr>");
// --- "Przesylka Pobraniowa Only" checkbox --------------------------------------------------------
addTableRow(allegrotoolsMenuBodyTBody, "<span class='small'>" +
getCheckboxHtml("Tylko z przesylka pobraniowa <b>[PP]</b>", "Wyswietla tylko aukcje z zanznaczona opcja platnosci za pobraniem.\nUWAGA! dziala tylko gdy pobrane sa Autoopisy!", PRZESYLKA_POBRANIOWA_ONLY_CHBX) +
"</span>");
setCheckbox(PRZESYLKA_POBRANIOWA_ONLY_CHBX, GM_getValue(AT_PRZESYLKA_POBRANIOWA_ONLY, false));
registerEventHandler(document.getElementById(PRZESYLKA_POBRANIOWA_ONLY_CHBX), "click", handlePrzesylkaPobraniowaOnlyCheckbox);
// -------------------------------------------------------------------------------------------------
// --- "Tylko Wysylka Za Granice Only" checkbox --------------------------------------------------------
addTableRow(allegrotoolsMenuBodyTBody, "<span class='small'>" +
getCheckboxHtml("Tylko z wysylka za granice <b>[WZ]</b>", "Wyswietla tylko aukcje z zanznaczona opcja wysylki za granice.\nUWAGA! dziala tylko gdy pobrane sa Autoopisy!", WYSYLKA_ZA_GRANICE_ONLY_CHBX) +
"</span>");
setCheckbox(WYSYLKA_ZA_GRANICE_ONLY_CHBX, GM_getValue(AT_WYSYLKA_ZA_GRANICE_ONLY, false));
registerEventHandler(document.getElementById(WYSYLKA_ZA_GRANICE_ONLY_CHBX), "click", handleWysylkaZaGraniceOnlyCheckbox);
// -------------------------------------------------------------------------------------------------
// --- "Firma Only" checkbox --------------------------------------------------------
addTableRow(allegrotoolsMenuBodyTBody, "<span class='small'>" +
getCheckboxHtml("Tylko oferty Firm <img src='" + ICON_FIRMA + "' title='Firma'>", "Wyswietla tylko oferty Firm.\nUWAGA! dziala tylko gdy pobrane sa Autoopisy!", FIRMA_ONLY_CHBX) +
"</span>");
setCheckbox(FIRMA_ONLY_CHBX, GM_getValue(AT_FIRMA_ONLY, false));
registerEventHandler(document.getElementById(FIRMA_ONLY_CHBX), "click", handleFirmaOnlyCheckbox);
// -------------------------------------------------------------------------------------------------
// --- "Hide [<CM]" checkbox ----------
addTableRow(allegrotoolsMenuBodyTBody, "<span class='small'>" +
getCheckboxHtml("Ukryj <b>[<CM]</b>", "Ukrywa aukcje, w ktorych cena minimalna nie zostala osiagnieta.\nUWAGA! dziala tylko gdy pobrane sa Autoopisy!", CENA_MINIMALNA_CHBX) +
"</span>");
setCheckbox(CENA_MINIMALNA_CHBX, GM_getValue(AT_CENA_MINIMALNA, false));
registerEventHandler(document.getElementById(CENA_MINIMALNA_CHBX), "click", handleCenaMinimalnaCheckbox);
// -------------------------------------------------------------------------------------------------
// --- "No prywatna" checkbox ----------
addTableRow(allegrotoolsMenuBodyTBody, "<span class='small'>" +
getCheckboxHtml("Ukryj aukcje prywatne <b>[PRV]</b>", "Ukrywa aukcje prywatne.\nUWAGA! dziala tylko gdy pobrane sa Autoopisy!", NO_PRYWATNA_CHBX) +
"</span>");
setCheckbox(NO_PRYWATNA_CHBX, GM_getValue(AT_NO_PRYWATNA, false));
registerEventHandler(document.getElementById(NO_PRYWATNA_CHBX), "click", handleNoPrywatnaCheckbox);
// -------------------------------------------------------------------------------------------------
// --- "Hide low positive" checkbox ----------
var lowPositiveTreshold = GM_getValue(AT_LOW_POSITIVE_TRESHOLD, DEFAULT_LOW_POSITIVE_TRESHOLD);
addTableRow(allegrotoolsMenuBodyTBody, "<span class='small'>" +
getCheckboxHtml("Ukryj aukcje z < ", "Ukrywa aukcje z procentem pozytywow mniejszym od zadanego.\nUWAGA! dziala tylko gdy pobrane sa Autoopisy i wlaczona jest opcja 'Statystyki komentarzy'!", NO_LOW_POSITIVE_CHBX) +
getTextFldHtml("% pozytywow", "Wprowadz minimalny procent pozytywow (0-100)", 3, lowPositiveTreshold, LOW_POSITIVE_TRESHOLD_FLD ) +
"</span>");
setCheckbox(NO_LOW_POSITIVE_CHBX, GM_getValue(AT_NO_LOW_POSITIVE, false));
enableCheckbox(NO_LOW_POSITIVE_CHBX, GM_getValue(AT_GET_COMMENT_STATS, false))
registerEventHandler(document.getElementById(NO_LOW_POSITIVE_CHBX), "click", handleNoLowPositiveCheckbox);
registerEventHandler(document.getElementById(LOW_POSITIVE_TRESHOLD_FLD), "keyup", handleLowPositiveTresholdField);
// -------------------------------------------------------------------------------------------------
// --- "Hide low points" checkbox ----------
var lowPointsTreshold = GM_getValue(AT_LOW_POINTS_TRESHOLD, DEFAULT_LOW_POINTS_TRESHOLD);
addTableRow(allegrotoolsMenuBodyTBody, "<span class='small'>" +
getCheckboxHtml("Ukryj aukcje z ", "Ukrywa aukcje z iloscia punktow mniejsza lub wieksza od zadanej.\nUWAGA! dziala tylko gdy pobrane sa Autoopisy!", NO_LOW_POINTS_CHBX) +
getButtonHtml((GM_getValue(AT_LOW_POINTS_OPERATOR, true) ? "<" : ">"), "Kliknij aby zniemic operator miedzy '<' i '>'.", LOW_POINTS_OPERATOR_BTN) +
getTextFldHtml(" punktow", "Wprowadz liczbe punktow (0-999999)", 6, lowPointsTreshold, LOW_POINTS_TRESHOLD_FLD) +
"</span>");
setCheckbox(NO_LOW_POINTS_CHBX, GM_getValue(AT_NO_LOW_POINTS, false));
registerEventHandler(document.getElementById(NO_LOW_POINTS_CHBX), "click", handleNoLowPointsCheckbox);
registerEventHandler(document.getElementById(LOW_POINTS_OPERATOR_BTN), "click", handleLowPointsOperatorButton);
registerEventHandler(document.getElementById(LOW_POINTS_TRESHOLD_FLD), "keyup", handleLowPointsTresholdField);
// -------------------------------------------------------------------------------------------------
// --- "Hide low item count" checkbox ----------
var lowItemCountTreshold = GM_getValue(AT_LOW_ITEM_COUNT_TRESHOLD, DEFAULT_LOW_ITEM_COUNT_TRESHOLD);
addTableRow(allegrotoolsMenuBodyTBody, "<span class='small'>" +
getCheckboxHtml("Ukryj aukcje z < ", "Ukrywa aukcje z iloscia sprzedawanych przedmiotow mniejsza od zadanej.\nUWAGA! dziala tylko gdy pobrane sa Autoopisy!", NO_LOW_ITEM_COUNT_CHBX) +
getTextFldHtml(" przedmiotow", "Wprowadz liczbe przedmiotow (0-99999)", 5, lowItemCountTreshold, LOW_ITEM_COUNT_TRESHOLD_FLD) +
"</span>");
setCheckbox(NO_LOW_ITEM_COUNT_CHBX, GM_getValue(AT_NO_LOW_ITEM_COUNT, false));
registerEventHandler(document.getElementById(NO_LOW_ITEM_COUNT_CHBX), "click", handleNoLowItemCountCheckbox);
registerEventHandler(document.getElementById(LOW_ITEM_COUNT_TRESHOLD_FLD), "keyup", handleLowItemCountTresholdField);
// -------------------------------------------------------------------------------------------------
break;
}
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function filterAuctions()
{
var cenaMinimalna = GM_getValue(AT_CENA_MINIMALNA, false);
var przesylkaPobraniowaOnly = GM_getValue(AT_PRZESYLKA_POBRANIOWA_ONLY, false);
var wysylkaZaGraniceOnly = GM_getValue(AT_WYSYLKA_ZA_GRANICE_ONLY, false);
var firmaOnly = GM_getValue(AT_FIRMA_ONLY, false);
var noPrywatna = GM_getValue(AT_NO_PRYWATNA, false);
var noLowPositive = GM_getValue(AT_NO_LOW_POSITIVE, false);
var lowPositiveTreshold = GM_getValue(AT_LOW_POSITIVE_TRESHOLD, DEFAULT_LOW_POSITIVE_TRESHOLD);
var noLowPoints = GM_getValue(AT_NO_LOW_POINTS, false);
var lowPointsTreshold = GM_getValue(AT_LOW_POINTS_TRESHOLD, DEFAULT_LOW_POINTS_TRESHOLD);
var noLowItemCount = GM_getValue(AT_NO_LOW_ITEM_COUNT, false);
var lowItemCountTreshold = GM_getValue(AT_LOW_ITEM_COUNT_TRESHOLD, DEFAULT_LOW_ITEM_COUNT_TRESHOLD);
for(var i = 0; i < auctions.length; i++)
{
element = auctions[i];
if(element)
{
if((element.id.match(CENA_MINIMALNA_TAG) && cenaMinimalna) ||
(element.id.match(NO_PRZESYLKA_POBRANIOWA_TAG) && przesylkaPobraniowaOnly) ||
(element.id.match(NO_WYSYLKA_ZA_GRANICE_TAG) && wysylkaZaGraniceOnly) ||
(element.id.match(NO_FIRMA_TAG) && firmaOnly) ||
(element.id.match(PRYWATNA_TAG) && noPrywatna) ||
((checkPositivePercent(element.id, lowPositiveTreshold) == false) && noLowPositive) ||
((checkPointsCount(element.id, lowPointsTreshold) == false) && noLowPoints) ||
((checkItemCount(element.id, lowItemCountTreshold) == false) && noLowItemCount))
{
element.style.display = "none";
}
else
{
element.style.display = "";
}
}
}
}
function findAuctions()
{
var node, id;
var tables = document.getElementsByTagName("table");
// First find tables with Auction listings and process all listed auction nodes
for (var i = 0; i < tables.length; ++i)
{
table = tables[i];
id = table.id;
if((id) && (id.match("listFeatured") || id.match("listStandard")))
{
var rows = table.rows;
if(rows && rows.length > 0)
{
// Skip first row (header) and all non-auction rows
for(var j = 1; j < rows.length; j++)
{
if (rows[j].innerHTML.match(/class=['"]?cellName['"]?/))
{
auctions.push(rows[j]);
}
}
}
}
}
}
function getDescriptions()
{
if(auctions.length == 0) // If not already retireved (i.e. auctions list empty)
{
findAuctions();
var getCommentStats = GM_getValue(AT_GET_COMMENT_STATS, false);
// Process auctions
for(var i = 0; i < auctions.length; i++)
{
var p = new Processor(auctions[i], getCommentStats);
}
}
}
function autoGetDescriptions()
{
if(isEnabledButton(GET_DESCRIPTIONS_BTN) && getCheckbox(AUTO_GET_DESCRIPTIONS_CHBX))
{
handleGetDescriptionsButton();
}
}
function getUnameSpan()
{
var unameSpan = false;
var spanTable = document.getElementsByTagName("span");
if(spanTable)
{
for(var i = 0; i < spanTable.length; i++)
{
if (spanTable[i].className == "uname")
{
unameSpan = spanTable[i];
break;
}
}
}
return unameSpan;
}
function addFavouriteUserLink()
{
if(getAuctionNumberFromLink(document.location.href))
{
var userSpan = getUnameSpan();
if (userSpan && userSpan.innerHTML && userSpan.innerHTML.match(/show_user\.php\?uid=(\d+)/))
{
var uid = RegExp.$1;
if (uid)
{
var addFavUserLink = document.createElement('p');
addFavUserLink.innerHTML = '<a class="alleLink" href="myaccount/favourites_sellers.php/addNew/?userId=' + uid + '&ret=' + location.pathname + '" class="alleLink small"><span>Dodaj do ulubionych Sprzedawcow</span></a>';
getParentNode(userSpan, 1).appendChild(addFavUserLink);
}
}
}
}
// Creates invisible popup window (position absolute)
// that can be filled with some content and shown on a specified position
function createPopup()
{
var popup = document.createElement('div');
popup.style.position = 'absolute';
popup.style.left = '0px';
popup.style.top = '0px';
popup.style.display = 'none';
popup.style.zIndex = '999999';
document.body.appendChild(popup);
return popup;
}
function allegrotools()
{
popup = createPopup();
// If on the buyer property page
if(document.location.href.match(/page=settings/) && document.location.href.match(/type=set_buyer/))
{
// Store the blacklist
storeBlacklistTable();
}
addAllegrotoolsOptionsMenu();
autoGetDescriptions();
filterAuctions();
addFavouriteUserLink();
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Start Allegro Tools script
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
allegrotools()
})();