var baseE = {
	browser:function() {
		var browser = "NONE";
		if (navigator.userAgent.indexOf("MSIE") > 0 ) {
			browser = "MSIE"
		}
		if (navigator.userAgent.indexOf("Gecko") > 0 ) {
			browser = "Gecko"
		}
		if (navigator.userAgent.indexOf("Firefox") > 0 ) {
			browser = "Firefox"
		}
		if (navigator.userAgent.indexOf("Safari") > 0 ) {
			browser = "Safari"
		}
		if (navigator.userAgent.indexOf("Camino") > 0 ) {
			browser = "Camino"
		}
		if (navigator.userAgent.indexOf("Opera") >= 0 ) {
			browser = "Opera"
		}
		if (navigator.userAgent.indexOf("MSIE 7.0") > 0 ) {
			browser = "MSIE_7"
		}
		return browser;
	},
	screenWidth:function() {
		return document.body.clientWidth;
	},
	screenHeight:function() {
		var height = (document.body.clientHeight >= document.documentElement.clientHeight) ?
						document.body.clientHeight :
						document.documentElement.clientHeight;//可见区高
	    if (this.browser() == "MSIE") {
		height = (document.body.scrollHeight >= document.documentElement.scrollHeight) ?
						document.body.scrollHeight :
						document.documentElement.scrollHeight;//可见区高
		}
		return height;
	},
	scrollTop:function() {
		return document.body.scrollTop > 0 ? document.body.scrollTop : document.documentElement.scrollTop;
	}
};
/**
 * messageBox 入口函数
 * msg = array('title' => titleValue,'msgContent' => msgContent,'flag' => flag, 'links' => array('link1' => link1, ... ) )
 * flag 详解
 */
function messageBox(msg, flag) {
	if (typeof msg != "object") {
		var msgTmp = new Object;
		
		msgTmp.flag = (typeof flag != "undefined") ? flag : 1;
		msgTmp.title = "提示信息";
		msgTmp.msgContent = msg;
		msg = msgTmp;
	}
	
	//如果对象已存在
	
	if (typeof this.msgBox == "object") {
		return false;
	}
	this.msgBox = new messageObject(msg);
	this.msgBox.run();
}

/**
 * messageBox 对象的生成
 */
function messageObject(msg) {	
	//返回连接
	if (msg.flag >= 100) {
		this.backLink = msg.links[0];
	}
	else if (msg.flag >= 10) {
		this.backLink = msg.links[0];
	}
	this.back = new drawBack("msgBox");
	this.alertFram = new alertMsg(msg);
	
	//auto close
	if (msg.flag > 1000 ) {
		this.autoDestroy(msg.flag);
	}	
}

//messageBox 对象的显示
messageObject.prototype.run = function () {
	this.back.display();
	this.alertFram.display();
}
//messageBox 对象的销毁
messageObject.prototype.destroy = function () {
	this.back.destroy();
	this.alertFram.destroy();
	
	if (this.iTimeoutId) {
		clearTimeout(this.iTimeoutId);
	}
	
	//转向
	if (this.backLink) {
		location.href = this.backLink;
	}
		

	msgBox = "";//del
}

//messageBox 对象的自动关闭
messageObject.prototype.autoDestroy = function(time) {
	this.iTimeoutId = setTimeout("this.msgBox.destroy();", time);
}

//-----------------------
/**
 * 提示窗口对象
 */
