/*=====================================

   人才网客户端JS方法集

=======================================*/
function isIE() {return (document.all && window.ActiveXObject && !window.opera) ? true : false;}//判断浏览器

function $(id) {return document.getElementById(id);}//获取对象ID

function $C(t) {return document.createElement(t);}//创建对象

function $TN(n) {return document.getElementsByTagName(n);}//获取对象HTML标签名称

function $N(n) {return document.getElementsByName(n);}//获取对象名

function getBodySize()//获取页面大小
{
 var bodySize = [];
 with(document.documentElement) {
  bodySize[0] = (scrollWidth>clientWidth)?scrollWidth:clientWidth;
  bodySize[1] = (scrollHeight>clientHeight)?scrollHeight:clientHeight;
 }
 return bodySize;
}

function getCurrentDate()//当前日期
{
    var currentDate;
    var day; var _day; var month; var year;
    var today = new Date();
    switch (today.getDay()){
        case 0:
            day = "星期天";
            break;
        case 1:
            day = "星期一";
            break;
        case 2:
            day = "星期二";
            break;
        case 3:
            day = "星期三";
            break;
        case 4:
            day = "星期四";
            break;
        case 5:
            day = "星期五";
            break;
        case 6:
            day = "星期六";
            break;
    }
    year  = today.getYear();
    year  = (year<1900)?(year+1900):year;
    year  = year + "年";
    month = (today.getMonth() + 1) + "月";
    _day  = today.getDate() + "日";
    currentDate = year + month + _day + day;
    return currentDate;
}

function TrimStr(str)//去除字符串两边空格
{
    var len=str.length;
    var i=0;
    var itemp1=0;
    var itemp2=0;
    for (i=0;i<len;i++)
    {
        if (str.charAt(i)!=' ' && str.charAt(i)!=' ')
        {
          itemp1=i;
          break;
        }
    }
    for(i=len-1;i>0;i--)
    {
        if(str.charAt(i)!=' ' && str.charAt(i)!=' ')
        {
            itemp2=i+1;
            break;
        }
    }
    if (len==1)
    {
        itemp2=1;
    }
    return str.substring(itemp1,itemp2);
}

function msgBox(txt,url)//对话框弹出,判断转向URL或关闭当前窗口
{

    txt = TrimStr(txt);
    url = TrimStr(url);
    if (txt!=""){
        alert(txt);
    }
    if (url !=""){
  switch(url)
  {
      case "close":
       window.close();
       break;
      case "back":
       history.back();
       break;
      default:
       window.document.location.href = url;
       break;
  }
    }

}

function gotoUrl(url,txt)
{
    if (txt!="")
 {
  alert(txt);
    }
    if (url !="")
 {
  window.document.location.href = url;
 }
}

function openPopNew(url,op,align)//弹出新窗口,并决定新窗口位置
{
 url = TrimStr(url);
 op  = TrimStr(op);
 
 if (url=="" || op=="")
 {
  alert("参数不完整!");
  return false;
 }
 
 op = op.split(",");

 var _x;
 var _y;
 var bodySize = getBodySize();
 switch(align){

  case 1:
   _x = bodySize[0] + op[0];
   _y = 0;
   break;
  case 2:
   _x = bodySize[0]/2 - op[0]/2;
   _y = 0;
   break;
  case 3:
   _x = bodySize[0]/2 - op[0]/2;
   _y = 300;
   break;
  default:
   _x = 0;
   _y = 0;
   break;

 }
 var newOpen = window.open(url,"openWindow","width="+op[0]+",height="+op[1]);
 newOpen.window.moveTo(_x,_y);
}

function getMouseXY(event)
{
 var _value = [];
 _value[0] = event.clientX;
 _value[1] = event.clientY;
 return _value;
}

function isObject(e)//判断对象是否为Object类型
{
 
 if (typeof(e)=="object"){
  return true;
 }else{
  return false;
 }
 

}

function toObject(e)
{
 if (!isObject(e)){
  obj = $(e);
 }else{
  obj = e;
 }
 return obj;
}

function objDisplay_Off(e)//控制指定对象显示状态
{
 var obj = toObject(e);
 if (obj){
  if (obj.style.display=="none"){
   obj.style.display="";
  }else{
   obj.style.display="none";
  }
 }
}

