function $()
{
    return document.getElementById(arguments[0]);
}

var AjaxRequest=function(url,ajaxOptions)
{
	this.XmlHttpGetMessages=this.CreateXmlHttpRequestObject();
	this.Url=url;
	this.AjaxOptions=ajaxOptions;
	this.Exist=false;
}

AjaxRequest.prototype.Create=function()
{	
	this.RequestMessage();
}

AjaxRequest.prototype.RequestMessage=function()
{
	var oThis=this;
	if(this.XmlHttpGetMessages)
	{
		try
		{

			if(this.XmlHttpGetMessages.readyState==4||this.XmlHttpGetMessages.readyState==0)
			{

				if(this.AjaxOptions.parameters)
					this.Url+="?"+this.AjaxOptions.parameters;
				if(this.AjaxOptions.method.toLowerCase()=="get")
				{
					this.XmlHttpGetMessages.open(this.AjaxOptions.method,this.Url,true);
					this.XmlHttpGetMessages.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
					this.XmlHttpGetMessages.onreadystatechange=function(){oThis.HandleReceivingMessages();};
					this.XmlHttpGetMessages.send(null);
				}
				else
				{
					this.XmlHttpGetMessages.open(this.AjaxOptions.method,this.Url,true);
					this.XmlHttpGetMessages.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
					this.XmlHttpGetMessages.onreadystatechange=function(){oThis.HandleReceivingMessages();};
					this.XmlHttpGetMessages.send(this.AjaxOptions.parameters);
				}
			}
			else
			{
				setTimeout("AjaxRequest.RequestMessage();",0.5);
			}
		}
		catch (e)
		{
			document.write(e.toString());
		}
	}
}

AjaxRequest.prototype.HandleReceivingMessages=function()
{
	if(this.XmlHttpGetMessages.readyState==4)
	{
		if(this.XmlHttpGetMessages.status==200)
		{
			try
			{
				this.AjaxOptions.onComplete.call(this,this.XmlHttpGetMessages);
			}
			catch (e)
			{		
				document.write(e.toString());
			}
		}
		else
		{
			alert(this.XmlHttpGetMessages.statusText+" try again.");
		}
	}
}

