﻿
function trim(str)
{
  var i,j;

  if(str == "") return "";

  for(i=0;i<str.length;i++)
    if(str.charAt(i) != ' ') break;
  if(i >= str.length) return "";

  for(j=str.length-1;j>=0;j--)
    if(str.charAt(j) != ' ') break;

  return str.substring(i,j+1);
}

function checknumber(str)
{
    var reg = /^[0-9]*$/;
    return (reg.test(str));
}
function checktel( str )
{
    var reg = /^[0-9\(\)\-\s]+$/;
    return (reg.test(str));
}

function checkzip(str)
{
    var reg = /^[0-9]{6}$/;
    return (reg.test(str));
}

function checkMail(email)
{
	var pattern = /\S+@\S+/;
	return pattern.test(email);
}

function checkcharacter(str)
{
    var reg = /^[\'`~!@#$%^&*()=\'%<>&,.?;:|\"～！◎＃￥％……※×（）——＋§]*$/;
    return (reg.test(str));
}

function check_date( year, mon, day )
{
	var monthDays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	if(year < 1920 || year > 2050)
		return false;
	if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) 
	   monthDays[1]=29;
	if(!checknumber(year) || !checknumber(mon) || !checknumber(day) || mon<1 || mon>12 || day>monthDays[mon-1]) 
	   return false;
	return true;
}

function check_money(str)
{
        var i;
        for(i=0;i<str.length;i++)
        {
                if ((str.charAt(i)<"0" || str.charAt(i)>"9" ) && str.charAt(i) != '.' )
                {
                        return "";
               }
        }

        for(i=0;i<str.length;i++)
        {
                if (str.charAt(i) == ".")
                {
                        return str.substring(0,i+3);
               }
        }
        return str;
}

function IsNum_Decimal(str,digit)
{
	var i,n,char1;
	n=0;
	str = trim(str);
	//简单判断
	if( str=="" || ( str=="." && str.length<=1 ) )
		return false;
	//判断小数位数
	if( str.indexOf(".")>-1 && str.split(".")[1].length>digit )
		return false;
	//判断数字
	for(i=0;i<str.length;i++)
	{
		char1=str.charAt(i);
		if(char1==".")
			n++;
		if(n>1)
		{
			return false;
		}
		if(char1<"0" || char1>'9')
		{
			if(char1!=".")
				return false;
		}
	}
	return true;
}	
function IsValidUserNameChar( str )
{
	//init
	var n = 0;
	var flag = false;
	var arrSpecialChar = new Array( 
			"!", "$", "%", "(", ")", "*", "+", ",", "-", ".", ":", ";", "=", "@", "[", "]" , "^", "_", "`"
		);
	
	//init
	str = trim( str );
	
	//check
	for( i=0;i<str.length;i++ )
	{
		//check number
		if( str.charAt(i)>="0" && str.charAt(i)<="9" )
		{
			n++;
		}
		//check A-Z a-z
		if( (str.charAt(i)>="A" && str.charAt(i)<="Z") || (str.charAt(i)>="a" && str.charAt(i)<="z") )
		{
			n++;
		}
		//check special char
		for( j=0;j<arrSpecialChar.length;j++ )
		{
			if( str.charAt(i)==arrSpecialChar[j] )
			{
				n++;
				break;
			}
		}
	}
	
	//return
	if( n==str.length )
	{
		return true;
	}
	return false;
}

function onlyNum()
{
 if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39))
  if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
    event.returnValue=false;
}

var debug = false;

