//wwonline
var wangwangInstalled = false;
try {
	if (document.getElementById('clientCaps') && document.getElementById('clientCaps').isComponentInstalled("{99560E1D-E17E-44b5-90E4-5DE25BF6F7B1}", "componentID")) {
		wangwangInstalled = true;
	}
	if (!wangwangInstalled) {
		var obj = new ActiveXObject("WangWangX.WangWangObj");
		if (obj) {
			wangwangInstalled = true;
			delete obj;
		}
	}
}catch (e) {
	//alert(e.message);
}

var exitpop=false;
function PopPage(strURL, name, width, height, left, top)
{
    if(width==null) width=800;
    if(height==null) height=500;
    if(left==null) left = ( screen.width - width ) / 2;
    if(top==null) top  = ( screen.height - height ) / 2;
    temp = "width="+width+",height="+height+",left="+left+",top="+top+",scrollbars=1,toolbar=no,location=no,directories=no,status=no,resizable=no";
    w = window.open(strURL,name,temp);
    w.focus();
}
function openThisAbout()
{
    temp = "width=618,height=400,left=0,top=0,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,resizable=no";
    window.open("/home/about/about_taobao.html","",temp);
}
function GetCookie(cookiename)
{
    var thebigcookie = document.cookie;
    var firstchar = thebigcookie.indexOf(cookiename);
    if (firstchar != -1) {
        firstchar += cookiename.length + 1;
        lastchar = thebigcookie.indexOf(";",firstchar);
        if(lastchar == -1) lastchar = thebigcookie.length;
        return unescape(thebigcookie.substring(firstchar, lastchar));
    }
    return "";
}
function setCookie(cookiename,cookievalue,cookieexpdate,domainname)
{
    document.cookie = cookiename + "=" + cookievalue
    + "; domain=" + domainname
    + "; path=" + "/"
    + "; expires=" + cookieexpdate.toGMTString();

}
function unloadpopup(cookiename,popurl,popwidth,popheight,domainname,tr)
{
    //return;
    try {
        if (!tr)
            return;
        if( GetCookie(cookiename) == "" )
        {
            var expdate = new Date();
            expdate.setTime(expdate.getTime() + 1 * (24 * 60 * 60 * 1000)); //+1 day
            setCookie(cookiename,"yes",expdate,domainname);
            if( exitpop )
            {
                w = window.open(popurl,cookiename,"width="+popwidth+",height="+popheight+",scrollbars=1,toolbar=yes,location=yes,menubar=yes,status=yes,resizable=yes");
                w.focus;
            }
        }
    }catch (e) {}
}
function setCheckboxes(theForm, elementName, isChecked)
{
    var chkboxes = document.forms[theForm].elements[elementName];
    var count = chkboxes.length;

    if (count)
    {
        for (var i = 0; i < count; i++)
        {
            chkboxes[i].checked = isChecked;
        }
    }
    else
    {
        chkboxes.checked = isChecked;
    }
    return true;
}

var imageObject;
function ResizeImage(obj, MaxW, MaxH)
{
    if (obj != null) imageObject = obj;
    var state=imageObject.readyState;
    var oldImage = new Image();
    oldImage.src = imageObject.src;
    var dW=oldImage.width; var dH=oldImage.height;
    if(dW>MaxW || dH>MaxH) {
        a=dW/MaxW; b=dH/MaxH;
        if(b>a) a=b;
        dW=dW/a; dH=dH/a;
    }
    if(dW > 0 && dH > 0)
        imageObject.width=dW;imageObject.height=dH;
    if(state!='complete' || imageObject.width>MaxW || imageObject.height>MaxH) {
        setTimeout("ResizeImage(null,"+MaxW+","+MaxH+")",40);
    }
}








/////////////////////////////////////////////////////////////
//                Setup Class Names
/////////////////////////////////////////////////////////////
//default classes for infobox
var infoboxOkClass		= "notetrue";
var infoboxWarningClass	= "notetrue";
var infoboxErrorClass	= "noteawoke";
var infoboxHintClass	= "note";
//default classes for input field
var inputWarningClass	= "note";
var inputErrorClass		= "noteawoke";
var inputOkClass		= "notetrue";
var inputNormalClass	= "note";

