﻿
if (typeof(Apabi) == "undefined") {
	var Apabi = {};
	
	Apabi.io = function(){};
	
	Apabi.io.Error = function (msg, type, num) {
	    this.message = msg;
	    this.type = type || "unknown";
	    this.number = num || 0;
    };
    
    Apabi.string = function(){};
    
    Apabi.dom = function(){};
    
    Apabi.ById = function(id){
        return document.getElementById(id);
    }
    
    Apabi.siteUrl = '';
}

/**********************************************************************************************/
/**********************************************************************************************/
/**********************************************************************************************/
/*****************************************Apabi.io开始*****************************************/
/*请求*/
Apabi.io.Request = function() {
    this.url = ""; //请求URL地址
    this.encoding = "utf-8"; 
    this.mimetype = "application/json";
    this.postContent = "";
    this.method = "get"; // post
    this.sync = true;
    this.load = function(){};
    this.error = function(){};
}

Apabi.io._XMLHTTP_PROGIDS = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'];

Apabi.io._getXmlhttpObject = function(){
    var http = null;
	try{ http = new XMLHttpRequest(); }catch(e){}
	if(!http){
		for(var i=0; i<3; ++i){
			var progid = Apabi.io._XMLHTTP_PROGIDS[i];
			try{
				http = new ActiveXObject(progid);
			}catch(e){
				http = null;
			}
			if(http){
				break;
			}
		}
	}

	if(!http){
		alert("Error initializing XMLHttpRequest!");
		return null;
	}

	return http; // XMLHTTPRequest instance
}

Apabi.io.Queue = function(){}
Apabi.io.Queue._requestQueue = []; //请求队列
Apabi.io.Queue._reqInterval = 100; //每个请求之间的时间间隔，单位为毫秒
Apabi.io.Queue._requestByOrder = false; //是否顺序请求，待每次请求结果返回后才开始下一个请求，是：true，否:false
    
//绑定请求到队列中
Apabi.io.Queue.BindRequest = function(request){
    if(!(request instanceof Apabi.io.Request)){
        var error = Error("invalid request");
        throw error;
    }
    
    var oldLoad = request.load;
    request.load = function(){
        oldLoad.apply(this, arguments);
        if(Apabi.io.Queue._requestByOrder){
            Apabi.io.Queue._dispatchNextRequest();
        }
    }
    var oldError = request.error;
    request.error = function(){
        oldError.apply(this, arguments);
        if(Apabi.io.Queue._requestByOrder){
            Apabi.io.Queue._dispatchNextRequest();
        }
    }
    
    Apabi.io.Queue._requestQueue.push(request);
}

Apabi.io.Queue._dispatchNextRequest = function(){
    if(Apabi.io.Queue._requestQueue.length > 0){
        Apabi.io.Bind(Apabi.io.Queue._requestQueue.shift());
    }
}

Apabi.io.Queue.Run = function(){
    if(Apabi.io.Queue._requestByOrder){
        Apabi.io.Queue._dispatchNextRequest();
    }
    else {
        if(Apabi.io.Queue._requestQueue.length > 0){
            Apabi.io.Queue._dispatchNextRequest();
            setTimeout(Apabi.io.Queue.Run, Apabi.io.Queue._reqInterval);
        }
    }
}

Apabi.io.Bind = function(request){
    if(!(request instanceof Apabi.io.Request)){
        var error = Error("invalid request");
        throw error;
    }
    
    var httpReq = Apabi.io._getXmlhttpObject();
    if(request.method.toLowerCase() == "post"){
        httpReq.open("POST", request.url, request.sync);
        httpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        httpReq.onreadystatechange = function(){
            if(4 == httpReq.readyState){
                Apabi.io.doOnLoad(request, httpReq);
            }
        }
        try {
            httpReq.send(request.postContent);
        }
        catch (e) {
            if (typeof httpReq.abort == "function") {
				httpReq.abort();
			}
		    Apabi.io.doOnLoad(request, {status:404});
        }
    }
    else {
        var tmpUrl = request.url;
		if (request.postContent != "") {
			tmpUrl += (tmpUrl.indexOf("?") > -1 ? "&" : "?") + request.postContent + "&timeStamp=" + new Date().getTime();
		}
		httpReq.open(request.method.toUpperCase(), tmpUrl, request.sync);
		httpReq.onreadystatechange = function(){
		    if(4 == httpReq.readyState){
                Apabi.io.doOnLoad(request, httpReq);
            }
		}
		try {
            httpReq.send(null);
        }
        catch (e) {
            if (typeof httpReq.abort == "function") {
				httpReq.abort();
			}
		    Apabi.io.doOnLoad(request, {status:404});
        }
    }
}

