var re,name_conf=false,id_conf=false,interval = 80,img_h=77,http_request=false;  
function send_request(obj,url,is_id)//初始化，指定处理函数，发送请求的函数，is_id为1表示是查询商品编号
{	http_request=false;
//开始初始化XMLHttpRequest对象
	if(window.XMLHttpRequest)//Mozilla浏览器
    {	http_request=new XMLHttpRequest();
		if(http_request.overrideMimeType)//设置MIME类别
        	http_request.overrideMimeType("text/xml");
	}
	else if(window.ActiveXObject)//IE浏览器
     {	try{	http_request=new ActiveXObject("Msxml2.XMLHttp");	}
	 	catch(e)
		{	try{	http_request=new ActiveXobject("Microsoft.XMLHttp");	}
			catch(e){}
		}
    }
	if(!http_request)//异常，创建对象实例失败
    {	notice_dialog('hello',"创建XMLHttp对象失败！");	return false;	}
	http_request.onreadystatechange= function()  //如果执行是状态正常，那么就把返回的内容赋值给上面指定的层
	{   if (http_request.readyState == 4 && http_request.status == 200)
   		{	if(http_request.responseText.indexOf('0') > -1)
			{	if(is_id==1)
				{	display_error_info(obj,'此编号已存在！');	id_conf = false;	}
				else
				{	display_error_info(obj,'此名称已被注册，请更换其他名称！');	name_conf = false;	}
			}else
			{	if(is_id==1)
				{	display_correct_info(obj,'<b>(&radic;)</b>　此编号尚未使用，可以使用！');	id_conf = true;	}
				else
				{	display_correct_info(obj,'<b>(&radic;)</b>　此名称尚未使用，可以注册！');	name_conf = true;	}
			}
		}
	}
	http_request.open("GET",url,true);
	http_request.send(null);
}

function animate(id) 
{	fl=document.getElementById(id).style
	fl.left =document.body.scrollLeft; 
	fl.top =document.body.clientHeight+document.body.scrollTop-img_h; 
}

function make_new() {setInterval("animate('buy')",interval); } 

function tohex(dec)
{	hexchars="0123456789abcdef";	result=hexchars.charAt(dec%16);		return result;}

function RndNum(n)//生成n位随机数，每个随机数都在0~15之间，再通过tohex函数将其转换为16进制，做为校验码
{	var rnd="";
	for(var i=0;i<n;i++)
		rnd+=tohex(Math.floor(Math.random()*15));
	return rnd;
}

function display_notice(obj,s,color)
{	disp=eval(obj.name+'_info');  	
	if(disp)	
	{	disp.className="bg_color_light_yellow";
		if(color=='green')	f="font_color_green";
		else	f="font_color_gray";
		disp.innerHTML="<font class="+f+">　"+s+"</font>";	}
}

function display_general(obj,s)
{	disp=eval(obj.name+'_info');  	
	if(disp)	
	{	disp.className="notice_info";
		disp.innerHTML="<font class='font_color_gray'>"+s+"</font>";	}
}

function display_error_info(obj,s)
{	disp=eval(obj.name+'_info');  	
	if(disp)	
	{	disp.className="bg_color_pink";
		disp.innerHTML="<font class='font_color_red'>　<b>(&times;)</b>　"+s+"</font>";	}
}

function display_correct_info(obj,s)
{	disp=eval(obj.name+'_info');	 	
	if(disp)	
	{	disp.className="bg_color_white_yellow";
		disp.innerHTML="<font class='font_color_green'>　"+(s?s:'<b>(&radic;)</b>')+"　</font>";}
}

function is_null(obj,s,getfocus)//0显示信息但不获得焦点，1获得焦点，2显示alert信息获得焦点
{	if(obj.value=="")	
	{	if(getfocus=='2')	notice_dialog('hello',s);
		else	display_error_info(obj,s);
		if(getfocus)	obj.focus();	
		return true;		
	}return false;
}

function is_null_txtarea(obj,s)
{	if(obj.value.replace(/\r\n/g,'').replace(/ /g,'')=="")	
	{	notice_dialog('hello',s);		obj.focus();	return true;		}
	else return false;
}