/////////////////////////////////////////////////////////////
//                Initialize Form
/////////////////////////////////////////////////////////////
function initForm(){	
	//initialize form UI and add triggers
	var infobox;
	var x = document.getElementById("register");
	if(!x) return;
	var y = x.getElementsByTagName("input");
	for (var i=0;i<y.length;i++){
	
		if(y[i].type == 'text' || y[i].type == 'password' || y[i].type=='hidden'){
			initStatus(y[i],true);
			
			setFiledWidth(y[i]);
			y[i].onfocus	= getFocus;
			y[i].onblur		= lostFocus;
			//y[i].onkeyup	= showMyStatus;
		}
	}
	
	y = x.getElementsByTagName("textarea");
	for (var i=0;i<y.length;i++){
			initStatus(y[i],true);
			y[i].onfocus	= getFocus;
			y[i].onblur		= lostFocus;
	}
}
function initStatus(obj,isInput){
	if(isInput){
		if(isRequired(obj)) showStatus(obj,"Warning");
		else showStatus(obj,"Normal");
	}
	
	var infobox = getInfobox(obj);
	var errorCode = getInitStatus(obj);
	if(infobox && infobox.innerHTML == ""){
		if(!errorCode || errorCode == 0){
			infobox.className	= infoboxHintClass;
			infobox.innerHTML	= getErrorMsg(obj,0);
		}
		if(errorCode >0){
			infobox.className	= infoboxErrorClass;
			infobox.innerHTML	= getErrorMsg(obj,errorCode);
		}
	}	
}
/////////////////////////////////////////////////////////////
//                Base Functions
/////////////////////////////////////////////////////////////
function isIE() {
	if(document.all) return true;
	return false;
}
function setFiledWidth(obj){
	obj.style.width=(19/3)*obj.size+11;
}
function formEle(required,datatype,parameter,infobox,errormsg,combine,status){
	this.r	= required;	
	this.d	= datatype;
	this.p	= parameter;
	this.i	= infobox;
	this.e	= errormsg;
	this.c = combine;
	this.s = status;
	
} 
function isRequired(obj){
//alert((obj.id).r);
	if(obj.id){
		if(eval(obj.id).r) return eval(obj.id).r;
	}
	return false;
}
function isCombine(obj){
	if(obj.id){
		if(eval(obj.id).c) return eval(obj.id).c;
	}
	return false;
}
function getDatatype(obj){
	if(obj.id){
		if(eval(obj.id).d) return eval(obj.id).d;
	}
	return false;
}
function getInfobox(obj){
//alert(obj.id);
	if(obj.id){
		if(eval(obj.id).i && document.getElementById(eval(obj.id).i)) return document.getElementById(eval(obj.id).i);
	}
	return;
}
function getErrorMsg(obj,errorCode){

	if(obj.id){
		if(eval(obj.id).e[errorCode]) return eval(obj.id).e[errorCode];
	}
	return;
}
function getHintMsg(obj){
	if(obj.id){
		if(eval(obj.id).e[0]) return eval(obj.id).e[0];
	}
	return;
}
function getInitStatus(obj){
	if(obj.id){
		if(eval(obj.id).s || eval(obj.id).s==0 ) return eval(obj.id).s;
	}
	return;
}
function getAttrName(str){
	var s=str.split("=");
	return s[0];
}
function getAttrValue(str){
	var s=str.split("=");
	return s[1];
}
function getAttrValueByName(obj,str){
	var para;
	if(obj.id){
		if(eval(obj.id).p) para=eval(obj.id).p;
		else return;
	}else{
		return;
	}
	var s = para.split(",");
	for(var i=0;i<s.length;i++){
		if(getAttrName(s[i]) == str){
			if(getAttrValue(s[i]))
				return getAttrValue(s[i]);
			else
				return;
		}
	}
	return;
}
function getMailServer(str){
	//be sure str is a correct email address
	str = str.trim();
	return str.substr(str.indexOf("@")+1);
}
String.prototype.trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