function objDisplay_New(e,m)//关闭自己,显示新内容
{
 var obj = toObject(e);
 var obj1 = toObject(m);
 if (obj){
  obj.style.display="none";
 }
 if (obj1){
  obj1.style.display="block";
 }
}

function objDisplay_Open(e)
{
 var obj = toObject(e);
 if (obj){
  obj.style.display="block";
 }
}

function clickAll(f,t)
{
    var formObj = toObject(f);
    var checkObj = toObject(t);
   
    with(formObj)
    {
        if (checkObj.checked == true)
        {
            for(var i = 0; i < elements.length; i++)
            {
                elements[i].checked = true;
            }
        }
        else
        {
            for(var i = 0; i < elements.length; i++)
            {
                elements[i].checked = false;
            }
        }
    }
}
function clickThis(f,t,o)
{
    var formObj = toObject(f);
    var selectObj = toObject(t);
    var allSelect = toObject(o);
    var m = 0;
   
    var obj= document.getElementsByName(selectObj.name);
    if (selectObj.checked == true)
    {
        for(var i = 0; i < obj.length; i++)
        {
            if (obj[i].checked == true)
            {
                m = m + 1;
            }
        }
        if (m == obj.length)
        {
            allSelect.checked = true;
        }
    }
    else
    {
            allSelect.checked = false;
    }
   
}

function onclickTxtFunc(page,select,cID,formID,funcType)
{
    var obj=document.getElementsByName($(select).name);
    for(i=0;i<obj.length;i++)
    {
        if(obj[i].id != select)
        {
            obj[i].checked = false;
        }
        else
        {
            obj[i].checked = true;
        }
    }

    var formObj = toObject(formID);
    with(formObj)
    {
        action = page + "?cID=" + cID + "&funcType=" + funcType;
        method = "POST";
        submit();
        return;
    }
}

function onclickFunc(page,func,funcType,opt,id,sel,formID,thisObj,open,value)
{
    var actPage = TrimStr(page);
    var actFunc = TrimStr(func);
    var actOpt  = TrimStr(opt);
    var actId   = TrimStr(id);
    actOpt = actOpt.split(",");
    var bodySize = getBodySize();
    var _x = bodySize[0] / 2 - actOpt[0] / 2;
    var _y = actOpt[1];
    var m = 0;
   
    thisObj = toObject(thisObj);
    var funcTxt = thisObj.innerHTML;

    var obj= document.getElementsByName(sel);
    for(var i = 0; i<obj.length; i++)
    {
        if (obj[i].checked == true)
        {
            m = m + 1;
        }
    }

    if(open)
    {
        var newOpen = window.open(page + "?cID=" + actId + "," + value + "&funcType=" + funcType, "mad", "width=" + actOpt[0] + ",height=" + actOpt[1]);
        newOpen.window.moveTo(_x, _y);
    }
    else
    {
        switch(func)
        {
            case "one":
                if (m < 1)
                {
                    alert("请选择要"+funcTxt+"的数据!");
                    return false;
                }
                if (m > 1)
                {
                    alert("一次只能"+funcTxt+"一条数据!");
                    return false;
                }
                var formObj = toObject(formID);
                with(formObj)
                {
                    action = actPage + "?cID=" + actId + "&funcType=" + funcType;
                    method = "POST";
                    submit();
                    return;
                }
                break;
            case "two":
                if (m < 1)
                {
                    alert("请选择要"+funcTxt+"的数据");
                    return false;
                }
                var formObj = toObject(formID);
                with(formObj)
                {
                    if(confirm("是否要"+funcTxt+"这些数据?请确认!") == true)
                    {
                        action = actPage + "?cID=" + actId + "&funcType=" + funcType;
                        method = "POST";
                        submit();
                        return;
                    }
                    return false;
                }
                break;
            default:
                var formObj = toObject(formID);
                with(formObj)
                {
                    if(confirm("是否要"+funcTxt+"?请确认!") == true)
                    {
                        action = actPage + "?cID=" + actId + "&funcType=" + funcType;
                        method = "POST";
                        submit();
                        return;
                    }
                    return false;
                }
                break;
        }
    }
}