function valid_length(obj,s,l,getfocus)
{	if(obj.value.length!=l)
	{	display_error_info(obj,s);	
		if(getfocus)	{	obj.focus();   obj.select();	}
		return false;		
	}return true;
}

function valid_length_range(obj,s,l,b,getfocus)//getfoucus为0时仅显示出错信息，为1时显示出错信息并获得焦点，为2时出alert提示窗口
{	if(obj.value.length<l||obj.value.length>b)
	{	if(s)
		{	if(getfocus!=2)		display_error_info(obj,s);
			else	{	notice_dialog('hello',s);	obj.focus();	obj.select();	}
		}if(getfocus)	{	obj.focus();   obj.select();	}
		return false;		}	
	return true;
}

function valid_reg(obj,re_exp,s,getfocus)//getfoucus为0时仅显示出错信息，为1时显示出错信息并获得焦点，为2时出alert提示窗口
{	re=new RegExp(re_exp);
	is_valid=re.test(obj.value);
	if(!is_valid)
	{	if(s)
		{	if(getfocus!=2)		display_error_info(obj,s);
			else	{	notice_dialog('hello',s);	obj.focus();	obj.select();	}
		}if(getfocus)	{	obj.focus();   obj.select();	}
		return false;
	}return true;
}

function valid_name(obj,s1,getfocus,url,no_check)//检查名字是否为空，输入格式是否是以汉字或字母开头，后面是否都是汉字、字母或数字及下划线，以及名字的长度
//no_check是否到数据库中查询该名称，1为否
{	if(is_null(obj,s1,getfocus))		return false;
	else
	{	if(valid_length_range(obj,"名称的长度不正确！限长：2~20位。",2,20,getfocus))
		{	if(valid_reg(obj,'^[a-zA-Z\\u4e00-\\u9fa5][\\w\\u4e00-\\u9fa5]+$',"限长2~20位，只含(汉)字母、数字、下划线，以(汉)字母开头。",getfocus))
			{	if(!no_check&&!name_conf)
				{	display_notice(obj,"正在检测用户名是否可用……",'green');
					send_request(obj,url+obj.value);
				}else {	display_correct_info(obj);	return true;	}
			}else	return false;
		}else 	return false;
	}
}

function valid_passwd(obj1,obj2,getfocus,passwd2)//检查密码是否有效,getfocus为0时仅显示出错信息，为1时显示信息并获得焦点，为2时显示alert对话框，passwd2为1时确认密码显示出错信息
{	if(!passwd2)
	{	if(is_null(obj1,"请输入您的密码！",getfocus))	return false;
		if(!valid_length_range(obj1,"请输入正确的密码，长度必须为6~12位!",6,12,getfocus))	return false;
		display_correct_info(obj1);
	}if(is_null(obj2,"请输入您的验证密码！",getfocus))	return false;
	if(obj1.value!=obj2.value)
	{	display_error_info(obj2,"密码与上次输入的密码不符，请重新输入！");	
		if(getfocus)	{	obj1.focus();   obj1.select();	}
		return false;
	}display_correct_info(obj2);
	return true;
}

function valid_email(obj,getfocus)//检验email地址是否有效
{	if(is_null(obj,"请输入您的E-mail地址！",getfocus))	return false;
	else
	{	if(valid_length_range(obj,"E-mail地址的长度不正确！",7,40,getfocus))
		{	if(valid_reg(obj,'^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$',"您输入的E-mail地址不正确！",getfocus))
			{	if(getfocus!=2)		display_correct_info(obj);
				return true;	
			}else	return false;	
		}else	return false;
	}
}

function valid_address(obj,zip_obj,s,getfocus,get_add)//get_add为0表示地址不是必须的，为1表示必须。
{	had=0;
	if(!is_null(obj,s,getfocus))	had=1;	
	if(get_add)
	{	if(!had)		return false;
		display_correct_info(obj);
	}if(obj.value!=''&&zip_obj.value=='')
	{	display_error_info(zip_obj,'请输入地址的邮编号码！');	
		if(get_add)	zip_obj.focus();	
		return false;	
	}if(!get_add)
	{	if(had)	display_correct_info(obj);
		else	display_general(obj,s)
	}return true;
}