Apabi.io.doOnLoad = function(request, http){
    if (((http.status >= 200) && (http.status < 300)) || (http.status == 304) || (location.protocol == "file:" && (http.status == 0 || http.status == undefined)) || (location.protocol == "chrome:" && (http.status == 0 || http.status == undefined))) {
        var result = null;
        if (request.mimetype == "text/json" || request.mimetype == "application/json") {
            try {
                result = eval("(" + http.responseText + ")");
            }
            catch (e){
                var errorObj = new Apabi.io.Error("Http.ResponseText error: " + http.responseText);
                request.error("error", errorObj, http);
            }
        }
        else {
            if ((request.mimetype == "application/xml") || (request.mimetype == "text/xml")) {
                result = http.responseXML;
            }
            else {
                result = http.responseText;
            }
        }
        request.load("load",result,http);
    }
    else {
        var errorObj = new Apabi.io.Error("XMLHttpTransport Error: " + http.status + " " + http.statusText);
        request.error("error", errorObj, http);
    }
}

/*****************************************Apabi.io结束*****************************************/

/**********************************************************************************************/
/**********************************************************************************************/
/**********************************************************************************************/
/*****************************************Apabi.dom开始*****************************************/
/*获取当前文档的顶级父节点*/
Apabi.dom.getRootParentDom = function(){
    var env = window;
    try {
		while (env.parent != env) {
		    env = env.parent;
		}
	}
	catch (e) {}
	return env;
}

/*设置checkbox为全选或反选状态,boxname:checkbox名称；type:1表示全选，0表示反选*/
Apabi.dom.checkBoxSelAll = function(boxname,type){
    var allCheckBoxs = document.getElementsByName(boxname);
    for(var i=0;i<allCheckBoxs.length;i++)
    {
       var cb = allCheckBoxs[i];
       switch(type){
        case 1: cb.checked = true; break;
        case 0: cb.checked = !cb.checked ? true : false; break;
       }
    }
}

/*获取checkbox中被选中的项，checkbox以前缀("checkbox_")+关键字命名ID号(如"checkbox_002")，boxname:checkbox名称，idpre:checkbox的ID号前缀，返回被选中项ID号中关键字，以";"分隔*/
Apabi.dom.getSelectedBoxes = function(boxname,idpre) {
    var boxes = document.getElementsByName(boxname);
    var keys = "";
    for(var i=0; i<boxes.length; i++){
        var boxElem = boxes[i];
        if(boxElem.checked){
            var key = idpre == null? boxElem.id : boxElem.id.substring(idpre.length);
            keys += key + ";";
        }
    }
    //去掉最后一个“;”符
    if(keys.indexOf(";") != -1){
        keys = keys.substring(0,keys.length-1);
    }
    return keys;
}

Apabi.dom.Create = function(type) {
	return document.createElement(type);
}

/*删除指定ID号的所有孩子节点*/
Apabi.dom.removeChildNodes = function(parentId){
    var parentNode = Apabi.ById(parentId);
    if(parentNode == null){
        return;
    }
    if(parentNode.hasChildNodes()){
         var length = parentNode.childNodes.length;
         for(var k = 0; k < length; k ++){
			  parentNode.removeChild(parentNode.childNodes[0]);
		 }
    }
}

//删除指定节点
Apabi.dom.remove = function(element){
    try {
		if (element) {
			element.parentNode.removeChild(element);
		}
	}
	catch (e) {
	}
}

//隐藏指定节点
Apabi.dom.hidden = function(element){
    if (element) {
		element.style.display = "none";
	}
}

Apabi.dom.show = function(element) {
	if (element) {
		element.style.display = "";
		element.style.visibility = "";
	}
}

Apabi.dom.getWindowSize = function() {
	var myWidth = 0, myHeight = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	return([myWidth,myHeight]);
}

Apabi.dom.hideSelects = function(zIndexNow) {
	if (navigator.appVersion.indexOf("MSIE 6.0") != -1) {
		var selects = document.getElementsByTagName("select");
		var length = selects.length;
		for (var i = 0; i < length; i++) {
			if (selects[i].zIndexNow != zIndexNow && selects[i].style.visibility != "hidden") {
				selects[i].style.visibility = "hidden";
				selects[i].zIndexNow = zIndexNow;
			}
		}
	}
}

Apabi.dom.showSelects = function(zIndexNow) {
	if (navigator.appVersion.indexOf("MSIE 6.0") != -1) {
		var selects = document.getElementsByTagName("select");
		var length = selects.length;
		for (var i = 0; i < length; i++) {
			if (selects[i].zIndexNow == zIndexNow) {
				selects[i].style.visibility = "";
				selects[i].zIndexNow = -1;
			}
		}
	}
}

/*创建一个弹出层，位置居中,w:层的宽度, pid: 层的ID号h:层的高度，shadebackground:是否遮罩背景层*/
Apabi.dom.CreatePopDiv = function(w,h,pid,shadebackground, shadeId, e){
    var env = Apabi.dom.getRootParentDom();
    if(shadebackground){
        Apabi.dom.ShadeBackground(env, shadeId);
    }
    var popdivElem = env.document.getElementById(pid);
    if(popdivElem == null)
    {
	    popdivElem = env.document.createElement("div");    
	    popdivElem.id = pid;
	    popdivElem.style.zIndex = 90;
	    popdivElem.style.position = "absolute";
	    popdivElem.style.width = w + "px";
	    popdivElem.style.height = h + "px";
	    setTimeout(function(){ env.document.body.appendChild(popdivElem);}, 2);
    }
    if(e){
        Apabi.dom.moveToFocus(e, popdivElem);
    }
    else {
        Apabi.dom.movetocenter(env,popdivElem);
    }
    popdivElem.style.display = "block";
    return popdivElem;
}