/////////////////////////////////////////////////////////////
//                UI Functions
/////////////////////////////////////////////////////////////
function getFocus(evnt)
{
	var obj;
	if (isIE()) {
		obj = event.srcElement;
	}else {
		obj = evnt.target;
	}
	showInfo(obj,0);
}
function lostFocus(evnt)
{
	var obj;
	if (isIE()) {
		obj = event.srcElement;
	}else {
		obj = evnt.target;
	}
	showInfo(obj,-1);
	
	
	if(obj.value == ''){
	if(obj.id && eval(obj.id).c && document.getElementById(eval(obj.id).c)){
	if(document.getElementById(eval(obj.id).c).innerHTML.indexOf("img") > 0 || document.getElementById(eval(obj.id).c).innerHTML.indexOf("IMG") > 0){
	var start =  document.getElementById(eval(obj.id).c).innerHTML.indexOf('>');
	var end = document.getElementById(eval(obj.id).c).innerHTML.length;
	document.getElementById(eval(obj.id).c).innerHTML = document.getElementById(eval(obj.id).c).innerHTML.substring(start +1,end);
	}}
	
	return;
	}
	
	errorCode = validateValue(obj);
	//alert(errorCode);
	
	if(errorCode == 0){
		//showStatus(obj,"Ok");
	
	//check ORG_CODE	
	if(obj.id == 'ORG_CODE'){
	checkNick();
	return;
	}
	
	//check email
	if(obj.id == 'email'){
	checkEmail()
	return;
	}
	
	
		
	if(obj.id){
	
	if(eval(obj.id).c && document.getElementById(eval(obj.id).c))
	if(document.getElementById(eval(obj.id).c).innerHTML.indexOf("img") < 0 && document.getElementById(eval(obj.id).c).innerHTML.indexOf("IMG") < 0){ 
	document.getElementById(eval(obj.id).c).innerHTML = "&nbsp;<img src=\"/webcargocn/image/icon/icon_right_19x19.gif\" width=\"19\" height=\"16\" align=\"absmiddle\"> " + document.getElementById(eval(obj.id).c).innerHTML;
	}
	document.getElementById(eval(obj.id).i).className = 'note';
	//document.getElementById(eval(obj.id).i).innerHTML = (eval(obj.id).e)[0];
	document.getElementById(eval(obj.id).i).innerHTML = '填写正确。'
	}
		
	}
	
	
	if(errorCode >= 1){
	if(obj.id){
	//alert(eval(obj.id).i);
	if(eval(obj.id).i && document.getElementById(eval(obj.id).i)) 
	document.getElementById(eval(obj.id).i).className = 'noteawoke';
	document.getElementById(eval(obj.id).i).innerHTML = (eval(obj.id).e)[errorCode];
	}
		//showStatus(obj,"Error");
		
	if(document.getElementById(eval(obj.id).c).innerHTML.indexOf("img") > 0 || document.getElementById(eval(obj.id).c).innerHTML.indexOf("IMG") > 0){
	var start =  document.getElementById(eval(obj.id).c).innerHTML.indexOf('>');
	var end = document.getElementById(eval(obj.id).c).innerHTML.length;
	document.getElementById(eval(obj.id).c).innerHTML = document.getElementById(eval(obj.id).c).innerHTML.substring(start +1,end);
	}
	
	}
	
	if(errorCode < 0){
	
	if(document.getElementById(eval(obj.id).c).innerHTML.indexOf("img") > 0 || document.getElementById(eval(obj.id).c).innerHTML.indexOf("IMG") > 0 ){
	var start =  document.getElementById(eval(obj.id).c).innerHTML.indexOf('>');
	var end = document.getElementById(eval(obj.id).c).innerHTML.length;
	document.getElementById(eval(obj.id).c).innerHTML = document.getElementById(eval(obj.id).c).innerHTML.substring(start +1,end);
	}
	
	if(obj.id){
	//alert(eval(obj.id).i);
	if(eval(obj.id).i && document.getElementById(eval(obj.id).i) ) 
	document.getElementById(eval(obj.id).i).className = 'note';
	document.getElementById(eval(obj.id).i).innerHTML = (eval(obj.id).e)[0];
	//document.getElementById(eval(obj.id).i).innerHTML = '&nbsp;';
	}
	
	
		//showStatus(obj,"Normal");
	}
	

}


