var Bid_Check_Interval;
var Timer_Interval;
var Refresh_Interval;

$(document).ready( function() {
							
	Refresh_Timeout = setTimeout( Reload, 5000 * 60 * 60 );
	
	if($('#bid').length)
	{
		Bid_Check();
		Timer_Interval = setInterval( Timer, 1000 );
	}
	
	$("#bid").focus(function () {
		if( $(this).val() == "0.00" ) {
			$(this).select();
		}
							  
		// check the bid
		Bid_Check();
		
		// start the bid checking interval
		Bid_Check_Interval = setInterval( Bid_Check, 500 );
	});
	
	$("#bid").blur(function () {
		// stop the bid checking function
		Bid_Check_Stop();
		Bid_Format();
	});
	
	$("a.thumbnail").click(function() {
		var Link = $(this).attr("href");
		var Value_Pair_Arr = Link.split("?").join("").split("&");
		var Link_Image = "nothing";
		for(var i = 0; i < Value_Pair_Arr.length; i++) {
			var This_Item_Arr = Value_Pair_Arr[i].split("=");
			if(This_Item_Arr[0] == "pic") {
				var Link_Image = This_Item_Arr[1];
				break;
			}
		}
		var New_Image = "/images/items/" + Link_Image;
		
		// set the big image
		$("#itemImage").attr("src", New_Image);
		
		// remove the "current" class
		$("ul.thumbnails li.current").removeClass("current");
		
		// set the "active" nav
		$(this).parent().addClass("current");
		$(this).blur();
		
		return false;
	});
	
	$("#bidForm").submit(function() {
		var Bid = Bid_Validate();
		
		if( Bid != "Valid" ) {
			alert( $("#bidFormError").val() );
			return false;
		}
	});
	
});

function Reload() {
	window.location.href = window.location.href;
}

function Bid_Check() {
	
	if($("#bid").length > 0)
	{
		var Bid = Bid_Validate();
		
		// set the visuals
		if( Bid == "Blank" ) {
			$("#bid_check").html("");
			$("#bidInstructions").css("color","#6699CC");
		} else if( Bid == "Invalid" ) {
			$("#bid_check").html( "<img src=\"/images/icon-exclaim.png\" alt=\"\" />" );
			$("#bidInstructions").css("color","#EB887C");
		} else if( Bid == "Valid" ) {
			$("#bid_check").html( "<img src=\"/images/icon-check.png\" alt=\"\" />" );
			$("#bidInstructions").css("color","#6699CC");
		}
	}
}

function Bid_Check_Stop() {
	clearInterval( Bid_Check_Interval );	
}

function Bid_Validate() {
	// Compare the bid to the "minimum bid" value
	// Bid must be greater than or equal to the valid value
	if($("#bid").length > 0)
	{
		var Entered_Amount = $("#bid").val();
		var Working_Amount = Number( Entered_Amount.split("$").join("").split(",").join(".").split(" ").join("") );
		var Minimum_Bid = Number( $("#minimumBidDisplay").text().split("$").join("").split(",").join(".").split(" ").join("") );
		
		if( Working_Amount == "" && Entered_Amount != "0.00") {
			return "Blank";
		} else if( isNaN(Working_Amount) || Working_Amount < Minimum_Bid || Entered_Amount == "0.00" ) {
			return "Invalid";
		} else {
			return "Valid";
		}
	}
}

function Bid_Format() {
	if($("#bid").length > 0)
	{
		var Entered_Amount = $("#bid").val();
		var Working_Amount = Entered_Amount;
		
		// Get the dot or comma
		var Lang = $("body").attr("class");
		if( Lang == "lang-en" ) {
			Delimeter = ".";
			Working_Amount = Working_Amount.split(",").join(".");
		} else {
			Delimeter = ",";
			Working_Amount = Working_Amount.split(".").join(",");
		}
		Working_Amount = Working_Amount.split("$").join("");
		Working_Amount = Working_Amount.split(" ").join("");
		
		// Format the bid to look like 20.00
		if( !isNaN( Working_Amount ) && Working_Amount != "" ) {
			// it's a number, format it up!
			if( Working_Amount == Math.round( Working_Amount ) ) {
				Working_Amount = String( Math.round( Working_Amount ) ) + Delimeter + "00";
			} else {
				var Arr = Working_Amount.split( Delimeter );
				
				Arr[0] = Number( Arr[0] );
				
				if( Arr[1].length > 2 ) {
					Arr[1] = Math.round( Number( "0." + Arr[1] ) * 100 );
					
					if( Arr[1] == 100 ) {
						Arr[0] += 1;
						Arr[1] = String( "00" );
					}
				} else if( Arr[1].length == 1 ) {
					Arr[1] = String( Arr[1] ) + "0";
				}
				
				if( Number( Arr[1] ) < 10 ) {
					Arr[1] = String( "0" + Number( Arr[1] )  );
				}
				
				Working_Amount = Arr.join( Delimeter );
			}
			
			$("#bid").val( Working_Amount );
			
			Bid_Check();
		}
	}
}

function Timer() {
	var Days = Number( $("#days").text() );
	var Hours = Number( $("#hours").text() );
	var Minutes = Number( $("#minutes").text() );
	var Seconds = Number( $("#seconds").text() );
	
	if( isNaN(Seconds) ) { Seconds = 0; }
	if( isNaN(Minutes) ) { Minutes = 0; }
	if( isNaN(Hours) ) { Hours = 0; }
	if( isNaN(Days) ) { Days = 0; }
	
	if( Seconds > 0 ) {
		// remove one second
		--Seconds;
	} else {
		// if there are minutes left, move the seconds back to 59 and subtract one minute
		if( Minutes > 0 ) {
			Seconds = 59;
			--Minutes;
		} else {
			if( Hours > 0 ) {
				// if there are hours left, move the minutes back to 59, seconds back to 59, and subtract one hour
				Seconds = 59;
				Minutes = 59;
				--Hours;
			} else {
				if( Days > 0 ) {
					// if there are days left, move the hours back to 23, minutes back to 59, seconds back to 59, and subtract one day
					Seconds = 59;
					Minutes = 59;
					Hours = 23;
					--Days;
				} else {
					// countdown over!
					var Countdown_Over =  true;
				}
			}
		}
	}
	
	if( !Countdown_Over ) {
		if( Seconds < 10 ) {
			Seconds = '0' + String( Seconds );
		}
		if( Minutes < 10 ) {
			Minutes = '0' + String( Minutes );
		}
		Days = String( Days );
		Hours = String( Hours );

		$("#days").html( Days );
		$("#hours").html( Hours );
		$("#minutes").html( Minutes );
		$("#seconds").html( Seconds );
	} else {
		clearInterval( Timer_Interval );
		clearInterval( Refresh_Interval );
		$("dd.remaining").html( $("#auctionOver").val() );	
		$("dt.bid").html("");
		$("dd.bid").html("");
	}
}

