﻿/*********************************************************************************************
** Just some common functions
*****************************************************************validate*****************************/

// checks if input value specified within the start position and including the end position
// is an alphabet character
function isAlpha(inputVal, startPos, endPos) {
	var strValue = inputVal.substring(startPos,endPos);
	
	for (var i = 0; i < strValue.length; i++) {
		var oneChar = strValue.charAt(i);
		if (!(oneChar >= "A" && oneChar <= "Z") && !(oneChar >= "a" && oneChar <= "z")) {
			return false;
			
		}
	}
	return true;
} 

function validPassword(formobj){
	var i;
	for(i=0;i<formobj.value.length;i++){
		if(formobj.value.charAt(i) == "'"){
			alert("Apostrophes are not allowed in Password!");
			formobj.focus();
			return false;
		}
	}
	return true;
}

/****************************************************
 ** Function isEmpty
 ** Description:
 ** Input:
 ****************************************************/
function isEmpty(inputVal){
	if (inputVal == "" || inputVal.length == 0){
		return true;
	}else{
		return false;
	}
}

/****************************************************
 ** Function isInteger
 ** Description:
 ** Input:
 ** Output:
 ****************************************************/
function isInteger(inputVal) {
	inputStr = inputVal.toString();
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i);
		if (oneChar < "0" || oneChar > "9") {
			return false;
		}
	}
	return true;
}
/****************************************************
 ** Function numericOnly
 ** Description:
 ** Input:
 ** Output:
 ** 07/22/06 - Created (fei)
 ****************************************************/
 function numericOnly()
 {
	//alert(event.keyCode);
	if(event.keyCode<48||event.keyCode>57)
	{
		event.returnValue=false;
	}
 }

 /****************************************************
 ** Function percentOnly
 ** Description:
 ** Input:
 ** Output:
 ****************************************************/
 function percentOnly(obj)
 {
	//alert(event.keyCode);
	inputStr = obj.value;
	if(event.keyCode==46)
	{
		inputStr = obj.value;
		for (var i = 0; i < inputStr.length; i++) {
			var oneChar = inputStr.charAt(i);
			if (oneChar == ".") {
				event.returnValue=false;
			}
		}
	}

	if((event.keyCode!=46 && event.keyCode<48)||event.keyCode>57)
	{
		event.returnValue=false;
	}
	if(parseFloat(inputStr+String.fromCharCode(event.keyCode)) > 100)
	{
		event.returnValue=false;
	}
	
 }
 
 /****************************************************
 ** Function floatOnly
 ** Description:
 ** Input:
 ** Output:
 ****************************************************/
 function floatOnly(obj)
 {
	//alert(event.keyCode);
	if(event.keyCode==46)
	{
		inputStr = obj.value;
		for (var i = 0; i < inputStr.length; i++) {
			var oneChar = inputStr.charAt(i);
			if (oneChar == ".") {
				event.returnValue=false;
			}
		}
	}
	if((event.keyCode!=46 && event.keyCode<48)||event.keyCode>57)
	{
		event.returnValue=false;
	}
 }
 /****************************************************
 ** Function isEmail
 ** Description:
 ** Input:
 ** Output:
 ****************************************************/
//----------
function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}
//----------
function windowstatus(text){
	window.status = text;
	return true;
}
//----------
function clearstatus()
{
	window.status = '';
	return true;
}


/******************************************************************************************
** Function isDate
** Description: bolAlert - 0 allow
********************************************************************************************/
function isDate(inputStr,bolAlert)
{
    return true;
}

/******************************************************************************************
** Function MaxlenLimit
** Description: limit the maxlength  of textarea 
**
********************************************************************************************/
function MaxlenLimit(CtrlID,maxlength){
	var ctrl =document.getElementById(CtrlID)
	if(ctrl.value.length >=maxlength)
	{
		event.returnValue=false;
	}
}

/******************************************************************************************
** Function ReplaceAll
** Description: replace
**
********************************************************************************************/
function ReplaceAll(strOrg,strFind,strReplace)
{
	var index = 0;
	while(strOrg.indexOf(strFind,index) != -1){
		strOrg = strOrg.replace(strFind,strReplace);
		index = strOrg.indexOf(strFind,index);
	}
	return strOrg
}

/******************************************************************************************
** Function Enter_click
** Description: focus on  the designated button when press "Enter" key
** input :     ButtonID   --  the button which will be focused on   
**
********************************************************************************************/
	function Enter_click(ButtonID){
		  if (event.keyCode==13){
		    //alert("hello");
		    document.getElementById(ButtonID).click();
		  }
		}
     
 /****************************************************
 ** Function BrowserDetect
 ** Description: Detect browser type
 ** Input:
 ** Output: 
 **
 *****************************************************/
