﻿//JScript类库

//XMLEncode(string):对字符串进行XML编码
function JSC_XMLEncode(str)
{
    str=JSC_Trim(str);
    str=str.replace("&","&amp;");
    str=str.replace("<","&lt;");
    str=str.replace(">","&gt;");
    str=str.replace("'","&apos;");
    str=str.replace("\"","&quot;");
    return str;
}
//获取URL传输的值
function getQueryString(loca,name) 
{  
    var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s|&|$)", "i");
    if (reg.test(loca)) return unescape(RegExp.$2.replace(/\+/g, " ")); 
    return ""; 
}

//LTrim(string):去除左边的空格
function JSC_LTrim(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(0)) != -1)
    {
        var j=0, i = s.length;
        while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
        {
            j++;
        }
        s = s.substring(j, i);
    }
    return s;
}

/*RTrim(string):去除右边的空格*/
function JSC_RTrim(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
    {
        var i = s.length - 1;
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
        {
            i--;
        }
        s = s.substring(0, i+1);
    }
    return s;
}

/*Trim(string):去除前后空格*/
function JSC_Trim(str)
{
    return JSC_RTrim(JSC_LTrim(str));
}

 //功能介绍：检查字符串的长度,汉字算二个字节 
function JSC_fucCheckLength(strTemp)                                  
{                                  
    var i,sum;                                  
    sum=0;                                  
    for(i=0;i<strTemp.length;i++)                                  
    {                                  
        if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))                                  
            sum=sum+1;                                  
        else                                  
            sum=sum+2;                                  
    }
    return sum;                                  
}

//*检测是否合理手机号*//
function JSC_CheckMobile(Mobile) 
{
    if(Mobile.length == 11)
    {
    var filter13=/^13[0123456789]{1}[0-9]{8}$/;
    var filter15=/^15[0123456789]{1}[0-9]{8}$/;
    if (!filter13.test(Mobile) && !filter15.test(Mobile)) 
    {
        return false;
    }
    else
    {
        return true;
    }    
    }
    else
    {
        if(Mobile.length == 8)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}

//*检测是否全角*//
function JSC_CheckChinese(str)
{
    if (str.search(/[^\x00-\xff]/) != -1)
    {
        return false;
    }
    else
    {
        return true;
    }
}

//*检测是否为身份证号码*//
function JSC_isIdCardNo(num) 
{ 
    if (isNaN(num)) 
    {
        alert("输入的不是数字！"); 
        return false;
    }
    var len = num.length, re; 
    if (len == 15) 
    {
        re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/); 
    }
    else 
    {
        if (len == 18)
        {
            re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/); 
        }
        else 
        {
            alert("输入的数字位数不对！"); 
            return false;
        } 
     }
    var a = num.match(re); 
    if (a != null) 
    { 
        if (len==15) 
        { 
            var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]); 
            var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5]; 
        } 
        else 
        { 
            var D = new Date(a[3]+"/"+a[4]+"/"+a[5]); 
            var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5]; 
        } 
        if (!B) 
        {
            alert("输入的身份证号 "+ a[0] +" 里出生日期不对！");
             return false;
        } 
    }
    return true; 
} 

//*检测是否不安全编码输入*//
function JSC_IsSafeString(str) 
{
    var ErrStr;
    var ErrChar;
    var ArryErrStr;
    var getstr = JSC_Trim(str);
    ErrChar="!@#$%^&*()_+|-=\\~`;'[]{}\"':,/<>?～！@#￥％^&×（）……＋|－＝、〔〕｛｝：“；‘《》？，。、";
    ErrStr="虚拟,傻冒,先生,小姐,代订";
    ArryErrStr = ErrStr.split(",");
    for(var k=0;k<getstr.length;k++)
    {
        if(ErrChar.indexOf(getstr.charAt(k))>-1)
        {
            return false;
        }
    }
    for (k=0; k<ArryErrStr.length; k++)
    {
        if (getstr.indexOf(ArryErrStr[k])>-1)
        {
            return false;
        }
    }
    return true;
}