function GetXmlHttp() {	
	var xmlhttp = false;
	if (window.XMLHttpRequest)
	{
		xmlhttp = new XMLHttpRequest();
  }
	else if (window.ActiveXObject)// code for IE
	{
		try 
		{
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			try 
			{
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (E) {
				xmlhttp=false;
			}
		}
	}
	return xmlhttp;
}
function PassAjaxResponseToFunction(url, callbackFunction, params)
{
  var xmlhttp = new GetXmlHttp();
  if (xmlhttp)
  {
    xmlhttp.onreadystatechange = function () 
                                {
	                                if (xmlhttp && xmlhttp.readyState==4)
	                                {
		                                if (xmlhttp.status==200)
		                                {
			                                var response = xmlhttp.responseText;
			                                var functionToCall = callbackFunction+'(response,'+params+')';
			                                if(debug){
				                                alert(response);
				                                alert (functionToCall);
			                                }
			                                eval(functionToCall);
		                                } else if(debug){
			                                document.write(xmlhttp.responseText);
		                                }
	                                }
                                }
    xmlhttp.open("GET",url,true);
    xmlhttp.send(null);
  }
}

function SetInnerHTMLFromAjaxResponse(url, obj_id)
{		
  var xmlhttp = new GetXmlHttp();
  if (xmlhttp)
  {
    xmlhttp.onreadystatechange = function () 
                                {
	                                if (xmlhttp && xmlhttp.readyState==4)
	                                {
		                                if (xmlhttp.status==200)
		                                {
			                                if(debug){
				                                alert(xmlhttp.responseText);
			                                }
			                                if(typeof obj_id == 'object'){
				                                obj_id.innerHTML = xmlhttp.responseText;
			                                } else {
				                                document.getElementById(obj_id).innerHTML = xmlhttp.responseText;
			                                }
		                                } else if(debug){
			                                document.Write(xmlhttp.responseText);
		                                }
	                                }
                                }
    xmlhttp.open("GET",url,true);
    xmlhttp.send(null);
  }
}
function SetClick(Source,Keywords)
{	if(trim(Keywords)!="")
	    PassAjaxResponseToFunction('/Products/Click.html?Source='+Source+'&Keywords='+escape(Keywords)+"&time"+Math.random(),'callbackStream');
}
function callbackStream(str)
{
    eval(str);
}
function checkLoginForm ( frm )
{
    var UserName = trim(frm.txtUserName.value);
    frm.txtUserName.value=UserName;
    var Pwd = trim(frm.txtPwd.value);
    frm.txtPwd.value=Pwd;
    if (UserName == "" )
    {
	    alert ( "请输入用户名！" );
	    frm.txtUserName.focus ();
	    return false;
    }
    else if ( Pwd == "" )
    {
	    alert ( "请输入密码！" );
	    frm.txtPwd.focus ();
	    return false;
    }
    else 
    {	   
        if(frm.selType.options[frm.selType.selectedIndex].value=="0")
            frm.action="/Client/Login.html";
        else
            frm.action="/Agent/AgentLogin.html";   
        return true;
    }		  
}	
function CheckSearchLeftForm(id)
{
    var obj=document.getElementById(id);
	var keywords=trim(obj.value);
	if(keywords==""||keywords=="输入您想要的关键词")
	{
		alert("输入您想要的关键词!");
		obj.value="";
		obj.focus();
		return false;
	}
	document.forms[0].action="../searching.html";
	document.forms[0].submit();
}
function CheckSearchAgentLeft(id)
{
	var obj=document.getElementById(id);
	var keywords=trim(obj.value);
	if(keywords==""||keywords=="输入注册商名称")
	{
		alert("输入注册商名称!");
		obj.value="";
		obj.focus();
		return;
	}
	window.open("/Agent/AgentSearch.html?CorpName="+keywords);
}
function checkBanner(frm)
{
   frm.txtBannerKeywords.value=trim(frm.txtBannerKeywords.value);
   var v=frm.txtBannerKeywords.value;	
   if(trim(v) == "" || v.substring(0,3) =="请输入")
   {
        alert("请输入关键词！");
        frm.txtBannerKeywords.focus();
        return false;
   }   
   SetClick(2,frm.txtBannerKeywords.value);

   if(frm.SearchType.value=="2")
    frm.action="/Agent/AgentSearch.html";
   else  if(frm.SearchType.value=="3")
    frm.action="/Order/OrderSearch.html";
   else
    frm.action="/searching.html";  
   //return true;
}
function SelectAllCheckboxes(spanChk){
　var oItem = spanChk.children;
　var theBox=(spanChk.type=="checkbox")?spanChk:spanChk.children.item[0];
　xState=theBox.checked;
　elm=theBox.form.elements;
　for(i=0;i<elm.length;i++)
　if(elm[i].type=="checkbox" && elm[i].id!=theBox.id)
　{
　　if(elm[i].checked!=xState)
　　elm[i].click();
　}
}
function Experience(frm)
{
    frm.action="/Experience.html";
    frm.target="_blank";
    frm.submit();
}

function left(str,len)
{
  return str.substring(0,len);
}

function right(str,len)
{
	return str.substr(str.length-len,len);
}

function CheckDateFormatEx(DateStr)
{
	var a=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
	if(!a.test(DateStr))
	{
		return false;
	}
	else
	{
		return true;
	}
}
