function $() {
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);
    if (arguments.length == 1)
      return element;
    elements.push(element);
  }
  return elements;
}
var status=0;
var xmlDom = false;//XMLHTTP对象
var arr_UserName = new Array();//保存已经查询过的 用户名
var arr_BackInfo = new Array();//保存查询过的用户名 是否可以注册的信息
var canSubmit = false;//用户点击注册按钮，是否可以提交到服务器
var SignOutStr='<a href ="javascript:signout();" >LOGOUT </a>';//注销按钮的字符串表示
var LoginStr="<a href =\"javascript:loadcontrol('register.ashx');\" >注册</a>&nbsp; &nbsp;<a href =\"javascript:loadcontrol('login.ashx');\" >登录</a>&nbsp;";

var AxmlDom = new Object();
AxmlDom.reqList = [];

function createX()
{
//创建一个xmlhttp
try
{
	xmlDom = new ActiveXObject("Msxml2.XMLHTTP"); 
} 
catch (E)
{
	try
	{
		xmlDom = new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch (E)
	{
     xmlDom = new XMLHttpRequest(); //兼容非ie浏览器，直接创建XMLHTTP对象

	}
}
return xmlDom;
}
createX();
AxmlDom.Post=function(url,data,  callback, callback2) {
 var req=createX(); 
	req.onreadystatechange = function() 
	{
		if (req.readyState == 4) // only if req shows "loaded"
		{
			if (req.status < 400)// only if "OK"
			 {
			    if(callback)
			    {
                 callback(req) ;
			     $("loadingflag").style.display ='none';
			    }	
			 }
			else 
			{
	    	    if (callback2)
	    	    {
		        callback2(req);
		        $("loadingflag").style.display ='none';
		        }
			}
		}
	}
	req.open("POST", url, true);
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');		
	req.send(data);
	AxmlDom.reqList.push(req);
	$("loadingflag").style.display ='';
	return req;
}


//加载用户控件的工具方法
function loadcontrol(controlname)
{
	var d = new Date();
	var strURL = controlname+"?type=0&guid=" + d.getTime();
	xmlDom.Open("get",strURL , true);
	xmlDom.onreadystatechange = function(){
	  if (xmlDom.readyState == 4 )
	  if(xmlDom.status == 200)
	{
	$("main").innerHTML=xmlDom.responseText;
	$("loadingflag").style.display ='none';
	}
	else
	$("loadingflag").innerHTML = "向服务器请求数据时出现错误!"
	  };
	xmlDom.Send(xmlDom);
	$("loadingflag").style.display ='';
}

//验证密码是否符合规则
function j_password()
{
	var password = $("Txt_Password").value;
	if (password.length < 6 || password.length > 12)//密码长度是否符合规则
	{
		$("PwdError").innerHTML = "<font color=\"red\">密码长度不正确。<font>";
		canSubmit = false;
		return;
	}

	if ($("Txt_UserName").value == password)//用户名和密码不能相同
	{
		$("PwdError").innerHTML = "<font color=\"red\">为了您的安全，用户名与密码不能一致，请使用新的密码<font>";
		canSubmit = false;
		return;
	}
	
	var reg = "\\W";
	if(password.match(reg))//密码是否出现英文或数字之外的字符
	{
		$("PwdError").innerHTML = "<font color=\"red\">密码只能是英文或者数字!<font>";
		canSubmit = false;
		return;
	}
	
	canSubmit = true;//都符合条件，验证通过
	$("PwdError").innerHTML = "";
}
//判断两次输入的密码是否一致
function j_password1()
{
	var password = $("Txt_Password_AG").value;
	if(password != $("Txt_Password").value)//两次输入的密码不相同，出现错误提示
	{
		$("PwdError2").innerHTML = "<font color=\"red\">两次输入的密码不一致,请重新输入!<font>";
		$("Txt_Password_AG").value = "";
		canSubmit = false;
		return;
	}
	//两次输入的密码相同，校验通过。
	$("PwdError2").innerHTML = "";
	canSubmit = true;
}

//检验邮件格式是否正确
function j_email()
{
	var email = $("Txt_Email").value;//得到输入的邮箱
	var reg = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/;//定义验证邮件的正则表达式
	if(!email.match(reg))//验证失败，显示错误信息，返回
	{
		alert("E-mail format Void ;");
		canSubmit = false;
		return;
	}
	$("Txt_Email").value='';
	canSubmit = true;//验证通过
}
function isEmpty()
{

 var email = $("Txt_Email").value
 if(email=='')
 {
 alert("Email required !");
  canSubmit = false;
 
 }
  canSubmit = true;
}
function GetPassWord()
{ isEmpty();
  j_email();
 if( canSubmit)
 {
  alert(" get  password successful ! ");
  window.location.href="default.aspx";
 }
}
function aa()
{
 var temvalue= $("txtsearch").value;
  window.location.href="Search.aspx?number="+temvalue;
	
 
}
//注册时判断用户名是否符合规范，是否已经被注册
function j_username()
{
	$("NameError").innerHTML = "";//清空错误信息
	var userName = $("Txt_UserName").value;
	var reg = "[^a-zA-Z_0-9]";//判断用户名只能为字母，数字，下划线的正则表达式
	var reg1 = "\\D";//判断用户名必须以字母开头的正则表达式
	if(userName == "")//用户名为空，不可以
	{
		$("NameError").innerHTML = "<font color=\"red\">用户名不能为空!<font><br>";
		canSubmit = false;
	}
	else if(userName.length < 5||userName.length > 18)//判断用户名长度
	{
		$("NameError").innerHTML = "<font color=\"red\">你输入的用户名长度太短！长度必须为5～18位！<font><br>";
		canSubmit = false;
	}
	else 
	{
		if(!userName.substring(0,1).match(reg1))//用户名不是以字母开头
		{
			$("NameError").innerHTML = "<font color=\"red\">必须已字母开头!<font><br>";
			canSubmit = false;
		}
		else if(userName.match(reg))//用户名中出现其他特殊字符
		{
			$("NameError").innerHTML = "<font color=\"red\">用户名只能是字母、数字、下划线!<font><br>";
			canSubmit = false;
		}
		else
		{
			if(typeof(xmlDom) != 'undefined')
			{
				var isChecked = false;//是否检测过的bool变量
				//遍历检测过的用户数组，看是否已经查询过这个用户是否存在，如果已经查询过就不用再次到服务器进行查询了
				for(var i=0;i<arr_UserName.length;i++)
				{
				//这个账户名已经检测过。
					if($("Txt_UserName").value == arr_UserName[i])
					{
						switch (arr_BackInfo[i])//根据检测过的账户信息数组，显示相应提示。
						{
							case "0":
								$("NameError").innerHTML = "<font color=\"red\">该用户名不符合注册规则,您可以尝试注册!<font><br>";
								canSubmit = false;
								break;
							case "1":
								$("NameError").innerHTML = "<font color=\"red\">对不起,您注册的用户名已经存在!<font><br>";
								canSubmit = false;
								break;
							case "2":
								$("NameError").innerHTML = "<font color=\"red\">恭喜您,该用户名无人使用!<font><br>";
								canSubmit = true;
								break;
						}
						isChecked = true;
						break;
					}
				}
				//账户没有相关信息，只能到服务器进行查询
				if(!isChecked)
				{
					checkname($("Txt_UserName").value);
				}
			}
		}
	}
}
//向服务器发送请求，检测用户名是否已经被注册
function checkname(name)
{
	var d = new Date();
	var strURL = "register.ashx?type=1&name=" + name + "&guid=" + d.getTime();
	xmlDom.Open("get",strURL , true);
	xmlDom.onreadystatechange = fnRun;
	xmlDom.Send(xmlDom);
	$("NameError").innerHTML = "<font color=\"red\">正在检测用户名是否重复...您可以尝试注册!<font><br>";
}
//提交用户注册请求
function j_submit()
{
	//再调一次js判断,避免用户不输入密码和邮件提交不触发时间导致无效的注册请求
	var submitOK = true;
	canSubmit = true;
	j_username();
	submitOK = submitOK & canSubmit;
	j_password();
	submitOK = submitOK & canSubmit;
	j_password1();
	submitOK = submitOK & canSubmit;
	j_email();
	submitOK = submitOK & canSubmit;
	
	submitOK = submitOK & canSubmit;
	if(canSubmit==false||submitOK==0)
	{
	alert("输入错误，请检查您的输入！");
	return;
	}
	var d = new Date();
	//注册请求的url变量
	var strURL = "register.ashx?type=2&name="+$("txt_username").value+"&guid=" + d.getTime();
	strURL+="&pass="+$("txt_password").value+"&mail="+$("txt_email").value;
	strURL+="&realname="+escape($("txt_realname").value)+"&check="+$("txt_check").value;
	xmlDom.Open("get",strURL , true);
	
	xmlDom.onreadystatechange = function(){
	  if (xmlDom.readyState == 4 )
	  if(xmlDom.status == 200)
	{
	if(xmlDom.responseText!="0")//注册成功
	    { 
	     $("mytitle").innerHTML="欢迎"+$("txt_username").value+"登录！"+SignOutStr;//出现注销按钮
	     $("main").innerHTML=xmlDom.responseText;//显示登录后的界面
	     SetCookie("login","0",60000);
	     tongxunget(1);//通讯录默认显示好友类的信息
	    }
	else alert("验证码输入错误！");
    $("loadingflag").style.display ='none';
	}
	else
	$("loadingflag").innerHTML = "向服务器请求数据时出现错误!"
	  };
	xmlDom.Send(xmlDom);
	$("loadingflag").style.display ='';

}

//点击注册按钮后 回调的函数，用于显示服务器返回的结果
function fnRun()
{
	if (xmlDom.readyState == 4 && xmlDom.status == 200)//如果请求已经加载并且服务器返回成功
	{
		var str = xmlDom.responseText;
		
		//保存已经查询过的用户名,下次直接返回
	
		
		switch (str)
		{
			case "0"://用户名不符合规则
				$("NameError").innerHTML = "<font color=\"red\">该用户名不符合注册规则,您不可以尝试注册!<font><br>";
				canSubmit = false;
				break;
			case "1"://用户名已经注册
				$("NameError").innerHTML = "<font color=\"red\">对不起,您注册的用户名已经存在!<font><br>";
				canSubmit = false;
				break;
			case "2"://可以注册
				$("NameError").innerHTML = "<font color=\"red\">恭喜您,该用户名无人使用!<font><br>";
				canSubmit = true;
				break;
		}
	}        
}

//用户登录，检测用户名密码是否正确
function login(name,pass)
{     if(name==''||pass=='')
{
  alert("请输入用户名和密码.");
  return ;
}
	var d = new Date();
	var strURL = "login.aspx?type=1&name=" + name +"&pass="+pass+ "&guid=" + d.getTime();
	xmlDom.Open("get",strURL , true);
	xmlDom.onreadystatechange = function()
	{
	if (xmlDom.readyState == 4 &&xmlDom.status == 200)
	{
	if(xmlDom.responseText=="0") //服务器返回0，代表账号密码验证失败
	    {	
	    $("txtname").value=$("txtpassword").value="";
	    alert("用户名或者密码错误,请重新登陆 ！");
	    }
	 else 
	    {//登录成功，显示登录成功页面
	     
	     $("userLogin").innerHTML=  '<table cellpadding="0" cellspacing="0" style="width:100%;">'+
					   "<tr>"+
					   "<td>&nbsp;&nbsp;您好"+name+
					  " </td> "+
					   "</tr>"+
					    "<tr>"+
					   '<td> <a href="CheckOut.aspx">&nbsp;&nbsp;我的定单</a>'+
					   "</td>"+
					   "</tr>"+
					   "<tr>"+
					   '<td> <a href="javascript:signout();">&nbsp;&nbsp;退出</a>'+
					   "</td>"+
					   "</tr>"+
					 "</table>";//出现注销按钮
	   
	    }
	  
	}
	}
	xmlDom.Send(xmlDom);
	
}
function loginB(name,pass)
{  
 var d = new Date();
	var strURL = "login.ashx?type=1&name=" + name +"&pass="+pass+ "&guid=" + d.getTime();
	xmlDom.Open("get",strURL , true);
	xmlDom.onreadystatechange = function()
	{
	if (xmlDom.readyState == 4 &&xmlDom.status == 200)
	{
	if(xmlDom.responseText=="0") //服务器返回0，代表账号密码验证失败
	    {	
	    $("txt_name").value=$("txt_pass").value="";
	    alert("email or password error ！");
	    }
	 else 
	    {//登录成功，显示登录成功页面
	     
	     $("userLogin").innerHTML="<p class='login'> Welcome &nbsp;"+name+" ！"+SignOutStr+"<br><a href='myAccount.aspx' target=_blank > View/Edit My File </a>"+"</p>";//出现注销按钮
	   eval(status=1);
	    
	     $("msgTitle").onclick();
	    }
	  
	}
	}
	xmlDom.Send(xmlDom);

}
//用户注销退出
function signout()
{
	var d = new Date();
	var strURL = "out.aspx?guid=" + d.getTime();
	xmlDom.Open("get",strURL , true);
	xmlDom.onreadystatechange = function()
	{
	if (xmlDom.readyState == 4 &&xmlDom.status == 200)
	    {
	  
	    //注销成功，显示注销后的页面
	    $("userLogin").innerHTML=xmlDom.responseText; 
	    eval(status=0);
	    }
	}
	xmlDom.Send(xmlDom);
	
}

function getUserStatus()
{
   	var d = new Date();
	var strURL = "login.ashx?type=2&name=" + name +"&guid=" + d.getTime();
	xmlDom.Open("get",strURL , true);
	xmlDom.onreadystatechange = function()
	{
	if (xmlDom.readyState == 4 &&xmlDom.status == 200)
	{
	if(xmlDom.responseText=="0")
	    {	
	    eval(status=0);
	    }
	 else 
	    {
	   
	   eval(status=1);
	    }
	  
	}
	}
	xmlDom.Send(xmlDom);
}
function viewChart()
{
 getUserStatus();
   if(status==0)
   {
   FindMessage(event);return;
   }
   window.location.href="CheckOut.aspx";
}
function AddToChart()
{ 
  getUserStatus();
   
var str='';

 for(i=0;i<document.all.tags('input').length;i++)
 {
		if (document.all.tags('input')[i].className== "input"&&document.all.tags('input')[i].checked)
		{
		str+=document.all.tags('input')[i].value+",";
		document.all.tags('input')[i].checked='';
		
		}
		
	
}
var d = new Date();
	var strURL = "Chart.ashx?str=" + str+"&d="+d.getTime();
	xmlDom.Open("get",strURL , true);
	xmlDom.onreadystatechange = function()
	{
	if (xmlDom.readyState == 4 &&xmlDom.status == 200)
	    {
	  
	  alert('aleady add to my favorites');
	    
	    }
	}
	xmlDom.Send(xmlDom);
	str='';
}
function mydelete(id)
{
  var d = new Date();
	var strURL = "Delete.ashx?id=" + id+"&d="+d.getTime();
	xmlDom.Open("get",strURL , true);
	xmlDom.onreadystatechange = function()
	{
	if (xmlDom.readyState == 4 &&xmlDom.status == 200)
	    {
	  
	  return ;
	    
	    }
	}
	xmlDom.Send(xmlDom);
	
}
function  deleteAll()
{
  var d = new Date();
	var strURL = "DeleteAll.ashx?d="+d.getTime();
	xmlDom.Open("get",strURL , true);
	xmlDom.onreadystatechange = function()
	{
	if (xmlDom.readyState == 4 &&xmlDom.status == 200)
	    {
	  
	  return ;
	    
	    }
	}
	xmlDom.Send(xmlDom)
 
}
function checkUseronline()
{
   var d = new Date();
	var strURL = "CheckUser.aspx?d="+d.getTime();
	xmlDom.Open("get",strURL , true);
	xmlDom.onreadystatechange = function()
	{
	if (xmlDom.readyState == 4 &&xmlDom.status == 200)
	    {
	  
	 $("userLogin").innerHTML=xmlDom.responseText; 
	    
	    }
	}
	xmlDom.Send(xmlDom)
}
function showdiv( div)
{
 $(div).style.display='';

}
function hidediv(div)
{
  $(div).style.display='none';
}
function doSerch()
{
  var text=$("txtinput").value;
  var colunid=$("myselect").value;
  if(text==""||colunid=='0')
  {
    alert("请选择要查询的类别,并且输入查询关键字");
    return ;
  }
  window.location.href="serch.aspx?id="+colunid+"&text="+text;
}