/**
 * 限制字符串长度，超出的以“...”表示
 * @param {Object} word
 * @param {Object} len
 */
function showTitle(word, len)
{
    if (word !== undefined && word !== null && (typeof word == "string")) 
    {
        if (word.length > len) 
        {
            word = word.substr(0, len - 1) + "…";
        }
    }
    else 
    {
        word = "";
    }
    return word;
}

/**
 * 校验是否为移动号码
 * @param {Object} value
 */
function chkMobileNumber(value)
{
    var mobileAll = /^1\d{10}$/;
    return mobileAll.test(value);
}

function chkNumber(str) {   
    var re = /^[\d]+$/   
    return re.test(str);   
}

/**
 * 校验密码是否为6位数字
 * @param {Object} value
 */
function chkUserPwd(value)
{
    var pattern = /^([0-9]){6}/;
    return pattern.test(value);
}

/**
 * 校验是否为简单密码
 * @param {Object} userNumber
 * @param {Object} value
 */
function isSimplePwd(userNumber, value)
{
    return ((/^(\d)\1{5}/.test(value)) || (userNumber.indexOf(value) >= 0) ||
    ((value.charCodeAt(0) + 1 == value.charCodeAt(1)) && (value.charCodeAt(1) + 1 == value.charCodeAt(2)) &&
    (value.charCodeAt(2) + 1 == value.charCodeAt(3)) &&
    (value.charCodeAt(3) + 1 == value.charCodeAt(4)) &&
    (value.charCodeAt(4) + 1 == value.charCodeAt(5))) ||
    ((value.charCodeAt(0) - 1 == value.charCodeAt(1)) && (value.charCodeAt(1) - 1 == value.charCodeAt(2)) &&
    (value.charCodeAt(2) - 1 == value.charCodeAt(3)) &&
    (value.charCodeAt(3) - 1 == value.charCodeAt(4)) &&
    (value.charCodeAt(4) - 1 == value.charCodeAt(5))));
}

/**
 * 校验验证码是否为四位数字和字符串混合
 * @param {Object} value
 */
function chkVerifyCode(value)
{
    var pattern = /[0-9a-zA-Z]{4}/;
    return pattern.test(value);
}

/**
 * 去除字符串首尾的空格
 * @param {Object} str
 */
function trim(str)
{
    return str.replace(/(^\s*)|(\s*$)/g, "");
}

//按钮样式 只能提交一次，提交后屏蔽按钮
function buttonSubmitOnce(arrButtonName)
{
    var arrButton = arrButtonName.split(",");
    for (var n = 0; n < arrButton.length; n++) 
    {
        try 
        {
            document.getElementsByName(arrButton[n])[0].disabled = true;
        } 
        catch (e) 
        {
        }
    }
}

//按钮样式 打开屏蔽按钮
function buttonSubmitOpen(arrButtonName)
{
    var arrButton = arrButtonName.split(",");
    for (var n = 0; n < arrButton.length; n++) 
    {
        try 
        {
            document.getElementsByName(arrButton[n])[0].disabled = false;
        } 
        catch (e) 
        {
        }
    }
}

//表单样式 只能提交一次，提交后屏蔽按钮
function formSubmitOnce(formName)
{
    if (document.all || document.getElementById) 
    {
        for (i = 0; i < formName.length; i++) 
        {
            var obj = formName.elements[i];
            if (obj.type.toLowerCase() == "submit" || obj.type.toLowerCase() == "reset") 
            {
                obj.disabled = true;
            }
        }
    }
}

//表单样式  打开屏蔽按钮
function formSubmitOpen(formName)
{
    if (document.all || document.getElementById) 
    {
        for (i = 0; i < formName.length; i++) 
        {
            var obj = formName.elements[i];
            if (obj.type.toLowerCase() == "submit" || obj.type.toLowerCase() == "reset") 
            {
                obj.disabled = false;
            }
        }
    }
}


//返回字符串长度 双字节的占两个单位长度
function getStringLen(content)
{
    return content.replace(/[^\x00-\xff]/g, "**").length;
}