/*使已存在的层对象位置居中,obj:被移动的对象，env:目标层*/
Apabi.dom.movetocenter = function(env,obj){
    obj.style.left = (env.document.documentElement.scrollLeft + env.document.documentElement.clientWidth / 2 - 200) + "px";
    obj.style.top =  (env.document.documentElement.scrollTop + env.document.documentElement.clientHeight / 2 - 109) + "px";
}

/*创建遮罩效果,divDom:被遮罩的层对象*/
Apabi.dom.ShadeBackground = function(divDom, shadeId){
    var bgItem = divDom.document.getElementById(shadeId);
    var scrwidth = divDom.document.documentElement.clientWidth + "px";;
    var scrheight = divDom.document.documentElement.clientHeight + "px";
    if(bgItem == null)
    {
	    var uri = location.protocol + "//" + location.host + "/SpaceShow/background.htm";
        bgItem = divDom.document.createElement("div");
        bgItem.style.display = "none";
        bgItem.id = shadeId;
        bgItem.className = "shadediv";
        bgItem.style.zIndex = 60;
        setTimeout(function () {bgItem.innerHTML = '<iframe id="shadeframe" marginWidth="0" marginHeight="0" src="' 
            + uri +'" frameBorder="0" width="'+scrwidth +'" scrolling="no" height="'+scrheight+'"></iframe>';divDom.document.body.appendChild(bgItem);}, 1 );
    }
    bgItem.style.width = scrwidth;
    bgItem.style.height = scrheight;
    bgItem.style.display = "block";
    return bgItem;
}

Apabi.dom.moveToFocus = function(e, elem){
    var elemEv = e;
    elem.style.top = elemEv.clientY + document.documentElement.scrollTop - 2 + "px"; 
    elem.style.left = elemEv.clientX - 2 + "px";
}

Apabi.dom.SearchEvent = function() { 
   if(document.all) {
      return window.event;
   }
   var func=SearchEvent.caller;          
   while(func!=null)  {    
       var arg0=func.arguments[0]; 
       if(arg0) { 
           if(arg0.constructor==Event||arg0.constructor==MouseEvent) {
              return arg0; 
              }
       }
      func=func.caller; 
   } 
   return null; 
}

Apabi.dom.getUrlParamValue = function(name){
    var searchStr = decodeURI(location.search);
    var infoIndex = searchStr.indexOf(name+"=");
    if(infoIndex == -1){
        return null;
    }
    var searchInfo = searchStr.substring(infoIndex+name.length+1);
    var tagIndex = searchInfo.indexOf("&");
    if(tagIndex != -1){
        searchInfo = searchInfo.substring(0,tagIndex);
    }
    return searchInfo;
}

//创建COOKIE
Apabi.dom.setCookie = function(sName,sValue,oExpires,sPath,sDomain,bSecure){
    var sCookie = sName + "=" + encodeURIComponent(sValue);
    
    if(oExpires){
        sCookie += "; expires=" + oExpires.toGMTString();
    }
    
    if(sPath){
        sCookie += "; path=" + sPath;
    }
    
    if(sDomain){
        sCookie += "; domain=" + sDomain;
    }
    
    if(bSecure){
        sCookie += "; secure";
    }
    
    document.cookie = sCookie;
}

//获取COOKIE值
Apabi.dom.getCookie = function(sName){
    var sRE = "(?:; )?" + sName + "=([^;]*);?";
    var oRE = new RegExp(sRE);
    if(oRE.test(document.cookie)){
        return decodeURIComponent(RegExp["$1"]);
    }
    else {
        return null;
    }
}

//构造分页效果,totalCount:总数,pageUrl:页面URL（包含?或者&）,pageContent:分页按钮的父节点ID
Apabi.dom.setPageContent = function(totalCount, pageUrl, pageContent, pageSize){
    if(totalCount == 0 || Apabi.ById(pageContent) == null){
        return;
    }
    var curpstr = pageUrl.indexOf('p=') != -1 ? pageUrl.substring(pageUrl.indexOf('p=')+2) : 1;
    var curPage = parseInt(curpstr);
    var totalPages = Math.floor(totalCount/pageSize) + (totalCount%pageSize != 0 ? 1 : 0);
    var startPage = (curPage <= 6) ? 1 : curPage - 5;
    var endPage = curPage + 4;
    if(totalPages < endPage){
        var remain = startPage - (endPage - totalPages);
        endPage = totalPages;
        startPage = remain <= 0 ? 1 : remain;
    }
    if(pageUrl.indexOf('p=') == -1){
        pageUrl += "p="+curPage;
    }
    
    var pageHtml = "";
    var curquerystr = 'p='+curPage;
    if(curPage == 1){
        pageHtml += "<li><a>上一页</a></li>";
    }
    else{
        pageHtml += "<li><a href='"+pageUrl.replace(curquerystr, 'p='+(curPage-1))+"'>上一页</a></li>";
    }

    for(var i=startPage; i<=endPage; i++){
         if(curPage == i){
            pageHtml += "<li><a>"+i+"</a></li>";
         }
         else{
            pageHtml += "<li><a href='"+pageUrl.replace(curquerystr, 'p='+i)+"'>"+i+"</a></li>";
         }
    }
    
    if(curPage == totalPages){
        pageHtml += "<li><a>下一页</a></li>";
    }
    else{
        pageHtml += "<li><a href='"+pageUrl.replace(curquerystr, 'p='+(curPage+1))+"'>下一页</a></li>";
    }
    
    Apabi.ById(pageContent).innerHTML = pageHtml;
}

