var auctionnums;
var firsttime = 1;
var stayhighlighted = 0;
var refreshrate = 1000;
var g_cntdown;
var bidauct;

function trim(stringToTrim) {
	if(stringToTrim === null || stringToTrim === undefined)
	 return "";
	else 
	 return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function addtolist(auctnum) {
	if(auctionnums.length <= 0) {
		auctionnums = auctnum;  
	}
	else {
		auctionnums = auctionnums + "," + auctnum;
	}	
	//alert(auctionnums);
}

function countdowntimer(){
	var countdownstring = "";
	var cntdwnarea = $('.auctioncountdown');
	var days = Math.floor(g_cntdown/86400);
	var hours = Math.floor((g_cntdown - (days * 86400 ))/3600); 
	var minutes = Math.floor((g_cntdown - (days * 86400 ) - (hours *3600 ))/60); 
	var seconds = Math.floor((g_cntdown - (days * 86400 ) - (hours *3600 ) - (minutes*60)));  
	if (days > 0)
		countdownstring = days + " Days ";
	if (minutes < 10)
		minutes = "0" + minutes;
	if (seconds < 10)
		seconds = "0" + seconds;
	
	if (days > 0 || hours > 0) {
		countdownstring = countdownstring + hours + "h " + minutes + "m ";
	} else {
		countdownstring = countdownstring + minutes + "m " + seconds + "s";
	}
	
	if (g_cntdown > 120)
		refreshrate = 30000;
	else
		refreshrate = 1000;
	
	$(cntdwnarea).html(countdownstring);
	if (g_cntdown > 1) {
		g_cntdown--;
		setTimeout(function(){countdowntimer()}, 1000);
	}
}

function countdowntimerfinal(){
	auctionnums = "";
	var countdownstring = "";
	for (i = 0; i < auctnumarray.length; i++) {
		if (g_cntdown_final[i] > 0) {
			countdownstring = "";
			cntdownareaname = "cntdown" + auctnumarray[i];
			var cntdwnarea = $('.' + cntdownareaname);
			var days = Math.floor(g_cntdown_final[i]/86400);
			var hours = Math.floor((g_cntdown_final[i] - (days * 86400 ))/3600); 
			var minutes = Math.floor((g_cntdown_final[i] - (days * 86400 ) - (hours *3600 ))/60); 
			var seconds = Math.floor((g_cntdown_final[i] - (days * 86400 ) - (hours *3600 ) - (minutes*60)));  
			
			if (minutes < 10 && (minutes > 0 || hours > 0 || days > 0))
				minutes = "0" + minutes;
			if (seconds < 10)
				seconds = "0" + seconds;
			
			$(cntdwnarea).each(function() {
				countdownstring = "";
				if ($(this).parents('.similar_table').length > 0) {
					if (days > 0) {
						countdownstring = days + "D " + hours + "h";
					} else if (hours > 0) {
						countdownstring = hours + "h " + minutes + "m";
					} else {
						countdownstring = minutes + "m " + seconds + "s";
					}
				} else {
					if (days > 0) {
						countdownstring = days + " Days " + hours + "h " + minutes + "m";
					} else {
						countdownstring = hours + "h " + minutes + "m " + seconds + "s";
					}
				}
				$(this).html(countdownstring);
			});
			
			//$(cntdwnclass).html(countdownstring);
			g_cntdown_final[i] = g_cntdown_final[i]-1;
			if (g_cntdown_final[i] < 120) {
				addtolist(auctnumarray[i]);
			}
			else if (g_cntdown_final[i] < 300 && g_cntdown_final[i] % 30 == 0) {
				addtolist(auctnumarray[i]);
			}
			else if(g_cntdown_final[i] % 60 == 0) {
				addtolist(auctnumarray[i]);
			}
			else if(auctnumarray[i] == bidauct) {
				addtolist(auctnumarray[i]);
				bidauct = "";
			}
		}
	}
	setTimeout(function(){countdowntimerfinal()}, 1000);
}


function bid_loadXMLDoc() {
 if(auctionnums.length > 0) {
    if (window.XMLHttpRequest) {
        bid_req = new XMLHttpRequest();
        bid_req.onreadystatechange = bid_processReqChange;
        bid_req.open("GET", "/include/getbids.cfm?auctnums=" + auctionnums + "&" + new Date().getTime(), true);
        bid_req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
		
        bid_req = new ActiveXObject("Microsoft.XMLHTTP");
        if (bid_req) {
            bid_req.onreadystatechange = bid_processReqChange;
            bid_req.open("GET", "/include/getbids.cfm?auctnums=" + auctionnums + "&" + new Date().getTime(), true);
            bid_req.send();
        }
    }
 }
 else {
	 setTimeout(function(){getbids(auctionnums)}, refreshrate);
 }
}

function bid_processReqChange() { 
    // only if baynote_req shows "loaded"
    if (bid_req.readyState == 4) {
        // only if "OK"
        if (bid_req.status == 200) { 
			 storebidinfo();
			 setTimeout(function(){getbids(auctionnums)}, refreshrate);  
         } 
		 //else {
         //   alert("There was a problem retrieving the XML data:\n" +
         //       bid_req.statusText);
			//location.reload();
         //}
    }
}

function storebidinfo() { 
	try {
	  var bid_info = bid_req.responseText;
	}
	catch(e) { 
	  alert("error");
	}
	
	var bidarray = bid_req.responseText.split(",");
		if (trim(bidarray[1]) == "wait") {
			//setTimeout(function(){getbids(bidarray[0])}, 1000);
			return 0;
		}
		
		if (trim(bidarray[1]) == "end") {
			  if (pagetype == "index" || pagetype == "auction")
			  //setTimeout("window.location ='" + location.href + "'",500);
			return 0;
		}
	var i = 0;
	if (pagetype == "final") {
		for (i=0;i<(bidarray.length-1);i++) {
		  inject_final(trim(bidarray[i]),trim(bidarray[i+1]),trim(bidarray[i+2]),trim(bidarray[i+3]),trim(bidarray[i+4]),trim(bidarray[i+5]));
		  i=i+5;
		}
		if (firsttime) {
			countdowntimerfinal();
		}
		firsttime = 0;
	}
	else if (bidarray.length == 7 && pagetype == "auction") {
		inject_bid(trim(bidarray[i]),trim(bidarray[i+1]),trim(bidarray[i+2]),trim(bidarray[i+3]),trim(bidarray[i+4]),trim(bidarray[i+5]));
		firsttime = 0;
	}
	else {
		for (i=0;i<(bidarray.length-1);i++) {
		  inject_multi(trim(bidarray[i]),trim(bidarray[i+1]),trim(bidarray[i+2]),trim(bidarray[i+3]),trim(bidarray[i+4]),trim(bidarray[i+5]));
		  i=i+5;
		}
		if (firsttime) {
			countdowntimerfinal(); 
		}
		firsttime = 0;
	}

}


function buildbidder(biddertable,highbidder,highbid)  {
	var prevhighbidderarea = document.getElementById("highbidder");
	var prevhighbidarea = document.getElementById("highbid");
	var prevhighbidder = prevhighbidderarea.innerHTML;
	var prevhighbid = prevhighbidarea.innerHTML;
	
	//alert('highbidder = ' + highbidder + '. highbid = ' + highbid + '. biddertable = ' + biddertable )
	
	pos = biddertable.search(/class="gjwhgerejj clear"/i);
	//pos = biddertable.search(/<\/tr>/i);
	//alert(pos);
	newtable = biddertable.substring(pos+27,biddertable.length);
	//alert(newtable);
	
	newhighbidder = '<div class="bold left bidderleft"><span id="highbidder">' + highbidder + '</span>&nbsp;<span style=" color: green;"><i>(Highest)</i></span></div><div class="bold centered left bidderright"><span id="highbid">' + highbid + '</span></div><div class="clear"></div>';
	
	//move old high bidder down
	//alert(trim(highbidder) + ' - ' + trim(prevhighbidder) + ' - ' + trim(highbid) + ' - ' + trim(prevhighbid));
	if(trim(highbidder) != trim(prevhighbidder) && trim(highbid) != trim(prevhighbid)) {
		newhighbidder = newhighbidder + '<div class="bold left bidderleft">' + prevhighbidder + '</div><div class="bold centered left bidderright">' + prevhighbid + '</div><div class="clear"></div>';
	}
	$('#highbidder').remove();
	$('#highbid').remove();
	
	newhighbidder = newhighbidder + newtable;
       
	return newhighbidder;
	
}


function inject_final(auct,bid,inc,cntdown,highbidder,numbids) {
	//alert(cntdown);
	
	if(inc == "" || numbids == "")
		return 0;
	var bidareaname = "bid_area" + auct;
	//var bidincname = "bid_inc" + auct;
	var countdownstring = "";

	var cntdownareaname = "cntdown" + auct;
	var bidderareaname = "highbidder" + auct;
	//var cntdwnarea = document.getElementById(cntdownareaname);
	var cntdwnarea = $('.' + cntdownareaname);
	
	var numbidsareaname = "bidvalue" + auct;
	//stupid IE fix for no indexOf function
	if(!Array.indexOf){
	    Array.prototype.indexOf = function(obj){
	        for(var i=0; i<this.length; i++){
	            if(this[i]==obj){
	                return i;
	            }
	        }
	        return -1;
	    }
	}
	auctpos = auctnumarray.indexOf(auct);
	
	
	
	if (auctpos >= 0) {
		g_cntdown_final[auctpos]=cntdown;	
	}

	
	if (cntdwnarea) {
		if (cntdown < 120) {
			$(cntdwnarea).css('color', '#cb290e');
		}
		else if (cntdown < 300){
			//cntdwnarea.style.color = "#ce9d00"
			$(cntdwnarea).css('color', '#ce9d00');
		}
		else {
			//cntdwnarea.style.color = "#3c7a03"	
			$(cntdwnarea).css('color', '#3c7a03');
		}
	}
	
	//(days <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0)
	if(cntdown <= 0 || cntdown == "end" || cntdown == "wait" || cntdown == "") {
		$(cntdwnarea).html("Auction Closed");
		var bidinputareaname = "bidinputarea" + auct;
		var buyatfamousname = "buyatfamous" + auct;
		var bidinputarea = document.getElementById(bidinputareaname);
		var buyatfamousarea = document.getElementById(buyatfamousname);
		bidinputarea.style.display = "none";
		buyatfamousarea.style.visibility = "visible";
		//return 0;
		//setTimeout("window.location.reload();",2000);
	}

	if (bidderareaname) {
		 var bidderarea = document.getElementById(bidderareaname);
		 if (highbidder.length > 9)
		 	highbidder = highbidder.substring(0,8) + "...";
		 $(bidderarea).html(highbidder);
	}

	
	try { 
		//alert(bidareaname);
		
		var biddiv = document.getElementById(bidareaname);
		//var allbidderarea = document.getElementById("biddertable");
		
		//bidderlist = allbidderarea.innerHTML;
		//newbidhtml =  buildbidder(bidderlist,highbidder,bid);
		//alert(bidderlist);
		
		var prevbidval = biddiv.innerHTML;
		var newbid = parseFloat(bid) + parseFloat(inc);
		//prevbidval="<strong>"+prevbidval+"</strong>";
		if (parseInt(numbids) > 0)	  
			//bid="<strong>$"+bid+"</strong>";
			bid="$"+bid;
		else
			bid="$0";
		//alert(prevbidval + "-" + bid);
		if (firsttime == 1) 
			prevbidval = bid;
		
		if (prevbidval == bid || prevbidval == "") { 
			$(biddiv).html(bid);
			
			//biddiv.style.opacity = "1";
			//biddiv.style.fontWeight = "normal"
			biddiv.style.fontWeight = "700";
			biddiv.style.fontSize = "16px";
			//biddiv.style.background = "#669933";
			//setTimeout( function() {
			if(stayhighlighted == 0) {
			   biddiv.style.background = "";
			   biddiv.style.color = "#000000";
			   
			}
			
		}
		else {
			var newbidarea = document.getElementById(numbidsareaname);
			

			var newbidstring = newbid.toString();
			indexofdot = newbidstring.indexOf(".");
		
			if(indexofdot < 0) 
					newbidarea.value = newbid + ".00"; 
			else
					newbidarea.value = newbid; 

			
			biddiv.style.backgroundColor = "#669933";
			biddiv.style.color = "#ffffff";
			if(biddiv.style.removeAttribute) {
				$(biddiv).fadeTo('slow',0.1,function(){
					biddiv.style.removeAttribute('filter'); });
				//$(biddiv).fadeTo("slow",0.1);
				biddiv.style.backgroundColor = "#669933";
				$(biddiv).fadeTo('fast',1,function(){
					biddiv.style.removeAttribute('filter'); });
				//$(biddiv).fadeTo("fast",1);
				
			}
			else {
				$(biddiv).fadeTo('slow',0.1,function(){
					biddiv.style.removeProperty('filter'); });
				//$(biddiv).fadeTo("slow",0.1);
				biddiv.style.backgroundColor = "#669933";
				$(biddiv).fadeTo('fast',1,function(){
					biddiv.style.removeProperty('filter'); });
			}
			stayhighlighted = 5;
			setTimeout(function(){addtolist(auct)}, 8000);
			$(biddiv).html(bid);
		}
		
	}
	catch(err) {
		//don't do anything
		//alert("Error");
	}

}



function inject_multi(auct,bid,inc,cntdown,highbidder,numbids) {
	var bidareaname = "bid_area" + auct;
	var countdownstring = "";
	
	var cntdownareaname = "cntdown" + auct;
	var bidderareaname = "highbidder" + auct;
	var cntdwnarea = $('.' + cntdownareaname);
	
	//stupid IE fix for no indexOf function
	if (!Array.indexOf) {
	    Array.prototype.indexOf = function(obj){
	        for (var i = 0; i < this.length; i++){
	            if (this[i] == obj) {
	                return i;
	            }
	        }
	        return -1;
	    }
	}
	auctpos = auctnumarray.indexOf(auct);
	if (auctpos >= 0) {
		g_cntdown_final[auctpos] = cntdown;	
	}
	
	//convert countdown to readable time
	var days = Math.floor(cntdown/86400);
	var hours = Math.floor((cntdown - (days * 86400 ))/3600); 
	var minutes = Math.floor((cntdown - (days * 86400 ) - (hours *3600 ))/60); 
	var seconds = Math.floor((cntdown - (days * 86400 ) - (hours *3600 ) - (minutes*60)));
	
	//if (days > 0)
		//countdownstring = days + "D ";
	//if (minutes < 10)
		//minutes = "0" + minutes;
	//if (seconds < 10)
		//seconds = "0" + seconds;
	
	if (minutes < 10 && (minutes > 0 || hours > 0 || days > 0))
		minutes = "0" + minutes;
	if (seconds < 10)
		seconds = "0" + seconds;
	
	$(cntdwnarea).each(function() {
		countdownstring = "";
		if ($(this).parents('.similar_table').length > 0) {
			if (days > 0) {
				countdownstring = days + "D " + hours + "h";
			} else if (hours > 0) {
				countdownstring = hours + "h " + minutes + "m";
			} else {
				countdownstring = minutes + "m " + seconds + "s";
			}
		} else {
			if (days > 0) {
				countdownstring = days + " Days " + hours + "h " + minutes + "m";
			} else {
				countdownstring = hours + "h " + minutes + "m " + seconds + "s";
			}
		}
		//$(this).html(countdownstring);
		if (days == 0 && hours == 0 && minutes == 0 && seconds == 0) {
			$(this).html("Closed");
			if (pagetype == "index") {
				setTimeout("window.location.reload();",2000);
			}
		} else {
			$(this).html(countdownstring);
		}
	});
	//countdownstring = countdownstring+hours+"h "+minutes+"m "+seconds+"s";
	

	
	if (bidderarea) {
		 var bidderarea = document.getElementById(bidderareaname);
		 $(bidderarea).html(highbidder);
	}
	
	if(cntdown <= 0 || cntdown == "end" || cntdown == "wait" || cntdown == "") {
		$(cntdwnarea).html("Closed");
		return 0;
	}

	if (cntdwnarea) {
		if (cntdown < 7200) {
			//cntdwnarea.style.color = "#cb290e"
			$(cntdwnarea).css('color', '#cb290e');
		}
		//else if (cntdown < 300){
		//	cntdwnarea.style.color = "#ce9d00"
		//}
		else {
			//cntdwnarea.style.color = "#3c7a03"
			$(cntdwnarea).css('color', '#3c7a03');
		}
	}
	
	try { 
		//alert(bidareaname);
		var biddiv = document.getElementById(bidareaname);
		//var allbidderarea = document.getElementById("biddertable");
		
		
		//bidderlist = allbidderarea.innerHTML;
		//newbidhtml =  buildbidder(bidderlist,highbidder,bid);
		//alert(bidderlist);
		
		var prevbidval = biddiv.innerHTML;
		var newbid = parseFloat(bid) + parseFloat(inc);
		//prevbidval="<strong>"+prevbidval+"</strong>";
		//if (parseInt(numbids) > 0)	  
			//bid="<strong>$"+bid+"</strong>";
		bid="$"+bid;
		//prevbidval="$"+prevbidval;
		//alert(prevbidval + "-" + bid);
		if (firsttime == 1) 
			prevbidval = bid;
		
		if (prevbidval == bid || prevbidval == "") { 
			$(biddiv).html(bid);
			
			if (pagetype == "index") {
				biddiv.style.fontWeight = "700";
				biddiv.style.fontSize = "16px";
			}
			else {
				biddiv.style.fontWeight = "700";	
			}
			//biddiv.style.background = "#669933";
			//setTimeout( function() {
			if(stayhighlighted == 0) {
			   biddiv.style.background = "";
			   biddiv.style.color = "#000000";
			}
			
		}
		else {
			biddiv.style.backgroundColor = "#669933";
			biddiv.style.color = "#ffffff";
			if(biddiv.style.removeAttribute) {
				$(biddiv).fadeTo('slow',0.1,function(){
					biddiv.style.removeAttribute('filter'); });
				//$(biddiv).fadeTo("slow",0.1);
				biddiv.style.backgroundColor = "#669933";
				$(biddiv).fadeTo('fast',1,function(){
					biddiv.style.removeAttribute('filter'); });
				//$(biddiv).fadeTo("fast",1);
			}
			else {
				$(biddiv).fadeTo('slow',0.1,function(){
					biddiv.style.removeProperty('filter'); });
				//$(biddiv).fadeTo("slow",0.1);
				biddiv.style.backgroundColor = "#669933";
				$(biddiv).fadeTo('fast',1,function(){
					biddiv.style.removeProperty('filter'); });	
			}
			stayhighlighted = 5;
			setTimeout(function(){addtolist(auct)}, 8000);
			$(biddiv).html(bid);
		}
		
	}
	catch(err) {
		//don't do anything
		//alert("Error");
	}

}

function inject_bid(auct,bid,inc,cntdown,highbidder,numbids) {
	//alert(cntdown);

	//if(bid == "wait" OR bid == "end")
	//	return 0;
	
	g_cntdown=cntdown;
	var bidareaname = "bid_area" + auct;
	//var bidincname = "bid_inc" + auct;

	
	//var numbidsarea = document.getElementById("numbids");
	var currenthighbidder = document.getElementById("highbidder");
	var allbidderarea = document.getElementById("biddertable");



	//alert(highbidder);
	if (trim(currenthighbidder.innerHTML) == "There are no current bids on this auction." && highbidder != "") {
	//	if (numbidsarea.innerHTML == "0" && parseInt(numbids) > 0) //first bid, refresh the page
			location.reload(true);
	
	//	$(numbidsarea).html(numbids);
	}
	
	if (firsttime) {
		g_cntdown=cntdown;
		countdowntimer();
	}
	

	if (bidderarea) {
		 var bidderarea = document.getElementById("highbidder");
		 $(bidderarea).html(highbidder);
	}

	
	try {
		var biddiv = document.getElementById(bidareaname);
		var allbidderarea = document.getElementById("biddertable");
		
		bidderlist = allbidderarea.innerHTML;
		//newbidhtml =  buildbidder(bidderlist,highbidder,bid);
		//alert(bidderlist);
		
		
		var prevbidval = biddiv.innerHTML;
		var newbid = parseFloat(bid) + parseFloat(inc);
		if (parseInt(numbids) > 0){
		
			bid="$"+bid;
		}
		if (prevbidval == bid || prevbidval == "") { 
			$(biddiv).html(bid);
			biddiv.style.background = "#669933";
			
		}
		else {
			
			var newbidarea = document.getElementById("bid");
			newbidarea.value = newbid + ".00";
			$(biddiv).html(bid);
			biddiv.style.background = "#669933";
			biddiv.style.color = "#fff";
			$(biddiv).fadeTo("slow",0.1);
			biddiv.style.background = "#669933";
			biddiv.style.color = "#fff";
			$(biddiv).fadeTo("fast",1);
			newbidhtml =  buildbidder(bidderlist,highbidder,bid);
			$(allbidderarea).html(newbidhtml);
		}
		
		
	}
	catch(err) {
		//don't do anything
		//alert("Error");
	}

}

function getbids(nums) {
	/* var url = "reco.xml"; */
	auctionnums = nums;
	if (stayhighlighted > 0)
		stayhighlighted--;
		
	
	try {
		bid_loadXMLDoc();
	}
	catch(e) {
		var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Unknown Error");
		alert("Unable to get XML data:\n" + msg);
		return;
	}

}



function bryansAwesomeBidFunction(num, url) {
	if($.browser.msie) {
		if (jQuery.browser.version.substr(0,1) == "7") {
			var top = Math.round($('#final'+num).position().top)-306;
			var left = Math.round($('#final'+num).position().left)-790;
			if ($('#float'+num).length){$('#float'+num).remove();}
			$('#final'+num).parent().prepend('<div id="float'+num+'" style="display:none;margin-top:'+top+'px;margin-left:'+left+'px;position:absolute;z-index:25;"><img src="/images/final-container-confirm.jpg" style="position:absolute;z-index:25;"></div>');
		}
		else if (jQuery.browser.version.substr(0,1) == "6") {
			var top = Math.round($('#final'+num).position().top)-310;
			var left = Math.round($('#final'+num).position().left)-790;
			if ($('#float'+num).length){$('#float'+num).remove();}
		$('#final'+num).parent().prepend('<div id="float'+num+'" style="display:none;margin-top:'+top+'px;margin-left:'+left+'px;position:absolute;z-index:25;"><img src="/images/final-container-confirm.jpg" style="left:-9px;top:14px;position:absolute;z-index:25;"></div>');
		}
		else {
			var top = Math.round($('#final'+num).position().top)-309;
			var left = Math.round($('#final'+num).position().left)-10;
			if ($('#float'+num).length){$('#float'+num).remove();}
		$('#final'+num).parent().prepend('<div id="float'+num+'" style="display:none;margin-top:'+top+'px;margin-left:'+left+'px;position:absolute;z-index:25;"><img src="/images/final-container-confirm.jpg" style="position:absolute;z-index:25;"></div>');
		}
	}
	else
	{
			var top = Math.round($('#final'+num).position().top)-308;
			var left = Math.round($('#final'+num).position().left)-10;
			
			if (navigator.userAgent.indexOf("Firefox")!=-1)
			{				top = top - 3;
				left = left;
				}
			
			
		if ($('#float'+num).length){$('#float'+num).remove();}
		$('#final'+num).parent().prepend('<div id="float'+num+'" style="display:none;margin-top:'+top+'px;margin-left:'+left+'px;position:absolute;z-index:25;"><img src="/images/final-container-confirm.jpg" style="position:absolute;z-index:25;"></div>');
	}
	
	divChanger('float'+num, url);
	$('#float'+num).fadeIn('fast');
}
