﻿/*author: liulf
function: cheminfo js 类
time: 15:15 2009-2-17
Notes: Q:642161679, msn:liulf0@hotmail.com
        If you have some questions call me! I will be happy to explain with you when I have free time!
*/

function ChemInfo(){    
    this.baseUrl = "/";    
    this.ImgLoading = "<img src='"+this.baseUrl+"Images/ajaxImg/1.gif' />";
    this.ImgSmaillLoading = "<img src='"+this.baseUrl+"Images/ajaxImg/3.gif' />";
    this.searchPostUrl = this.baseUrl+"Templates/transformer.ashx";
    this.commentUrl = this.baseUrl+"Templates/transformerNull.ashx";
    this.pSearchPostUrl = this.baseUrl+"Templates/pagenation.ashx";        
    this.divId = "";
    this.error = "当前数据出错!<a href='#'>请重试</a>";
    /*决断当前是搜索当前列表，还是后台的搜索*/
    this.vSearchType=true;
    this.IsSearchThisPage = function()
    {
      var v = arguments[0];
      if(this.vSearchType){
        v.style.display='none';
        var vInput = arguments[1];
        vInput.style.width="300";
        this.vSearchType = false;
      }else{
        var vInput = arguments[1];
        vInput.style.width="205";
        v.style.display='';
        this.vSearchType = true;
      }
    }    
    this.InitHintOnblur = function(v)
    {}
    //初始化当前登录
    this.InitHint = function(v,hint)
    {   
        if(v.value=="")
        {            
            v.value = hint;           
        }else if(v.value == hint){
            v.value = "";
        }
    }
    //登陆验证
    this.ValidateisNull = function(v,hint)
    {
        var vTmp= $('#'+v).val();                
        if(!ChkUtil.isNull(vTmp) && vTmp!=hint)
        {        
            return true;
        }     
        return false;        
    }
    //登录自动回车
    this.LoginKeyPress = function(txtUid,txtPwd){            
        if (event.keyCode != "13"){            
            return true;
            }
        else
            return this.login(txtUid,txtPwd);    
    }
    this.AjaxLogin = function(txtUid,txtPwd)
    {
        var divId = this.divId;
        var loginData = "userid={0}&userpass={1}&swichParam={2}";
        var uid = txtUid.value;
        var pwd = txtPwd.value;
        if(ChkUtil.isNull(uid))
        {
            alert("用户名不能为空!");return;
        }else if(ChkUtil.isNull(pwd))
        {
            alert("密码不能为空!");return;
        }
         $.ajax({
               type: "POST",
               url: this.searchPostUrl,
               data: loginData.replace("{0}",uid).replace("{1}",pwd).replace("{2}","login"),
               success: function(msg){
                 $('#'+divId).html(msg);                 
               },
               beforeSend:function(){
                $('#'+divId).html(this.ImgLoading);
               },
               error : function(msg)
                {                    
                    alert(msg);
                }                                              
            });           
        this.windowOpen();
    }    
    this.windowOpen = function()
    {
        var loginUrl =this.baseUrl +"../SSO/Login.aspx?ACT=2";
		window.open(loginUrl)
    }
    this.register = function()
    {
        var registerUrl = this.baseUrl + "../SSO/Register.aspx";
        window.open(registerUrl);
    }
    this.InnerSearch = function (key) {        
        cPage.where2=key.value;       
        cPage.pageIndex = 1;
        cPage.pageSize="35"
        cPage.ajaxPost();
    }
    this.BeginSearch = function(txtId,selectId)
    {
        try{       
            var cheminfoSearchBaseUrl =this.baseUrl+'Search/Default.aspx?Channel={0}&keyword={1}';                        
            var keyword = txtId.value;    //$('#'+txtId).val();                     
            if(ChkUtil.isNull(keyword))
             {
                alert('请输入关键字!');
                return false;
             }
            var channel = selectId.value; 
            if(channel==2)//编辑推客
            {
                window.open("/Search/Default.aspx?Channel=0&Option=0&Group=6&keyword="+keyword);
                return true;
            }else if(channel==8)//视频
            {            
                window.open("/video/videosearch.aspx?key=" + keyword);
                return true;//不在往下执行
            }else if(channel==5)
            {
                window.open("/Search/Default.aspx?Channel=0&Option=0&Group=7&keyword="+keyword);
                return true;
            }else if(channel==3)//进出口分析
            {
                window.open("/Search/Default.aspx?keyword="+keyword+"&Channel=12");
                return true;
            }else if(channel==4)//园区
            {
                window.open("/Search/Default.aspx?keyword="+keyword+"&Channel=11");
                return true;
            }else if(channel==6)//中化信焦点
            {
                window.open("/Search/Default.aspx?Channel=0&Option=0&Group=3&keyword="+keyword);
                return true;
            }else if(channel==7)//热点专题
            {
                window.open("/Search/Default.aspx?Channel=0&Option=0&Group=5&keyword="+keyword);
                return true;
            }else if(channel==9)
            {
                window.open("/Search/Default.aspx?Channel=8&Option=0&Group=0&keyword="+keyword);             
                return true;
            }//http://chem.com.cn/S_Product.aspx?keyword=mda&PCategory=0&provid=&cityid=&trade=&fbtime=&plevel=&spec=&content=&price=&vip=
            else if(channel ==10)
            {
                window.open("http://chem.com.cn/S_Product.aspx?keyword={0}&PCategory=0&provid=&cityid=&trade=&fbtime=&plevel=&spec=&content=&price=&vip=".replace("{0}",escape(keyword)));
                return;
            }
            cheminfoSearchBaseUrl = cheminfoSearchBaseUrl.replace("{0}",channel)
                                    .replace("{1}",keyword);       
            window.open(cheminfoSearchBaseUrl);
            return true;        
        }catch(e)
        {
            alert('搜索出错1!');
            return false;
        }
    }
    //查询时响应键盘事件
    this.MyKeyPress = function(txtId,selectId){            
        if (event.keyCode != "13")
            return true;
        else
            return this.BeginSearch(txtId,selectId);    
    }
    //返回当前的构造后的Url
    this.getPostData = function(switchParam,channelId,tableName,
                             fieldList,primaryKey,where,
                             order,sortType,recorderCount,
                             pageSize,pageIndex,connectionName,caption
                             ,groupId,keyword,cssClass,where2)
    {
        var postUrl = "swichParam={0}&channelId={1}&tableName={2}&fieldList={3}&primaryKey={4}&where={5}&order={6}&sortType={7}&recorderCount={8}&pageSize={9}&pageIndex={10}&connectionName={11}&caption={12}&groupId={13}&keyword={14}&cssClass={15}&where2={16}";                
        postUrl =  postUrl.replace("{0}",escape(switchParam))
        .replace("{1}",escape(channelId)).replace("{2}",escape(tableName))
        .replace("{3}",escape(fieldList)).replace("{4}",escape(primaryKey))
        .replace("{5}",escape(where)).replace("{6}",escape(order))
        .replace("{7}",escape(sortType)).replace("{8}",escape(recorderCount))
        .replace("{9}",escape(pageSize)).replace("{10}",escape(pageIndex))
        .replace("{11}",escape(connectionName)).replace("{12}",escape(caption))
        .replace("{13}",escape(groupId)).replace("{14}",escape(keyword)).replace("{15}",escape(cssClass))
        .replace("{16}",escape(where2));
        return postUrl;
    }      
       //是否防止Iframe 嵌套
        this.IsIframe = function(v){
            if(v)
            {
                if (top.location != self.location)
                    top.location=self.location;
            }
        }        
        this.Player = function(width,height,movieSrc,movieType)
        {
            switch(movieType)
            {
                case 'swf':
                    return '<object style="width: '+width+'px; height: '+height+'px;" id="VideoPlayback" align="middle" type="application/x-shockwave-flash">'+
                        '<param name="allowScriptAccess" value="sameDomain" />'+
                        '<param name="movie" value="'+movieSrc+'" />'+
                        '<param name="quality" value="best" />'+
                        '<param name="bgcolor" value="#ffffff" />'+
                        '<param name="scale" value="noScale" />'+
                        '<param name="wmode" value="window" />'+
                        '<param name="salign" value="TL" />'+
                        '</object>';                                        
                case 'wmv':
                    return '';
            }
        }
}
//cheminfo 扣费
function CheminfoCouFei(){
    var sDate = arguments[0];
    var sMoney = arguments[1];
    var sUrl= arguments[2];    
    var eDate = arguments[3]    
    //行情的数据
    if(ChkUtil.compareDatetime(eDate,sDate,30))
    {
        return confirm('本操作将从您的预付款扣{0}元，请确定是否要继续此操作?'.replace('{0}',sMoney));
    }else{
        return true;
    }
}
//cheminfo 扣费
function CheminfoCouFei2(){    
    var isKouFei = arguments[0];    
    var sDate = arguments[1]
    var eDate = arguments[2]    
    var sMoney = arguments[3];
    var daytmp= arguments[4];    
    var isYFKYH = arguments[5];
    //行情的数据
    if(isYFKYH=='True'&&isKouFei==1 && ChkUtil.compareDatetime(sDate,eDate,daytmp))
    {
        return confirm('本操作将从您的预付款扣{0}元，请确定是否要继续此操作?'.replace('{0}',sMoney));
    }else{
        return true;
    }
}
//创建公用的chemInfo 类
var chemInfo = new ChemInfo();  
   