Apabi.dom.showMsgTip = function(msg,e, showloading, title, remove, width, height, clname){
    var msgTipPopElem = Apabi.ById("msgtippop");
    if(msgTipPopElem == null){
        width = width ? width : 300;
        height = height ? height : 200;
        msgTipPopElem = Apabi.dom.CreatePopDiv(width, height,"msgtippop", true,"msgshade",e);
        if(clname){
            msgTipPopElem.classname = clname;
        }
    }

    var tithtml = "<div class=\"winbox\" id=\"msgtiptit\"><div class=\"winWarp\"><h1><span onclick=\"Apabi.dom.closeMsgTip("+remove+"); \">×</span>"+title+"</h1><h2>";
    if(showloading){
       tithtml += "<div id=\"msgtipload\" class=\"tipload_div\">"+msg+"</div>";
    }
    else{
        tithtml += msg;
    }
    tithtml += "</h2><ul class=\"butbox\"><li style='margin-left:20px;'><input type=\"button\" onclick=\"Apabi.dom.closeMsgTip("+remove+");\" value=\"关闭\" /></li></ul></div></div>";
    setTimeout(function(){Apabi.ById("msgshade").style.display = ''; msgTipPopElem.innerHTML = tithtml;},100);
}

Apabi.dom.closeMsgTip = function(remove){
    if(remove){
        setTimeout(function(){ document.body.removeChild(Apabi.ById("msgtippop"));document.body.removeChild(Apabi.ById("msgshade"));}, 500);
    }
    else{
        setTimeout(function(){ Apabi.ById('msgtiptit').style.display = 'none'; Apabi.ById('msgshade').style.display = 'none';}, 500);
    }
}

//遮罩层
Apabi.dom.Mask = function () {
	this.zIndexNow = 100;
	this.maskDiv = null;
	this.indexArr = [];
	this.show = function () {
		this.zIndexNow += 10;
		if (this.indexArr.length == 0){
			var maskHeight = document.documentElement.scrollHeight > Apabi.dom.getWindowSize()[1] ? document.documentElement.scrollHeight : Apabi.dom.getWindowSize()[1];
			this.maskDiv = Apabi.dom.Create("div");
			this.maskDiv.onclick = function () {
				var event = arguments[0] || window.event;
				event.cancelBubble = true;
			};
			this.maskDiv.className = "mask";
			this.maskDiv.style.width = "100%";			
			this.maskDiv.style.height = maskHeight + "px";
			document.body.appendChild(this.maskDiv);
		}
		this.maskDiv.style.zIndex = this.zIndexNow - 1;
		this.indexArr.push(this.zIndexNow - 1);
		Apabi.dom.hideSelects(this.zIndexNow);
	};
	this.clean = function () {
		//Apabi.dom.showSelects(this.zIndexNow);
		//this.indexArr.pop();
		//if (this.indexArr.length > 0){
		///	this.maskDiv.style.zIndex = this.indexArr[this.indexArr.length - 1];
		//	this.zIndexNow = this.indexArr[this.indexArr.length - 1] + 1;
		//}
		//else {
			document.body.removeChild(this.maskDiv);
		//	this.zIndexNow = 100;
		//}
	};
};