/*===================================
-
-             选择地区
-
===================================*/
function selectAreaBox(e,m,o,k)
{
 var obj1 = toObject(e);
 var obj2 = toObject(m);
 var obj3 = toObject(o);
 
 var oldValue = obj1.innerHTML.split("-");
 
 if (obj1.innerHTML == "" || obj1.innerHTML == "请选择地区")
 {
     $("oldValue").innerHTML == "";
 }
 else
 {
     if (oldValue[1]=="不限" || oldValue[1]=="")
     {
      $("oldValue").innerHTML = "[当前选择:"+oldValue[0]+"]";
     }
     else
     {
      $("oldValue").innerHTML = "[当前选择:"+oldValue[0]+"省"+oldValue[1]+"]";
     }
 }
 
 objDisplay_Open(obj2);
 objDisplay_Open(obj3);
 
 diffy = document.documentElement.scrollTop;
 
 var thisWhere = getMouseXY(k);
 var _x = thisWhere[1] + diffy;
 var _y = thisWhere[0];
 
 obj2.style.top  = _x + "px";
 obj2.style.left = _y + "px";
}

function selectAreaOpt(e,m,o,p)
{
 var newValue = e.split("-");
 var setValue = newValue[0] + "-" + newValue[2];
 var setTxt = newValue[0] + "-" + newValue[1];
 //alert("您选择了" + newValue[0] + "地区的" + newValue[1] + "!");
 
 var obj1 = toObject(m);
 var obj2 = toObject(o);
 
 obj1.value = setValue;
 obj2.value = setValue;
 obj2.innerHTML = setTxt;
 
 if (p!="")
 {
  objDisplay_Off(p);
 }
 objDisplay_Off('AreaSelectBox');
}

/*===================================
-
-             选择职位
-
===================================*/

function selectZwBox(e,m,o,k)
{
 var obj1 = toObject(e);
 var obj2 = toObject(m);
 var obj3 = toObject(o);

 var oldValue = obj1.innerHTML.split(";");
 
 if (obj1.innerHTML == "" || obj1.innerHTML == "请选择职位类别")
 {
     $("zwOldValue").innerHTML == "";
 }
 else
 {
     if (oldValue[1]=="不限" || oldValue[1]=="")
     {
      $("zwOldValue").innerHTML = "[当前选择:"+oldValue[0]+"]";
     }
     else
     {
      $("zwOldValue").innerHTML = "[当前选择:"+oldValue[0]+":"+oldValue[1]+"]";
     }
 }
 
 objDisplay_Open(obj2);
 objDisplay_Open(obj3);
 
 diffy = document.documentElement.scrollTop;
 
 var thisWhere = getMouseXY(k);
 var _x = thisWhere[1] + diffy;
 var _y = thisWhere[0];
 
 obj2.style.top  = _x + "px";
 obj2.style.left = _y + "px";
}

function selectZwOpt(e,m,o,p)
{
 var newValue = e.split("|");
 var setValue = newValue[1] + "-" + newValue[3];
 var setTxt = newValue[0] + ";" + newValue[2];
 //alert("您选择了" + newValue[0] + "地区的" + newValue[1] + "!");
 
 var obj1 = toObject(m);
 var obj2 = toObject(o);
 
 obj1.value = setValue;
 obj2.value = setValue;
 obj2.innerHTML = setTxt;
 
 if (p!="")
 {
  objDisplay_Off(p);
 }
 objDisplay_Off('zwSelectBox');
}

/*===================================
-
-             选择专业
-
===================================*/

function selectZyBox(e,m,o,k)
{
 var obj1 = toObject(e);
 var obj2 = toObject(m);
 var obj3 = toObject(o);

 var oldValue = obj1.innerHTML.split(";");
 
 if (obj1.innerHTML == "" || obj1.innerHTML == "请选择专业类别")
 {
     $("zyOldValue").innerHTML == "";
 }
 else
 {
     if (oldValue[1]=="不限" || oldValue[1]=="")
     {
      $("zyOldValue").innerHTML = "[当前选择:"+oldValue[0]+"]";
     }
     else
     {
      $("zyOldValue").innerHTML = "[当前选择:"+oldValue[0]+":"+oldValue[1]+"]";
     }
 }
 
 objDisplay_Open(obj2);
 objDisplay_Open(obj3);
 
 diffy = document.documentElement.scrollTop;
 
 var thisWhere = getMouseXY(k);
 var _x = thisWhere[1] + diffy;
 var _y = thisWhere[0];
 
 obj2.style.top  = _x + "px";
 obj2.style.left = _y + "px";
}

