﻿/*
系统必须的脚本
包含一些基本函数
*/


/*-------------------------------------------------------------------------------
功能：截取前后字符串
-------------------------------------------------------------------------------*/
String.prototype.Trim= function()  
{  
    // 用正则表达式将前后空格  
    // 用空字符串替代.
    return this.replace(/(^\s*)|(\s*$)/g, "");  
}



/*-------------------------------------------------------------------------------
功能：获取元素的值
参数：id:元素的id
返回：如没有返回 ""
-------------------------------------------------------------------------------*/
function GetValueById(id)
{
    if($(id) != false)
    {
        return $(id).value.Trim();
    }
    return "";
}

/*-------------------------------------------------------------------------------
功能：获取元素
参数：id:元素的id
返回：如没有返回 false
-------------------------------------------------------------------------------*/
function $(id)
{	
	var obj ;
	if (typeof(id) == "string")	obj = GetIdentifiedObj(id) ;
	else if (typeof(id) == "object")	obj = id ;
	else	return false ;
		
	return obj ;
}

/*-------------------------------------------------------------------------------
功能：私有方法
-------------------------------------------------------------------------------*/
function GetIdentifiedObj(id, d) 
{
	var i,x;
	
	if(!d) d = document;

	if(!x && d.getElementById)	x=d.getElementById(id);
	
	if (x)	return x ;
		
	if(!(x=d[id])&&d.all)	x=d.all[id] ;

	if (x)	return x ;
	
	for (i=0 ; !x&&i<d.forms.length ; i++) 	x=d.forms[i][id] ;

	if (x)	return x ;
		
	for(i=0 ;!x && d.layers && i<d.layers.length ;i++)	x=GetIdentifiedObj(id,d.layers[i].document) ;
	
	if (x)	return x ;
		
	return false ;		
}



/*-------------------------------------------------------------------------------
功能：设置控件的焦点
参数：el:控件对象object
-------------------------------------------------------------------------------*/
function SetFocus(el){
    //取得表单元素的类型
    if(typeof(el) == "string")
    {
        el = $(el);
    }
   
    var sType = el.type;
    switch(sType){
	    //文本输入框,光标定位在文本输入框的末尾
	    case "text":
	    case "hidden":
	    case "password":
	    case "file":
	    case "textarea": 
		    try{el.focus();var rng = el.createTextRange(); rng.collapse(false); rng.select();}catch(e){};
		    break;
		
	    //单多选,第一选项非失效控件取得焦点
	    case "checkbox":
	    case "radio": 
		    var els = document.getElementsByName(el.name);
		    for(var i=0;i<els.length;i++){
			    if(els[i].disabled == false){
				    els[i].focus();
				    break;
			    }
		    }
		    break;
	    case "select-one":
	    case "select-multiple":
		    el.focus();
		    break;
    }
}


/*-------------------------------------------------------------------------------
功能：提示信息
参数：Message:显示的消息
-------------------------------------------------------------------------------*/
function MessageBox(Message)
{
    alert(Message); 
}


/*-------------------------------------------------------------------------------
功能：判断是否为IE浏览器
参数：
-------------------------------------------------------------------------------*/
function isIE(){

    if(navigator.userAgent.toLowerCase().indexOf("msie") > 0)
    {   
        //IE
        return true;
    }
    else if(navigator.userAgent.toLowerCase().indexOf("firefox") > 0)
    {
        //FireFox
        return false;
    }else{
        //其它当作IE处理
        return true;
    }

}

/*-------------------------------------------------------------------------------
功能：提交表单时使按钮变为不可用
参数：按钮的ID
-------------------------------------------------------------------------------*/
function SubmitProcess(pButtonID){

     var prm = Sys.WebForms.PageRequestManager.getInstance();
     prm.add_initializeRequest(onInitializeRequest);
     function onInitializeRequest(sender,args)
      {
        if(prm.get_isInAsyncPostBack()&&args.get_postBackElement().id == pButtonID)
         {
            args.set_cancel(true);
            //给用户提示正在处理中
        }
        $(pButtonID).disabled = true;
     }
}

/*-------------------------------------------------------------------------------
功能：判断控件是否为选择框
参数：控件
-------------------------------------------------------------------------------*/
function IsCheckBox(element)
{   
    if(element == null)
        return false;
    return (element.tagName == "INPUT" && element.type.toLowerCase() == "checkbox");
}

//获取元素的纵坐标
function getTop(e){
    var offset=e.offsetTop;
    if(e.offsetParent!=null) offset+=getTop(e.offsetParent);
    return offset;
}

//获取元素的横坐标
function getLeft(e){
    var offset=e.offsetLeft;
    if(e.offsetParent!=null) offset+=getLeft(e.offsetParent);
    return offset;
}