function valid_zip(add_obj,obj,getfocus,get_zip)//检验邮编是否有效.get_zip为0表示邮编不是必须的，为1表示必须。
{	if(add_obj.value!=''&&obj.value=='')
	{	display_error_info(obj,'请输入地址的邮编号码。');	return false;}
	if(obj.value!="")
	{	if(valid_length(obj,"请输入6位邮编数字",6,getfocus))    
		{	if(!valid_reg(obj,'^[1-9]\\d{5}',"邮编填写不正确！",getfocus))	return false;
			else{	display_correct_info(obj);	return true;	}
		}else return false;
	}if(get_zip)	{	display_error_info(obj,'请输入6位邮政编码。');	return false;	}
	display_general(obj,'邮编为6位数字')
	return true;
}

function valid_phone(obj,getfocus)	//匹配国内电话号码：0\d{2}-|0\d{3}-)?(\d{8}|\d{7})
{	if((obj.phone_region.value==""&&obj.phone_code.value!="")||(obj.phone_region.value!=""))
	{	if(valid_length_range(obj.phone_region,'',2,3,getfocus))
		{	if(!valid_reg(obj.phone_region,'^[1-9](\\d{1}|\\d{2})',"您输入的区号不正确！",getfocus))	return false;	}
		else
		{	display_error_info(obj.phone,"您输入的区号长度不正确！");	return false;	}
	}if((obj.phone_region.value!=""&&obj.phone_code.value=="")||(obj.phone_code.value!=""))
	{	if(valid_length_range(obj.phone_code,"",7,8,getfocus))
		{	if(!valid_reg(obj.phone_code,'^[1-9](\\d{7}|\\d{6})',"您输入的电话号码不正确！",getfocus))	return false;	}
		else
		{	display_error_info(obj.phone,"您输入的电话号码长度不正确！");	return false;	}
	}if(obj.phone_region.value==""&&obj.phone_code.value=="")
		display_general(obj.phone,'输入格式示例：010-12345678　或　0595-87654321。请勿填写需要分机转入的电话号码！');
	else	display_correct_info(obj.phone);
	return true;
}

function valid_mobile(obj,getfocus)//检查手机号是否有效
{	if(obj.value!="")
	{	if(valid_length(obj,"请输入11位的移动电话号码",11,getfocus))
		{	if (!valid_reg(obj,'^[1]\\d{10}',"移动电话号码填写不正确！",getfocus))	return false;	
			else{	display_correct_info(obj);	return true;	}
		}else return false;
	}display_general(obj,'请输入11位的移动电话号码。')
	return true;
}

function valid_verf(obj,hverf,getfocus)//检验校验码是否输入正确
{	if(is_null(obj,"请输入验证码！",getfocus))	return false;
	if(obj.value!=hverf)
	{	display_error_info(obj,'验证码输入错误，请重新输入！');
		if(getfocus)	{	obj.focus();	  obj.select();		}
		return false;		
	}else{	display_correct_info(obj);	return true;	}
}

function valid_tea_id(obj,getfocus,url,no_check)
//检查茶叶编号是否为空，输入格式是否正确，no_check是否到数据库中查询该编号，1为否
{	if(is_null(obj,"请输入商品编号，茶叶12位，名家紫砂8位，茶具10位!",getfocus))	return false;
	if(obj.value.substr(0,1)<8)
	{	if(valid_length(obj,"茶叶编号必须是12位数字!",12,getfocus))
		{	re='^\\d{12}';	s="茶叶编号必须是12位数字!";	}
		else 	return false;  	
	}else if(obj.value.substr(0,1)==8)
	{	if(valid_length(obj,"名家紫砂类商品编号是8位数字!",8,getfocus))	//	re=/\d{8}/;
		{	re='^\\d{8}';	s="名家紫砂类商品编号是8位数字!";	}
		else	return false;		
	}else if(obj.value.substr(0,1)==9)
	{	if(valid_length(obj,"茶具类商品编号是10位数字!",10,getfocus))	//	re=/\d{8}/;
		{	re='^\\d{10}';	s="茶具类商品编号是10位数字!";	}
		else	return false;		
	}if (!valid_reg(obj,re,s,getfocus))	return false;	
	else
	{	if(!no_check&&!id_conf)
		{	display_notice(obj,"正在检测编号是否重复……",'green');
			send_request(obj,url+obj.value,1);
		}else{	display_correct_info(obj);	return true;	}
	}
}