//拖拽效果
Apabi.dom.DragAble = function (dragable,handler) {
	this.iDiffX = 0;
	this.iDiffY = 0;
	this.oDragable = dragable;
	this.oHandler = handler;
	
	this.mouseDown = function(){
		document.body.onselectstart = function () {return false;};
		document.body.style.userSelect = "none";
		document.body.style.MozUserSelect = "none";
		var object = arguments.callee.object;
		var event = arguments[0] || window.event;
		object.iDiffX = event.clientX - object.oDragable.offsetLeft;
		object.iDiffY = event.clientY - object.oDragable.offsetTop;
		document.body.onmousemove = object.mouseMove;
		document.body.onmouseup = object.mouseUp;
		object.oHandler.style.cursor = "move";
	};
	this.mouseDown.object = this;
	
	this.oHandler.onmousedown = this.mouseDown;
	
	this.mouseMove = function() {
		var object = arguments.callee.object;
		var event = arguments[0] || window.event;
		var wWidth = Apabi.dom.getWindowSize()[0];
		if ((event.clientX - object.iDiffX) >= 0 && (event.clientX - object.iDiffX + object.oDragable.clientWidth) <= wWidth - 20){
			object.oDragable.style.left = event.clientX - object.iDiffX + "px";
		}
		else {
			if ((event.clientX - object.iDiffX) < 0){
				object.oDragable.style.left = 0 + "px";
			}
			else {
				object.oDragable.style.left = wWidth - object.oDragable.clientWidth - 20 + "px";
			}
		}
		//obj.style.left = tempLeft + "px";
		if ((event.clientY - object.iDiffY) >= 0){
			object.oDragable.style.top = event.clientY - object.iDiffY + "px";
		}
		else {
			object.oDragable.style.top = 0 + "px";
		}
		
	};
	this.mouseMove.object = this;
	
	this.mouseUp = function() {
		var object = arguments.callee.object;
		document.body.onselectstart = "";
		document.body.style.userSelect = "";
		document.body.style.MozUserSelect = "";
		document.body.onmousemove = "";
		document.body.onmouseup = "";
		object.oHandler.style.cursor = "";
	};
	this.mouseUp.object = this;
};

//弹出层
Apabi.dom.Popups = function (stringContainerId) {
	this.containerElement = Apabi.ById(stringContainerId);
	this.containerElement.onclick = function (){
		var event = arguments[0] || window.event;
		event.cancelBubble = true;
	};
	this.bindElement = function (stringTagName, stringClassName, objectContainerElement, objectContainer) {
		var element = Apabi.dom.Create(stringTagName);
		element.className = stringClassName;
		if (objectContainerElement) {
			objectContainerElement.appendChild(element);
		}
		if (objectContainer){
			element.container = objectContainer;
		}
		return element;
	};
	this.initializeElement = function (mask, stringTitleIconClassName, stringIconClassName, booleanButtons, functionCallback, buttonValue) {
		var container = this.bindElement("div", "popup");
		container.bindElement = this.bindElement;
		var shadow = this.bindElement("div", "shadow", container, container);
		var main = this.bindElement("div", "main", container, container);
		var head = this.bindElement("div", "head", main, container);
		container.head = head;
		var titleIcon = this.bindElement("div", stringTitleIconClassName, head, container);
		container.titleIcon = titleIcon;
		var tail = this.bindElement("div", "tail", head, container);
		var closeIcon = this.bindElement("div", "closeIcon", tail, container);
		closeIcon.backgroundElement = tail;
		closeIcon.onmouseover = function () {
			this.backgroundElement.className = "tailH";
		};
		closeIcon.onmouseout = function () {
			this.backgroundElement.className = "tail";
		};
		closeIcon.onclick = function () {
			this.container.remove();
		};
		var body = this.bindElement("div", "body", main, container);
		container.body=body;
		var element = this.bindElement("div", "element", body, container);
		var elementTable = Apabi.dom.Create("table");
		elementTableTrTd = elementTable.insertRow(0).insertCell(0);
		elementTableTrTd.className = "elementEntity";
		element.appendChild(elementTable);
		container.element = elementTableTrTd;
		var buttons = this.bindElement("div", "buttons", body, container);
		container.buttons = buttons;
		var buttonOk = this.bindElement("input", "button");
		buttonOk.type = "button";
		buttonOk.value = buttonValue ? buttonValue : "确定";
		buttonOk.container = container;
		buttonOk.onclick = function () {
			if (this.container.input) {
				if (this.container.input.value == "") {
					popups.createPopup("AlertError", "输入不能为空.").show();
					this.container.input.focus;
				}
				else {
					if(functionCallback(this.container.input.value)){
					    this.container.remove();
					}
				}
			}
			else {
				if(functionCallback(this.container)){
				    this.container.remove();
				}
			}
		};
		container.buttonOk = buttonOk;
		buttons.appendChild(buttonOk);
		if (booleanButtons) {
			var buttonCancel = this.bindElement("input", "button");
			buttonCancel.type = "button";
			buttonCancel.value = "取消";
			buttonCancel.container = container;
			buttonCancel.onclick = function () {
				this.container.remove();
			};
			container.buttonCancel = buttonCancel;
			buttons.appendChild(buttonCancel);
		}
		this.containerElement.appendChild(container);
		Apabi.dom.hidden(container);
		container.show = function (content, showLoading) {
			this.style.left = (Apabi.dom.getWindowSize()[0] - 489) / 2 + document.documentElement.scrollLeft + "px";
			this.style.top = (Apabi.dom.getWindowSize()[1] - 192) / 2 + document.documentElement.scrollTop + "px";
			
			if(content){
			    var containerInnerHtml = "<div class=\"title\"><div class=\"titletip\">";
			    if(showLoading){
			        containerInnerHtml += "<div class=\"tipload_div\">" + content + "</div>";
			    }
			    else{
			         containerInnerHtml += content;
			    }
			    containerInnerHtml += "</div></div>";
			    this.element.innerHTML = containerInnerHtml;
			}
			
			mask.show();
			this.style.zIndex = mask.zIndexNow;
			Apabi.dom.show(this);
			var dragAble = new Apabi.dom.DragAble(this, this.head);
			if (this.input) {
				var setTimeoutFocus = function () {
					arguments.callee.input.select();
				};
				setTimeoutFocus.input = this.input;
				setTimeout(setTimeoutFocus, 1);
			}
			else {
				this.buttonOk.focus();
			}
		};
		container.remove = function () {
			mask.clean();
			Apabi.dom.remove(this);
		};
		container.hide = function () {
			Apabi.dom.hidden(this);
		};
		container.deletePop = function(){
		    Apabi.dom.remove(this);
		}
		return container;
	};
	this.createPopup = function (mask, stringType, functionCallback, title, textareaId, disabled, defaultValue, buttonValue) {
		switch (stringType) {
			case "AlertTip":
				var popup = this.initializeElement(mask, "titleAlert", "iconSuccess", false, function(){return true;}, buttonValue);
				return popup;
				break;
			case "TextArea":
			    var popup = this.initializeElement(mask, "titleAlert", "iconSuccess", true, functionCallback, buttonValue);
			    var popupHTML = "<div class=\"title\"><div id=\"msgtit\">"+title+"</div><textarea ";
				if(disabled){
				    popupHTML += "disabled";
			    }
			    popupHTML += " id=\""+textareaId+"\"  cols=\"40\" rows=\"4\" >"
			    if(defaultValue){
			        popupHTML += defaultValue;
			    }
			    popupHTML += "</textarea></div>";
			    popup.element.innerHTML = popupHTML;
				return popup;
				break;
		}
	};
	this.createInputPopup = function(mask,inputId,title,functionCallback){
	    var popup = this.initializeElement(mask, "titleAlert", "iconSuccess", true, functionCallback);
	    popup.element.innerHTML = "<div class=\"title\"><div id=\"msgtit\">"+title+"</div><input type=\"text\" id=\""+inputId+"\"/></div>";
	    return popup;
	}
	
	this.createDropListPopup = function(mask,inputId,title,functionCallback){
	    var popup = this.initializeElement(mask, "titleAlert", "iconSuccess", true, functionCallback);
	    popup.element.innerHTML = "<div class=\"title\"><div id=\"msgtit\">"+title+"</div><select id=\""+inputId+"\" style=\"width:120px;margin-top:10px;visibility:'visible';\"/></select>";
	    return popup;
	}
	
};

