﻿// 作者：忻欣
// *************QQ:84121338*************
var ajax = false;//识别函数，判断对象是否创建成功
function AjaxObject(){
  try { ajax=new XMLHttpRequest; }
	catch(e) {
		try { ajax=new ActiveXObject("MSXML2.XMLHTTP"); }
		catch(e2) {
			try { ajax=new ActiveXObject("Microsoft.XMLHTTP"); }
			catch(e3) { ajax=false; 
			alert("创建对象出现错误！\n解决办法：1.检查你的浏览器安全级别是否为中。\n2.检查你浏览器是否禁止创建ActiveXObject对象,在IE任务栏：\n工具-Internet选项-安全-自定义级别，\n3.检查你的浏览器是否支持");
			}
		}
	}	
}
function startRequest(requestWeb)//入口函数
{ 
　　AjaxObject();//创建对象
    if (ajax)//如果对象创建成功，就执行下面操作
    {         
        ajax.onreadystatechange = handleStateChange;//指定处理函数
        ajax.open("GET",requestWeb,false);//指定发送地址,不异步发送请求,因为异步有可能出现undefined
        ajax.send(null);//开始发送数据
    }
    else
    {
        alert("创建AJAX对象失败！");
    }
    return handleStateChange();
}

function startPostRequest(requestWeb,post_1)//Post请求入口函数
{ 
    try
	{
       var xmlHttp;
	   if (window.XMLHttpRequest) 
	   {
	   		xmlHttp = new XMLHttpRequest();
	   } else if (window.ActiveXObject) 
	   {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
       xmlHttp.open("POST", requestWeb, false);
       xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
       xmlHttp.send(post_1);
	   return xmlHttp.responseText;
	}catch(exception)
	{
		return 0;
	}
}

function handleStateChange()//处理函数
{    
    try{
        if(ajax.readyState == 4){
            if (ajax.status == 200 || ajax.status == 0){
                // 显示返回结果
                return ajax.responseText.toString();
            }
         }
     }
     catch (e2) {
     alert("读取数据出现错误！");
     }
     
}

function startAsynchronismRequest(requestWeb)//异步请求入口函数
{ 
　　AjaxObject();//创建对象
    if (ajax)//如果对象创建成功，就执行下面操作
    {         
        ajax.open("GET",requestWeb,true);
        ajax.send(null);//开始发送数据
    }
    else
    {
        alert("创建AJAX对象失败！");
    }
    return ajax;
}

function startAsynchronismRequestPost(requestWeb,post_1)//异步Post请求入口函数
{ 
    var xmlHttp;
　　try
	{       
	   if (window.XMLHttpRequest) 
	   {
	   		xmlHttp = new XMLHttpRequest();
	   } else if (window.ActiveXObject) 
	   {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
       xmlHttp.open("POST", requestWeb, true);
       xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
       xmlHttp.send(post_1);
	}catch(exception){}
	return xmlHttp;
}

function startXmlRequest(requestWeb)//入口函数
{ 
　　AjaxObject();//创建对象
    if (ajax)//如果对象创建成功，就执行下面操作
    { 
        ajax.onreadystatechange = handleStateChangeXml;//指定处理函数
        ajax.open("GET",requestWeb,false);//指定发送地址,不异步发送请求,因为异步有可能出现undefined
        ajax.send(null);//开始发送数据
    }
    else
    {
        alert("创建AJAX对象失败！");
    }
    return handleStateChangeXml();
}

function handleStateChangeXml()//XML处理函数
{    
    try{
        if(ajax.readyState == 4){
            if (ajax.status == 200 || ajax.status == 0){
                // 显示返回结果
                var xmlDOM = ajax.responseXML; 
                return xmlDOM;
            }
         }
     }
     catch (e3) {
        alert("读取数据出现错误！");
     }
     
}

function SetInfo(str,str1)
{
    window.external.AddFavorite(str,str1)
}

function getParameter(param){
    var query = window.location.search;
    var iLen = param.length;
    var iStart = query.indexOf(param);
    if (iStart == -1)
      return "";
    iStart += iLen + 1;
    var iEnd = query.indexOf("&", iStart);
    if (iEnd == -1)
      return query.substring(iStart);
    return query.substring(iStart, iEnd);
 }
 

window.onerror =function (msg,url,l)
{
    var txt="发生一个错误，错误信息：.\n\n"
    txt+="Error: " + msg + "\n"
    txt+="URL: " + url + "\n"
    txt+="Line: " + l + "\n\n"
    txt+="Click OK to continue.\n\n"
    return true
}

    
//*********************************兼容火狐浏览器js部分*************************************// 
//获取对象,参数：ID名
function $() 
{
      if (arguments.length == 1) return get$(arguments[0]);
      function get$(el){
              if (typeof el == 'string') el = document.getElementById(el);
              return el;
      }
}

function AecTime()
{
    //获取指定Name对象，参数name
    AecTime.prototype.getElementsByName =function (name)
    {
        var obj;
        if (navigator.appName.indexOf("Microsoft") != -1) {
           obj=document.getElementsByName(name);    
        }else{
           obj=document.getElementsByName(name);          
        }    
        return obj;
    }
    
    //获取指定标签对象，参数标签名
    AecTime.prototype.getTagsObjet =function (tagName)
    {
        var obj;
        if (navigator.appName.indexOf("Microsoft") != -1) {
           obj=document.all.tags(tagName);
        }else{
           obj=document.getElementsByTagName(tagName);          
        }    
        return obj;
    }   
    
    //获取iframe对象
    AecTime.prototype.getIframeObjet =function (movieName)
    {
        if (navigator.appName.indexOf("Microsoft") != -1) {
            return window.frames[movieName];
        }else{
            return window.frames[movieName];
        }
    }   
    
    //获取Checkbox选中对象的值,逗号分割
    AecTime.prototype.getCheckboxValue =function (checkBoxName)
    {
        var checkValueList="";
        var obj=document.getElementsByName(checkBoxName);
        var index=0;
        for (var i=0; i<obj.length; i++)
        {            
            if (obj[i].checked)//选中则执行记录
            {
                if (index==0)
                {
                    checkValueList+=obj[i].value;
                }
                else
                {
                    checkValueList+=","+obj[i].value;
                }
                index++;
            }      
        }
        
        return checkValueList;
    } 
    
    //获取Checkbox选中对象的值,逗号分割
    AecTime.prototype.getRadioValue =function (radioName)
    {
        var obj=document.getElementsByName(radioName);
        for (var i=0; i<obj.length; i++)
        {            
            if (obj[i].checked)//选中则执行记录
            {
                return obj[i].value;
            }      
        }
        return null;
    } 
    
    //计算指定年的当月总天数
    AecTime.prototype.GetSumMonthDay =function (year,month)
    {       
        var isLeapearTest=false;
        var dayCount=28;//默认28天，防止未输入年的情况,错误几率约1/4  
        year=parseInt(year);     
        if((year %4==0 && year %100!=0) || (year %400==0))
        {
            isLeapearTest=true;     
        }
        
        switch (parseInt(month))
        {
            case 1:
                dayCount = 31;
                break;
            case 2:
                if (isLeapearTest)
                {
                    dayCount = 29;
                }
                else
                {
                    dayCount = 28;
                }                    
                break;
            case 3:
                dayCount = 31;
                break;
            case 4:
                dayCount = 30;
                break;
            case 5:
                dayCount = 31;
                break;
            case 6:
                dayCount = 30;
                break;
            case 7:
                dayCount = 31;
                break;
            case 8:
                dayCount = 31;
                break;
            case 9:
                dayCount = 30;
                break;
            case 10:
                dayCount = 31;
                break;
            case 11:
                dayCount = 30;
                break;
            case 12:
                dayCount = 31;
                break;
            default:
                dayCount = 31;
                break;
        }        
        return dayCount;
    } 
    
}

var AecTime = new AecTime();//通用获取对象类,兼容性已测试


//------------------------让firefox支持outerHTML----------------------------------
if(typeof(HTMLElement)!="undefined" && !window.opera) 
{ 
    HTMLElement.prototype.__defineGetter__("outerHTML",function() 
    { 
        var a=this.attributes, str="<"+this.tagName, i=0;for(;i<a.length;i++) 
        if(a[i].specified) 
            str+=" "+a[i].name+'="'+a[i].value+'"'; 
        if(!this.canHaveChildren) 
            return str+" />"; 
        return str+">"+this.innerHTML+"</"+this.tagName+">"; 
    }); 
    HTMLElement.prototype.__defineSetter__("outerHTML",function(s) 
    { 
        var r = this.ownerDocument.createRange(); 
        r.setStartBefore(this); 
        var df = r.createContextualFragment(s); 
        this.parentNode.replaceChild(df, this); 
        return s; 
    }); 
    HTMLElement.prototype.__defineGetter__("canHaveChildren",function() 
    { 
        return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase()); 
    }); 
} 
//------------------------让firefox支持outerHTML----------------------------------










//iframe自改变高度 
function SetWinHeight(obj)
{
 var win=obj;
 if (document.getElementById)
 {
  if (win && !window.opera)
  {
   if (win.contentDocument && win.contentDocument.body.offsetHeight)
    win.height = win.contentDocument.body.offsetHeight;
   else if(win.Document && win.Document.body.scrollHeight)
    win.height = win.Document.body.scrollHeight;
  }
 }

}