function showInfo(obj,errorCode,forcible)
//Show Information in Infobox
//errorCode==0 for hint message
//if forcible==true, no matter what the status of infobox now, change it,
//otherwise,if the status of infobox is "Error", do not change it forever.
{
	var infobox = getInfobox(obj);
	
	if(infobox){
		if(infobox.className != infoboxErrorClass || forcible){
			if(errorCode == 0 ){
			//alert(infobox.innerHTML);
				
				infobox.innerHTML	= getErrorMsg(obj,errorCode);
				
				if(infobox.innerHTML != '&nbsp;'){
				infobox.className	= infoboxWarningClass;
				}
			}
			if(errorCode >0){
				infobox.className	= infoboxErrorClass;
				infobox.innerHTML	= getErrorMsg(obj,errorCode);
			}
			if(errorCode <0){
				infobox.className	= infoboxHintClass;
			}
		}
	}	
}
function showMyStatus(evnt){
	var obj,errorCode;
	if (isIE()) {
		obj = event.srcElement;
	}else {
		obj = evnt.target;
	}
	errorCode = validateValue(obj);
	
	if(errorCode == 0){
		showStatus(obj,"Ok");
	}
	if(errorCode >= 1){
		showStatus(obj,"Error");
	}
	if(errorCode < 0){
		showStatus(obj,"Normal");
	}
}
function showStatus(obj,stat)
//Show the status of user currently inputting field
//3 Statuses: Warning|Error|Ok
{
	switch(stat){
		case "Warning":
			obj.className = inputWarningClass;
			break;
		case "Error":
			obj.className = inputErrorClass;
			break;
		case "Ok":
			obj.className = inputOkClass;
			break;
		default:
			obj.className = inputNormalClass;
			break;
	}
}

//functions for each particular datatype validation
function validateUsername(obj,slen,elen){
	var str = obj.value;
	var patn=/^([a-zA-z_]{1})([\w]*)$/g ;
	//var patn =   /^[a-zA-Z0-9]+$/; 
	//var patn = /^[^\s]*$/;
	if(!checkByteLength(str,slen,elen)) return 1;
	
	if(!patn.test(str)){
		return 1;
	}
	return 0; 
}
function validatePassword(obj){
	var str = obj.value;
	var patn = /.{6,16}/; 
	var patn1 =   /^[a-zA-Z0-9_]+$/;
	if(!patn.test(str) || !patn1.test(str) ) return 1;
	return 0; 
}
function validateSafePassword(obj){
	var str = obj.value;
	
	
	if(str != document.getElementById("password").value) return 1;
	
	return 0;
}
function validateEmail(obj){
	var str = obj.value;
	var patn = /^[_a-zA-Z0-9\-]+(\.[_a-zA-Z0-9\-]*)*@[a-zA-Z0-9\-]+([\.][a-zA-Z0-9\-]+)+$/;
	if(patn.test(str)){
		
		return 0;
	}else{
		return 1; //incorrect format
	}
}
function validateNum(obj){
	var str = obj.value;
	var patn = new RegExp("\\d{"+getAttrValueByName(obj,"minlen")+","+getAttrValueByName(obj,"maxlen")+"}"); 
	if(patn.test(str)) return 0;
	return 1; 	
}
function validateMobile(obj){
var str1 = obj.value;

var str = tot(str1); 
obj.value = str;

	
if(str.length > 16){
	
return 1;
}
if(str.length == 0){
return -1;

}

var patn = /^[0-9]+$/;
if(patn.test(str)) return 0;
return 2; 	
}

function validatePhoneArea(obj){
var str1 = obj.value;

var str = tot(str1); 
obj.value = str;
   
if(str.length == 0){
return -1;

}


var patn = /^[0-9]+$/;
if(!patn.test(str)) return 1;
return validatePhone(); 

}


function validateFaxArea(obj){
var str1 = obj.value;

var str = tot(str1); 
obj.value = str;

if(str.length == 0){
return -1;

return 
}


var patn = /^[0-9]+$/;
if(!patn.test(str)) return 1;
return validateFax(); 

}


function validateArea(obj){
var str1 = obj.value;

var str = tot(str1); 
obj.value = str;

if(str.length == 0){
return -1;

return 
}


var patn = /^[0-9]+$/;
if(!patn.test(str)) return 1;   

return 0; 

}


function validatePhone(){

if(validateArea(document.getElementById("phone_country")) == 0 && validateArea(document.getElementById("phone_area")) == 0 && validateNumber(document.getElementById("phone_number")) == 0){
return 0;
}else{

return -1
}

}


function validateFax(){

if(validateArea(document.getElementById("fax_country")) == 0 && validateArea(document.getElementById("fax_area")) == 0 && validateNumber(document.getElementById("fax_number")) == 0){
return 0;
}else{

return -1
}

}


function validateNumber(obj){
var str1 = obj.value;

var str = tot(str1); 
obj.value = str;
	

if(str.length == 0){
return -1;

}
var patn = /^[0-9-\/]+$/;
if(!patn.test(str)) return 1;
return 0;

}


function validatePhoneNumber(obj){
var str = obj.value;
	

if(str.length == 0){
return -1;

}
var patn = /^[0-9-\/]+$/;
if(!patn.test(str)) return 1;
return validatePhone(); 

}