function valid_cat_id(obj,getfocus)
{	if(is_null(obj,"请输入商品分类号!",getfocus))		return false;
	if(valid_length_range(obj,"商品分类号必须是1~3位的数字！",1,3,getfocus))
	{	if (!valid_reg(obj,'^\\d{1,3}',"商品分类号必须是1~3位的数字！",getfocus))	return false;	
		else{	display_correct_info(obj);	return true;	}
	}else 	return false;  	
}

function valid_cult_id(obj,getfocus)
{	if(is_null(obj,"请输入文章编号!",getfocus))		return false;	
	if(valid_length_range(obj,"文章编号必须是2~5位的数字！",2,5,getfocus))
	{	if (!valid_reg(obj,'^\\d{2,5}',"文章编号必须是2~5位的数字！",getfocus))	return false;	
		else{	display_correct_info(obj);	return true;	}
	}else 	return false;  	
}

function valid_menu_id(obj,getfocus)
{	if(is_null(obj,"请输入菜单编号!",getfocus))		return false;
	if(valid_length_range(obj,"菜单编号长度不能大于2位！",1,2,getfocus))//	re=/\d{1,2}/;
	{	if (!valid_reg(obj,'^\\d{1,2}',"菜单编号必须是1~2位的数字！",getfocus))		return false;	
		else{	display_correct_info(obj);	return true;	}
	}else 	return false;  	
}

function valid_dept(obj,getfocus)
{	if(is_null(obj,"请输入4位部门编号!",getfocus))	return false;
	if(valid_length(obj,"部门编号必须是4位数字!",4,getfocus))	//	re=/\d{4}/;
	{	if (!valid_reg(obj,'^\\d{4}',"部门编号必须是4位数字！",getfocus))	return false;	
		else{	display_correct_info(obj);	return true;	}
	}else 	return false;  	
}

function time_format(obj,getfocus,id)
{	if(valid_reg(obj,'^\\d{2}-[01]\\d-[0-3]\\d'+(id?'':'$'),"您输入的日期格式不正确！",getfocus))
	{	year=parseInt(obj.value.substr(0,2),10);
		month=parseInt(obj.value.substr(3,2),10);	
		day=parseInt(obj.value.substr(6,2),10);
		if(month>12||month<1||day<1||day>day_length(year,month))
		{	display_error_info(obj,'日期输入错误，请重新输入！');
			if(getfocus)	{	obj.focus();	  obj.select();		}
			return false;		
		}display_correct_info(obj);	return true;	
	}else	return false;	
}

function valid_time(start_obj,fin_obj,getfocus)
{	if(is_null(start_obj,"请输入起始日期。",getfocus))	return false;
	if(!time_format(start_obj,getfocus,0))		return false;
	if(is_null(fin_obj,"请输入结束日期。",getfocus))	return false;
	if(!time_format(fin_obj,getfocus,0))		return false;
	if(parseInt(start_obj.value.substr(0,2),10)<parseInt(fin_obj.value.substr(0,2),10))
	{	display_correct_info(fin_obj);	return true;	}
	else if(parseInt(start_obj.value.substr(0,2),10)==parseInt(fin_obj.value.substr(0,2),10))
	{	if(parseInt(start_obj.value.substr(3,2),10)<parseInt(fin_obj.value.substr(3,2),10))
		{	display_correct_info(fin_obj);	return true;	}
		else if(parseInt(start_obj.value.substr(3,2),10)==parseInt(fin_obj.value.substr(3,2),10))
		{	if(parseInt(start_obj.value.substr(6,2),10)<parseInt(fin_obj.value.substr(6,2),10))
			{	display_correct_info(fin_obj);	return true;	}
		}
	}display_error_info(fin_obj,"结束日期不应早于起始日期！");	
	if(getfocus)	{	start_obj.focus();   start_obj.select();	}
	return false;
}