function BrowserDetect(){      
       var type='Unknown';
       if (window.navigator.userAgent.indexOf("MSIE")>=1){ //if browser is IE
        type='IE';
        }
        else{
            if (window.navigator.userAgent.indexOf("Firefox")>=1){//if browser is Firefox
                type='Firefox';
            }
            else{    
                 if (window.navigator.userAgent.indexOf("Safari")>=1){ //if browser is Safari   
                          type='Safari';
                 }      
                 else{type='Other';}                    //if browser is Other  
            }
        }
        return type;
}

 /*****************************************************/

function LTrim(str){ 
     var i; 
     for(i=0;i<str.length;i++) 
     { 
       if(str.charAt(i)!=" "&&str.charAt(i)!=" ")break; 
     } 
     str=str.substring(i,str.length); 
     return str; 
} 
function RTrim(str){ 
     var i; 
     for(i=str.length-1;i>=0;i--) 
     { 
      if(str.charAt(i)!=" "&&str.charAt(i)!=" ")break; 
     } 
     str=str.substring(0,i+1); 
     return str; 
} 
function Trim(str){ 
     return LTrim(RTrim(str)); 
} 
 /*********************************************************
** Function : ValidateIDNumber
** Description: Check ID Number
** Input:ID number
** Output:
** 7/18/06 - Created (Fei)
*********************************************************/
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"} 
function ValidateIDNumber(IDNumber)
   { 
    var iSum=0; 
    var info="";
    var len;
    var code;
    len=IDNumber.length;
    if (len==15)
        {
        if(!/^\d{15}/i.test(IDNumber)) 
            {
             alert("非法身份证号:请输入数字!");
             document.getElementById('ctl00$cntHolder$txtIDNumber').focus();
             return false;
             }
        if(aCity[parseInt(IDNumber.substr(0,2))]==null)
            {
             alert("非法身份证号:请核对地区码(前两位)!");
             document.getElementById('ctl00$cntHolder$txtIDNumber').focus();
             return false;
            }
        sBirthday="19" + IDNumber.substr(6,2)+"-"+Number(IDNumber.substr(8,2))+"-"+Number(IDNumber.substr(10,2)); 
        var d=new Date(sBirthday.replace(/-/g,"/"))
        if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate())) 
            {
             alert("非法身份证号:请核对生日码!");
             document.getElementById('ctl00$cntHolder$txtIDNumber').focus();
             return false;
            }
//        info=(IDNumber.substr(14,1)%2?"0":"1")
//        document.getElementById('ctl00_cntHolder_ddlSex').selectedIndex=info;
//        code=IDNumber.substr(0,2);
//        if (code=="31")
//            {document.getElementById('ctl00$cntHolder$ddlIsSH').selectedIndex=0;
//             info=info + '0';}
//        else {document.getElementById('ctl00$cntHolder$ddlIsSH').selectedIndex=1;
//              info=info + '1';
//              }
//        code=IDNumber.substr(0,6);
//        code=code + info;
//        CallTheServer(code,''); 
        return true;
        }
    else if (len==18)
        {
        if(!/^\d{17}(\d|x)$/i.test(IDNumber))
             {
             alert("非法身份证号:除第18位允许为X外其余请输入数字!");
             document.getElementById('ctl00$cntHolder$txtIDNumber').focus();
             return false;
             }
        IDNumber=IDNumber.replace(/x$/i,"a");            
        if(aCity[parseInt(IDNumber.substr(0,2))]==null)
             {
             alert("非法身份证号:请核对地区码(前两位)!");
             document.getElementById('ctl00$cntHolder$txtIDNumber').focus();
             return false;
             }
        sBirthday=IDNumber.substr(6,4)+"-"+Number(IDNumber.substr(10,2))+"-"+Number(IDNumber.substr(12,2)); 
        var d=new Date(sBirthday.replace(/-/g,"/")) 
        if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))
             {
             alert("非法身份证号:请核对生日码!");
             document.getElementById('ctl00$cntHolder$txtIDNumber').focus();
             return false;
             }
        for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(IDNumber.charAt(17 - i),11) 
        if(iSum%11!=1)
             {
             alert("非法身份证号:请再次核对全部身份证号!");
             document.getElementById('ctl00$cntHolder$txtIDNumber').focus();
             return false;
             } 
        IDNumber=IDNumber.replace(/a$/i,"X");
        document.getElementById('ctl00$cntHolder$txtIDNumber').value=IDNumber;