function validateFaxNumber(obj){
var str = obj.value;
	

if(str.length == 0){
return -1;

}
var patn = /^[0-9-\/]+$/;
if(!patn.test(str)) return 1;
return validateFax(); 

}

function validatenumeric(obj){
	var str = obj.value;
	var patn = /^\d+$/;
	if(str.length == 0){
		return -1;
	}
	else if(!patn.test(str)) 
	{
		return 1;
	}
	else
	{
	return 0;
	}
}
function validatePostal(obj)
{
	var str = obj.value;
	var patn = /^\d+$/;
	if(str.length ==0){
		return -1;
	}
	else if(!patn.test(str) || str.length !=6) 
	{
		return 1;
	}
	else
	{
	return 0;
	}

}


function validateKeyword(obj){

var str = obj.value;
	
if(str.length > 40){
return 1;
}

if(str.length == 0){
return -1;

}

	var pass = true;
	var keyselected ='';
	for(i=0;i<document.form.business_role.length;i++){
 	 if(document.form.business_role[i].checked){
  	  keyselected = document.form.business_role[i].value;
  	  break;
	  }
	}
	
	if(keyselected == 'buyer'){
	if(document.form.J_z_Z_BuyKeywords.value == ''){
	pass = false;
	}
	
	}else if(keyselected == 'seller'){
	if(document.form.J_z_Z_SaleKeywords.value == ''){
	pass = false; 
	} 
	
	
	}else if(keyselected == 'both'){
	
	if(document.form.J_z_Z_SaleKeywords.value == '' || document.form.J_z_Z_BuyKeywords.value == ''){
	pass = false;
	}

        }
        
        
        if(pass){
        
        return 0;
        
        }



return -1;

}