function valid_oid(obj,s)
{	if(obj.value)
	{	if(!time_format(obj,0,1))		return false;
		if(valid_reg(obj,'^\\d{2}-\\d{2}-\\d{2}-\\d{3}$',"您输入的订单格式不正确！",0))
		{	display_correct_info(obj);	return true;	}
		else return false;
	}
}

function day_length(year,month)
{	if(month==2)
	{	if(year%400==0 ||(year%4==0 && year%100!=0))	return 29;
		else	return 28;		
	}else if(month==4||month==6||month==9||month==11)	return 30;
	else return 31;
}

function day_length_change(year,month,day)
{	old_length=day.options.length;
	day.options.length=day_length(year.options[year.selectedIndex].value,month.options[month.selectedIndex].value);
	diff=old_length-day.options.length;
	if(diff<0)
	{	if(old_length==30)		day.options[30]=new Option(31,31);
		else if(old_length==28)
		{	day.options[28]=new Option(29,29);	day.options[29]=new Option(30,30);
			day.options[30]=new Option(31,31);	}
		else
		{	day.options[29]=new Option(30,30);	day.options[30]=new Option(31,31);	}
	}
}

function valid_price(obj,s1,getfocus,no_zero,no_price)//getfoucus为0时仅显示出错信息，为1时显示出错信息并获得焦点，为2时出alert提示窗口。no_price为1表示价格不是必须的，为0表示必须。no_zero为1表示价格不能等于0
{	if(!no_price&&is_null(obj,s1,getfocus))		return false;
	if(valid_reg(obj,'((^\\d)|(^[1-9]\\d*))($|(\\.\\d{0,2}$))',"输入的价格格式不正确，请重新输入！",getfocus))
	{	if(no_zero&&parseFloat(obj.value)==0)
		{	display_error_info(obj,'价格不能为0值！');	return false;	}
		if(getfocus!=2)		display_correct_info(obj);
		return true;
	}return false;
}

function valid_qty(u,obj)
{	if(u==1)
	{	if(valid_reg(obj,'((^\\d)|(^[1-9]\\d*))($|(\\.\\d{0,1}$))','“数量”只能是整数或带一位小数的实数！',2))	return true
		else 	return false
	}else
	{	if(valid_reg(obj,'^\\d*$','"数量"只能输入整数！',2))	return true
		else return false
	}
}

function get_focus(obj)
{   window.setTimeout(obj,1);   }

function resize_cont_height()
{	cont_height=window.screen.availHeight-471;
	document.getElementById('content_tb').height=cont_height;
/*	window.moveBy(0,0);
	window.resizeTo(window.screen.availWidth,window.screen.availHeight)*/
} 

function jump_next(from_obj,to_obj,num)//13为回车键，9为TAB键，16为SHIFT＋TAB键
{	if(from_obj.name=='id')		num=from_obj.value.substr(0,1)<8?12:from_obj.value.substr(0,1);
	if(window.event.keyCode==13||(from_obj.value.length==num&&window.event.keyCode!=9&&window.event.keyCode!=16))
	{	to_obj.focus();	to_obj.select();}
}

function verify()
{	var rndnum = RndNum(4);		
	document.write('<img src='+chemin+'inc/verf_code.php?&id=' + rndnum +'" alt="'+rndnum+'">');
	return rndnum;
}

function upload_file(obj)
{	disp=eval(obj.name+'_div');
	if(obj.checked)		
	{	disp.style.display="block";	obj.value='1';	}
	else	
	{	disp.style.display="none";	obj.value='0';	}
}

function display_sub_cat(id,n)
{	for(i=1;i<=n;i++)
	{	t_tr=eval("cat_code"+i);
		if(i==id)		t_tr.style.display="block";
		else if(t_tr.style.display=="block")		t_tr.style.display="none";
	}
}

function del_conf()
{	if(confirm("您确认该操作？"))	return true;
	return false;
}