AjaxRequest.prototype.CreateXmlHttpRequestObject=function()
{
	
	var xmlHttp;
	if(window.ActiveXObject)
	{
		try
		{				
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (e)
		{
			
			xmlHttp=false;
		}
	}
	else
	{
		try
		{
			xmlHttp=new XMLHttpRequest();
		}
		catch (e)
		{
			xmlHttp=false;
		}
	}

	if(!xmlHttp)
		alert("error");
	else
		return xmlHttp;
}

function InitAjax()
{
　var ajax=false; 
　try { 
　　ajax = new ActiveXObject("Msxml2.XMLHTTP"); 
　} catch (e) { 
　　try { 
　　　ajax = new ActiveXObject("Microsoft.XMLHTTP"); 
　　} catch (E) { 
　　　ajax = false; 
　　} 
　}
　if (!ajax && typeof XMLHttpRequest!='undefined') { 
　　ajax = new XMLHttpRequest(); 
　} 
　return ajax;
}

function getinfo(id,url)
{
　
　var show = document.getElementById(id); 
　var ajax = InitAjax();

　ajax.open("GET", url, true); 

　ajax.onreadystatechange = function() { 
　
　　if (ajax.readyState == 4 && ajax.status == 200) { 
　　　show.innerHTML = ajax.responseText; 
　　} 
	/*else{
            show.innerHTML = " connection error!"; 
       }*/ 
　}
　　ajax.send(null); 
}

function limit_image(ImgD,iwidth,iheight)
{
	var flag=false;
	var image=new Image();
	if(!iwidth)
		iwidth = 100;
	if(!iheight)
		iheight = 80;
	image.src=ImgD.src;
	if(image.width>0 && image.height>0){
	flag=true;
	if(image.width/image.height>= iwidth/iheight){
	if(image.width>iwidth){ 
		ImgD.style.width = iwidth + "px";
		ImgD.style.height=Math.floor((image.height*iwidth)/image.width) + "px";
	}else{
		ImgD.style.width = image.width + "px"; 
		ImgD.style.height = image.height + "px";
	}

	}
	else{
	if(image.height>iheight){ 
		ImgD.style.height=iheight + "px";
	ImgD.style.width=Math.floor((image.width*iheight)/image.height) + "px"; 
	}else{
		ImgD.style.width = image.width + "px"; 
		ImgD.style.height = image.height + "px";
	}
	}
	}
}


function UrlEncode(str){
	var m="",sp="!'()*-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~"
	for(var i=0;i<str.length;i++){
		if(sp.indexOf(str.charAt(i))!=-1){
			m+=str.charAt(i)	
		}else{
			var n=str.charCodeAt(i)
			var t="0"+n.toString(8)
			if(n>0x7ff)
				m+=("%"+(224+parseInt(t.slice(-6,-4),8)).toString(16)+"%"+(128+parseInt(t.slice(-4,-2),8)).toString(16)+"%"+(128+parseInt(t.slice(-2),8)).toString(16)).toUpperCase()
			else if(n>0x7f)
				m+=("%"+(192+parseInt(t.slice(-4,-2),8)).toString(16)+"%"+(128+parseInt(t.slice(-2),8)).toString(16)).toUpperCase()
			else
				m+=("%"+("0"+n.toString(16)).slice(-2)).toUpperCase()
		}
	}
	return m;
}

/**去掉前后空格*/
String.prototype.trim=function()
{
	return this.replace(/(^\s*)|(\s*$)/g,'');
}

//把全角数字转成半角数字
function tot(mobnumber)
{
	while(mobnumber.indexOf("０")!=-1){
		mobnumber = mobnumber.replaceAll("０","0");        
		}
	while(mobnumber.indexOf("１")!=-1){
		mobnumber = mobnumber.replaceAll("１","1");
		}
	while(mobnumber.indexOf("２")!=-1){
		mobnumber = mobnumber.replaceAll("２","2");
		}
	while(mobnumber.indexOf("３")!=-1){
		mobnumber = mobnumber.replaceAll("３","3");
		}
	while(mobnumber.indexOf("４")!=-1){
		mobnumber = mobnumber.replaceAll("４","4");
		}
	while(mobnumber.indexOf("５")!=-1){
		mobnumber = mobnumber.replaceAll("５","5");
		}
	while(mobnumber.indexOf("６")!=-1){
		mobnumber = mobnumber.replaceAll("６","6");
		}
	while(mobnumber.indexOf("７")!=-1){
		mobnumber = mobnumber.replaceAll("７","7");
		}
	while(mobnumber.indexOf("８")!=-1){             
		mobnumber = mobnumber.replaceAll("８","8");
		}
	while(mobnumber.indexOf("９")!=-1){
		mobnumber = mobnumber.replaceAll("９","9");
		}
	return mobnumber;
}
/*
function is_price(string)
{
	var pattern=/^[0-9]{1,}$/;
	return pattern.test(string);
}

function is_num(string)
{
	var pattern=/^[0-9]+$/;
	return pattern.test(string);
}
*/
function htmlEncode(text)
{
  return text.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
}

function str_trim( text )
{
  if (typeof(text) == "string")
  {
    return text.replace(/^\s*|\s*$/g, "");
  }
  else
  {
    return text;
  }
}

function is_empty( val )
{
  switch (typeof(val))
  {
    case 'string':
	  val = str_trim(val);
      return val.length == 0 ? true : false;
      break;
    case 'number':
      return val == 0;
      break;
    case 'object':
      return val == null;
      break;
    case 'array':
      return val.length == 0;
      break;
    default:
      return true;
  }
}

function is_number(val)
{
  var reg = /^[\d|\.|,]+$/;
  return reg.test(val);
}
function is_int(val)
{
  var reg = /^[-\+]?\d+$/;
  return reg.test(val);
}
function is_double(val)
{
  var reg = /^[-\+]?\d+(\.\d+)?$/;
  return reg.test(val);
}
function is_currency(val)
{
  var reg = /^\d+(\.\d+)?$/;
  return reg.test(val);
}
function is_safe(val)//安全字符串
{
  var reg = /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/;
  return reg.test(val);
}
function is_email( email )
{
  //var reg1 = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
  var reg1 = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+$/;
  return reg1.test( email );
}
function is_url( url )
{
  var reg1 = /^(\w{3,6}:\/\/)?\w+([-.]\w+)*\.\w+[\/=\?%\-&_~`@\[\]\':+!]*([^<>\"\"])*$/;
  return reg1.test( url );
}
function is_character ( val )
{
  var reg = /^[A-Za-z\u4E00-\u9FA5]+$/; //中文字与英文字符
  return reg.test( val );
}
function is_chinese ( val )
{
  //var reg = /^[\u0391-\uFFE5]+$/; //
  var reg = /^[\u4E00-\u9FA5]+$/; //
  return reg.test( val );
}
function is_english ( val )
{
  var reg = /^[A-Za-z]+$/; //
  return reg.test( val );
}
function is_phone ( tel )
{
  var reg = /^[\d|\-|\s]{6,}$/;
  //var reg = /^((0086|86)([- ]{1})?|(\((0086|86)\)))?((\d{3,4})|(\(\d{3,4}\)))([- ])?[1-9]\d{6,7}$/
  return reg.test( tel );
}
function is_mobile ( mobile )
{
  var reg = /^[\d|\s]{11}$/;
  //var reg = /^((0086|86)([- ]{1})?|(\((0086|86)\)))?(0)?(13|15)\d{9}$/; //
  return reg.test( mobile );
}
function is_id_card ( idcard )
{
  var reg = /^\d{6}(19|20)\d{2}[01]\d{1}(([012]\d{1})|3[01])\d{3}[a-zA-Z0-9]$/; 
  return reg.test( idcard );
}
function is_zip ( zip )
{
  var reg = /^[1-9]\d{5}$/; 
  return reg.test( zip );
}
function is_qq ( qq )
{
  var reg = /^[1-9]\d{4,8}$/; 
  return reg.test( qq );
}
function is_date(val)
{
  var reg = /^\d{4}-\d{2}-\d{2}$/;
  return reg.test(val);
}
function is_time(val)
{
  var reg = /^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}$/;
  return reg.test(val);
}
function is_match(val,reg)
{
  //var reg1 = new RegExp(reg,"g");
  return reg.test(val);
}
function is_password(val)
{
  var reg = /^.{6,20}$/;
  return reg.test(val);
}

function is_nickname(val)
{
  //var reg = /^[\u4e00-\u9fa5_a-zA-Z0-9]{2,15}$/;
  var reg = /^[_a-zA-Z0-9]{3,20}$/;
  return reg.test(val);
}

function is_verify(val)
{
  var reg = /^\d{4}$/;
  return reg.test(val);
}

function change_title()
{
	//alert('.....');
	var t = document.title;
	if (t.substring(0,5)!= '购物车提示')
		document.title = '购物车提示 ' + t;
	else
		document.title = t.replace('购物车提示 ', '');
}

var s_t_timer;
function getMsg()
{
	try{
		divTop = parseInt($("eMeng").style.top, 10);
		divLeft = parseInt($("eMeng").style.left, 10);
		docWidth = document.documentElement.clientWidth;
		docHeight = document.documentElement.clientHeight;
		$("eMeng").style.top = parseInt(document.documentElement.scrollTop, 10) + docHeight + 10 + 'px';// divHeight

		$("eMeng").style.left = parseInt(document.documentElement.scrollLeft, 10) + docWidth - divWidth + 'px';
		$("eMeng").style.visibility='visible';
		$("eMeng").style.display="block";
		objTimer = window.setInterval(moveDiv, 10);
		if (document.all)
		{
			s_t_timer = setInterval(change_title, 1500);
		}
	} catch(e) {
	}
}

/**
 * 用于设置判断信息框停留时间, 以及窗口大小或位置改变时信息框的位置设置
 */
function resizeDiv()
{
	t_i += 1; // 用于保存计算信息框停留的时间
	if (t_i > 1300) {
		closeDiv(); // 客户想不用自动消失由用户来自己关闭所以屏蔽这句
	}
	try{ // 此代码仅当在窗口变化时可起作用, 而不使信息框消失等...
		docWidth = document.documentElement.clientWidth;
		docHeight = document.documentElement.clientHeight;

		$("eMeng").style.top = docHeight - divHeight + parseInt(document.documentElement.scrollTop, 10) + 'px';
		$("eMeng").style.left = docWidth - divWidth + parseInt(document.body.scrollLeft, 10) + 'px';
	} catch(e) {
	}
}

/**
 * 控制窗口渐渐上升显示
 */
function moveDiv()
{
	h_i++;
	try {
		if(h_i > divHeight+10) {
			window.clearInterval(objTimer);
			//objTimer = window.setInterval("resizeDiv()", 1);
		}
		divTop = parseInt($("eMeng").style.top, 10);
		$("eMeng").style.top = divTop - 1 + 'px';
	} catch (e){
	}
}

/**
 * 关闭信息框
 */
function closeDiv()
{
	$('eMeng').style.display = 'none';
	if (objTimer) {
		window.clearInterval(objTimer);
	}
	if (s_t_timer)
		window.clearInterval(s_t_timer);
}

function format_money(tmp)
{   
  var tmp2=tmp.split(".");
  tmp = tmp2[0];
  var tmp3=tmp2[1];
  if(typeof(tmp3)=="undefined")
  	tmp3="00";
  var tmp1=Math.round((tmp3/Math.pow(10,tmp3.length))*100)
  tmp1=tmp1.toString()
  if(tmp1.length==1)
  	tmp1="0"+tmp1
  
  var   signa=0
  var   ll=tmp.length
  if   (ll%3==1){
  tmp="00"+tmp
  signa=2
  }
  if(ll%3==2){
  tmp="0"+tmp
  signa=1
  }
  var   tt=(tmp.length)/3
  var   mm=new   Array()
  for   (var   i=0;i<tt;i++){
  mm[i]=tmp.substring(i*3,3+i*3)
  }

  var   vv=""
  for(var   i=0;i<mm.length;i++)
  vv+=mm[i]+","


  vv=vv.substring(signa,vv.length-1)+"."+tmp1
  return vv;
}

function check_search(obj)
{
	if (obj.search_type.selectedIndex == 0)
		obj.action = 'shop.php';
	else
		obj.action = 'huodong.php';
	if (obj.keyword.value == '请输入关键字...')
		obj.keyword.value = '';
	return true;
}

var v_i_c = 0;
function change_verify_img()
{
	$('verify_img').src = '/includes/authimg.php?vid=' + v_i_c;
	v_i_c++;
}

var pause_op = '';
function show_mask(p, un, uid)
{
	pause_op = p;

	var x = $('div_mask');
	x.style.width = document.body.scrollWidth + 'px';
	x.style.height = document.body.scrollHeight + 'px';
	if (document.all)
	{
		x.style.filter = "alpha(opacity=50)";
	}
	else
	{
		x.style.opacity = 0.5;
	}
	x.style.display = 'block';
	if (p != '6')
		var y = $('div_pop');
	else
		var y = $('div_send_msg');
	y.style.display = 'block';
	y.style.top = screen.availHeight/2 + document.documentElement.scrollTop - 110 + 'px';
	y.style.left = screen.availWidth/2 + document.documentElement.scrollLeft - 150 + 'px';
	if (p != '6')
		document.pop_frm.email.focus();
	else
	{
		document.send_msg_frm.msg_title.focus();
		document.send_msg_frm.receiver.value = uid;
		$('sp_user').innerHTML = un;
	}
}

function hide_mask()
{
	$('div_mask').style.display = 'none';
	$('div_pop').style.display = 'none';
	$('div_send_msg').style.display = 'none';
	if (pause_op == '3' || pause_op == '5')
	{
		$('my_submit').disabled = false;
	}
	else if (pause_op == '6' || pause_op == '7')
	{
		document.send_msg_frm.btn_submit.disabled = false;
	}
}

function check_login(obj)
{
	if (!is_nickname(obj.email.value))
	{
		alert('请输入正确的用户名!');
		obj.email.focus();
		return false;
	}
	if (!is_password(obj.password.value))
	{
		alert('请输入正确的密码!');
		obj.password.focus();
		return false;
	}
	if (!is_verify(obj.verify.value))
	{
		alert('请输入正确的验证码!');
		obj.verify.focus();
		return false;
	}
	return true;
}

function login_success(msg, p)
{
	$('login_v').value = '1';

	switch (p) {
		case '0':
			location.replace(msg);
			break;
		case '1':
			add_goods();
			break;
		case '2':
			collect_goods();
			break;
		case '3':
			document.form1.submit();
			break;
		case '4':
			$('hidFrame').src = $('hidFrame').src;
			break;
		case '5':
			document.form1.submit();
			break;
		case '7':
			document.send_msg_frm.submit();
			break;
		default:
			location.replace(msg);
	}
	
	var patn = /^\d+$/;
	if (patn.test(p))
		get_login_info();
	
	hide_mask();
}

function ajax_loginout()
{
	$('login_v').value = '0';
	$('hidFrame').src = '/login.php?act=ajax_out';
}

function get_login_info()
{
	if ($('in_member_center'))
	{
		location.replace('/login.php');	
		return;
	}
	var url="/ajax_data.php";
	var pars="act=login_info";
	var ajax=new AjaxRequest(url,{method:"get",parameters:pars,onComplete:ajax_login_info});
	ajax.Create();
}

function ajax_login_info(a)
{
	$('sp_login_info').innerHTML = a.responseText;
}

function login_fail(msg)
{
	alert(msg);
	$('my_submit').disabled = false;
}

/*
function is_login(url_last,url_exe='',sc=false,win_mode=0)	//wm:0-location,1-open,2-iframe
{
	if ($('login_v').value == '0')
	{
		if (sc)
		{
			if (confirm('必须登录后才能使用该功能,现在就转到登录页吗?'))
			{
			
			}
			
		}
	}
	else
	{
		
	}
}*/

function rank_hover(i)
{
	$('star_rating').style.background = 'url(../images/star_' + i + '.gif) no-repeat top';
}

function rank_click(i)
{
	//$('star_rating').style.background = 'url(../images/star_' + i + '.gif) no-repeat top';
	$('comment_rank').value = i;
}

function reset_rank()
{
	$('star_rating').style.background = 'url(../images/star_' + $('comment_rank').value + '.gif) no-repeat top';
}

var js_load_complete = true;