//*检测电子邮件*//
function JSC_CheckEmail(Email)
{
    if (Email.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
    {
        return true;
    }
    else
    {
        return false;
    }
}

//*检测是否数字*//
function JSC_checkSum(str)
{
    var bln=true;
    if(str=="")
    {
        bln = false;
        return bln;
    }
    var stra = new String(str);
    for(i=0;i<stra.length;i++)
    {
        var a=stra.substr(i,1);
        if(!(a=="0" || a=="1" || a=="2" || a=="3" || a=="4" || a=="5" || a=="6" || a=="7" || a=="8" || a=="9" || a=="-"))
        {
            bln = false;
            break;
        }
    }
    return bln;
}

/*验证某个文本框是否为空的函数*/
function JSC_IsEmpty(obj,msg)
{
    if(JSC_Trim(obj.value) == "")
    {
        alert(msg);
        if(obj.disabled == false && obj.readOnly == false)
        {
            obj.focus();
        }
        return false;
    }
    else
    {
        return true;
    }
}


// 预判断一下链接URL是否可用
function JSC_getURL(url)
{
    var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    xmlhttp.open("GET",url,false);
    xmlhttp.send();
    if (xmlhttp.readyState==4)
    {
        alert((xmlhttp.Status==200)?"存在":"不存在");
    }
}

//*检测是否有效日期*//
function JSC_isValidDate(iY, iM, iD) 
{ 
    if ( iY != undefined && !isNaN(iY) && iY >=0 && iY<=9999 && iM != undefined && !isNaN(iM) && iM >=1 && iM<=12 && iD != undefined && !isNaN(iD) && iD >=1   && iD<=31  )  
    { 
        if (iY<50) 
        {
            iY = 2000+iY;
        }
        else if (iY<100) 
        {
            iY=1900+iY; 
        }
        if (iM == 2  && (isLeapYear(iY)  && iD > 29 || !isLeapYear(iY) && iD>28) || iD == 31 && (iM<7 && iM%2==0 || iM>7 && iM%2==1) ) 
        { 
            return false ; 
        }
        else
        {
            return true;
        }
    }
    else
    { 
        return true;
    }
} 

//*检测闰年*//
function JSC_isLeapYear(y)
{
    if(0==y%4&&((y%100!=0)||(y%400==0))) 
    {
        return true;
    }
    else
    { 
        return false;
    }
}

//×××××××××××××××××××××××××××检测扩展类库×××××××××××××××××××××××××××//

//*检测是否不安全编码输入,并提示相应的对话框*//
function JSC_CheckSafeString(obj,Msg)
{
    if (obj !=null)
    {
       var strObjValue = obj.value;
       if (strObjValue !="")
    {
       if (!IsSafeString(strObjValue))
       {
           alert( Msg);   
           obj.focus();
           return (false);
       }
    } 
    }    
    return true;
}

//*检测是否为空,并提示相应的对话框*//
function JSC_CheckEmptyString(objID,Msg)
{
    var obj = $(objID);
    if (obj !=null)
    {
        var strObjValue = JSC_Trim(obj.value);
        if (strObjValue == "")
        {
            alert(Msg);   
            obj.focus();
            return (false);
        }
   }
   return true;
}

//限制只能输入数字的函数
function JSC_Number_KeyPressHandler(ctrl)
{    
    if (event.keyCode == 13)
        return(true);
    if(event.keyCode < 48 || event.keyCode > 57)
        return(false);
    else
        return(true);
}

function JSC_SpecChar(str) 
{ 
    re = new RegExp(/[^\u4E00-\u9FA50-9a-zA-Z_]/g); 
    var a = str.match(re); 
    if(a!=null && a!="")
    {
        return false;
    }
    else
    {
        return true;
    }
}


//图片滚动
/* 使用说明 ：var myJSC_scrollBar = new JSC_scrollBar([执行操作的时间间隔(推荐为50)]); myJSC_scrollBar.addBar([滚动的obj],[最大宽度],[内容宽度],[添加滚动条编号],[滚动步长]); */
var $$__scrollBarControl = null;
function innerBarProp(a,c,d,b,t)
{
    this.Obj=a;
    this.maxW=c;
    this.oW=d;
    this.stopScroll=false;
    this.preValue=0;
    this.barid=b;
    this.moveN = t;
}
function JSC_scrollBar(a)
{
    this.MoveBox=new Array();
    $$__scrollBarControl=this;
    this.interval = a;
    window.setInterval("$$__scrollBarControl.Move()",a);
}
JSC_scrollBar.prototype.addBar=function(a,b,c,d,t)
{
    var g=new innerBarProp(a,b,c,d,t);
    var h=this.MoveBox.length;this.MoveBox[h]=g;var e=a.innerHTML;a.innerHTML='<div class="CscrollBar"  style="width:'+c+'px;" id="'+d+'Bar'+h+'" onmouseover="$$__scrollBarControl.mouseEvt('+h+',true);" onmouseout="$$__scrollBarControl.mouseEvt('+h+',false);">'+e+e+'</div>';
}
JSC_scrollBar.prototype.Move=function()
{
    var a=this.MoveBox.length;
    if(a>0)
    {
        for(var i=0;i<a;i++)
        {
            this.Moved(i);
        }
    }
}
JSC_scrollBar.prototype.Moved=function(i)
{
    var a=this.MoveBox[i].Obj;
    var b=this.MoveBox[i].stopScroll;
    var c=this.MoveBox[i].preValue;
    var d=this.MoveBox[i].iHTML;
    var e=this.MoveBox[i].maxW;
    var f=this.MoveBox[i].oW;
    var g=this.MoveBox[i].barid;
    var v = this.MoveBox[i].moveN;
    if(!b)
    {
        c=c-v;
        if(c<=-f)
        {
            c=0;
        }
        this.MoveBox[i].preValue=c;$(g+'Bar'+i).style.marginLeft=c+'px';
    }
}
JSC_scrollBar.prototype.mouseEvt=function(a,b)
{
    this.MoveBox[a].stopScroll=b;
}
//时间转换
function DateToString(dtime,type)
{
    var _$Dt = new Date(dtime);
    switch(type)
    {
        case '-':
            return _$Dt.getFullYear()+"-"+(_$Dt.getMonth()+1)+"-"+_$Dt.getDate();
        case '/':
            return _$Dt.getFullYear()+"/"+(_$Dt.getMonth()+1)+"/"+_$Dt.getDate();
        case '-':
            return _$Dt.getFullYear()+"-"+(_$Dt.getMonth()+1)+"-"+_$Dt.getDate();        
        case 'y':
            return _$Dt.getFullYear()+"年";
        case 'M':
            return _$Dt.getFullYear()+"年"+(_$Dt.getMonth()+1)+"月";
        case 'd':
            return _$Dt.getFullYear()+"年"+(_$Dt.getMonth()+1)+"月"+_$Dt.getDate()+"日";
        case 'h':
            return _$Dt.getFullYear()+"年"+(_$Dt.getMonth()+1)+"月"+_$Dt.getDate()+"日"+_$Dt.getHours()+"时";
        case 'm':
            return _$Dt.getFullYear()+"年"+(_$Dt.getMonth()+1)+"月"+_$Dt.getDate()+"日"+_$Dt.getHours()+"时"+_$Dt.getMinutes()+"分";
        case 's':
            return _$Dt.getFullYear()+"年"+(_$Dt.getMonth()+1)+"月"+_$Dt.getDate()+"日"+_$Dt.getHours()+"时"+_$Dt.getMinutes()+"分"+_$Dt.getSeconds()+"秒";
        case 'S.':
            return _$Dt.getFullYear()+"."+(_$Dt.getMonth()+1)+"."+_$Dt.getDate();
        case 'm.':
            return (_$Dt.getMonth()+1)+"."+_$Dt.getDate()+" "+_$Dt.getHours()+":"+_$Dt.getMinutes()+"";
        default:
            return _$Dt.getFullYear()+"-"+(_$Dt.getMonth()+1)+"-"+_$Dt.getDate();
    }
}
//切换城市弹出层
var s;
function QH_City()
{
    var login = $("QH_City_Div");
    login.style.display = 'block';
    login.style.position = "absolute";
    login.style.border = "1px solid gray";
    login.style.background ="#fff";
    login.style.left = (730)+"px";
    login.style.top = (145)+"px";
    login.style.width =(220)+ "px";
    login.style.height = (95)+"px"; 
    window.clearTimeout(s);
    login.innerHTML = '<a href="Default.aspx" title="邮购城市"><font color="#ff0000">北京</font></a><a href="" target="_blank" title="邮购城市">河北</a><a href="" target="_blank" title="邮购城市">上海</a><a href="" target="_blank" title="邮购城市">天津</a><a href="" target="_blank" title="邮购城市">深圳</a><a href="" target="_blank" title="邮购城市">广州</a><a href="" target="_blank" title="邮购城市">重庆</a>';
    login.innerHTML += '<a href="" target="_blank" title="邮购城市">哈尔滨</a><a href="" target="_blank" title="邮购城市">长春</a><a href="" target="_blank" title="邮购城市">沈阳</a><a href="" target="_blank" title="邮购城市">大连</a><a href="" target="_blank" title="邮购城市">包头</a><a href="" target="_blank" title="邮购城市">兰州</a></br>';
    login.innerHTML += '<a href="" target="_blank" title="邮购城市">鄂尔多斯</a><a href="" target="_blank" title="邮购城市">银川</a><a href="" target="_blank" title="邮购城市">西宁</a><a href="" target="_blank" title="邮购城市">太原</a><a href="" target="_blank" title="邮购城市">西安</a><a href="" target="_blank" title="邮购城市">济南</a>';
    login.innerHTML += '<a href="" target="_blank" title="邮购城市">南昌</a><a href="" target="_blank" title="邮购城市">南京</a><a href="" target="_blank" title="邮购城市">合肥</a><a href="" target="_blank" title="邮购城市">武汉</a><a href="" target="_blank" title="邮购城市">长沙</a><a href="" target="_blank" title="邮购城市">成都</a><a href="" target="_blank" title="邮购城市">杭州</a>';
    login.innerHTML += '<a href="" target="_blank" title="邮购城市">贵阳</a><a href="" target="_blank" title="邮购城市">福州</a><a href="" target="_blank" title="邮购城市">南宁</a><a href="" target="_blank" title="邮购城市">海口</a><a href="" target="_blank" title="邮购城市">昆明</a><a href="" target="_blank" title="邮购城市">拉萨</a><a href="" target="_blank" title="邮购城市">厦门</a>';
}
function hiddenMessage()
{ 
    s=window.setTimeout("close_div();",3000); 
}
function close_div()
{
    $('QH_City_Div').style.display = 'none';
}
//清除搜索框
function disp_info()
{
    $("search_text").value = "";
}
//设置弹出层
function openLayer(objId,conId){
var arrayPageSize   = getPageSize();//调用getPageSize()函数
var arrayPageScroll = getPageScroll();//调用getPageScroll()函数
if (!$("popupAddr")){
//创建弹出内容层
var popupDiv = document.createElement("div");
//给这个元素设置属性与样式
popupDiv.setAttribute("id","popupAddr")
popupDiv.style.position = "absolute";
popupDiv.style.border = "1px solid #ccc";
popupDiv.style.background = "#fff";
popupDiv.style.zIndex = 99;
//创建弹出背景层
var bodyBack = document.createElement("div");
bodyBack.setAttribute("id","bodybg")
bodyBack.style.position = "absolute";
bodyBack.style.width = "100%";
bodyBack.style.height = (arrayPageSize[1] + 35 + 'px');
bodyBack.style.zIndex = 98;
bodyBack.style.top = 0;
bodyBack.style.left = 0;
bodyBack.style.filter = "alpha(opacity=50)";
bodyBack.style.opacity = 0.5;
bodyBack.style.background = "#9FEBBB";
//实现弹出(插入到目标元素之后)
var mybody = $(objId);
insertAfter(popupDiv,mybody);//执行函数insertAfter()
insertAfter(bodyBack,mybody);//执行函数insertAfter()
}
//显示背景层
$("bodybg").style.display = "";
//显示内容层
var popObj=$("popupAddr")
popObj.innerHTML = $(conId).innerHTML;
popObj.style.display = "";
//让弹出层在页面中垂直左右居中(统一)
// popObj.style.width  = "600px";
// popObj.style.height = "400px";
// popObj.style.top  = arrayPageScroll[1] + (arrayPageSize[3] - 35 - 400) / 2 + 'px';
// popObj.style.left = (arrayPageSize[0] - 20 - 600) / 2 + 'px';
//让弹出层在页面中垂直左右居中(个性)
var arrayConSize=getConSize(conId)
popObj.style.top  = arrayPageScroll[1] + (arrayPageSize[3] - arrayConSize[1]) / 2-50 + 'px';
popObj.style.left = (arrayPageSize[0] - arrayConSize[0]) / 2 -30 + 'px';
}
//获取内容层内容原始尺寸
function getConSize(conId){
var conObj=$(conId)
conObj.style.position = "absolute";
conObj.style.left=-1000+"px";
conObj.style.display="";
var arrayConSize=[conObj.offsetWidth,conObj.offsetHeight]
conObj.style.display="none";
return arrayConSize;
}
function insertAfter(newElement,targetElement){//插入
var parent = targetElement.parentNode;
if(parent.lastChild == targetElement){
parent.appendChild(newElement);
}
else{
parent.insertBefore(newElement,targetElement.nextSibling);
}
}
//获取滚动条的高度
function getPageScroll(){
var yScroll;
if (self.pageYOffset) {
yScroll = self.pageYOffset;
} else if (document.documentElement  &&  document.documentElement.scrollTop){
yScroll = document.documentElement.scrollTop;
} else if (document.body) {
yScroll = document.body.scrollTop;
}
arrayPageScroll = new Array('',yScroll)
return arrayPageScroll;
}
//获取页面实际大小
function getPageSize(){
var xScroll,yScroll;
if (window.innerHeight  &&  window.scrollMaxY){
xScroll = document.body.scrollWidth;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight){
sScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else {
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
var windowWidth,windowHeight;
//var pageHeight,pageWidth;
if (self.innerHeight) {
windowWidth = self.innerWidth;
windowHeight = self.innerHeight;
} else if (document.documentElement  &&  document.documentElement.clientHeight) {
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
} else if (document.body) {
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
}
var pageWidth,pageHeight
if(yScroll < windowHeight){
pageHeight = windowHeight;
} else {
pageHeight = yScroll;
}
if(xScroll < windowWidth) {
pageWidth = windowWidth;
} else {
pageWidth = xScroll;
}
arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;
}
//关闭弹出层
function closeLayer(){
$("popupAddr").style.display = "none";
$("bodybg").style.display = "none";
return false;
}
//拖拽
//对“拖动点”定义：onMousedown="StartDrag(this)" onMouseup="StopDrag(this)" onMousemove="Drag(this)"即可
var move=false,oldcolor,_X,_Y;
function StartDrag(obj){  //定义准备拖拽的函数
obj.setCapture(); //对当前对象的鼠标动作进行跟踪
move=true;
//获取鼠标相对内容层坐标
var parentwin=$("popupAddr");
_X=parentwin.offsetLeft-event.clientX
_Y=parentwin.offsetTop-event.clientY
}
function Drag(obj){        //定义拖拽函数
if(move){
var parentwin=$("popupAddr");
parentwin.style.left=event.clientX+_X;
parentwin.style.top=event.clientY+_Y;
}
}
function StopDrag(obj){   //定义停止拖拽函数
obj.releaseCapture(); //停止对当前对象的鼠标跟踪
move=false;
}
//计算文本框输入字数
function getStrLong(str,num)
{//计算字符串str的长度，汉字1英文0.5
  var valueLen = 0;
  var charNum = 0;
  if (str != "")
  {
    for (i = 0; i < str.length; i++){
      var code = escape(str.charAt(i));
      if ((code.length >= 4) && (code < '%uFF60' || code > '%uFF9F'))
      {
        valueLen += 1;
      }
      else 
      {
        valueLen +=0.5;
      }
      if(valueLen <= num)
      {
      	charNum++;
      }
    }
  }
  return Array(valueLen, charNum);
}
function textnum(text,num)
{
	var oDes = $('textnumDiv');
	oDes.style.display = '';
	oDes.innerHTML = "解决方案输入不超"+num+"字，现在输入数："+ getStrLong(text.value,num)[0] +"字";
    if (getStrLong(text.value,num)[0]>num)
    {
    text.value=text.value.substring(0,getStrLong(text.value,num)[1]);
    alert("字数不能超过"+num+"个字，系统将自动截去超出部分！");
    }
    return;
}