//公司名称
function validateCompany(obj){
var str = obj.value;
	
if(str.length > 50){
return 1;
}

if(str.length == 0){
return -1;

}

return 0;

}
//公司中文全称
function validateCompanyCH(obj)
{

	var str = obj.value;

	if(str.length > 120 || str.length <8 || !(ChineseIn(str))){
	return 1;
	}
	
	if(str.length ==0){
	return -1;
	
	}
	return 0;
	
}
function validateORGremarks(obj)
{
	var str = obj.value;
	if(str.length > 6000 || str.length == 0){
	return 1;
	}
	return 0;
}
function validateCHAddress(obj)
{
	var str = obj.value;
	if(str.length > 255 || !(ChineseIn(str))){
	return 1;
	}
	
	if(str.length == 0){
	return -1;
	
	}
	return 0;
	
}
//联系人电话
function validateManagePhone(obj)
{
	var str = obj.value;
	var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^[0-9]{1,3}\-[0-9]{3,4}\-[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/;
	if(reg.test(str) && str.length != 0) return 0;
	return 1;
}
//公司英名称
function validateCompanyEN(obj)
{
	var str = obj.value;
	if(str.length > 255 || ChineseIn(str)){
	return 1;
	}
	
	if(str.length == 0){
	return -1;
	
	}
	return 0;
}
function validateJobTitle(obj){
var str = obj.value;
if(str.length > 50){

return 1;

}

if(str.length == 0){
return -1;

}

return 0;
}

function validateFirstName(obj){

var str = obj.value;
	
if(str.length > 10 || str.length < 2 || !(ChineseIn(str))){
return 1;
}

if(str.length == 0){
return -1;

}

return 0;

}


function validateAddress(obj){
var str = obj.value;
	
if(str.length > 80){
return 1;
}

if(str.length == 0){
return -1;

}

return 0;
}
function validateCityCode(obj){
	var str = obj.value;
	if(str.length != 6 ){
		return 1;
	}
	return 0;
}


function validateCheckCode(obj){
	var str = obj.value;
	var patn = /^[0-9a-zA-Z]{4}$/;
	if(patn.test(str)) return 0;
	return 1;
}	
function validateNotNullAndLen(obj,len)
{
	var str = obj.value;
	if (str.length==0 || str.length>len)
	{
		return 1;
	}
	return 0;
}
function validateLen(obj,len)
{
	var str = obj.value;
	if ( str.length!=len)
	{
		return 1;
	}
	return 0;
}

function checkByteLength(str,minlen,maxlen) {
	if (str == null) return false;
	var l = str.length;
	var blen = 0;
	for(i=0; i<l; i++) {
		if ((str.charCodeAt(i) & 0xff00) != 0) {
			blen ++;
		}
		blen ++;
	}
	if (blen > maxlen || blen < minlen) {
		return false;
	}
	return true;
}      



function tot(mobnumber){                        
while(mobnumber.indexOf("０")!=-1){           
mobnumber = mobnumber.replace("０","0");        
}                                               
while(mobnumber.indexOf("１")!=-1){             
mobnumber = mobnumber.replace("１","1");}       
while(mobnumber.indexOf("２")!=-1){             
mobnumber = mobnumber.replace("２","2");}       
while(mobnumber.indexOf("３")!=-1){             
mobnumber = mobnumber.replace("３","3");}       
while(mobnumber.indexOf("４")!=-1){             
mobnumber = mobnumber.replace("４","4");}       
while(mobnumber.indexOf("５")!=-1){             
mobnumber = mobnumber.replace("５","5");}       
while(mobnumber.indexOf("６")!=-1){             
mobnumber = mobnumber.replace("６","6");}       
while(mobnumber.indexOf("７")!=-1){             
mobnumber = mobnumber.replace("７","7");}       
while(mobnumber.indexOf("８")!=-1){             
mobnumber = mobnumber.replace("８","8");}       
while(mobnumber.indexOf("９")!=-1){             
mobnumber = mobnumber.replace("９","9");}       
                                                
return mobnumber;                               
}	      


   var keyStr = "ABCDEFGHIJKLMNOP" +
                "QRSTUVWXYZabcdef" +
                "ghijklmnopqrstuv" +
                "wxyz0123456789+/" +
                "=";

   function encode64(input) {
      input = escape(input);
      var output = "";
      var chr1, chr2, chr3 = "";
      var enc1, enc2, enc3, enc4 = "";
      var i = 0;

      do {
         chr1 = input.charCodeAt(i++);
         chr2 = input.charCodeAt(i++);
         chr3 = input.charCodeAt(i++);

         enc1 = chr1 >> 2;
         enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
         enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
         enc4 = chr3 & 63;

         if (isNaN(chr2)) {
            enc3 = enc4 = 64;
         } else if (isNaN(chr3)) {
            enc4 = 64;
         }

         output = output + 
            keyStr.charAt(enc1) + 
            keyStr.charAt(enc2) + 
            keyStr.charAt(enc3) + 
            keyStr.charAt(enc4);
         chr1 = chr2 = chr3 = "";
         enc1 = enc2 = enc3 = enc4 = "";
      } while (i < input.length);

      return output;
   }

   function decode64(input) {
      var output = "";
      var chr1, chr2, chr3 = "";
      var enc1, enc2, enc3, enc4 = "";
      var i = 0;

      // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
      var base64test = /[^A-Za-z0-9\+\/\=]/g;
      if (base64test.exec(input)) {
         alert("There were invalid base64 characters in the input text.\n" +
               "Valid base64 characters are A-Z, a-z, 0-9, '+', '/', and '='\n" +
               "Expect errors in decoding.");
      }
      input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

      do {
         enc1 = keyStr.indexOf(input.charAt(i++));
         enc2 = keyStr.indexOf(input.charAt(i++));
         enc3 = keyStr.indexOf(input.charAt(i++));
         enc4 = keyStr.indexOf(input.charAt(i++));

         chr1 = (enc1 << 2) | (enc2 >> 4);
         chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
         chr3 = ((enc3 & 3) << 6) | enc4;

         output = output + String.fromCharCode(chr1);

         if (enc3 != 64) {
            output = output + String.fromCharCode(chr2);
         }
         if (enc4 != 64) {
            output = output + String.fromCharCode(chr3);
         }

         chr1 = chr2 = chr3 = "";
         enc1 = enc2 = enc3 = enc4 = "";

      } while (i < input.length);

      return unescape(output);
   }
   //-->/********************************** chinese ***************************************/
/**
*校验字符串是否为中文
*返回值：
*如果为空，定义校验通过，           返回true
*如果字串为中文，校验通过，         返回true
*如果字串为非中文，             返回false    参考提示信息：必须为中文！
*/
function checkIsChinese(str)
{
    //如果值为空，通过校验
    if (str == "")
        return true;
    var pattern = /^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])*$/gi;
    if (pattern.test(str))
        return true;
    else
        return false;
}//~~~


//含中文
function ChineseIn(str)
{
	if (str == "")
        return false;
    var pattern = /^[\u4e00-\u9fa5]/
    if (pattern.test(str))
        return true;
    else
        return false;
}