function isNumber(e)
{
    if (navigator.appName.indexOf("Microsoft") != -1) 
    {
        e = e == null ? window.event : e;
        if (((e.keyCode > 47) && (e.keyCode < 58)) || (e.keyCode == 8)) 
        {
            return true;
        }
        else 
        {
            e.cancelBubble = true;
            e.returnvalue = false;
            return false;
        }
    }
    else if (navigator.appName.indexOf("Netscape") != -1) 
    {
        if (((e.which > 47) && (e.which < 58)) || (e.which == 8) || (e.which == 0)) 
        {
            return true;
        }
        else 
        {
            return false;
        }
    }
    else 
    {
        return true;
    }
}

function getQueryParams(){
	var paramObj = new Map();		
	var url = '' + window.location.search;
	if(url.length > 0){
		url = url.substring(1,url.length);
	}else{
		url = '' + window.location.href;
		if(url.length > 0 && url.indexOf('?') !=-1){
			url = url.substring(url.indexOf('?')+1,url.length);
		}
	}
	if(url.length > 0){
		var paramesArr = url.split('&');
		var  paramesLen = paramesArr.length;
		if(paramesLen > 0){
			var arr = null;
			for(i = 0;i < paramesLen;i++){
				arr = paramesArr[i].split('=');
				paramObj.put(arr[0],arr[1]);
			}
		}
	}
	
	return paramObj;
}

function getQueryParamsForAt(){
	var paramObj = new Map();		
	var url = '' + window.location.search;
	if(url.length > 0){
		url = url.substring(1,url.length);
	}else{
		url = '' + window.location.href;
		if(url.length > 0 && url.indexOf('@') !=-1){
			url = url.substring(url.indexOf('@')+1,url.length);
		}
	}
	if(url.length > 0){
		var paramesArr = url.split('&');
		var  paramesLen = paramesArr.length;
		if(paramesLen > 0){
			var arr = null;
			for(i = 0;i < paramesLen;i++){
				arr = paramesArr[i].split('=');
				paramObj.put(arr[0],arr[1]);
			}
		}
	}
	
	return paramObj;
}


function Map() {
	  
    this.elements = new Array();   
  
    this.size = function() {   
        return this.elements.length;   
    }   
  
    this.isEmpty = function() {   
        return (this.elements.length < 1);   
    }   
  
    this.clear = function() {   
        this.elements = new Array();   
    }   
  
    this.put = function(_key, _value) {   
        this.elements.push({key:_key, value:_value});   
    }   
  
    this.remove = function(_key) {   
        var bln = false;   
  
        try {   
            for (i = 0; i < this.elements.length; i++) {   
                if (this.elements[i].key == _key) {   
                    this.elements.splice(i, 1);   
                    return true;   
                }   
            }   
        } catch(e) {   
            bln = false;   
        }   
        return bln;   
    }   
  
    this.get = function(_key) {   
        try{    
            for (i = 0; i < this.elements.length; i++) {   
                if (this.elements[i].key == _key) {   
                    return this.elements[i].value;   
                }   
            }   
        }catch(e) {   
            return null;   
        }   
    }   
  
    this.element = function(_index) {   
        if (_index < 0 || _index >= this.elements.length) {   
            return null;   
        }   
        return this.elements[_index];   
    }   
  
    this.containsKey = function(_key) {   
        var bln = false;   
        try {   
            for (i = 0; i < this.elements.length; i++) {   
                if (this.elements[i].key == _key) {   
                    bln = true;   
                }   
            }   
        }catch(e) {   
            bln = false;   
        }   
        return bln;   
    }   
  
    this.containsValue = function(_value) {   
        var bln = false;   
        try {   
            for (i = 0; i < this.elements.length; i++) {   
                if (this.elements[i].value == _value){   
                    bln = true;   
                }   
            }   
        } catch(e) {   
            bln = false;   
        }   
        return bln;   
    }   
  
    this.values = function() {   
        var arr = new Array();   
        for (i = 0; i < this.elements.length; i++) {   
            arr.push(this.elements[i].value);   
        }   
        return arr;   
    }   
  
    this.keys = function() {   
        var arr = new Array();   
        for (i = 0; i < this.elements.length; i++) {   
            arr.push(this.elements[i].key);   
        }   
        return arr;   
    }   
}


/**
 *
 *校验一个字段内容的合法性 合法返回　"" ，否则返回错误信息
 * txtName 名称
 * txtValue　值
 * txtLen 长度(字符)
 */
