var xmlHttp = false;
try
{
	xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
	try
	{
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch (e2)
	{
		xmlHttp = false;
	}
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined')
{
	xmlHttp = new XMLHttpRequest();
}

function open_mm(url, name, features, width, height, is_center)
{
	if(window.screen)
	{
		if(is_center=="true")
		{
			var left = (screen.width-width)/2;
			var top = (screen.height-height)/2;
			features+=(features!='')?',':'';
			features+=',left='+left+',top='+top;
		}

	}
	window.open(url, name, features+((features!='')?',':'')+'width='+width+', height='+height);
}


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;
}



function authcode()
{
	$('auth_code_img').src = "?/common/authcode-sid-" + Math.random() + ".html'";
}

function $w(i)
{
	document.write(info_msg[i]);
}


function on_focus(i)
{
	$("box"+i).className = "focus";
	$("box"+i).innerHTML = info_msg[i];
}

function on_blur(i)
{
	$("box"+i).className = "default";
	$("box"+i).innerHTML = info_msg[i];
}


//字符处理;
//去左右空格; 
function trim(s){
 	return rtrim(ltrim(s)); 
}
//去左空格; 
function ltrim(s){
 	return s.replace( /^\s*/, ""); 
} 
//去右空格; 
function rtrim(s){ 
 	return s.replace( /\s*$/, ""); 
}
//验证信息;
//空字符值; 
function isEmpty(s){
	s = trim(s); 
	return s.length == 0; 
}
//Email;
function isEmail(s){
	s = trim(s); 
 	var p = /^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.){1,4}[a-z]{2,3}$/i; 
 	return p.test(s);
}
//数字; 
function isNumber(s){
	return !isNaN(s); 
}
//颜色值; 
function isColor(s){ 
	s = trim(s); 
	if (s.length !=7) return false; 
	return s.search(/\#[a-fA-F0-9]{6}/) != -1; 
}
//手机号码; 
function isMobile(s){ 
	s = trim(s); 
	var p = /1(3|5)\d{9}/; 
	return p.test(s);
}
//身份证;
function isCard(s){ 
	s = trim(s); 
	var p = /^\d{15}(\d{2}[xX0-9])?$/; 
	return p.test(s);
}
//URL;
function isURL(s){
	s = trim(s).toLowerCase();
	var p = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
	return p.test(s);
}
//Phone;
function isPhone(s){
	s = trim(s);
	var p = /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/;
	return p.test(s);
}
//Zip;
function isZip(s){
	s = trim(s);
	var p = /^[1-9]\d{5}$/;
	return p.test(s);
}
//Double;
function isDouble(s){
	s = trim(s);
	var p = /^[-\+]?\d+(\.\d+)?$/;
	return p.test(s);
}
//Integer;
function isInteger(s){
	s = trim(s);
	var p = /^[-\+]?\d+$/;
	return p.test(s);
}
//English;
function isEnglish(s){
	s = trim(s);
	var p = /^[A-Za-z]+$/;
	return p.test(s);
}
//中文;
function isChinese(s){
	s = trim(s);
	var p = /^[\u0391-\uFFE5]+$/;
	return p.test(s);
}
//双字节
/*function isDoubleChar(s){
	var p = /^[^\x00-\xff]+$/;
	return p.test(s);
}
*/

//含有中文字符
function hasChineseChar(s){
	var p = /[^\x00-\xff]/;
	return p.test(s);
}

function isAccount(s)
{
	var p = /^(([\u0391-\uFFE5]{1}([\u0391-\uFFE5]|[a-zA-Z0-9]|[._]){1,11}))|([a-zA-Z]{1}([a-zA-Z0-9]|[._]){1,11})$/;
	return p.test(s);
}
function isAccountC(s)
{
	var p = /^([\u0391-\uFFE5]{1}([\u0391-\uFFE5]|[a-zA-Z0-9]|[._]){0,5})$/;
	return p.test(s);
}
function isPassword(s)
{
	var p = /^(\w){6,20}$/;
	return p.test(s);
}
function limitLen(s,Min,Max)
{
	s=trim(s);
	if(s=="") return false;
	var str	= s+"";
	var num=0;
	for (var i=0; i<str.length; i++)
	{
		if(str.charCodeAt(i)>127||str.charCodeAt(i)<0)
		{
			num+=2;
		}
		else
		{
			num++;
		}
	}
	if((num<Min)||(num>Max))
	{
		return false;
	}
	else
	{
		return true;
	}
}
function isNo(s)
{
	var p = /^(No|NO|no|nO){1}[.]{1}[0-9]{7}/;
	return p.test(s);
}




function getElementPos(elementId) {
	var ua = navigator.userAgent.toLowerCase();
 	var isOpera = (ua.indexOf('opera') != -1);
 	var isIE = (ua.indexOf('msie') != -1 && !isOpera); // not opera spoof
 	var el = document.getElementById(elementId);
 	if(el.parentNode === null || el.style.display == 'none') {
  		return false;
 	}      
 	var parent = null;
 	var pos = [];     
 	var box;     
 	if(el.getBoundingClientRect)    //IE
 	{         
	  box = el.getBoundingClientRect();
	  var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
	  var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
	  return {x:box.left + scrollLeft, y:box.top + scrollTop};
 	}
	else if(document.getBoxObjectFor)    // gecko    
 	{
	  box = document.getBoxObjectFor(el); 
	  var borderLeft = (el.style.borderLeftWidth)?parseInt(el.style.borderLeftWidth):0; 
	  var borderTop = (el.style.borderTopWidth)?parseInt(el.style.borderTopWidth):0; 
	  pos = [box.x - borderLeft, box.y - borderTop];
 	}
	else    // safari & opera    
 	{
  		pos = [el.offsetLeft, el.offsetTop];  
  		parent = el.offsetParent;     
  		if (parent != el) { 
			while (parent) {  
				pos[0] += parent.offsetLeft; 
				pos[1] += parent.offsetTop; 
				parent = parent.offsetParent;
			}  
		}   
		if (ua.indexOf('opera') != -1 || ( ua.indexOf('safari') != -1 && el.style.position == 'absolute' )) { 
		   pos[0] -= document.body.offsetLeft;
		   pos[1] -= document.body.offsetTop;         
		}    
	}              
 	if (el.parentNode) { 
    	parent = el.parentNode;
   	} else {
    	parent = null;
   	}
 	while (parent && parent.tagName != 'BODY' && parent.tagName != 'HTML') { // account for any scrolled ancestors
  	pos[0] -= parent.scrollLeft;
 	pos[1] -= parent.scrollTop;
  	if (parent.parentNode) {
   		parent = parent.parentNode;
  	} else {
   		parent = null;
  	}
}
return {x:pos[0], y:pos[1]};
}
var oldMenu = null;
function toggleMenu(currMenu)
{
	if(currMenu != "F")
	{
		if(document.all)
		{
			var parent	= "parent_" + currMenu;
			var pos	= getElementPos(parent);
			thisMenu = eval("document.all." + currMenu + ".style");
			thisMenu.left	= pos.x+100;
			thisMenu.top	= pos.y-10;
			if(thisMenu.display == "block")
			{
				thisMenu.display = "none";
			}
			else
			{
				if(oldMenu!=null)
				{
					oldMenu.display = "none";
				}
				thisMenu.display = "block";
				oldMenu = thisMenu;
			}
			return false;
		}
		else
		{
			return true;
		}
 	}
}
var oldMenu = null;
function toggleMenu2(currMenu)
{
	if(currMenu != "F")
	{
		if(document.all)
		{
			var parent	= "parent_" + currMenu;
			if(thisMenu.display == "block")
			{
				thisMenu.display = "none";
			}
			else
			{
				if(oldMenu!=null)
				{
					oldMenu.display = "none";
				}
				thisMenu.display = "block";
				oldMenu = thisMenu;
			}
			return false;
		}
		else
		{
			return true;
		}
 	}
}



/* *
 * 添加商品到购物车
 */
function addToCart(goodsId)
{
	$('web_load').style.display	= 'block';
	var url	= "?/common/cart_ajax-action-add-id-" + goodsId + "-goods_input-"+$('num').value+".html";
	xmlHttp.open( "GET", url, true );
	xmlHttp.onreadystatechange = callBack;
	xmlHttp.send(null);
}
function callBack()
{
	if (xmlHttp.readyState == 4)
	{
		$('web_load').style.display	= 'none';
		// 判断对象状态
		if (xmlHttp.status == 200)
		{
			var response	= xmlHttp.responseText;
			if (response=='error')
			{
				alert('您正在不同的商家间购物，请先对同一商家的商品进行下单处理后再进行其他商家商品购买。');
			}
			else if (response=='no_goods')
			{
				alert('请求的商品已经下架或者不存在，请重新选择。');
			}
			else if (response == 'ok')
			{
				if (!confirm('该商品已添加到购物车，您现在还需要继续购物吗？\n如果您希望继续购物，请点击“确定”按钮。\n如果您希望马上结算，请点击“取消”按钮。')) location.href='?/common/my_cart.html';
			}
		}
		else
		{
			//页面不正常
			alert(xmlHttp.status+"您所请求的页面有异常。");
		}
	}
}
