// JavaScript Document
///check int format

var numInput = new Array();
var isFloat = new Array();
var existsOption = new Array(); //目标多选框已有选项
var days = new Array();
var hours = new Array();
var minute = new Array();
var second = new Array();
var currentTime = new Array();
function checkNumber()
{
	var defaultValue = 0;
	for (var i=0;i<numInput.length;i++)
	{
		jQuery("input[lab='"+numInput[i]+"']").focus(function(event)
		{
			jQuery(this).select();
		})
		jQuery("input[lab='"+numInput[i]+"']").keydown(function(event)
		{
			/*
			110 190是小数点
			48-57 大键盘上的数字
			96-105小键盘上的数字
			8为back键
			9,46为删除键
			*/
			defaultValue = parseFloat(jQuery(this).val());
			if(event.keyCode>=48 && event.keyCode<=57 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode>=96 && event.keyCode<=105 || event.keyCode == 110 || event.keyCode == 190 || event.keyCode == 46)
			{				
				var tmpId = jQuery(this).attr('lab');
				if (!isFloat[tmpId]) // 整数
				{					
					if (event.keyCode == 110 || event.keyCode == 190)
					return false;
					if(jQuery(this).val() == '0' && (event.keyCode == 48 || event.keyCode == 96) )
					return false;
				}
				else //浮点数
				{			
					if ((jQuery(this).val().indexOf(".")!=-1 && (event.keyCode == 110 || event.keyCode == 190)) || jQuery(this).val() == '0' && (event.keyCode == 48 || event.keyCode == 96))
					return false;
				}
			}
			else
			return false;
			var maxValue = parseFloat(jQuery(this).attr('max'));
			if (defaultValue > maxValue && event.keyCode != 8 && event.keyCode != 9 && event.keyCode != 46)
			return false;
		})
		jQuery("input[lab='"+numInput[i]+"']").keyup(function(event){
			if (jQuery(this).val()>parseInt(jQuery(this).val()))
			{
				jQuery(this).val(parseInt(jQuery(this).val()*100)/100);
			}
		})
		
		jQuery("input[lab='"+numInput[i]+"']").blur(function(event){
			var tmpId = jQuery(this).attr('lab');
			var maxValue = parseFloat(jQuery(this).attr('max'));
			var minValue = parseFloat(jQuery(this).attr('min'));
			if (!isFloat[tmpId])
			var tmpValue = parseInt(jQuery(this).val())?parseInt(jQuery(this).val()):0;
			else
			var tmpValue = parseFloat(jQuery(this).val())?parseFloat(jQuery(this).val()):0;
			if (maxValue < tmpValue)
			{
				//jQuery(this).val(defaultValue)
				jQuery(this).val(maxValue);
				return false;
			}
			if (minValue > tmpValue && jQuery(this).val())
			{
				//jQuery(this).val(defaultValue);
				jQuery(this).val(minValue);
				return false;
			}
		})
	}
	//end
}

////////////check max letter /////////////////////
function checkLen(inputObj,displayObj) 
{ 
    var maxChars = parseInt(jQuery(inputObj).attr('maxChar'));//Max characters
    if (jQuery(inputObj).val().length > maxChars) 
    jQuery(inputObj).val(jQuery(inputObj).val().substring(0,maxChars)); 
    var curr = maxChars - jQuery(inputObj).val().length; 
    jQuery("#"+displayObj).text(curr.toString()); 
} 
////////////count down the time////////////////////

function leftTime(pos)
{	
	if (!pos) pos = 0;	
	if (second[pos] == 0)
	{
		second[pos] = 59;
		if (minute[pos])
		minute[pos]--;
		else
		{
			if (hours[pos])
			{
				minute[pos] = 59;
				hours[pos]--;
			}
			else if (days[pos])
			{
				minute[pos] = 59;
				hours[pos] = 23;
				days[pos]--;
			}
			else
			currentTime[pos] = '00:00:00';
		}
	}
	else
	second[pos]--;
	var tmpHours = new Array();
	var tmpMinute = new Array();
	var tmpSecond = new Array();
	if (hours[pos].toString().length<2) 
	tmpHours[pos] = '0'+hours[pos].toString();
	else
	tmpHours[pos] = hours[pos];
	if (minute[pos].toString().length<2) 
	tmpMinute[pos] = '0'+minute[pos].toString();
	else
	tmpMinute[pos] = minute[pos];
	if (second[pos].toString().length<2)
	tmpSecond[pos] = '0'+second[pos].toString();
	else
	tmpSecond[pos] = second[pos];
	
	if (currentTime[pos] != '00:00:00')
	{
		if (days[pos])
		{
			if (days[pos]>1)
			currentTime[pos] = days[pos]+' Days '+tmpHours[pos]+':'+tmpMinute[pos];
			else
			currentTime[pos] = days[pos]+' Day '+tmpHours[pos]+':'+tmpMinute[pos];
		}
		else
		currentTime[pos] = tmpHours[pos]+':'+tmpMinute[pos]+':'+tmpSecond[pos];
	}
	document.getElementById("leftTime"+pos).innerHTML = currentTime[pos];
	setTimeout(function(){leftTime(pos);},1000);
}