//导航二级菜单
Apabi.dom.openSub = function(obj, target, isclick) {
	var tSub = Apabi.ById(target);
	if (tSub.style.display != 'block') {
		closeSub(target);
		var tMenu = obj.previousSibling;
		var tMenuP = obj.parentNode;
			tMenuP.id = 'subopen';
		var tLeft = tMenu.offsetLeft;
		var tTop = tMenu.offsetTop + 70;
		while(tMenu=tMenu.offsetParent) {
			tLeft+=tMenu.offsetLeft;
			tTop+=tMenu.offsetTop;
		}
		tSub.style.left = tLeft + 'px';
		tSub.style.top = tTop + 'px';
		tSub.style.display = 'block';
		obj.blur();
	} else {
		closeSub(target);
	}
	
	if(isclick) {
		var clickId = 0;
		document.body.onclick = function() {
			clickId = clickId + 1;
			if( clickId > 1 ) {
				closeSub(target);
			}
		}
	} else {
		document.body.onclick = function() {
			closeSub(target);
		}
	}
}

function closeSub(target) {
	Apabi.ById(target).style.display = "none";
}

Apabi.dom.getEvent = function() {
	if (document.all) return window.event;
	func = Apabi.dom.getEvent.caller;
	while (func != null) {
		var arg0 = func.arguments[0];
		if (arg0) {
			if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)) {
				return arg0;
			}
		}
		func=func.caller;
	}
	return null;
 }


/*****************************************Apabi.dom结束*****************************************/

/**********************************************************************************************/
/**********************************************************************************************/
/**********************************************************************************************/
/*****************************************Apabi.string开始*****************************************/
Apabi.string.filterSpecialChar = function(text){
    return text.replace(/(\r\n)|\n/g,"\\n");
}

Apabi.string.repHTML = function(text){
        return text.replace(/\n/g, "<br/>");
}

/*获取文本长度，一个汉字算两个长度，其它算一个长度*/
Apabi.string.getContentLength = function(text){
    var len = 0;
    for(var h=0; h<text.length; h++){
       len += Apabi.string.isChinese(text.charAt(h)) ? 2 : 1;
   }
    return len;
}

//判断是否为汉字
Apabi.string.isChinese = function(ch){
    if(ch.charCodeAt(0) <= 255){
        return false;
    }
    return true;
}