function selectZyOpt(e,m,o,p)
{
 var newValue = e.split("|");
 var setValue = newValue[1] + "-" + newValue[3];
 var setTxt = newValue[0] + ";" + newValue[2];
 
 var obj1 = toObject(m);
 var obj2 = toObject(o);
 
 obj1.value = setValue;
 obj2.value = setValue;
 obj2.innerHTML = setTxt;
 
 if (p!="")
 {
  objDisplay_Off(p);
 }
 objDisplay_Off('zySelectBox');
}

/*===================================
-
-             表单检测JS类
-
===================================*/


madbxm={
 
 test:function(){//测试类是否调用成功!
  alert("成功调用类!");
 },

 //录入信息正则检测
 Require : /.+/,
 username:/^\s*[.A-Za-z0-9_-]{3,15}\s*$/,//3位以上,15位以下字符是否有效
 password:/^\s*[.A-Za-z0-9_-]{6,15}\s*$/,//6位以上,15位以下字符是否有效
 email:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,//电子邮箱
 tal:/^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/,//电话号码
 Mobile:/^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15\d{9}$/,//手机号码
 Url:/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/,//URL地址'
 number:/^\d+$/,//是否为数字
 pxjl:"",
 GroupTal:"this.GroupTalInput(getAttribute('name'),getAttribute('min'), getAttribute('max'))",
 zip:/^[1-9]\d{5}$/,//邮政编码
 english:/^[A-Za-z]+$/,//英文
 Chinese:/^[\u0391-\uFFE5]+$/,//中文
 RepeatTo : "_value == $(a_id).value;",//验证目标值是否相同;
 Repeat : "value == $(getAttribute('to')).value",
 Limit : "this.limit(value.length,getAttribute('min'),getAttribute('max'))",//判断输入的内容长度
 Confirm:"checked==true",//确认是否同意,通过之类
 Group : "this.MustChecked(getAttribute('name'),getAttribute('type'), getAttribute('min'), getAttribute('max'))",//选择多少项
 Compare : "this.compare(value,getAttribute('condition'),getAttribute('to'))",//判断大小
 DateCompare : "this.datecompare(value,getAttribute('condition'),$(getAttribute('to')).value)",//判断大小
 Date : "this.IsDate(value, getAttribute('min'), getAttribute('format'))",//验证日期
 ErrorItem : [document.forms[0]],//记录错误位置
 ErrorMessage : ["以下原因导致提交失败:\t\t\t\t"],//记录用以输出错误的文本信息
 
 checkForm:function(theForm){
   var obj = theForm || event.srcElement;
   var count = obj.elements.length;
   for(var i=0;i<count;i++){
    with(obj.elements[i]){
     var _dataType = getAttribute("dataType");
     if(_dataType == "" || _dataType == null) continue;
     if(getAttribute("require") == "false" && value == "") continue;
     var msgTxt=getAttribute("msg");
     switch(_dataType)
     {
         case "ThisButton":
             innerHTML = "";
             value = "";
             break;
      case "Date" :
      case "Repeat" :
      case "Range" :
      case "Compare" :
      case "Custom" :
      case "Group" :
      case "Limit" :
      case "LimitB" :
      case "SafeString" :
       if(!eval(this[_dataType])){
        focus();
        alert(msgTxt);
        return false;
       }
       break;
      case "selectIn" :
       if(!this.selectIn(value))
       {
        focus();
        alert(msgTxt);
        return false;
       }
      break;
      case "zwselectIn" :
       if(!this.zwselectIn(value))
       {
        focus();
        alert(msgTxt);
        return false;
       }
          break;      
      default :
       if(!this[_dataType].test(value)){
        focus();
        alert(msgTxt);
        return false;
       }
       break;
      
     }
    }
   }
   return true;
 },
 compare : function(op1,operator,op2){
  switch (operator) {
   case "!=":
    return (op1 != op2);
   case ">":
    return (op1 > op2);
   case ">=":
    return (op1 >= op2);
   case "<":
    return (op1 < op2);
   case "<=":
    return (op1 <= op2);
   default:
    return (op1 == op2);           
  }
 },

 datecompare : function(op1,operator,op2){
  if (op2==""){
   return false;
  }
  if (!(this.IsDate(op1) && this.IsDate(op2))){
   return false;
  }
  switch (operator) {
   case "!=":
    return (op1 != op2);
   case ">":
    return (op1 > op2);
   case ">=":
    return (op1 >= op2);
   case "<":
    return (op1 < op2);
   case "<=":
    return (op1 <= op2);
   default:
    return (op1 == op2);
  }
 },
 
 ClearState : function(elem){
  with(elem){
   if(style.color == "red")
   style.color = "";
   var lastNode = parentNode.childNodes[parentNode.childNodes.length-1];
   if(lastNode.id == "__ErrorMessagePanel")
   parentNode.removeChild(lastNode);
  }
 },

 AddError : function(index){
  this.ErrorItem[this.ErrorItem.length] = this.ErrorItem[0].elements[index];
  this.ErrorMessage[this.ErrorMessage.length] = this.ErrorMessage.length + ":";
 },

 MustChecked : function(name, type, min, max){
  var groups = $N(name);
  var hasChecked = 0;
  switch(type){
   case "radio":
   case "checkbox":
    evalTxt="groups[i].checked"
   break;
   default:
    evalTxt="groups[i].value!=''"
   break;
  }
  min = min || 1;
  max = max || groups.length;
  for(var i=groups.length-1;i>=0;i--){
   if(eval(evalTxt)){hasChecked++;}
  }
  return min <= hasChecked && hasChecked <= max;
 },
 
 GroupTalInput : function(name, min, max){
  var groups=$N(name);
  var inputed=0;
  min = min || 1;
  max = max || groups.length;
  for (var i=groups.length-1;i>=0;i--){
   if (groups[i].value!=""){
    inputed++;
   }
  }
  return min <= inputed && inputed <= max;
 },

 limit : function(len,min, max){
 min = min || 0;
 max = max || Number.MAX_VALUE;
 return min <= len && len <= max;
 },
 
 IsDate : function(op, formatString){
  formatString = formatString || "ymd";
  var m, year, month, day;
  switch(formatString){
   case "ymd" :
    m = op.match(new RegExp("^((\\d{4})|(\\d{2}))([-./])(\\d{1,2})\\4(\\d{1,2})$"));
    if(m == null ) return false;
    day = m[6];
    month = m[5]--;
    year =  (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10));
   break;
   case "dmy" :
    m = op.match(new RegExp("^(\\d{1,2})([-./])(\\d{1,2})\\2((\\d{4})|(\\d{2}))$"));
    if(m == null ) return false;
    day = m[1];
    month = m[3]--;
    year = (m[5].length == 4) ? m[5] : GetFullYear(parseInt(m[6], 10));
   break;
   default :
   break;
  }
  if(!parseInt(month)) return false;
  month = month==12 ?0:month;
  var date = new Date(year, month, day);
  return (typeof(date) == "object" && year == date.getFullYear() && month == date.getMonth() && day == date.getDate());
  function GetFullYear(y){return ((y<30 ? "20" : "19") + y)|0;}
 },
 
 display:function(e){//显示操作
  if ($(e)){
   if ($(e).style.display=="none"){
    $(e).style.display="";
   }else{
    $(e).style.display="none";
   }
  }
 },
 checkMaxInput:function (i_obj,a_obj,maxLen) {//检测最大输入值,i_obj验证对象,a_obj反馈剩余字数对象,maxLen最大准许录入字数
  if (i_obj.value.length > maxLen){
   i_obj.value = i_obj.value.substring(0, maxLen);
  }
  else {
   a_obj.innerHTML = maxLen - i_obj.value.length;
  }
 },
 selectIn : function(value){ 
  if(value==""||value==null){
   return false;
  }else{
   var sTxt = value.split("-");
   if(sTxt.length<2) return false;
   for(i=0;i<sTxt.length;i++){
    if(sTxt[i] == "" || sTxt[i]==null) return false;
   }
  }
  return true;
 },
 zwselectIn : function(value){ 
  if(value==""||value==null){
   return false;
  }else{
   var sTxt = value.split(";");
   if(sTxt.length<2) return false;
   for(i=0;i<sTxt.length;i++){
    if(sTxt[i] == "" || sTxt[i]==null) return false;
   }
  }
  return true;
 }

}

posted on 2008-03-27 15:36  wareenpower  阅读(106)  评论(0)    收藏  举报