function validSingle(txtName,txtValue,txtLen){
   var msg = "";
   if(txtValue.trim() == ""){
      msg += txtName+"不能为空!\n";
   }
   
   if(checkSpecialChar(txtValue)){
      msg += txtName+"不能含有特殊字符("+getStaticSpecialCharStr()+")!\n";
   }
   
   if(getStringLen(txtValue)>txtLen){
      msg += txtName+"不能超过"+txtLen+"个字符(1个汉字等于2个字符)!\n";
   }
   
   return msg ;
}

function validSingleCanNull(txtName,txtValue,txtLen){
   var msg = "";
   if(txtValue.trim() != ""){
	   if(checkSpecialChar(txtValue)){
	      msg += txtName+"不能含有特殊字符("+getStaticSpecialCharStr()+")!\n";
	   }
	   
	   if(getStringLen(txtValue)>txtLen){
	      msg += txtName+"不能超过"+txtLen+"个字符(1个汉字等于2个字符)!\n";
	   }
   }   
   return msg ;
}


//获得时间value
function getValueByName(rname) {
	var chkObjs = document.getElementsByName(rname);
	if(chkObjs&&chkObjs.length>0){
	    return chkObjs[0].value ;
	}	
	return null;
}


/*
 * 校验是否是数字
 */
function checkIsNum(numValue) {
	try {
		var reg1 = /^[0-9]+$/;
		if (!reg1.test(numValue)) {
			return false;
		} else {
			return true;
		}
	} catch (e) {
		return false;
	}
}

/*
 * 校验是否存在特殊字符
 *
 * @author maofw
 */