/*截取字符串，一个汉字算两个字符,point:剩余的字符是否替换为省略号，len: 截取多少个汉字字符的长度*/
Apabi.string.subText = function(text,startIndex,len,point){
    if(text == "undefined" || text == "" || text == null){
        return text;
    }
    var cur_len = 0;
    var length = len * 2;
    var text_length = text.length;
    for(var t=startIndex; cur_len<length && t<text_length; t++){
        cur_len += Apabi.string.isChinese(text.charAt(t)) ? 2 : 1;
    }
    text = text.substring(startIndex,t);
    if(point && text_length > len){
        text += "...";
    }
    return text;
}

/*过滤文本中的HTML代码*/
Apabi.string.filterHTML = function(text){
    text = text.replace(/&/g, "&amp;");
    text = text.replace(/"/g, "&quot;");
    text = text.replace(/</g, "&lt;");
    text = text.replace(/>/g, "&gt;");
    text = text.replace(/'/g, "&#146;");
    return text;
}

Apabi.string.resumeHTML = function(text){
    text = text.replace(/&amp;/g, "&");
    text = text.replace(/&quot;/g, "\"");
    text = text.replace(/&lt;/g, "<");
    text = text.replace(/&gt;/g, ">");
    text = text.replace(/&#146;/g, "'");
    return text;
}

Apabi.string.checkEmail = function(emailStr){
    var emailPat=/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
	if(emailStr.match(emailPat) == null){
 		return false;
	}
	return true;
}

//检查固定电话号码的格式是否正确
Apabi.string.checkPhone = function(phone){
    var phoneReg = new RegExp("^[0-9][0-9][0-9]+(-[0-9][0-9][0-9]+)*$");
	return phone.match(phoneReg) != null;
}

//检查手机号码的格式是否正确
Apabi.string.checkMobilePhone = function(phone){
    var mobilePhoneReg = new RegExp("^[0-9]{11}$");
	return phone.match(mobilePhoneReg) != null;
}

Apabi.string.getUrlParamValue = function(name){
    var searchStr = decodeURI(location.search);
    var infoIndex = searchStr.indexOf(name+"=");
    if(infoIndex == -1){
        return null;
    }
    var searchInfo = searchStr.substring(infoIndex+name.length+1);
    var tagIndex = searchInfo.indexOf("&");
    if(tagIndex != -1){
        searchInfo = searchInfo.substring(0,tagIndex);
    }
    return searchInfo;
}

//计算时间差，time1、time2均为YY/MM/DD HH:MM:SS格式的字符串，差值单位为月
Apabi.string.differMonthTime = function(time1, time2){
    var differ = Date.parse(time2) - Date.parse(time1);
    var md = Math.floor(differ/(30*24*60*60*1000));
    return md;
}

//计算时间差，time1、time2均为YY/MM/DD HH:MM:SS格式的字符串，差值单位为天
Apabi.string.differDayTime = function(time1, time2){
    var differ = Date.parse(time2) - Date.parse(time1);
    var dd = Math.floor(differ/(24*60*60*1000));
    return dd;
}

//计算时间差，time1、time2均为YY/MM/DD HH:MM:SS格式的字符串，差值单位为小时
Apabi.string.differHourTime = function(time1, time2){
    var differ = Date.parse(time2) - Date.parse(time1);
    var hd = Math.floor(differ/(60*60*1000));
    return hd;
}

//计算时间差，time1、time2均为YY/MM/DD HH:MM:SS格式的字符串，差值单位为分钟
Apabi.string.differMinuteTime = function(time1, time2){
    var differ = Date.parse(time2) - Date.parse(time1);
    var md = Math.floor(differ/(60*1000));
    return md;
}

Apabi.string.setDifferTime = function(ctime, obj){
    ctime = ctime.replace(/-/g, '/');
    var curDate = new Date().toString();
    var differ = Apabi.string.differMonthTime(ctime, curDate);
    if(differ > 0){
        if(obj){
            obj.innerHTML = differ+"个月前";
        }
        return differ+"个月前";
    }
    
    differ = Apabi.string.differDayTime(ctime, curDate);
    if(differ > 0){
        if(obj){
            obj.innerHTML = differ+"天前";
        }
        return differ+"天前";
    }
    
    differ = Apabi.string.differHourTime(ctime, curDate);
    if(differ > 0){
        if(obj){
            obj.innerHTML = differ+"个小时前";
        }
        return differ+"个小时前";
    }
    
    differ = Apabi.string.differMinuteTime(ctime, curDate);
    if(differ > 0){
        if(obj){
            obj.innerHTML = differ+"分钟前";
        }
        return differ+"分钟前";
    }
    else {
        if(obj){
            obj.innerHTML = "1分钟前";
        }
        return "1分钟前"; 
    }
}

Apabi.string.getCurDate = function(){
    var sendTime = new Date();
    return sendTime.getFullYear() + "-" + (sendTime.getMonth()+1) +"-" + sendTime.getDate();
}

//判断一个字符串是否全是空格
Apabi.string.isSpace = function(str){
    var parten = /^\s*$/;
    if(parten.test(str)){
        return true;
    }
    return false;
}

/*****************************************Apabi.string结束*****************************************/

/**********************************************************************************************/
/**********************************************************************************************/
/**********************************************************************************************/
/*****************************************Tool开始*****************************************/
function dyniframesize(iframename, win) {
    var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1];
    //extra height in px to add to iframe in FireFox 1.0+ browsers
    var FFextraHeight=getFFVersion>=0.1? 16 : 0 
    var pTar = null;
    if (win == null) {
        win = window;
    }
    if (win.document.getElementById){
        pTar = win.document.getElementById(iframename);
    }
    else{
        eval('pTar = ' + iframename + ';');
    }
    if (pTar && !window.opera){
    //begin resizing iframe
        pTar.style.display="block"

        if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight){
          //ns6 syntax
          pTar.height = pTar.contentDocument.body.offsetHeight+FFextraHeight; 
        }
        else if (pTar.Document && pTar.Document.body.scrollHeight){
          //ie5+ syntax
          pTar.style.height = pTar.Document.body.scrollHeight;
        }
    }
}

//chongxy 2008-04-02 设置导航是否加粗
function getSelected(es)
{
    var s = window.location.toString();
    var item = null;
    var para = null;
    try
    {
        item = s.substring(s.lastIndexOf("/") + 1, s.lastIndexOf("."));
        if(s.indexOf("?")> 0)
        {
           es.exec(s); 
          para=RegExp.rightContext; 
        }
        if(para != null)
        {
        item = item+para;
        }
        if (item != null) { document.getElementById(item).className = "selected"; }
    }
    catch(e)
    {
    }
}
  
function TableChange(tabs,ifrId, nselc, selc){
    this.tables = tabs;//[[1,2],[3,4]]
    this.ifrElemId = ifrId;
    this.notSeledClass = nselc;
    this.seledClass = selc;
    this.seledTab;
    
    this.Change = function(tab){
        if(this.seledTab == tab){
            return;
        }
        var ifrElem = document.getElementById(this.ifrElemId);
        var url = this.findTabUrl(tab);
        ifrElem.src = url;
        this.setSelected(tab);
    }
    
    this.findTabUrl = function(tab){
        for(var i=0; i<this.tables.length; i++){
            if(this.tables[i][0] == tab){
                return this.tables[i][1];
            }
        }
        return null;
    }
    
    this.setSelected = function(tab){
        for(var i=0; i<this.tables.length; i++){
            if(tab == this.tables[i][0]){
                document.getElementById(tab).className = this.seledClass;
                this.seledTab = tab;
            }
            else{
                document.getElementById(this.tables[i][0]).className = this.notSeledClass;
            }
        }
    }
 }
 
 function DrawImage(ImgD,iwidth,iheight){ 
    //参数(图片,允许的宽度,允许的高度)
    var image=new Image(); 
    image.src=ImgD.src; 
    if(image.width>0 && image.height>0){ 
       // flag=true; 
        if(image.width/image.height>=iwidth/iheight){ 
            if(image.width>iwidth){ 
                ImgD.width=iwidth; 
                ImgD.height=(image.height*iwidth)/image.width; 
            }else{ 
                ImgD.width=image.width; 
                ImgD.height=image.height; 
            } 
        } 
        else{ 
            if(image.height>iheight){ 
                ImgD.height=iheight; 
                ImgD.width=(image.width*iheight)/image.height; 
            }else{ 
                ImgD.width=image.width; 
                ImgD.height=image.height; 
            } 
        } 
    } 
} 

function fixSizeFlash(Flash1){
  //try{
    //var w = Flash1.GetVariable("Stage.width");   
    //alert(w);
   // var w = getFlashVarivle(Flash1,"Stage.width");
   // var h = getFlashVarivle(Flash1,"Stage.height");
    //alert(h);
 // alert(w);
    Flash1.width /= 2;   
    Flash1.height /= 2; 
  //}catch(e){
    
  //}
    
}

//弹出层，将层置于点击节点下部。parent:被点击的节点ID号，parentheight:被点击节点高度
function popmenu(parent, id, parentheight){
    var menu = Apabi.ById(id);
    var pobj = Apabi.ById(parent);
    var pleft = get_X(pobj);
    var ptop = get_Y(pobj);
    menu.style.top = (ptop+parentheight)+"px";
    menu.style.left = (pleft)+"px";
    menu.style.display = "";
    menu.onmouseover = function(){
        menu.style.display = "";
    }
    menu.onmouseout = menu.onmouseout = function(){
        menu.style.display = "none";
    }
}


function getFlashVarivle(flash,varia){
    var con;
    try{
        con = flash.GetVariable(varia);
    }
    catch(e){}
    return con;
}

//获取元素的相对网页左边距
function get_X(obj){
    var ParentObj=obj;
    var left=obj.offsetLeft;
    while(ParentObj=ParentObj.offsetParent){
        left+=ParentObj.offsetLeft;
    }
    return left;
}
//获取元素的相对网页顶部边距
function get_Y(obj){
    var ParentObj=obj;
    var top=obj.offsetTop;
    while(ParentObj=ParentObj.offsetParent){
        top+=ParentObj.offsetTop;
    }
    return top;
}

/*****************************************Tool结束*****************************************/