var net=new Object();

net.READY_STATE_UNINITIALIZED=0;
net.READY_STATE_LOADING=1;
net.READY_STATE_LOADED=2;
net.READY_STATE_INTERACTIVE=3;
net.READY_STATE_COMPLETE=4;

var UrlBase;

net.ContentLoader=function(url,onload,onerror)
{
	this.url=url;
	this.req=null;
	this.onload=onload;
	this.onerror=(onerror) ? onerror : this.defaultError;
	this.loadXMLDoc(url);
}
net.ContentLoader.prototype=
{
	loadXMLDoc:function(url)
	{
		if (window.XMLHttpRequest)
		{
			this.req=new XMLHttpRequest();
		}
		else if(window.ActiveXObject)
		{
			this.req=new ActiveXObject("Microsoft.XMLHTTP");
		}
		if (this.req)
		{
			try
			{
				var loader=this;
				this.req.onreadystatechange=function()
				{
					loader.onReadyState.call(loader);
				}
				this.req.open('GET',url,true);
				this.req.send(null);
			}
			catch (err)
			{
				this.onerror.call(this);
			}
		}
	},
	onReadyState:function()
	{
		var req=this.req;
		var ready=req.readyState;
		if (ready==net.READY_STATE_COMPLETE)
		{
			var httpStatus=req.status;
			if (httpStatus==200 || httpStatus==0)
			{
				this.onload.call(this);
			}
			else
			{
				this.onerror.call(this);
			}
		}
	},
	defaultError:function()
	{
		alert("error fetching data!"
		+"\n\nreadyState:"+this.req.readyState
		+"\nstatus: "+this.req.status
		+"\nheaders: "+this.req.getAllResponseHeaders());
	}
}

var arrOptions = new Array();
var typeValue;
var checkReturn;

function LoadData(reqtype,reqvalue)
{
	LoadDataAndDeal("Service/ProductService.aspx",reqtype,reqvalue);
}

function LoadDataAndDeal(reqPage,reqtype,reqvalue)
{
	var strParams = "type=" + reqtype + "&value=" + reqvalue;	
	var loader1 = new net.ContentLoader(UrlBase + reqPage + "?" + strParams,BuildDiv,null);
}

/******************************************* 检查会员名 *************************************************/
function CheckAccount(reqtype,reqvalue)
{
    if(reqvalue.trim().length > 0)
    {
        if(!CheckString(reqvalue.trim(),'1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_@. '))
        {
            typeValue = 'checkusername';
            checkReturn = "";
            ShowCheckResult();
            return;
        }
        else
        {
            LoadDataAndDeal("Account/PersonalService.aspx",reqtype,reqvalue);
	    }
	}
	else
	{
	    typeValue = 'checkusername';
        checkReturn = "·请输入用户名,只能由数字,字母及'-_@.'组成,3-30位";
        ShowCheckResult();
	}
}

function CheckIntroducer(reqtype,reqvalue)
{
    if(reqvalue.trim().length > 0)
    {
        LoadDataAndDeal("Account/PersonalService.aspx",reqtype,reqvalue);
    }
    else
    {
        return true;
    }
}
/******************************************* 银行支付提示信息 *************************************************/
function BankChangeNewMessage(reqtype,reqvalue)
{
    if(reqvalue != null && reqvalue.trim().length > 0)
    {
    
        LoadDataAndDeal("Service/NewsService.aspx",'bankMessage',reqvalue);
        ShowCheckResult();
	}
	else
	{
	    typeValue = 'bankMessage';
        checkReturn = "";
        ShowCheckResult();
	}
}

function CheckString(str,charList)
{
    var retValue = true;    
    if(str.trim().length <= 0)
    {
        retValue = false;
    }
    else
    {
        for(var i=0;i<str.trim().length;i++)
        {
            if(charList.indexOf(str.trim().substring(i,i+1)) < 0)
            {
                retValue = false;
                break;
            }
        }
    }
    return retValue;
}

function BuildDiv()
{
	var strText = this.req.responseText;
	eval(strText);
	
	switch(typeValue)
	{
		case "categorylist":
			InsertCategorySelect()
			break;
		case "productlist":
			InsertProductSelect()
			break;
		case "checkusername":
		    ShowCheckResult();
		    break;
		case "checkaccountid":
		    break;
		default:
			break;
	}
}

function formatPrice(price)
{
	var floatPrice = Math.round(parseFloat(price) * 100)/100;
	var strPrice = floatPrice.toString();
	var dotIndex = strPrice.indexOf('.');
	if(dotIndex < 0)
	{
		return strPrice + '.00'
	}
	else
	{
		if(strPrice.split('.')[1].length == 1)
		{
			return strPrice + '0';
		}
		else
		{
			return strPrice;
		}
	}
}

function getTradeUrl(productCode,useType)
{
	var retUrl = UrlBase + "Bill/TradeTransfer.aspx?product=" + productCode;
	return retUrl;
}

function InsertCategorySelect()
{
	//清除产品类别选择框
	var selectCategory = document.getElementById("categorylist");
	selectCategory.innerHTML = "";
	selectCategory.options.add(new Option("-选择类别-","-1"));

	//清除产品选择框
	var selectProduct = document.getElementById("productlist");
	selectProduct.innerHTML = "";
	selectProduct.options.add(new Option("-选择产品-","-1"));

	for(var j=0;j<arrOptions.length;j++)
	{
		selectCategory.options.add(new Option(arrOptions[j][1],arrOptions[j][0]));
	}
}

function InsertProductSelect()
{
	//清除产品选择框
	var selectProduct = document.getElementById("productlist");
	selectProduct.innerHTML = "";
	selectProduct.options.add(new Option("-选择产品-","-1"));
	for(var j=0;j<arrOptions.length;j++)
	{
		selectProduct.options.add(new Option(arrOptions[j][1],arrOptions[j][0] + ',' + arrOptions[j][2]));
	}
}

String.prototype.trim= function()  
{  
	return this.replace(/(^\s*)|(\s*$)/g, "");  
}

function Search()
{
	var searchKey = document.getElementById("key");
	if(searchKey.value.trim() == "")
	{
		alert("请输入搜索条件");
		return;
	}
	else
	{
		window.open(UrlBase + 'Product/SearchResult.aspx?con=' + searchKey.value.trim());
	}
}

function RedirectTradePage(choosevalue)
{
	if(choosevalue == "-1")
	{
		alert('请先选择一种产品');
		return;
	}
	else
	{
		var tradeUrl = getTradeUrl(choosevalue.split(',')[0],choosevalue.split(',')[1]);
		window.open(tradeUrl);
	}
}

function ShowCheckResult()
{
    document.getElementById("checkDesc").innerHTML = checkReturn;
}
