﻿/// <reference name="MicrosoftAjax.js"/>
 /// <reference path="../XIXI.JSDK/XIXIJDK_intellisense.js" />

XIXI.$(document).ready(function()
{
    CheckBodyIsStrigEmpty();
});

//判断是否加载为空
function CheckBodyIsStrigEmpty()
{
    if (XIXI.$(document.body).html() == null || undefined == XIXI.$(document.body).html() || XIXI.$(document.body).html() == "")
    {
        window.location.reload();
    }
}

//异常处理方法
function onFailed(error)
{
    if(error.get_timedOut())
    {
        window.alert("请求已经超时,请重试!");
        return;
    }
    else
    {
        var exceptionType = error.get_exceptionType();
        if(exceptionType == "My.Framework.InputException")
        {
            UserCenterAlertTitle(error.get_message(),"");
        }
        else
        {
			XIXI.$.ajax({
					type:"get",        
					url:String.format("{0}App_Service/ReportError.ashx?msg={1}&url={2}",ROOTURL,escape(error.get_message()),location.href),		 
					success: function(data, textStatus){
						if(data!="0")
						{
							var message = String.format(
							"很抱歉，发生错误了！\n\n错误信息：{0}\n错误类型：{1}\n\n系统已经将该错误信息记录[记录号:{2}]等待处理。",
							error.get_message(),
							error.get_exceptionType() + "具体信息：" + error.get_stackTrace(),
							data);
                            UserCenterAlertTitle(message,"提示您");
						}
						else
						{
//							alert("对数据库进行操作时发生错误，请告知管理员.");
                            UserCenterAlertTitle("对数据库进行操作时发生错误，请告知管理员.","提示您");
						}
					}, 
					error: function()
					{
                        UserCenterAlertTitle("在向服务器提交错误信息时出错，请告知管理员.","提示您");
//						alert("在向服务器提交错误信息时出错，请告知管理员."); 
					}
			});                
        }
    }
}

//进度条启动
function Begin()
{
	if (!document.getElementById("processbar_div"))
	{
		var t_span = document.createElement("span");
	    t_span.id = "processbar_div";
	    t_span.style.position = "absolute";
	    t_span.style.backgroundColor = "#ffffba";
	    t_span.style.border = "solid 1px #9db3c5";
	    t_span.style.right = "25px";
	    t_span.style.top = "10px";
	    t_span.style.zIndex = 1000;
	    t_span.style.fontSize = "12px";
	    t_span.style.padding = "2px";
	    t_span.innerHTML = "&nbsp;Loading...&nbsp;&nbsp;";
	    document.body.appendChild(t_span);
	}
	else
	{
	    document.getElementById("processbar_div").style.display="";
	    document.getElementById("processbar_div").style.top=document.body.scrollTop+10;
	}
}

//进度条关闭

function End()
{
    if(document.getElementById("processbar_div"))
    {
	    document.getElementById("processbar_div").style.display="none";
	}
}

var ALERTHTML =XIXI.ROOTURL + "XIXI.JSDK/_Window/alert.htm";
var objNewWin=null;
function UserCenterAlert(data)
{
    objNewWin = _window.Open("[url]" + ALERTHTML + "?" + encodeURI(data), "提示您", "class=NOKIA,isModal=yes,width=350,height=120");
    return objNewWin;
}
function UserCenterAlertTitle(data,title) {
    objNewWin = _window.Open("[url]" + ALERTHTML + "?" + encodeURI(data), title, "class=NOKIA,isModal=yes,width=350,height=120");
    return objNewWin;
}
if ( !(XIXI.$.browser.safari || XIXI.$.browser.opera) )
{
    eventFirefox();
}

function eventFirefox()
{
    /*firefox重写event事件*/
    function __firefox(){
    HTMLElement.prototype.__defineGetter__("runtimeStyle", __element_style);
    window.constructor.prototype.__defineGetter__("event", __window_event);
    Event.prototype.__defineGetter__("srcElement", __event_srcElement);
    }
    function __element_style(){
    return this.style;
    }
    function __window_event(){
    return __window_event_constructor();
    }
    function __event_srcElement(){
    return this.target;
    }
    function __window_event_constructor(){
    if(document.all){
    return window.event;
    }
    var _caller = __window_event_constructor.caller;
    while(_caller!=null){
    var _argument = _caller.arguments[0];
    if(_argument){
    var _temp = _argument.constructor;
    if(_temp.toString().indexOf("Event")!=-1){
    return _argument;
    }
    }
    _caller = _caller.caller;
    }
    return null;
    }
    if(window.addEventListener){
    __firefox();
    }
    /*end firefox*/
}