function alertMsg(msg) {
	this.relativelyPosX = "";
	this.relativelyPosY = "";
	this.fram = document.createElement("DIV");
	this.fram.className = "sysWin";
	this.fram.id = "messageBox_from_id";

	this.fram.style.marginLeft = "-225px" ;
	this.fram.style.marginTop = -125 + baseE.scrollTop() + "px";
	
	var	title = typeof msg.title != "undefined" ? msg.title : "系统提示";
	var content = typeof msg.msgContent != "undefined" ? msg.msgContent : "出错了！";
	var flag = msg.flag;
	
	var links = '';
	if (typeof msg.links != "undefined") {
		links = '<br/>';
		var linkUrls = msg.links;
		if (linkUrls) {
			linksCount = linkUrls.length/2;
			for (var i=0; i < linksCount; i++) {
				links += "<span class=msglink><a href='"+linkUrls[2*i]+"'>"+linkUrls[2*i+1]+"</a></span>";
			}
		}
	}

	var strHtml = "";
	strHtml += "<H2 onmousedown=\"msgBox.alertFram.moveStart(event);\" onmousemove=\"msgBox.alertFram.moveing(event);\"  onmouseup=\"msgBox.alertFram.moveEnd();\" onmouseout=\"msgBox.alertFram.moveEnd();\">";
	strHtml += "<DIV class=fLe></DIV><B class=icoSw id=icoSw></B><SPAN>";
	strHtml += title;
	strHtml += "</SPAN><DIV class=fRi></DIV>";
	strHtml += "<A class=clsWin id=btnSysInfoClose title='关闭' href=\"javascript:msgBox.destroy();\"></A></H2>";
	strHtml += "<DIV class=bdy><DIV class=bdyCtn><TABLE class=swTb><TBODY><TR><TH vAlign=top><B class=icoIfo id=icoIfo></B></TH>";
	strHtml += "<TD>";
	strHtml += "<P><SPAN class=swTit id=contextSpan>" + content + "</SPAN></P>";
	strHtml += "</TD></TR></TBODY></TABLE><DIV class=clear></DIV></DIV></DIV>";
	strHtml += "<DIV class=bot><DIV class=fLe></DIV>";//
	strHtml += links;
//	strHtml += "<span style=\"TEXT-ALIGN:left;text-color:red;\">&nbsp;1</span><br/>";
	if (flag == 1) {
		strHtml += "<INPUT class=syBtn id=btnSysMsgOk type=button value=\"确 定\" onclick=\"msgBox.destroy();\">";
	}
	//strHtml += "<INPUT class=syBtn id=btnSysMsgCancel type=button value=\"取 消\">";
	//strHtml += "<INPUT class=syBtn id=btnSysMsgOk type=button value=\"确 定\" onclick=\"msgBox.destroy();\">";
	strHtml += "<DIV class=fRi></DIV></DIV>";
				
	this.fram.innerHTML = strHtml;
	
	this.display = function () {
		document.body.appendChild(this.fram);
	}
	
	//销毁
	this.destroy = function () {
		document.body.removeChild(this.fram);
	}
	
	//移动
	this.moveStart = function(event) {
		setOpacity(this.fram, 70);
		this.relativelyPosX = event.clientX - this.fram.offsetLeft;
		this.relativelyPosY = event.clientY - this.fram.offsetTop;
	}

	this.moveing = function (event) {
		if (this.relativelyPosX) {
			this.fram.style.cursor = "move";
			this.fram.style.left = event.clientX - this.relativelyPosX + 225 + "px" ;
			this.fram.style.top = event.clientY - this.relativelyPosY - baseE.scrollTop() + 125 + "px";
		}
	}
	
	this.moveEnd = function () {
		setOpacity(this.fram, 100);
		this.relativelyPosX = "";
		this.relativelyPosY = "";
		this.fram.style.cursor="default";
	}
}

//--------------------------------------
/**
 * 背景对象
 */
function drawBack(objName) {
	this.currectOpacity = 0;
	this.maxOpacity = 20;//最大透明度
	this.shield = document.createElement("DIV");
	
	this.shield.style.height = baseE.screenHeight() + "px";
	this.shield.style.width = baseE.screenWidth() + "px";
	this.shield.className = "messageBox_back";
	this.shield.id = "messageBox_back_id";
	this.shield.style.display = "none";
	
	//生成背景幕，半透明
	this.display = function () {
		if (baseE.browser() == "MSIE") {
			var colSelects = document.getElementsByTagName("select");
			var len = colSelects.length;
			for (var i = 0; i < len; i++) {
				colSelects[i].style.display = "none";
			}
		}

		document.body.appendChild(this.shield);
		this.shield.style.display = "";
		this.opacity = setInterval("this." + objName + ".back.doAlpha();", 1);
	}	
	
	//
	this.doAlpha = function() {
		this.currectOpacity = this.currectOpacity + 3;
		if (this.currectOpacity >= this.maxOpacity)
		{
			clearInterval(this.opacity);
		}
		else
		{		
			setOpacity(this.shield, this.currectOpacity);
		}
	}
	
	//销毁背景
	this.destroy = function () {
		if (baseE.browser() == "MSIE") {
			var colSelects = document.getElementsByTagName("select");
			var len = colSelects.length;
			for (var i = 0; i < len; i++) {
				colSelects[i].style.display = "";
			}
		}
		document.body.removeChild(this.shield);
	}
}
/**********************************************************************************/
/**
 * 输入对话框入口
 * flag =   1:未生成form 2:已生成form 
 * msg={"title":"title","action":"actionUrl","data":[{"txt":"txt","name":"name","id":"id","value":"value"}, {"txt":"txt","name":"name","id":"id","value":"value"}, ...],"hidden";[{"name":"value"}, {"name":"value"}, ...]}
 */
function inputBox(msg, flag) {
	if (typeof msg != "object") {
		var msgTmp = new Object;
		
		msgTmp.flag = (typeof flag != "undefined") ? flag : 1;
		msgTmp.title = "输入信息";
		msgTmp.msgContent = msg;
		msg = msgTmp;
	}
	
	//如果对象已存在
	if (typeof this.inputBox == "object") {
		return false;
	}
	
		
	this.input = new inputObject(msg);
	this.input.run();
}