//        info=(IDNumber.substr(16,1)%2?"0":"1")
//        document.getElementById('ctl00_cntHolder_ddlSex').selectedIndex=info;
//        code=IDNumber.substr(0,2);
//        if (code=="31")
//            {document.getElementById('ctl00$cntHolder$ddlIsSH').selectedIndex=0;
//             info=info + '0';}
//        else {document.getElementById('ctl00$cntHolder$ddlIsSH').selectedIndex=1;
//              info=info + '1';
//              }
//        code=IDNumber.substr(0,6);
//        code=code + info;
//        CallTheServer(code,''); 
        return true;
        } 
    else 
        {
        alert("非法身份证号:请输入15位或18位号码!");
        return false;
        }
    } 
/*********************************************************
** Function : IsNumNull
** Description: Check Is Num and not NULL
** Input:
** Output:
** 7/18/06 - Created (Fei)
*********************************************************/  
function IsNumNull(num)
{
    if(!/(^[0-9])/.test(num) || num=='')
        return false; 
    else     
        return true;
}
/*********************************************************
** Function : IsNum
** Description: Check Is Num
** Input:
** Output:
** 7/18/06 - Created (Fei)
*********************************************************/  
function IsNum(num)
{
    if(/(^[0-9])/.test(num) || num=='')
        return true; 
    else     
        return false;
} 
/*********************************************************
** Function : ValidatePostCode
** Description: Check Is PostCode
** Input:
** Output:
** 7/18/06 - Created (Fei)
*********************************************************/  
function ValidatePostCode(num)
{
    if(!/^\d{6}/.test(num) || num=='')
        return false; 
    else     
        return true;
}    

/****************************************************
 ** 去除多余空格函数
 ** trim:去除两边空格 lTrim:去除左空格 rTrim: 去除右空格
 ** 用法：
 **     var str = "  hello ";
 **     str = str.trim();
 ** 07/22/06 - Created (fei)
 ****************************************************/
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, "");
}


/******************email par************************t*/
function RestructSymbols(){
    var objS = document.getElementById('ctl00_ContentPlaceHolder1_ftbContent_0_0');
    var objTag = document.getElementById('ctl00_ContentPlaceHolder1_ddlTag');
    objS.options.length=0;
    for(i=0;i<=objTag.options.length-1;i++){
        objS.options[i]=new Option(objTag.options[i].innerText,objTag.options[i].value);
    }
     objS.options.add(new Option('Tag','tags'),0);
}

function tagSelect(obj)
{
	var str=obj.id.substring(0,obj.id.length-7);
	var strCode;
	var str1 = document.getElementById('ctl00_ContentPlaceHolder1_hdnTag').value;
	
    strCode = document.getElementById(str + 'hdnTagCode').value;

	if(str1=='txtSubject')
	{
		var obj=document.getElementById(str1);
		
		if((obj.value.length + strCode.length) <= obj.maxLength){
			caretPos.text = strCode;
		}
	}
	else
	{
	    document.getElementById('ctl00_ContentPlaceHolder1_ftbContent').focus();
		caretPos.text = strCode;
	}	
}

/******************email par************************t*/
/*****半角自负转全角字符****t*/
//全角空格为12288，半角空格为32
//其他字符半角(33-126)与全角(65281-65374)的对应关系是：均相差65248
//document.write((65281).toString(16)+"----"+
//(65374).toString(16)+"----"+(12288).toString(16));
//str = str.dbc2sbc();
String.prototype.dbc2sbc = function ()
{
     return this.replace(/[\uff01-\uff5e]/g,
         function(a){
             return String.fromCharCode(a.charCodeAt(0)-65248);
         }).replace(/\u3000/g," ");
}

/*****半角自负转全角字符****t*/

//右下角显示一个信息框------------------------------------
function tips_pop(popid){
  var MsgPop=document.getElementById(popid);
  var popH=parseInt(MsgPop.style.height);//将对象的高度转化为数字
  if (popH==0){
   MsgPop.style.display="block";//显示隐藏的窗口
   show=setInterval("changeH('up','" + popid + "')",2);
   }
  else { 
   hide=setInterval("changeH('down','" + popid + "')",2);
  }
}

function changeH(str,popid) {
 var MsgPop=document.getElementById(popid);
 var popH=parseInt(MsgPop.style.height);
 if(str=="up"){
  if (popH<=150){
  MsgPop.style.height=(popH+4).toString()+"px";
  }
  else{  
  clearInterval(show);
  }
 }
 if(str=="down"){ 
  if (popH>=4){  
  MsgPop.style.height=(popH-4).toString()+"px";
  }
  else{ 
  clearInterval(hide);   
  MsgPop.style.display="none";  //隐藏DIV
  }
 }
}
//-----------------------------------------