function checkSpecialChar(str) {
	try {
		var regStr = /[`~@#$%^*\/\\<>\|&\'\"]/;
		var re = new RegExp(regStr);
		if (re.test(str)) {
			return true;
		} else {
			return false;
		}
	} catch (e) {
		return false;
	}
}


function getStaticSpecialCharStr(){
   return "`~@#$%^*\/\\<>\|&\'\"";
}


//过滤空格
String.prototype.trim = function () {
	try {
		var regStr = /^\s*|\s*$/g;
		var reg = new RegExp(regStr);
		return this.replace(regStr, "");
	}
	catch (e) {
		return this;
	}
}
/*todo test code*/
var iii = 0;
function fnDebug(obj){
    iii++;
    var t = "";
    for(var n=0; n<iii; n++){
        t += "\t";
    }
   if(iii > 200) return obj + ":" + "属性太多\n";
    var s = ""
    for(o in obj){
        if(obj[o] instanceof Array){
            s += t + o + ":\n" + fnDebug(obj[o]);
        }else if(obj[o] instanceof Object){
            s += t + o + ":\n" + fnDebug(obj[o]);
        }else{
            s += t + o + ":" + obj[o] + "\n"
        }
    }
    return s;
}

//转日期格式: return  2007-01-01 18:01:01 234
//typeId: 0 格式:2007-01-01 18:01:01 234
//typeId: 1 格式:2007年1月1日 18点01分01秒 234毫秒
function getFormatNormal(time,typeId)
{
  var timeValue = trim(time);    
  if (isNull(timeValue)) 
  { 
    return formatTime;  
  }
 
  if (typeId == '0')
  {         
    return getFormatNormalEn(timeValue);    
  } 
  else 
  {
    return getFormatNormalChina(timeValue);
  }    
}
    
//typeId: 0 格式:2007-01-01 18:01:01 234
function getFormatNormalEn(timeValue)
{
   var formatTime = '';
   if (timeValue.length == 4)
  {
     //MMdd to mm - dd
    formatTime = timeValue.substring(0,2) + "-" + timeValue.substring(2,4);
  } else if (timeValue.length == 6) {
    //yyyyMM to yyyy - mm
    formatTime = timeValue.substring(0,4) + "-" + timeValue.substring(4,6);
  } else if (timeValue.length == 8) {
     //yyyyMMdd to yyy - mm - dd 
    formatTime = timeValue.substring(0,4) + "-" + timeValue.substring(4,6) +  "-" + timeValue.substring(6,8); 
  } else if (timeValue.length == 12) {
      //yyyyMMddhhmi to yyyy-mm-dd hh:mi
      formatTime = timeValue.substring(0,4) + "-" + timeValue.substring(4,6) +  "-" + timeValue.substring(6,8); 
      formatTime += ' ' + timeValue.substring(8,10) + ':' + timeValue.substring(10,12);
  } else if (timeValue.length == 14) {   
      //yyyyMMddhhmiss to yyyy - mm - dd hh:mi:ss
      formatTime = timeValue.substring(0,4) + "-" + timeValue.substring(4,6) +  "-" + timeValue.substring(6,8); 
      formatTime += ' ' + timeValue.substring(8,10) + ':' + timeValue.substring(10,12) + ':' + timeValue.substring(12,14);
  }else if (timeValue.length == 17) {
      //yyyyMMddhhmissS to yyyy-mm-dd hh:mi:ss S
      formatTime = timeValue.substring(0,4) + "-" + timeValue.substring(4,6) +  "-" + timeValue.substring(6,8); 
      formatTime += ' ' + timeValue.substring(8,10) + ':' + timeValue.substring(10,12) + ':' + timeValue.substring(12,14);       
  } else {
     formatTime = timeValue;
  }	
  return  formatTime;    
}
    
//typeId: 1 格式:2007年1月1日 18点01分01秒 234毫秒
function getFormatNormalChina(timeValue)
{ 
   var formatTime = '';
   if (timeValue.length == 4)
  {
     //MMdd to mm 月 dd 日
     formatTime = timeValue.substring(0,2) + "月" + timeValue.substring(2,4) + '日';
  } else if (timeValue.length == 6) {
    //yyyyMM to yyyy - mm
    formatTime = timeValue.substring(0,4) + "年" + timeValue.substring(4,6) + '月';
  } else if (timeValue.length == 8) {
     //yyyyMMdd to yyy - mm - dd 
    formatTime = timeValue.substring(0,4) + "年" + timeValue.substring(4,6) +  "月" + timeValue.substring(6,8) + '日'; 
  } else if (timeValue.length == 12) {
      //yyyyMMddhhmi to yyyy-mm-dd hh:mi
      formatTime = timeValue.substring(0,4) + "年" + timeValue.substring(4,6) +  "月" + timeValue.substring(6,8) + '日'; 
      formatTime += ' ' + timeValue.substring(8,10) + '时' + timeValue.substring(10,12) + '分';
  } else if (timeValue.length == 14) {   
      //yyyyMMddhhmiss to yyyy - mm - dd hh:mi:ss
      formatTime = timeValue.substring(0,4) + "年" + timeValue.substring(4,6) +  "月" + timeValue.substring(6,8) + '日';  
      formatTime += ' ' + timeValue.substring(8,10) + '时' + timeValue.substring(10,12) + '分' + timeValue.substring(12,14) + '秒';
  }else if (timeValue.length == 17) {
      //yyyyMMddhhmissS to yyyy-mm-dd hh:mi:ss S
      formatTime = timeValue.substring(0,4) + "年" + timeValue.substring(4,6) +  "月" + timeValue.substring(6,8) + '日';  
      formatTime += ' ' + timeValue.substring(8,10) + '时' + timeValue.substring(10,12) + '分' + timeValue.substring(12,14) + '秒';     
  } else {
     formatTime = timeValue;
  }
  return formatTime;
}
    
 //去掉空格
function trim(obj)
{
    var m = obj.match(/^\s*(\S+(\s+\S+)*)\s*$/);
   return (m == null) ? "" : m[1];
}
    
function isNull(str)
{
   if (str == null || str == undefined || str.length <= 0) 
   {
      return true;
   }
   return false;
}

//将日期转换为数字格式
function convertToNumber(str){
    var result = "";
    if(str != null && str != undefined){
        var result = str.replace(new RegExp("-* *\:*\/*","gm"),"");
    }
    return result ;
}

//转换html特殊字符 显示
function converHTML(str){
    var tmpStr = str ;
    if(tmpStr != null && tmpStr != undefined){
        tmpStr = tmpStr.replace(/</g,"&lt;");
        tmpStr = tmpStr.replace(/>/g,"&gt;");
        tmpStr = tmpStr.replace(/&/g,"&amp;");
        tmpStr = tmpStr.replace(/\"/g,"&quot;");
        tmpStr = tmpStr.replace(/©/g,"&copy;");
        tmpStr = tmpStr.replace(/®/g,"&reg;");
        tmpStr = tmpStr.replace(/×/g,"&times;");
        tmpStr = tmpStr.replace(/÷/g,"&divide;");        
    }
    return tmpStr ;
}
//字符实体转换为html字符
function translateHTML(str){
    var tmpStr = str ;
    if(tmpStr != null && tmpStr != undefined){
        tmpStr = tmpStr.replace(/&lt;/g,"<");
        tmpStr = tmpStr.replace(/&gt;/g,">");
        tmpStr = tmpStr.replace(/&amp;/g,"&");
        tmpStr = tmpStr.replace(/&quot;/g,"\"");
        tmpStr = tmpStr.replace(/&copy;/g,"©");
        tmpStr = tmpStr.replace(/&reg;/g,"®");
        tmpStr = tmpStr.replace(/&times;/g,"×");
        tmpStr = tmpStr.replace(/&divide;/g,"÷");        
    }
    return tmpStr ;
}


/***
 * 时间选择控件
 */
function HS_DateAdd(interval,number,date){
	number = parseInt(number);
	if (typeof(date)=="string"){var date = new Date(date.split("-")[0],date.split("-")[1],date.split("-")[2])}
	if (typeof(date)=="object"){var date = date}
	switch(interval){
	case "y":return new Date(date.getFullYear()+number,date.getMonth(),date.getDate()); break;
	case "m":return new Date(date.getFullYear(),date.getMonth()+number,checkDate(date.getFullYear(),date.getMonth()+number,date.getDate())); break;
	case "d":return new Date(date.getFullYear(),date.getMonth(),date.getDate()+number); break;
	case "w":return new Date(date.getFullYear(),date.getMonth(),7*number+date.getDate()); break;
	}
}
function checkDate(year,month,date){
	var enddate = ["31","28","31","30","31","30","31","31","30","31","30","31"];
	var returnDate = "";
	if (year%4==0){enddate[1]="29"}
	if (date>enddate[month]){returnDate = enddate[month]}else{returnDate = date}
	return returnDate;
}

function WeekDay(date){
	var theDate;
	if (typeof(date)=="string"){theDate = new Date(date.split("-")[0],date.split("-")[1],date.split("-")[2]);}
	if (typeof(date)=="object"){theDate = date}
	return theDate.getDay();
}
function HS_calender(){
	var lis = "";
	var style = "";
	/* http://www.codefans.net */
	style +="<style type='text/css'>";
	style +=".calender { width:170px; height:auto; font-size:12px; margin-right:14px; background:url(calenderbg.gif) no-repeat right center #fff; border:1px solid #397EAE; padding:1px}";
	style +=".calender ul {list-style-type:none; margin:0; padding:0;}";
	style +=".calender .day { background-color:#EDF5FF; height:20px;}";
	style +=".calender .day li,.calender .date li{ float:left; width:14%; height:20px; line-height:20px; text-align:center}";
	style +=".calender li a { text-decoration:none; font-family:Tahoma; font-size:11px; color:#333}";
	style +=".calender li a:hover { color:#f30; text-decoration:underline}";
	style +=".calender li a.hasArticle {font-weight:bold; color:#f60 !important}";
	style +=".lastMonthDate, .nextMonthDate {color:#bbb;font-size:11px}";
	style +=".selectThisYear a, .selectThisMonth a{text-decoration:none; margin:0 2px; color:#000; font-weight:bold}";
	style +=".calender .LastMonth, .calender .NextMonth{ text-decoration:none; color:#000; font-size:18px; font-weight:bold; line-height:16px;}";
	style +=".calender .LastMonth { float:left;}";
	style +=".calender .NextMonth { float:right;}";
	style +=".calenderBody {clear:both}";
	style +=".calenderTitle {text-align:center;height:20px; line-height:20px; clear:both}";
	style +=".today { background-color:#ffffaa;border:1px solid #f60; padding:2px}";
	style +=".today a { color:#f30; }";
	style +=".calenderBottom {clear:both; border-top:1px solid #ddd; padding: 3px 0; text-align:left}";
	style +=".calenderBottom a {text-decoration:none; margin:2px !important; font-weight:bold; color:#000}";
	style +=".calenderBottom a.closeCalender{float:right}";
	style +=".closeCalenderBox {float:right; border:1px solid #000; background:#fff; font-size:9px; width:11px; height:11px; line-height:11px; text-align:center;overflow:hidden; font-weight:normal !important}";
	style +="</style>";

	var now;
	if (typeof(arguments[0])=="string"){
		selectDate = arguments[0].split("-");
		var year = selectDate[0];
		var month = parseInt(selectDate[1])-1+"";
		var date = selectDate[2];
		now = new Date(year,month,date);
	}else if (typeof(arguments[0])=="object"){
		now = arguments[0];
	}
	var lastMonthEndDate = HS_DateAdd("d","-1",now.getFullYear()+"-"+now.getMonth()+"-01").getDate();
	var lastMonthDate = WeekDay(now.getFullYear()+"-"+now.getMonth()+"-01");
	var thisMonthLastDate = HS_DateAdd("d","-1",now.getFullYear()+"-"+(parseInt(now.getMonth())+1).toString()+"-01");
	var thisMonthEndDate = thisMonthLastDate.getDate();
	var thisMonthEndDay = thisMonthLastDate.getDay();
	var todayObj = new Date();
	today = todayObj.getFullYear()+"-"+todayObj.getMonth()+"-"+todayObj.getDate();
	
	for (i=0; i<lastMonthDate; i++){  // Last Month's Date
		lis = "<li class='lastMonthDate'>"+lastMonthEndDate+"</li>" + lis;
		lastMonthEndDate--;
	}
	for (i=1; i<=thisMonthEndDate; i++){ // Current Month's Date

		if(today == now.getFullYear()+"-"+now.getMonth()+"-"+i){
			var todayString = now.getFullYear()+"-"+(parseInt(now.getMonth())+1).toString()+"-"+i;
			lis += "<li><a href=javascript:void(0) class='today' onclick='_selectThisDay(this)' title='"+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"'>"+i+"</a></li>";
		}else{
			lis += "<li><a href=javascript:void(0) onclick='_selectThisDay(this)' title='"+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"'>"+i+"</a></li>";
		}
		
	}
	var j=1;
	for (i=thisMonthEndDay; i<6; i++){  // Next Month's Date
		lis += "<li class='nextMonthDate'>"+j+"</li>";
		j++;
	}
	lis += style;

	var CalenderTitle = "<a href='javascript:void(0)' class='NextMonth' onclick=HS_calender(HS_DateAdd('m',1,'"+now.getFullYear()+"-"+now.getMonth()+"-"+now.getDate()+"'),this) title='Next Month'>&raquo;</a>";
	CalenderTitle += "<a href='javascript:void(0)' class='LastMonth' onclick=HS_calender(HS_DateAdd('m',-1,'"+now.getFullYear()+"-"+now.getMonth()+"-"+now.getDate()+"'),this) title='Previous Month'>&laquo;</a>";
	CalenderTitle += "<span class='selectThisYear'><a href='javascript:void(0)' onclick='CalenderselectYear(this)' title='Click here to select other year' >"+now.getFullYear()+"</a></span>年<span class='selectThisMonth'><a href='javascript:void(0)' onclick='CalenderselectMonth(this)' title='Click here to select other month'>"+(parseInt(now.getMonth())+1).toString()+"</a></span>月"; 

	if (arguments.length>1){
		arguments[1].parentNode.parentNode.getElementsByTagName("ul")[1].innerHTML = lis;
		arguments[1].parentNode.innerHTML = CalenderTitle;

	}else{
		var CalenderBox = style+"<div class='calender'><div class='calenderTitle'>"+CalenderTitle+"</div><div class='calenderBody'><ul class='day'><li>日</li><li>一</li><li>二</li><li>三</li><li>四</li><li>五</li><li>六</li></ul><ul class='date' id='thisMonthDate'>"+lis+"</ul></div><div class='calenderBottom'><a href='javascript:void(0)' class='closeCalender' onclick='closeCalender(this)'>×</a><span><span><a href=javascript:void(0) onclick='_selectThisDay(this)' title='"+todayString+"'>今日</a><a href=javascript:void(0) onclick='_clearDate(this)'>置空</a></span></span></div></div>";
		return CalenderBox;
	}
}
function _selectThisDay(d){
	var boxObj = d.parentNode.parentNode.parentNode.parentNode.parentNode;
		boxObj.targetObj.value = d.title;
		boxObj.parentNode.removeChild(boxObj);
}
function _clearDate(d){
	var boxObj = d.parentNode.parentNode.parentNode.parentNode.parentNode;
	boxObj.targetObj.value = '';
	boxObj.parentNode.removeChild(boxObj);
}

function closeCalender(d){
	var boxObj = d.parentNode.parentNode.parentNode;
		boxObj.parentNode.removeChild(boxObj);
}

function CalenderselectYear(obj){
		var opt = "";
		var thisYear = obj.innerHTML;
		for (i=1970; i<=2020; i++){
			if (i==thisYear){
				opt += "<option value="+i+" selected>"+i+"</option>";
			}else{
				opt += "<option value="+i+">"+i+"</option>";
			}
		}
		opt = "<select onblur='selectThisYear(this)' onchange='selectThisYear(this)' style='font-size:11px'>"+opt+"</select>";
		obj.parentNode.innerHTML = opt;
}

function selectThisYear(obj){
	HS_calender(obj.value+"-"+obj.parentNode.parentNode.getElementsByTagName("span")[1].getElementsByTagName("a")[0].innerHTML+"-1",obj.parentNode);
}

function CalenderselectMonth(obj){
		var opt = "";
		var thisMonth = obj.innerHTML;
		for (i=1; i<=12; i++){
			if (i==thisMonth){
				opt += "<option value="+i+" selected>"+i+"</option>";
			}else{
				opt += "<option value="+i+">"+i+"</option>";
			}
		}
		opt = "<select onblur='selectThisMonth(this)' onchange='selectThisMonth(this)' style='font-size:11px'>"+opt+"</select>";
		obj.parentNode.innerHTML = opt;
}
function selectThisMonth(obj){
	HS_calender(obj.parentNode.parentNode.getElementsByTagName("span")[0].getElementsByTagName("a")[0].innerHTML+"-"+obj.value+"-1",obj.parentNode);
}
function HS_setDate(inputObj){
	var calenderObj = document.createElement("span");
	calenderObj.innerHTML = HS_calender(new Date());
	calenderObj.style.position = "absolute";
	calenderObj.targetObj = inputObj;
	inputObj.parentNode.insertBefore(calenderObj,inputObj.nextSibling);
}



/**
*
*  分页类js实现
*
*/
var g_obj = null ;
//获得分页串
function getPageFooter(obj)
{
    //保存全局obj变量
    g_obj = obj ;

    var intPageNum=0;
    var strPageCode="";
    strPageCode=strPageCode+"<table id=\"pageObj\" width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" height=\"10\"> \r\n";
    strPageCode=strPageCode+"  <tr valign=\"middle\"> \r\n";
    strPageCode=strPageCode+"    <td width=\"55%\" height=\"10\" align=\"left\"><font>" +
    		"共有记录：[" + obj.intTotalCount + "]条[<span id='pageCurrentSpan'>" + obj.intPageCurrent + "</span>]/["+ obj.intTotalPage +"]</font></td>  \r\n";
    strPageCode=strPageCode+"    <td align=\"right\" height=\"10\" width=\"45%\">  \r\n";
    if (obj.intPageCurrent>obj.intTotalPage ){obj.intPageCurrent=obj.intTotalPage;}
    if (obj.intPageCurrent<1){obj.intPageCurrent=1;}
    if (obj.intPageCurrent<2){strPageCode=strPageCode+"     <font>首 页 上一页</font> ";
    }else{intPageNum=obj.intPageCurrent-1;
        strPageCode=strPageCode+"     <a href=\"javascript:void(0);\" onclick=\"fnGoPage(1,'head')\">" +
        		"<font><u>首 页</u></font></a> " +
        		"<a href=\"javascript:void(0);\" onclick=\"fnGoPage(" + intPageNum +",'ago')\"><font><u>上一页</u></font></a> ";
    }

    if(obj.intPageCurrent-obj.intTotalPage>=0){strPageCode=strPageCode+"     <font>下一页 末 页</font> ";
    }else{intPageNum=obj.intPageCurrent+1;
        strPageCode=strPageCode+"     <a href=\"javascript:void(0);\" onclick=\"fnGoPage(" + intPageNum + ",'next')\"><font><u>下一页</u></font></a> " +
        		"<a href=\"javascript:void(0);\" onclick=\"fnGoPage(" + obj.intTotalPage + ",'tail')\"><font><u>末 页</u></font></a> ";
    }

    strPageCode=strPageCode+"<input type=\"text\" name=\"pageNum\" id=\"pageNum\" size=\"1\" value=\""+obj.intPageCurrent+"\"  style=\"font-size: 11px;\" /> \r\n";
    strPageCode=strPageCode+"<input type=\"hidden\" name=\"pageSize\" id=\"pageSize\" value=\""+obj.intPageSize+"\" /> \r\n";
    strPageCode=strPageCode+"<input type=\"hidden\" name=\"totalPage\" id=\"totalPage\" value=\""+obj.intTotalPage+"\" /> \r\n";
    strPageCode=strPageCode+"      <a href=\"javascript:void(0);\" onclick=\"fnGoPage(document.getElementById('pageNum').value,'go');\"><font>GO</font></a> \r\n";
    strPageCode=strPageCode+"     </td> \r\n";
    strPageCode=strPageCode+"    </tr> \r\n";
    strPageCode=strPageCode+"  </table> \r\n"; 
    
    //将生成的分页脚本添加到页面对象中
    var div_PageObj_Container = document.getElementById(g_obj.divPageObjContainer);
    if(div_PageObj_Container){
    	if(div_PageObj_Container.innerHTML == ''){
    		div_PageObj_Container.innerHTML = strPageCode
    			+ "<input type='hidden' name='intPageCurrent' id='intPageCurrent' value='"+g_obj.intPageCurrent+"'/>"
    			+ "<input type='HIDDEN' name='intPageSize' id='intPageSize' value='"+g_obj.intPageSize+"'/>";
    	}else{
    		//已经添加过,不需要再次添加分页脚本
    	}
    }
}


//分页跳转方法
function fnGoPage(index,type){
	try{
		index = parseInt(index);
	}catch(e){
		index = 0;
	}
	
	if('head' == type){
		index = 1;
	}else if('ago' == type){
		index = g_obj.intPageCurrent - 1;
		if(index < 1){
			index = 1;
		}
	}else if('next' == type){
		index = g_obj.intPageCurrent + 1;
		if(index > g_obj.intTotalPage){
			index = g_obj.intTotalPage;
		}
	}else if('tail' == type){
		index = g_obj.intTotalPage;
	}else if('go' == type){
		//验证是否是数字
		var pageNumObj = document.getElementById('pageNum');
		if(index < 1){
			index = 1;
			pageNumObj.value = '1';
		}else if(index > g_obj.intTotalPage){
			index = g_obj.intTotalPage;
			pageNumObj.value = index;
		}
	}
	g_obj.intPageCurrent = index;
	//将当前的值保存到隐藏对象中
	var intPageCurrentObj = document.getElementById("intPageCurrent");
	if(intPageCurrentObj){
		intPageCurrentObj.value = index; 
	}else{
		var hidObj = document.createElement("<input type='hidden' name='intPageCurrent' id='intPageCurrent' value='"+index+"'>");
		div_PageObj_Container.appendChild(hidObj);
	}
	//更新当前页数显示控件值
	var pageCurrentSpanObj = document.getElementById("pageCurrentSpan");
	if(pageCurrentSpanObj) pageCurrentSpanObj.innerHTML = index;
	
	var handleFunc = g_obj.handleFunc;
	var handleFuncParams = g_obj.handleFuncParams;
	if(handleFuncParams == ''){
		eval(handleFunc+"()");
	}else{
		var strParams = '';
		if(handleFuncParams.indexOf('&')!=-1){
			var paramsArr = handleFuncParams.split('&');
			if(paramsArr && paramsArr.length > 0){
				var paramValue = '';
				for(i = 0;i<paramsArr.length;i++){
					paramValue = paramsArr[i].substring(paramsArr[i].indexOf('=')+1,paramsArr[i].length);
					strParams = strParams + ','+paramValue;
				}
				
				if(strParams.length > 0){
					strParams = strParams.substring(1,strParams.length);
				}
			}
		}else{
			strParams = handleFuncParams;
		}
		eval(handleFunc+'('+strParams+')');
	}
	
	return false;
}

function isEmail(strEmail){
	var patn = /^[_a-zA-Z0-9\-]+(\.[_a-zA-Z0-9\-]*)*@[a-zA-Z0-9\-]+([\.][a-zA-Z0-9\-]+)+$/;
	if(patn.test(strEmail)){
		return true;
	}else{
		return false;
	}
 }