/**
 * 输入对话框对象
 */
function inputObject(msg) {	
	//返回连接
	if (msg.flag >= 100) {
		this.backLink = msg.links[0];
	}
	else if (msg.flag >= 10) {
		this.backLink = msg.links[0];
	}
	this.back = new drawBack("input");
	this.inputFram = new inputWindow(msg);
	
	//auto close
	if (msg.flag > 1000 ) {
		this.autoDestroy(msg.flag);
	}	
}

//输入对话框对象显示
inputObject.prototype.run = function () {
	this.back.display();
	this.inputFram.display();
}
//输入对话框对象显示销
inputObject.prototype.destroy = function () {
	this.back.destroy();
	this.inputFram.destroy();
	
	if (this.iTimeoutId) {
		clearTimeout(this.iTimeoutId);
	}
	
	//转向
	if (this.backLink) {
		location.href = this.backLink;
	}
		
	//销 messagebox 对象
	input = "";
}

function inputWindow(msg) {
	this.relativelyPosX = "";
	this.relativelyPosY = "";
	this.fram = document.createElement("div");
	this.framHdr = document.createElement("div");
	this.framBdy = document.createElement("div");
	this.fram.className = "sysWin";
//	this.framHdr.className = "dvHdr";
//	this.framBdy.className = "dvBdy";
	this.fram.id = "messageBox_from_id";

	this.fram.style.marginLeft = "-225px" ;
	this.fram.style.marginTop = -125 + baseE.scrollTop() + "px";
	
	var title = msg.title;
	var content = "<form action=\"" + msg.action + "\" method=\"POST\" > ";
	if (typeof msg.data != "undefined") {
		var sum = msg.data.length;
		content += "<table width=\"100%\" border=\"0\" cellspacing=\"10\" cellpadding=\"10\">";
		for(var i=0; i < sum; i++) {
			content += "<tr><td align=\"right\"　width=\"50%\">";
			content += msg.data[i].txt;
			content += ": </td><td><input type=\"text\" name=\"";
			content += msg.data[i].name;
			content += "\" value=\"";
			content += msg.data[i].value;
			content += "\" ></td></tr>";
		}
		content += "</table><input type=\"submit\" name=\"submit\" value=\"提　交\">";
	}
	content += "</form>";

	var strHtml = "";
	strHtml = "<div class=\"dvHdr\" onmousedown=\"input.inputFram.moveStart(event);\" onmousemove=\"input.inputFram.moveing(event);\" onmouseup=\"input.inputFram.moveEnd();\" onmouseout=\"input.inputFram.moveEnd();\">"
	strHtml += title;
	strHtml += "</div>";
	strHtml += "<div class=\"dvBdy\"><p/>";
	strHtml += content;
	strHtml += "<p/>&nbsp;<div class=\"dvHdr\" style=\"float:right;\"><a href=\"javascript:input.destroy();\">关闭</a></div></div>";
	this.fram.innerHTML = strHtml;
	
	this.display = function () {
		document.body.appendChild(this.fram);
	}
	
	//销毁
	this.destroy = function () {
		document.body.removeChild(this.fram);
	}
	
	//移动
	
	//
	this.moveStart = function(event) {
		setOpacity(this.fram, 70);
		this.relativelyPosX = event.clientX - this.fram.offsetLeft;
		this.relativelyPosY = event.clientY - this.fram.offsetTop;
	}

	this.moveing = function (event) {
		if (this.relativelyPosX) {
			this.fram.style.cursor = "move";
			this.fram.style.left = event.clientX - this.relativelyPosX + 225 + "px" ;
			this.fram.style.top = event.clientY - this.relativelyPosY - baseE.scrollTop() + 125 + "px";
		}
	}
	
	this.moveEnd = function () {
		setOpacity(this.fram, 100);
		this.relativelyPosX = "";
		this.relativelyPosY = "";
		this.fram.style.cursor="default";
	}
}
/*********************************************************************************/

/**
  修改透明度
*/
setOpacity = function(obj, opacity) {
	if (baseE.browser() == "Firefox") {
	    try{ 
	    	obj.style.opacity = opacity/100; 
	    }catch(e){}
    }
    else {
	    try{ 
	    	if(obj.filters.length > 0 && obj.filters("alpha")){
	     		obj.filters("alpha").opacity=opacity;
	    	}
	    	else{
	     		obj.style.filter="alpha(opacity=\""+(opacity)+"\")";
	    	}
	   }
	   catch(e){}
   }
}

/*************************************************************************************/
//去左空格;
function ltrim(s){
	return s.replace( /^\s*/, "");
}


//去右空格;
function rtrim(s){
	return s.replace( /\s*$/, "");
}


//去左右空格;
function trim(s){
	return rtrim(ltrim(s));
}