//bid 
function doBid(num)
{
		var ww = jQuery(window).width();
		var wh = jQuery(window).height();
		var w = jQuery(document).width();
		var h = jQuery(document).height();
		var iconWidth = 32;
		var iconHeight = 32;
		var bidPrice = jQuery("#bidPrice"+num).val();
		var bidAmount = jQuery("#bidAmount"+num).val();
		jQuery.ajax({
			type:"GET",
			url:"xml/bid.php",
			data:"id="+num+"&bidPrice="+bidPrice+"&bidAmount="+bidAmount,
			cache:false,
			timeout:30000,
			beforeSend:function(){
				jQuery("#cover").css("display","");
				jQuery("#cover").css("height",h);
				jQuery("#cover").css("width",w);
				jQuery("#loading").css("left",(ww-iconWidth)/2);
				jQuery("#loading").css("top",(wh-iconHeight)/2);
			},
			complete:function()
			{
				jQuery("#cover").css("display","none");
			}
			,
			success:function(msg)
			{
				var result = jQuery(msg).find("result").text();
				var price = parseFloat(jQuery(msg).find("result").attr("price"));
				var lastPrice = parseFloat(jQuery(msg).find("result").attr("lastPrice"));
				var add = jQuery(msg).find("result").attr("add");
				var step = parseFloat(jQuery(msg).find("result").attr("step"));
				if (result == 'ok')
				{
					var bid = parseInt(jQuery("#bids"+num).text())+1;
					jQuery("#bids"+num).text(bid);
					if (price.toString().indexOf(".")==-1)
					jQuery("#price"+num).text(price.toString()+'.00');
					else
					{
						var tmpPrice = price.toString().split(".");
						if (tmpPrice[1].toString().length<2)
						jQuery("#price"+num).text(tmpPrice[0]+'.'+tmpPrice[1].toString()+'0');
						else
						jQuery("#price"+num).text(price);
					}
					if (add == 1)
					{						
						jQuery("#bidPrice"+num).attr("min",lastPrice+step);
						jQuery("#bidPrice"+num).val(lastPrice+step);
					}
					jQuery("#bidAmount"+num).attr("min",bidAmount);
				}
				else if (result == 'expired')
				{
					window.location.href = "login.php";
				}
				else if (result == 'noCredit')
				{
					window.location.href = 'paymentInformation.php';
				}
				else if (result == 'exists')
				alert('This product sold!');
			}
		})
	}
	

	////in_array 判断字符是否在数组中
	jQuery.InArray = function(arrayObj,strObj)
	{
		var index = -1;
		for (var i=0;i<arrayObj.length;i++)
		{
			if (arrayObj[i] == strObj)
			index = i;
		}
		return index;
	}
	//取数组array01相对于array02的差集
	jQuery.DiffArray = function(array01,array02)
	{
		var diff = new Array();
		for (var i=0;i<array01.length;i++)
		{
			if (jQuery.InArray(array02,array01[i])==-1)
			diff.push(array01[i]);
		}
		return diff;
	}
	//取数组array01和array02的交集
	jQuery.SameArray = function(array01,array02)
	{
		var same = new Array();
		for (var i=0;i<array01.length;i++)
		{
			if (jQuery.InArray(array02,array01[i])!=-1)
			same.push(array01[i]);
		}
		return same;
	}
	//取数组array01和array02的并集
	jQuery.BothArray = function(array01,array02)
	{
		var both = new Array();
		both = array01;
		for (var i=0;i<array02.length;i++)
		{
			if (jQuery.InArray(array01,array02[i])==-1)
			both.push(array02[i]);
		}
		return both;
	}
	//获取选择框数据
	jQuery.GetSelectVal = function(selectId){
		var optionVal = new Array();
		var optionTxt = new Array();
		var optionIndex = new Array();
		var selectVal = new Array();
		var selectTxt = new Array();
		var selectObj = new Array();
		var j = 0;
		jQuery("#"+selectId).find("option").each(function(i,element){
			optionVal[i] = jQuery(element).val();
			optionTxt[i] = jQuery(element).text();
			if (jQuery(element).attr("selected"))
			{
				optionIndex[j] = i;
				selectObj[j] = jQuery(element);
				selectVal[j] = jQuery(element).val();
				selectTxt[j] = jQuery(element).text();
				j++;
			}
		})
		return {values:optionVal,labels:optionTxt,selectedRows:optionIndex,selectedVal:selectVal,selectedTxt:selectTxt,optionObj:selectObj};
	}
	//转移多选框
	
	jQuery.changeSelectList = function(removeId,addId)
	{
		<!-- -->
		var allObj = jQuery.GetSelectVal(removeId);
		var len = allObj.selectedVal.length;
		for (var i=0;i<len;i++)
		{
			var optObj = allObj.optionObj[i];
			var tmpVal = allObj.selectedVal[i];
			var tmpTxt = allObj.selectedTxt[i];
			if (jQuery.InArray(existsOption,tmpVal) == -1)
			existsOption.push(tmpVal);
			else
			existsOption.splice(jQuery.InArray(existsOption,tmpVal),1);
			jQuery("#"+addId).append("<option value=\""+tmpVal+"\">"+tmpTxt+"</option>");
			optObj.remove();
		}
		// 对选项框进行排序
		var optionVal = new Array();
		var optionTxt = new Array();
		var optionOrderTxt = new Array();
		jQuery("#"+addId).find('option').each(function(i,element){
			var tmpKey = jQuery(element).val();
			optionOrderTxt.push(jQuery(element).text());
			optionTxt.push(jQuery(element).text());
			optionVal.push(jQuery(element).val());
		})
		optionOrderTxt.sort(jQuery.CompareVal);
		//if (orderType == 'desc')
		//optionOrderTxt.reverse();
		jQuery("#"+addId).empty();
		for (var i=0;i<optionOrderTxt.length;i++)
		{
			var tmpIndex = jQuery.InArray(optionTxt,optionOrderTxt[i]);
			var tmpTxt = optionTxt[tmpIndex];
			var tmpVal = optionVal[tmpIndex];
			jQuery("#"+addId).append("<option value=\""+tmpVal+"\">"+tmpTxt+"</option>");
		}
	}
	// 对比两个数值的大小
	jQuery.CompareVal = function(val1,val2)
	{
		return val1.localeCompare(val2);
	}