//---------------------Validate-----------------------\\
//定义一个可静态调用方法的<SPAN class=hilite1>js</SPAN>类   
function ChkUtil() { }   
//校验是否为空(先删除二边空格再验证)   
ChkUtil.isNull = function (str) {   
 if (null == str ||  ""== str.trim()) {   
  return true;   
 } else {   
  return false;   
 }   
};   
//校验是否全是数字   
ChkUtil.isDigit  = function (str) {   
 var patrn=/^\d+$/;   
 return patrn.test(str);   
};   
//校验是否是整数   
ChkUtil.isInteger = function (str) {   
 var patrn=/^([+-]?)(\d+)$/;   
 return patrn.test(str);   
};   
//校验是否为正整数   
ChkUtil.isPlusInteger = function (str) {   
 var patrn=/^([+]?)(\d+)$/;   
 return patrn.test(str);   
};   
//校验是否为负整数   
ChkUtil.isMinusInteger = function (str) {   
 var patrn=/^-(\d+)$/;   
 return patrn.test(str);   
};   
//校验是否为浮点数   
ChkUtil.isFloat=function(str){   
 var patrn=/^([+-]?)\d*\.\d+$/;   
 return patrn.test(str);   
};   
//校验是否为正浮点数   
ChkUtil.isPlusFloat=function(str){   
  var patrn=/^([+]?)\d*\.\d+$/;   
  return patrn.test(str);   
};   
//校验是否为负浮点数   
ChkUtil.isMinusFloat=function(str){   
  var patrn=/^-\d*\.\d+$/;   
  return patrn.test(str);   
};   
//校验是否仅中文   
ChkUtil.isChinese=function(str){   
 var patrn=/[\u4E00-\u9FA5\uF900-\uFA2D]+$/;   
 return patrn.test(str);   
};   
//校验是否仅ACSII字符   
ChkUtil.isAcsii=function(str){   
var patrn=/^[\x00-\xFF]+$/;   
return patrn.test(str);   
};   
//校验手机号码   
ChkUtil.isMobile = function (str) {   
 var patrn = /^0?1((3[0-9]{1})|(59)){1}[0-9]{8}$/;   
 return patrn.test(str);   
};   
//校验电话号码   
ChkUtil.isPhone = function (str) {   
 var patrn = /^(0[\d]{2,3}-)?\d{6,8}(-\d{3,4})?$/;   
 return patrn.test(str);   
};   
//校验URL地址   
ChkUtil.isUrl=function(str){   
var patrn= /^http[s]?:\/\/[\w-]+(\.[\w-]+)+([\w-\.\/?%&=]*)?$/;   
return patrn.test(str);   
};   
//校验电邮地址   
ChkUtil.isEmail = function (str) {   
 var patrn = /^[\w-]+@[\w-]+(\.[\w-]+)+$/;   
 return patrn.test(str);   
};   
//校验邮编   
ChkUtil.isZipCode = function (str) {   
 var patrn = /^\d{6}$/;   
 return patrn.test(str);   
};   
//校验合法时间   
ChkUtil.isDate = function (str) {   
  if(!/\d{4}(\.|\/|\-)\d{1,2}(\.|\/|\-)\d{1,2}/.test(str)){   
    return false;   
  }   
  var r = str.match(/\d{1,4}/g);   
  if(r==null){return false;};   
  var d= new Date(r[0], r[1]-1, r[2]);   
  return (d.getFullYear()==r[0]&&(d.getMonth()+1)==r[1]&&d.getDate()==r[2]);   
};   
//校验字符串：只能输入6-20个字母、数字、下划线(常用手校验用户名和密码)   
ChkUtil.isString6_20=function(str){   
 var patrn=/^(\w){6,20}$/;   
 return patrn.test(str);   
};  
ChkUtil.compareDatetime = function()
{
    //当前时间
    var s1 = arguments[0];
    //比较时间
    var s2 = arguments[1];
    s1 = s1.replace(/-/g, "/"); 
    s2 = s2.replace(/-/g, "/"); 
    s1 = new Date(s1);
    s2 = new Date(s2);
    var days= s1.getTime() - s2.getTime(); 
    var time = parseInt(days / (1000 * 60 * 60 * 24));    
    //比较天数
    return time > arguments[2];
};
//扩展String类功能   
//删除字符串二边空格   
   String.prototype.trim = function()   
   {   
    return this.replace(/(^[\s]*)|([\s]*$)/g, "");   
   };   
   //删除字符串左边空格   
   String.prototype.lTrim = function()   
   {   
    return this.replace(/(^[\s]*)/g, "");   
   };   
   //删除字符串右边空格   
   String.prototype.rTrim = function()   
   {   
    return this.replace(/([\s]*$)/g, "");   
   };  
function $F(id){   
    if(ChkUtil.isNull(id)){alert("函数$F()的参数不能为空");return false;}   
    return document.getElementById(id).value;   
 }   
 function test(){   
  var area=$F("area");   
  if(area==false)return;   
  alert(ChkUtil.isDate(area));//判断是否是合法日期   
 }

