Multi Auction - Bid Logger

Multi auction site bid count tracker. beezid.com,dealdash.com,happybidday.com,quibids.com

// ==UserScript==
// @name		Multi Auction - Bid Logger
// @fullname		Multi Auction - Bid Logger
// @licence		GPL version 3 or any later version
// @namespace		MultiAuctionLogger
// @include		http://www.beezid.com/*
// @include		http://www.happybidday.com/*
// @include		http://www.quibids.com/*
// @include		http://www.dealdash.com/*
// @include		https://www.dealdash.com/*
// @homepage	https://greasyfork.org/en/scripts/5214-multi-auction-bid-logger
// @require		http://code.jquery.com/jquery-1.8.3.js
// @require		http://code.jquery.com/ui/1.9.2/jquery-ui.js
// @run-at		document-end
// @author		hugo pi
// @grant		none
// @icon		data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAFaElEQVR4Xr2XaUxUVxvH//fOvbMAAwOCBLXACAKvIgioIC6v0LSoLGXikrQ1dk2FRgWq9lWMtrFbGq3VfmhMWmttTBc3Yq12EWtBBNFI60Jto1TU4a2ogA7MdmfufXrGXkPkg5EB/E9+cz9Nfud5znNO7mAQIhyunHPol3X5hwAIeMQRvnk1t+rc1hK6sK2EqtfMOdDfRfDwP5pti6bvik9JKTaGD0egKRQcoQCA4VEsQPPh/OzdoxPNluBQE0gMggIRLpcHB5bnbQegGcoFCOvzJ++JM4dbjIEC7J23IDnsuNNph9EUDJ5o7pHKfO/RtflVAITBXoDwv5z078ZEBxSHGDWsYgcklx0dbVa0X72CkKjHMDYrA/FpyYiMHlV8uHL2LgCawVyA3ikpOpckQXLbIUtuOFn1Vy63IfyxGASGRUGBAR4P+w4OxkhztIUNptqJQdqCj47/trT+nK3u9Nk7OH2mHc3N1zE6nondTjhtXZB9Lk0QZBlsME3giCt80GBq0L8oDLmp7cYxu1M+q+UFgyLBbI4JhqwoUGQF4JhfGwCeF0GQcb31Gp7OHpPwVUPLXgCEPuH8GUJGICOUEblqZvqJvJxY8BqRifXQ6gNgMAYzwuDuuYWOqy3ovt0NvV4Er+H257x1cB4Ar38d6O2CxHAwMDEqolynBWcMEtVqCKQQZNmD63+1IixqFKKT4hE+IgI6vTZpbkpk5o7ai18DUAZyD5CPFTPSGgqLpnN3erS4Zr0NRfGAZAlQXLjw6zkEsEE0hJhAQhAUEuHxELpdXh0AfW87/Yu4Ynpa66y8zBEBBhGxIw2oOdFOf7bYOFHUYMRwAxISI6EVCc7bHeB4DrZOG041nD9W+sXxpQM6BYVJsSFrHp94Oc8nD9Dh/60tqD3ZenNz/Zn86kvW0g676+e/bzghcl5Ibie8bgesl1pwtLqhlsnLAbQzXPAj3HPpSXFvzsqi+k3ljGW0t7yQKqal3gSQzRjNMDMyV+dkUPXaJ6nmLQt9u7KI3sjPqAGQzgj3t+vcwgmJ8ffkxz9YRgdXW+j1mek++RRGFEOrMqoka3zt5y9l05elM2l5blptrxwav+TPpibEvZGXyeRlVOeTr7LQuicmUZhBl6vKRfTGyEhli2hcMnV844DlJZPHFWyY+19W9f3ypIjQeb5qVXnfeyKCkawS4W/b+cWTxr2waUEOnfxoOdVt9MmL78oTI0IXAIhh6B5wWQWpDFT+Gh3buJR+XGOh94oyacww0zxVrmdwGILwr0wa93xf+fvFWVT4H/M7AMxDKReWZCXv2/7yHGrcwuQbeuUFSbE+eQIjcKjkmiWZyft2lhbRiXvyyvvkieqE80Mjz1Llmyuolsl/YPKPn5lK+Ymxbw+lnGMIy6akVGWmmwviEuIgSR44uqy4Zr2Jhuau2s9ON5cAsDLsDAVDEGNFdio1fbzSd9TuVv7Jomn0YsbYGgATGKGDXXnf86oDh66Ll6yh4UEeWNt8lXeyyn+vUCvvZigP8e9oj8BxTxEpICL4wnEcAAZ73v2wp0dR9j/xbu9LCccwMcaUZaf8pOF4k03y1H16qrkMwFVGF0PGg6PZuTh3twBYJs1IA3EChKAwkKJA6umE7O6BIrsZLpDiwh/nu+EhpWrh1iPzAci8urdtW+rP5jX9fatsR9OF/siFzQumHbB1eywTslLgcjOpVwPZy8Pd44TLITG8cDm9cNoVOByEmNFadHd7Lb7fARA4VSCqU65jOBk9DO/DzM/62Zk2IoIsK1AUAsAg6m09hz7bAPD8v8913zcGc31OBK/uN+HhEqJey8P6M6iqo4NxhcPAolVvRhH9j4dh/wfgmWNrtN0tjAAAAABJRU5ErkJggg==
// @version		1.2.8.004
// @description		Multi auction site bid count tracker. beezid.com,dealdash.com,happybidday.com,quibids.com
// ==/UserScript==

	var pageLoad={
		main:true,
	}
	function GM_log(s){
		console.log(s)
	}
	function GM_addStyle(s){
		$('head').append('<style type="text/css">' + s + '</style>');  
  }
	var inactiveTime=2; //in minutes

	var styletext='\
	.maltabs{\
		position:relative;\
		min-height:360px;\
		clear:both;\
		margin:25px 0;\
		max-height:400px;\
		width:445px;\
		left:0px;\
		height:10px;}\
	.odd {\
		background-color:#f8f8f8;}\
	.even {\
		background-color:#d8d8d8;}\
	.maltabwrap{\
		line-height:normal;\
		ccursor:pointer;\
		font-family:Arial,sans-serif;\
		position:absolute;\
		left:44px;\
		top:180px;\
		z-index:100000;\
		border:3px solid rgb(191, 191, 191);\
		box-shadow: 0px 1px 6px 0px rgb(215, 215, 215);\
		border-radius:10px;\
		color:black;\
		background-color:#e8e8e8;}\
	.tdpadding{\
		padding-left:2px;}\
	.loalinks{\
		font-size:12px;\
		line-height:normal;\
		padding:4px;\
		background-color:#E8E8E8;\
		position:fixed;\
		left:10px;\
		top:10px;\
		z-index:100!Important;\
		border-radius:5px;\
		border:2px solid rgb(191,191,191);\
		font-weight:400;\
		font-family:Arial,sans-serif!important;\
		text-align:left!important;}\
	.loalinks a{\
		margin-top:2px;\
		color:blue!important;\
		font-size:12px;\
		font-family:Arial,sans-serif!important;\
		font-weight:800!important;}\
	.loalinks a:hover{\
		font-size:12px;\
		font-family:Arial,sans-serif!important;\
		color:#A000C0!important;\
		text-decoration:underline;!important;\
		cursor:pointer;}\
	.loalinks span{\
		font-size:12px;\
		color:white!important;\
		background-color:green;\
		padding:1px 3px 1px 3px;\
		font-weight:bold;}\
	#tab-wrap tr td	{\
		text-align:left!important;\
		padding:0px 0px 0px 5px!important;\
		}\
	#tab-wrap{\
		font-family:Arial,sans-serif;\
		line-height:default;}\
	.debug{\
		cursor:default;\
		display:block;\
		width:424px;\
		height:327px;\
		overflow:auto;\
		font-size:12px;\
		line-height:14px;}\
	.btimer{\
		padding-left:0px;\
		font-size:28px;\
		font-weight:bold;\
		text-align:center;}\
	.btimer p {\
		background-color:white!important}\
	.trheader{\
		font-weight:bold;\
		background-color:green;\
		color:white;}\
	.maltab {\
		float:left}\
	.maltab label {\
		border-top-left-radius:5px;\
		border-top-right-radius:5px;\
		background:#eee;\
		padding:10px!important;\
		border:1px solid #ccc;\
		margin-left:1px;\
		margin-right:1px;\
		left:1px;\
		cursor:pointer;\
		line-height:normal!important;\
		font-weight:bold;\
		float:none;\
		font-weight:400;}\
	.maltab [type=radio] {\
		display:none;}\
	.maltab div{\
		top:27px;}\
	.ncontent {\
		position:absolute;\
		text-align:left;\
		top:27px;\
		left:0;\
		background:white;\
		right:0;\
		bottom:0;\
		padding:5px;\
		border-bottom:1px solid black;\
		border-top:0px!important;\
		z-index:1px;\
		overflow:auto;}\
	[type=radio]:checked ~ label {\
		background:white;\
		border-bottom:1px solid white;\
		z-index:2}\
	[type=radio]:checked ~ label ~.ncontent {\
		z-index:1}\
	[type=radio]:checked ~ label ~.ncontent >* {\
		opacity:1;\
		-webkit-transform:translateX(0);\
		-moz-transform:translateX(0);\
		-ms-transform:translateX(0);\
		-o-transform:translateX(0);}\
	.moredata {\
		font-size:13px!important;\
		line-height:normal!important;\
		}\
	.moredata table a {\
		color:blue;\
		font-weight:bold;\
		padding:0 5px;}\
	.moredata table a:hover{\
		text-decoration:underline;\
		padding:0 5px;}\
	.inactive{\
		color:rgba(138,138,138,.95);}\
	.trstyle{\
		font-size:14px;}\
	.cl{\
		display:none!important;}\
	.nstuff{\
		width:439px;\
		min-height:25px;\
		max-height:130px;\
		font-size:12px;\
		padding:2px;\
		border:0px solid black;\
		position:relative;\
		top:-24px;\
		clear:both;}\
	#nstuff span {\
		color:green;\
		padding:2px;\
		font-weight:bold;}\
	.histlabel{\
		margin-left:5px!important;}\
	.dshadow{\
		-moz-transform:scale(1.0075);\
		zoom:1.0075;	\
		box-shadow:0 0 14px rgb(0,0,0);\
		-moz-box-shadow:0 0 4px rgb(0,0,0);}\
	div#nabout{\
		text-align:left!important}\
	div#tmpDebug , div#nstuff{\
		text-align:left!important}\
	.ndumpta{\
		width:432px!important;\
		white-space:nowrap!important;\
		overflow:auto!important;\
		height:322px!important;\
		border:0;}\
	#ndump textarea {\
		padding:0px;\
		resize:none!important;\
		font-family:Arial,sans-serif!important;\
		font-weight:400!important;\
		font-size:13px!important;\
		color:black!important;\
		border:1px solid black!important;\
		border-radius:0px!important;\
		background-color:white!important;\
		white-space:pre!important;\
		overflow:hidden!important;}\
	#nabout a{\
		color:blue!important;\
		text-decoration:none!important;\
		font-weight:bold!important;\
	}\
	#nabout a:link{\
		color:blue!important;\
		text-decoration:none!important;\
		font-weight:bold!important;\
	}\
	#nabout a:hover{\
		color:blue!important;\
		text-decoration:underline!important;\
		font-weight:bold!important;}';
  
  GM_addStyle(styletext);

	var hold=0;

	var happybidday={
		moddedJSON:'',
		previousJSON:'',
		curl:document.location.href.toString(),
		saveData:3,
		offsetDelay:1,
		auction_ID:-1,
		delay:250,
		historyElement1:'div#product-information > div.product-box.auction-item > div.product-content',
    historyElement:'div#tab_history.tab-content',
		offsetLeft:790,
		timer:'p.currentvalue',
		url:'http://www.happybidday.com/viewproduct.php?aid=',
		notsoldpriceElement:'div.product-content > ul > li:eq(1) > em',
		soldpriceElement:'p.bidprice > strong > span:gt(0)',
		popUp:function(){
			if(this.curl.toString().indexOf('we-miss-you.php')!=-1){
				var urlParms=this.curl.toString().split('=');
				document.location=(decodeURIComponent(urlParms[1]));
				return(true);
			}
			return(false);
		},
        issold:function(){
			var elem=$('div.auction-detail > p.currentvalue >');
			if(elem.length!=0){
				if($('div.auction-detail > p.currentvalue > strong').html().toLowerCase().indexOf('sold')!=-1) return(true);
			}
			return(false)
		},
		isready:function(){
			var elem=$(auction.notsoldpriceElement).html().replace('$','').replace('.','');

			try{
				if(!$.isNumeric(elem)) return(false);
			}catch(e){}

			var isactive=$('div.product-content');
			var issold=$('div.product-content');
			if(issold.length==0 && isactive.length==0){
				return(false)
			}else{
				return(true);
			}
		},
		getAID:function(){

			if(this.auction_ID!=-1) return(this.auction_ID);
			var elem=$('span#history_auctionid')
			if(elem.length!=0) this.auction_ID=elem[0].innerHTML;
			if(!$.isNumeric(this.auction_ID)) this.auction_ID=-1;
			return(this.auction_ID);
		},
		getAuctionTitle:function(){
			if($('div#product-details > h1').length!=0){
				return($('div#product-details > h1').html());
			}else{
				return(document.title);
			}
		},
		getCurrentBidders:function(){
			HistoryDetail=[];
			$('div#tab_history.tab-content > table > tbody > tr').each(function(){
				var h=new Object();
				h.id=0; 
				h.amount=this.children[0].innerHTML.replace('$','');
				h.name=this.children[1].innerHTML.replace(/ /gm,'').replace(/(\r\n|\n|\r)/gm,'');
				if($.isNumeric(h.amount)) HistoryDetail.push(h)
			});
			procFreeze();
		}
	}

	var beezid={
		bid_id:0,
		moddedJSON:'',
		previousJSON:'',
		previousHTML:'',
		curl:document.location.href.toString(),
		saveData:3, 
		offsetDelay:1, 
		auction_ID:-1,
		delay:100,
		historyElement:'div.adetails_center',
		offsetLeft:450,
		offsetTop:0,
		timer:'div.adetails_tmr',
		url:'http://www.beezid.com/auctions/',
		notsoldpriceElement:'div.adetails_cprice',
		soldpriceElement:'div.adetails_cprice',
		popUp:function(){
			var obj=$('div.beezid-idle-popup');
			try{
				if(obj.length!=0) return(true);
			}catch(e){}
			return(false);
		},
		issold:function(){
			var btn=$('button#btn_bid_' + auction.getAID());
			if (btn.length!=0) {
				if ($(btn[0]).html().toLowerCase()=="sold") {
					return(true);
				}else{
				return(false);
				}
			}
		},
		isready:function(){
			var btn=$('button#btn_bid_' + auction.getAID());
			if (btn.length!=0) {
				if ($(btn[0]).html().toLowerCase()=="bid") return(true);
				if ($(btn[0]).html().toLowerCase()=="sold") return(true);
				if ($(btn[0]).html().toLowerCase()=="super bid") return(true);
				if ($(btn[0]).html().toLowerCase().indexOf("bids")) return(true);
			}
			return(false);
			
		},
		getAID:function(){
		if (this.auction_ID!=-1) return (this.auction_ID);

			try {
				var aid=$("p:contains('Auction ID')")[0].innerHTML;
				aid=aid.substring(aid.indexOf(':')+1).toString().trim();
				this.auction_ID=aid;
				if(!$.isNumeric(this.auction_ID)) this.auction_ID=-1;
				if(this.auction_ID<=0) return(0);
				if(auction.curl.indexOf(aid)==-1) {
					
					document.location.href=document.location.href+'#auction-'+this.auction_ID;
					setTimeout(function(){
						window.location.reload(true);
					},250)
					return(false)
				}
				this.timer='div#timer_'+this.auction_ID.toString()+'.adetails_tmr';
				return (this.auction_ID)
			}catch(e) {
				return (-1)
			}
		},
		getAuctionTitle:function(){
			if($('div.auction_details_big_title > h1').length!=0){
				return($('div.auction_details_big_title > h1').html());
			}else{
				return(document.title);
			}
		},
		getCurrentBidders:function() {
			
			HistoryDetail=[];
			$('div.bidding_history_column_holder').each(function(){
				var h=new Object();
				h.id=0;
				h.id=this.children[0].id.replace('bidder_','');
				h.amount=this.children[0].innerHTML.replace('$','');
				h.name=this.children[1].outerHTML.replace(/<[^>]+>/igm,'');
				if($.isNumeric(h.amount)) HistoryDetail.push(h);
			})
				
			procFreeze();
		}
	}

	var quibids={
		moddedJSON:'',
		previousJSON:'',
		curl:document.location.href.toString(),
		saveData:3, 
		offsetDelay:1.25,
		auction_ID:-1,
		delay:250,
		historyElement:'div.module.auction-right',
		hhistoryElement:'div.module.ap-bidding-section',
		offsetLeft:460,
		timer:'p.time.large-timer2',
		url:'http://www.quibids.com/en/auction-',
		notsoldpriceElement:'div.content > p.large-price > span.price',
		soldpriceElement:'p.won_price.large-price',
		popUp:function(){
			var elem=$('div#popupModal')
			if(elem.length!=0){
				if(elem[0].style.display!='none'){
					return(true)
				}else{
					return(false);
				}
			}else{
				return(false);
			}
		},
		issold:function(){
			var elem=$('#end-time-disclaim')[0];
			if(elem){return(true);}else{return(false);}
		},
		isready:function(){
			if(this.issold()){
				var isold=$(this.soldpriceElement);
				if(isold.html()=='--.--') return(false);
				return(true);
			}else{
				var isactive=$(this.notsoldpriceElement);
				if(isactive.html()=='--.--') return(false)
				return(true);
			}
			return(false)
		},
		getAID:function(){
			if(this.auction_ID!=-1) return(this.auction_ID);
			try{
			var aid=$('span:contains("Auction #A")')[0].innerHTML
			aid=aid.replace('Auction #A','');
			this.auction_ID=aid;
			if(!$.isNumeric(this.auction_ID)) this.auction_ID=-1;
			return(this.auction_ID);
			}catch(e){return(-1)}
		},
		getAuctionTitle:function(){
			if($('div#auction-title > h1#product_title').length!=0){
				return($('div#auction-title > h1#product_title').html());
			}else{
				return(document.title);
			}
		},
		getCurrentBidders:function() {
			HistoryDetail=[];
			$('#bid-history > tbody > tr').each(function(){
					var h=new Object();
					h.id=0; 
					h.amount=this.children[2].innerHTML.replace('$','');
					h.name=this.children[1].innerHTML.replace(/ /gm,'').replace(/(\r\n|\n|\r)/gm,'');
					if($.isNumeric(h.amount)) HistoryDetail.push(h);
			});
			procFreeze();
		}
	}

	var dealdash={
		auctionTime:10,
		moddedJSON:'',
		previousJSON:'',
		curl:document.location.href.toString(),
		saveData:3,
		offsetDelay:1,
		auction_ID:-1,
		delay:250,
		historyElement:'ul#previousBids',
		offsetLeft:-450, 
		offsetTop:0,
		timer:'p#time',
		url:'http://www.dealdash.com/battle.php?auction_id=',
		notsoldpriceElement:'span#productPage_bidInfo_current_price',
		soldpriceElement:'span#productPage_bidInfo_current_price',
		popUp:function(){
			if($('div#colorbox').length!=0){
				if($('div#colorbox')[0].style.display!='none') return true;
			}
			return false;
		},
		issold:function(){
			if($('#time').html().indexOf('Congrat')!=-1) return(true);
			if($('img#itemSold').length==0) return(false);
			
		},
		isready:function(){
			
			var isactive=$('span#productPage_bidInfo_current_price');
			var issold=$('span#productPage_bidInfo_current_price');
			if(issold.length==0 && isactive.length==0){
				return(false);
			}else{
				return(true);
			}
		},
		getAID:function(){
			if(this.auction_ID!=-1) return(this.auction_ID);
			var elem=$('div#auctionid')
			if(elem.length!=0){
				this.auction_ID=elem[0].getAttribute('data-id');
			}else{
				this.auction_ID=-1;
			}
			if(!$.isNumeric(this.auction_ID)) this.auction_ID=-1;
			return(this.auction_ID);
		},
		getAuctionTitle:function(){
			console.log('AucTitle called ' + $('h1.auctionTitle').text())
			if($('h1.auctionTitle').length!=0){
				return($('h1.auctionTitle').text());
			}else{
				return(document.title);
			}
		},
		getCurrentBidders:function() {
			HistoryDetail=[];
			var element=$('ul#previousBids')[0]
			if(element){
				var echild=element.getElementsByTagName('li');
				if(echild){
					for(var i=0;i<echild.length-1;i++){//=4){
						var h=new Object();
						h.id=0;
						h.amount=parseFloat(echild[i].innerHTML.replace('$',''));
						h.name=$(echild[i]).children(0).html()
						if($.isNumeric(h.amount)) HistoryDetail.push(h);
					}
				}
			}
			procFreeze();
		}
	}

	var auction=null;

	if(document.location.href.toString().indexOf('happybidday.com')!=-1) {
		GM_addStyle('.maltab div{top:26px;}');
		auction=happybidday;
		auction.popUp();
	}

	if(document.location.href.toString().indexOf('beezid.com')!=-1) {
		GM_addStyle('.maltab div{top:26px;}');
		auction=beezid;
	}

	if(document.location.href.toString().indexOf('quibids.com')!=-1) {
		auction=quibids;
	}

	if(document.location.href.toString().indexOf('dealdash.com')!=-1) {
		GM_addStyle('.maltab label {margin-top:-11px!important}');
		auction=dealdash;
	}
	
  
  
	if(auction==null) return;
	console.log('hi there dude' + Math.random());  

	//below is the GLOBAL code for all sites as long as its defined above.
	function procFreeze(){

		var tmpJSON=JSON.stringify(HistoryDetail);
		if(tmpJSON!=auction.previousJSON) {
			auction.previousJSON=tmpJSON;
			if(HistoryDetail.length!=0){
				if(HistoryDetail[0].id!=0) auction.moddedJSON=tmpJSON;
			}
		}


		if(FullAuctionDetail.length<2) {
			auction.moddedJSON=auction.previousJSON;
			return;
		}

		if(FullAuctionDetail[0].amt!=FullAuctionDetail[1].amt){
			auction.moddedJSON=auction.previousJSON;
			return;
		}
		if(HistoryDetail[0].id!=0) return;

		var found=false;

		var lbh=JSON.stringify(LastBidHistory);
		var hd=JSON.stringify(HistoryDetail)

		var lastName=LastBidHistory[0].name;
		for(var i=1;i<HistoryDetail.length;i++){
			if(lastName==HistoryDetail[i].name){
				HistoryDetail=HistoryDetail.splice(0,i);
				tmpBids=JSON.stringify(HistoryDetail);
				LastBidHistory=JSON.parse(tmpBids);
				auction.moddedJSON=tmpBids;
				found=true;
				break;
			}
		}

		if(found==false){
			var hd=JSON.stringify(HistoryDetail);
			LastBidHistory=JSON.parse(hd);
			auction.moddedJSON=hd;
		}
	}

    var debug={
        append: function (data) {
			try{
			var cd=$('div[name*=debug]').html();
			$('div[name*=debug]').html(data+'<br><br>'+cd);
			}catch(e){}
        },
        log: function (data) {
			try{
				$('div[name*=debug]').html(data);
			}catch(e){}
        },
		gmlog:function(s){
			GM_log(s);
		}
		
    }

	var localVersions={
		cv:'1.2.8',
		lsv:'1.0.2'
	}

	
  var siteBidCounts=0;
  var FullAuctionDetail=[];
  var FullBidStats=[];
	var HistoryDetail=[];
	var LastBidHistory=[];
	var h=new Object();
	h.name='none';h.amount=0;h.id=0;LastBidHistory.push(h);

  var ls='';
  var CHKSITE_Timeout=0;
  var MAINLOOP_Timeout=0;
  var LOA_Timeout=0;
  var STLS_Timeout=0;
	var previous_result='none';
	var T_Timeout=0;
	var IGNORE_SAVE=false;
	var gcount=0;
	var BID_PRICE_COUNT_DIFFERANCE=0;

	function reload(){
		clearInterval(MAINLOOP_Timeout);
		clearInterval(LOA_Timeout);
		clearInterval(STLS_Timeout);
		saveToLocalStorage(true);
		document.location.reload();
	}


	$(window).unload(function() {
		clearInterval(MAINLOOP_Timeout);
		clearInterval(LOA_Timeout);
		clearInterval(STLS_Timeout);
		saveToLocalStorage();
	});

  $(document).ready(function () {
    doodls();
    listOfAuctions();
    CHKSITE_Timeout=setInterval(checkSite,200)
  })
	
	function checkSite(){
	
		if(auction.isready()){
			clearInterval(CHKSITE_Timeout);
			initCode();
		}
		
		hold++;
		if(hold>=30){
			clearInterval(CHKSITE_Timeout);
		}
	}
	
	function initCode(){
		

		ls=lzw_decode(localStorage.getItem('bid_grabber_'+auction.getAID()));

		if(ls=='null'){
			ls=localStorage.getItem('bid_grabber_'+auction.getAID())
		}

        if (ls!=null) {

			try{

				FullAuctionDetail=JSON.parse(ls);
				BID_PRICE_COUNT_DIFFERANCE=FullAuctionDetail.bpcd;
				FullAuctionDetail=FullAuctionDetail.bids;
				LastBidHistory=[];
				var h=new Object();
				h.name=FullAuctionDetail[0].user;
				h.amount=FullAuctionDetail[0].amt;
				h.id=FullAuctionDetail[0].id;
				LastBidHistory.push(h);

			}catch(e){
               debug.append(e.lineNumber+' '+e);
            }
        }

		
		if ((auction.getAID()!=-1) && (auction.getAID()!=undefined)) {
			
			setTimeout(saveit,5000);
			STLS_Timeout=setInterval(saveit,auction.saveData*60000)
			T_Timeout=setInterval(timerLoop,50);
            add_display();
			
			MAINLOOP_Timeout=setInterval(mainLoop, auction.delay);
			//$('#ndump').parent().removeClass('cl').addClass('maltab')

			$("#tab-wrap").draggable({
				cursor: 'move',
				cancel: 'div div,table',
				opacity: 1,
				drag: function () {
					$(this).addClass('dshadow')
				},
				stop: function () {
					$(this).removeClass('dshadow');
				}
			})


			$(auction.timer).on('DOMSubtreeModified DOMNodeInserted DOMNodeRemoved', function(event){
					$('div[name*=btimer]').html($(this).outerHTML());
					clearInterval(T_Timeout);
			});

        }

		if(auction.issold()==false) if ($("#tab-wrap").is(':hidden')) $("#tab-wrap").show();
		listOfAuctions();

		LOA_Timeout=setInterval(listOfAuctions,30000);	
	}

	function timerLoop(){
		$('div[name*=btimer]').html($(auction.timer).outerHTML());
	}

	function saveit(){
		if(auction.getAID()==-1) {
			return;
		}
		saveToLocalStorage();
	}

	function mainLoop() {
		var u='';
        var outPut='';

		if(auction.popUp()==true){
			reload();
			return;
		}

		if(!auction.isready()){
			return;
		}

		if(!auction.issold()){

			auction.getCurrentBidders();
			if(previous_result==auction.previousJSON){
				return;
			}
		}else{

		}

		previous_result=auction.previousJSON;
		
		if(auction.moddedJSON.length<4) auction.moddedJSON=auction.previousJSON;
        try {
            BidDataDetail=null;
            BidDataDetail=JSON.parse(auction.moddedJSON);
			
			
			siteBidCounts=$(auction.notsoldpriceElement).html();

			if(siteBidCounts==undefined) {
				siteBidCounts=0;
			}else{
				if(siteBidCounts=='---') {
					siteBidCounts=0;
				}else{
					siteBidCounts=siteBidCounts.replace('$','').replace('.','');
				}
			}
			
			
			for (var i=BidDataDetail.length-1;i>-1;i--) {
				u ='$'+parseFloat(BidDataDetail[i].amount).toFixed(2)+' - '+BidDataDetail[i].name+' - '+BidDataDetail[i].id+'<br>'+u;
			}

			for (var i=BidDataDetail.length-1;i>-1;i--) {
				var itemIndex=UserExists(FullAuctionDetail, BidDataDetail[i].name);

				if (itemIndex==-1) {
					var BidDetail=new Object();
					BidDetail.amt=parseFloat(BidDataDetail[i].amount).toFixed(2);
					BidDetail.user=BidDataDetail[i].name;
					BidDetail.time=clock();
					BidDetail.bid_count=1;
					BidDetail.bid_id=BidDataDetail[i].id;
					FullAuctionDetail.splice(0,0,BidDetail);
					outPut+='<b>Added: $'+parseFloat(BidDetail.amt).toFixed(2)+' '+BidDetail.user+' '+BidDetail.bid_count+' - '+BidDetail.bid_id+'</b><br>'

				} else {

					itemIndex=itemIndex-1;
					if((BidDataDetail[i].id!=0)){
						if (parseFloat(BidDataDetail[i].id) > parseFloat(FullAuctionDetail[itemIndex].bid_id)) {
							var tBidDetail=FullAuctionDetail[itemIndex];
							FullAuctionDetail.splice(itemIndex,1);
							tBidDetail.bid_count=tBidDetail.bid_count+1;
							tBidDetail.amt=BidDataDetail[i].amount;
							tBidDetail.bid_id=BidDataDetail[i].id;
							tBidDetail.time=clock();
							FullAuctionDetail.splice(0,0,tBidDetail)
							outPut='  <b>Updated: $'+parseFloat(tBidDetail.amt).toFixed(2)+' - '+tBidDetail.user+' - '+tBidDetail.bid_count+' - '+tBidDetail.bid_id+'</b><br>'+outPut;
						}
					}else{

						if(FullAuctionDetail.length>1){
							if (parseFloat(FullAuctionDetail[0].amt)==parseFloat(FullAuctionDetail[1].amt)) {
									var tBidDetail=FullAuctionDetail[itemIndex];
									FullAuctionDetail.splice(itemIndex,1);
									tBidDetail.bid_count=tBidDetail.bid_count+1;
									tBidDetail.amt=BidDataDetail[i].amount;
									tBidDetail.bid_id=BidDataDetail[i].id;
									tBidDetail.time=clock();
									FullAuctionDetail.splice(0,0,tBidDetail)
									outPut='<b>Updated: $'+parseFloat(tBidDetail.amt).toFixed(2)+' - '+tBidDetail.user+' - '+tBidDetail.bid_count+' - '+tBidDetail.bid_id+'</b><br>'+outPut;
							}else{
								if (parseFloat(BidDataDetail[i].amount) > parseFloat(FullAuctionDetail[itemIndex].amt)) {
									var tBidDetail=FullAuctionDetail[itemIndex];
									FullAuctionDetail.splice(itemIndex,1);
									tBidDetail.bid_count=tBidDetail.bid_count+1;
									tBidDetail.amt=BidDataDetail[i].amount;
									tBidDetail.bid_id=BidDataDetail[i].id;
									tBidDetail.time=clock();
									FullAuctionDetail.splice(0,0,tBidDetail)
									outPut='<b>Updated: $'+parseFloat(tBidDetail.amt).toFixed(2)+' - '+tBidDetail.user+' - '+tBidDetail.bid_count+'</b><br>'+outPut;
								}
							}
						}
					}
				}
			}

            showList();

            if (outPut.length>0) {
                debug.log('<b>Bidding History:</b><br>'+u + '<br><br>'+outPut);
            }
			outPut='';u='';

        }catch(e) {
			debug.append(e.lineNumber+' '+e)
		}
		
        if (auction.issold()) {
			
			clearInterval(MAINLOOP_Timeout);
			clearInterval(T_Timeout);
			clearInterval(LOA_Timeout);
			clearInterval(STLS_Timeout);

			$(auction.timer).off();

			if(FullAuctionDetail.length!=0) {
				ls=JSON.stringify(FullAuctionDetail);
			}else{
				$('div#tab-wrap').remove();
				return;
			}
			
			$('#ndump').parent().removeClass('cl').addClass('maltab')
			CSVDump();
			showList();
			listOfAuctions();
			FullAuctionDetail=[];
            $('div[name*="btimer"]').html('<strong><span style="color:#E80000;">SOLD</span></strong>');

            if ((ls==null) || (ls=='[]')) {
                $("#tab-wrap").hide();
            }else{
				if ($("#tab-wrap").is(':hidden')) $("#tab-wrap").show();
			}
			
			debug.log('Auction Ended');
			
			return;

        }
    }

	function showList() {
		if(FullAuctionDetail.length==0) return;
        var leader='';
        var bid_total=0;
        var outPut='';
        var sold=auction.issold();
		var table=document.createElement('table');
		table.width='100%';
		table.cellPadding=0;
		table.cellSpacing=0;
		table.id='moredata_table';
		table.style.cssText='cursor:default';
		var tr=document.createElement('tr');
		var lpcnt=0;

		tr.className='trheader';

		cTC(tr,'Amount');
		cTC(tr,'User');
		cTC(tr,'Bids','tdpadding');
		cTC(tr,'Time');
		table.appendChild(tr);
		var curr_time=clock();
        for (var iStart=0;iStart<FullAuctionDetail.length;iStart++) {
            var BidItem=FullAuctionDetail[iStart];

			if(FullAuctionDetail.length>18){
				if(!auction.issold()){
					if (curr_time > (parseFloat(BidItem.time)+parseFloat(inactiveTime*60000))) {
						break;
					}
				}
			}

			var tr=document.createElement('tr');
			tr.setAttribute('rel',BidItem.user);
			tr.className='trstyle';

			cTC(tr,'$'+parseFloat(BidItem.amt).toFixed(2));
			cTC(tr,BidItem.user);
			cTC(tr,BidItem.bid_count,'tdpadding');
			cTC(tr,ctime(BidItem.time));
			cTC(tr,BidItem.time,'cl');

			tr.className='trstyle';
			if(pageLoad.main==true){
				table.appendChild(tr);
			}else{
				$($('#current_leader')[0]).id='';
				$('tr[rel*="'+BidItem.user+'"]').remove();
				$($('#moredata_table tr')[iStart]).after(tr)
			}
        }

		siteBidCounts=FullAuctionDetail[0].amt.toString().replace('$','').replace('.','');
		bid_total=0;

		for(var ii=0;ii<FullAuctionDetail.length;ii++){
			var BidItem=FullAuctionDetail[ii];
			bid_total=parseInt(bid_total)+parseInt(BidItem.bid_count);
		}

		if(auction.issold()){
			siteBidCounts=$(auction.soldpriceElement).html()
			siteBidCounts=siteBidCounts.replace('$','').replace('.','');
			if(!$.isNumeric(siteBidCounts)) siteBidCounts=0;
		}

		if(auction==happybidday){
			siteBidCounts=siteBidCounts-100;
		}

		if(bid_total>siteBidCounts) siteBidCounts=bid_total;

		if(pageLoad.main==true){
			$('div[name*="moredata"]').empty();
			$('div[name*="moredata"]').append([table]);
		}

		colorRows('#moredata_table');
		inactiveCount=inactiveRows('#moredata_table');

		var inactiveCount=0;

		if(FullAuctionDetail.length>18){
			inactiveCount=FullAuctionDetail.length- parseInt($('#moredata_table > tr:gt(0)').length)
			$('.delete_me').remove();
		}else{
			inactiveCount=inactiveRows('#moredata_table');
		}

		if((BID_PRICE_COUNT_DIFFERANCE==0) || (!$.isNumeric(BID_PRICE_COUNT_DIFFERANCE))){
			BID_PRICE_COUNT_DIFFERANCE=siteBidCounts-bid_total;
		}

		if(FullAuctionDetail.length>1){
			if(FullAuctionDetail[0].amt==FullAuctionDetail[1].amt){
				siteBidCounts=parseInt(bid_total)+parseInt(BID_PRICE_COUNT_DIFFERANCE);
			}
		}

		var at10c=parseFloat(siteBidCounts*.10).toFixed(2);
		var bidcount=FullAuctionDetail[0].bid_count
		var ucost=parseFloat(bidcount*.10).toFixed(2);
		var cprice=FullAuctionDetail[0].amt;

		outPut='<table cellPadding="0" cellSpacing="0" id="tguess">\
					<tr><td colspan=3>Bid counts tracked - '+bid_total+' of&nbsp;&nbsp;'+parseFloat(siteBidCounts)+'</td></tr>\
					<tr>\
						<td><b>Site earnings:</b></td>\
						<td></td>\
						<td><b>Highest Bidder&#39;s (<span>'+FullAuctionDetail[0].user+'</span>) cost.</b></td>\
					</tr>\
					<tr>\
						<td><span>'+formatCurrency(at10c)+'</span> @ 0.10&#162; per bid.</td><td></td><td>'+bidcount+' x .10 = $'+parseFloat(ucost).toFixed(2)+' + $'+cprice+' = '+formatCurrency((parseFloat(ucost)+parseFloat(cprice)).toFixed(2))+'</td>\
					</tr>\
					<tr>\
						<td><span>'+formatCurrency(at10c*2)+'</span> @ 0.20&#162; per bid.</td><td></td><td>'+bidcount+' x .20 = $'+parseFloat(ucost*2).toFixed(2)+' + $'+cprice+' = '+formatCurrency((parseFloat(ucost*2)+parseFloat(cprice)).toFixed(2))+'</td>\
					</tr>\
					<tr>\
						<td><span>'+formatCurrency(at10c*4)+'</span> @ 0.40&#162; per bid.</td><td></td><td>'+bidcount+' x .40 = $'+parseFloat(ucost*4).toFixed(2)+' + $'+cprice+' = '+formatCurrency((parseFloat(ucost*4)+parseFloat(cprice)).toFixed(2))+'</td>\
					</tr>\
					<tr>\
						<td><span>'+formatCurrency(at10c*6)+'</span> @ 0.60&#162; per bid.</td><td></td><td>'+bidcount+' x .60 = $'+parseFloat(ucost*6).toFixed(2)+' + $'+cprice+' = '+formatCurrency((parseFloat(ucost*6)+parseFloat(cprice)).toFixed(2))+'</td>\
					</tr>\
				</table>'

		$('#nstuff').html(outPut);

		if(!auction.issold()){
			$('#tguess').append('<tr><td colspan=2><br><b>Active:'+(FullAuctionDetail.length-inactiveCount)+'<br>InActive: '+inactiveCount+'</b></td>')
		}else{
			$('#tguess').append('<tr><td colspan=2><br><b>Logged Bidder\'s: '+(FullAuctionDetail.length)+'</b></td>')
		}

		$('#moredata_table > tr:eq(1) > td:lt(4)').effect("highlight", {color: '#FF0000'}, 150);

		if(FullAuctionDetail.length!=0) $('div#tab-wrap').removeClass('cl');

		pageLoad.main=false;
		a=null;td=null;tr=null;table=null;
    }

	function add_display() {
		$('body').append('<div id="tab-wrap" class="maltabwrap cl">\
				  <div class="maltabs">\
					<div class="maltab">\
					  <input checked="checked" id="tab-1" name="tab-group-1" type="radio">\
					  <label for="tab-1" class="histlabel">History</label>\
					  <div class="ncontent moredata" name="mdparent">\
						<div class="btimer" name="btimer"></div>\
						<div name="moredata">\
							<table width="100%" cellspacing="0" cellpadding="0" id="moredata_table" style="cursor: default;">\
								<tr class="trheader"><td>Amount</td><td>User</td><td class="tdpadding">Bids</td><td>Time</td></tr>\
							</table>\
						</div>\
					  </div>\
					</div>\
					<div class="maltab">\
					  <input id="tab-2" name="tab-group-1" type="radio">\
					  <label for="tab-2">Log</label>\
					  <div class="ncontent" name="debug">\
						Started ...\
					  </div>\
					</div>\
					<div class="cl">\
					  <input id="tab-4" name="tab-group-1" type="radio">\
					  <label for="tab-4">CSV Dump</label>\
					  <div class="ncontent" name="ndump" id="ndump">\
						<textarea id="ndumpta" class="ndumpta" wrap="off">Clicking in here will toggle viewing and refreshing.</textarea>\
					  </div>\
					</div>\
					<div class="maltab">\
					  <input id="tab-3" name="tab-group-1" type="radio">\
					  <label for="tab-3">About</label>\
					  <div class="ncontent" name="nabout" id="nabout">\
						<p>About</p>\
					  </div>\
					</div>\
				  </div>\
				  <div id="nstuff" class="nstuff"></div>\
				</div>')

		$('#tab-wrap').hide();

        $('#nabout').html('<a target="_blank" href="https://openuserjs.org/scripts/hugopi/Multi_Auction_-_Bid_Logger">Home</a>\
							<br>\
							<b>Version:</b><span id="lv"></span>\
							<br><br>\
							In order to count as correctly as possible, you need to watch the auction, leaving the page will result in missed bid counts.\
							<br><br>\
							This can not catch all of the bids!<br>\
							There are instances where more that 10 bids are placed and only the last 10 make it back to your browser.<br><br>\
							<b>Page refreshes</b> can also cause loss of bids not being counted if the amount of bids placed durring the refresh are greater than the amount shown in the history of the site.\
							<br><br>\
							<p><b>All calculations are a \'guess!\'</b></p>\
							The option to delete the locally saved data will become avaliable when the auction is over.\
							<br>');

		$('#nabout > span#lv').html('&nbsp;'+localVersions.cv);
		setTimeout(function(){
			try{
				var offset = $(auction.historyElement).offset()
				$("#tab-wrap").css({'left':offset.left-auction.offsetLeft,'top':offset.top})
			}catch(e){}
		},auction.offsetDelay*500)

    }

    function UserExists(Auction, bUser) {
        var uExists=-1;
		try{
        if (Auction.length > 0) {
            for (var aucCount=Auction.length-1;aucCount>-1;aucCount--) {
                if (Auction[aucCount].user.toString().toLowerCase()==bUser.toLowerCase()) {
                    uExists=(aucCount+1);
                    break;
                }
            }
        }
		}catch(e){return(uExists)};
        return (uExists)
    }

    function clock() {
        return (Date.now())
    }

	function saveToLocalStorage(){
		if(IGNORE_SAVE==true) return;
		var aid=auction.getAID().toString().trim();
		
		if(!$.isNumeric(aid)) return;
    if(aid.toString().length<5) return;
		var bids='"bids":'+JSON.stringify(FullAuctionDetail);
		var stats='"stats":'+JSON.stringify(FullBidStats);
		var title=auction.getAuctionTitle();
		var href=document.location.href.toString();
		title=title.replace(/'/g,'').replace(/"/g,'').replace(/\<br\>/g,' : ').replace(/<(?:.|\n)*?>/gm, '').replace('&amp;','&');
		console.log('The Title ' + title)
		var jstring=lzw_encode('{'+bids+','+stats+',"bpcd":"'+BID_PRICE_COUNT_DIFFERANCE+'","version":"'+localVersions.lsv+'","url":"'+href+'","date":"'+clock()+'","auc_title":"'+ title +'"}');
		
		if(arguments[0]==true) localStorage.setItem('bid_grabber_'+aid,jstring);
		if(auction.issold()==false) localStorage.setItem('bid_grabber_'+aid,jstring);
	}

	function colorRows(elemid){
		var bgcolor=0;
		$(elemid+' > tr:gt(0)').each(function() {
			var x=bgcolor%2;
			bgcolor++;
			if (x==1) {
				$(this).addClass('odd').removeClass('even');
			} else {
				$(this).addClass('even').removeClass('odd');
			}
		});
	}

	function cTC(){
		var td=document.createElement('td')
		td.innerHTML=arguments[1];
		if(arguments[2]!=undefined)	td.className=arguments[2];
		arguments[0].appendChild(td);
	}

	function inactiveRows(elemid){
		var curr_time=clock();
		var inactiveCount=0;
		$(elemid+' > tr:gt(0)').each(function() {
			var bt=this.children[4].innerHTML;
			if (curr_time > (parseFloat(bt)+parseFloat(inactiveTime*60000))) {
				$(this).removeClass('inactive').addClass('inactive').removeClass('delete_me').addClass('delete_me');
				inactiveCount++;
			}
		});

		if(auction.issold()){
			$(elemid+' > tr:gt(0)').each(function() {
				$(this).removeClass('inactive').removeClass('delete_me');
				inactiveCount=0;
			});
		} 

		return(inactiveCount)
	}
    function ctime(d) {
        if (d==0) return ('Not Set');
        var time=new Date(d);
        var hr=time.getHours();
        var min=time.getMinutes();
        var sec=time.getSeconds();
        var mon=time.getMonth()+1;
        var day=time.getDate();
        var msec=time.getMilliseconds();
        var ampm=' PM ';
        if (hr < 12) {
            ampm=' AM ';
        }
        if (hr > 12) {
            hr -=12;
        }
        if (hr==0) {
            hr=12;
        }
        if (hr < 10) {
            hr=' '+hr;
        }
        if (min < 10) {
            min='0'+min;
        }
        if (sec < 10) {
            sec='0'+sec;
        }
        var ct=mon+'/'+day+' '+hr+':'+min+':'+sec+ampm;
        if (ct.indexOf('NaN')!=-1) ct=d;
        return (ct)
    }

    function idebug(d) {
		var e=document.getElementById('ddebug');

		if(!e){
			e=document.createElement('textarea');
			e.id='ddebug';
			e.style.cssText='position:fixed;top:5px;right:5px;border:1px solid black;';
			document.body.appendChild(e);
		}
		$('#ddebug').html(d).css('display', 'block')
    }

	function outerHTML(node){
    
		return node.outerHTML || (
      function(n){
          var div=document.createElement('div'), h;
          div.appendChild(n.cloneNode(true));
          h=div.innerHTML;
          div=null;
          return h;
      })(node);
	}

    (function ($) {
        $.fn.outerHTML=function () {
            return $(this).clone().wrap('<div></div>').parent().html();
        }
    })(jQuery);

	function doodls(){
    console.log(Math.random());
    
		var dc_time=Date.now();
		var ll=localStorage.length;

		var t=[];
		for (var i=ll;i>-1;i--){
			var id=localStorage.key(i);
			if(id!==null){
				if(id.indexOf('bid_grabber_')==0){

					var lls=lzw_decode(localStorage.getItem(id));
					if(lls==null){
						lls=(localStorage.getItem(id));
					}

					try{
						t=JSON.parse(lls);
						if(t.url==document.location.href.toString()){
							if(t.version.toString()!=lsv.toString()) {
								if(id.indexOf('bid_grabber_')==0) {
									ls=null;
									localStorage.removeItem(id);
								}
							}
						}
					}catch(e){};

					try{
						if(parseFloat(dc_time)>(parseFloat(t.date)+432000000)) {
							if(id.indexOf('bid_grabber_')==0) {
								ls=null;
								localStorage.removeItem(id);
								}
						}
					}catch(e){};

				}
			}
		}
	}
    
	function listOfAuctions() {

		var aucExists=false;
		var br=document.createElement('br');
		var div=document.createElement('div');
		var ll=localStorage.length;
		var l_id=0;
		var sold=auction.issold();
		console.log('Is it Sold ' + sold);
		div.className='loalinks';
		div.id='a_links';
		var s=document.createElement('span');
		s.innerHTML='List of Auctions';
		s.id='s_links';

		div.appendChild(s);
		div.appendChild(document.createElement('br'));
        for (var i=0; i < ll; i++) {
            var id=localStorage.key(i);

			if(id.indexOf('bid_grabber_')==0){
				l_id++;
				id=id.replace('bid_grabber_','');

				if(id==auction.getAID()) aucExists=true;

				var title='';

				var id=localStorage.key(i).replace('bid_grabber_','');
				try{
					var ls=lzw_decode(localStorage.getItem(localStorage.key(i)));
					if(ls==null){
						ls=localStorage.getItem(localStorage.key(i));
					}
					ls=JSON.parse(ls);
					GM_log('Saved Title is ' + ls.auc_title)
					title=ls.auc_title;
				}catch(e){}

				var a=document.createElement('a');

				if(ls.url==undefined){
					a.href=auction.url+id;
				}else{
					a.href=ls.url;
				}

				a.className='context-menu';
				a.id=id;

				if (parseInt(id)==parseInt(auction.getAID())) {
					a.innerHTML='Viewing';
					a.title=title;
					if (sold==true) {
						a.className='';
						a.innerHTML='Has&nbsp;Ended,&nbsp;Delete?';
						a.addEventListener('click', function (e) {
							e.preventDefault();
							e.stopPropagation();
							localStorage.removeItem('bid_grabber_'+auction.getAID());

							$('div#tab-wrap').fadeOut('slow',function(){
								$(this).remove();
							});
							listOfAuctions();
							return(false);
						}, false);

						a.title='Click to delete localStorage data!'
					}
					a.target='_self'
				} else {
					a.title=title+'\nHold CTRL to open in new tab';
					a.target='_self';
					a.innerHTML=id;
				}

				a.id=auction.getAID();
				div.appendChild(a)
				div.appendChild(document.createElement('br'));
			}
        }

        if (document.getElementById('a_links')) {
            document.getElementById('a_links').parentNode.removeChild(document.getElementById('a_links'))
        }
        if (l_id!=0) {
			$('body').append(div);
		}
	}

    function detailprice(a, b) {
        if (parseFloat(a.amount) > parseFloat(b.amount)) {
            return (-1);
        }
        if (parseFloat(a.amount) < parseFloat(b.amount)) {
            return (1);
        }
        return 0;
    }

    function price(a, b) {
        if (parseFloat(a.amt) > parseFloat(b.amt)) {
            return (-1);
        }
        if (parseFloat(a.amt) < parseFloat(b.amt)) {
            return (1);
        }
        return 0;
    }

    function usersort(a, b) {
        if ((a.user) < (b.user)) {
            return (-1);
        }
        if ((a.user) > (b.user)) {
            return (1);
        }
        return 0;
    }

	function lzw_encode(s) {
		return(s);
	}


	function lzw_decode(s) {
		return(s);
	}

	function formatCurrency(num) {
		num = num.toString().replace(/\$|\,/g, '');
		if (isNaN(num)) num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num * 100 + 0.50000000001);
		cents = num % 100;
		num = Math.floor(num / 100).toString();
		if (cents < 10) cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
		num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
		return (((sign) ? '' : '-') + '$' + num + '.' + cents);
	}

	function rm(s){
		localStorage.removeItem('bid_grabber_'+s)
	}

	function CSVDump(){

		$('#ndumpta').empty();
		var dumpStr='';
		dumpStr+='"Amount","User","Bids","Time","Auction Url"\r\n'
		for(var i=0;i<FullAuctionDetail.length;i++){
			dumpStr+=parseFloat(FullAuctionDetail[i].amt).toFixed(2)+',';
			dumpStr+=FullAuctionDetail[i].user+',';
			dumpStr+=FullAuctionDetail[i].bid_count+',';
			dumpStr+='"'+ctime(FullAuctionDetail[i].time).replace(/  /gm,' ')+'",';
			dumpStr+='"'+document.location.href.toString()+'"\r\n</br>';
		}
		$('#ndumpta').append(dumpStr);dumpStr='';

	}