var userAgent = navigator.userAgent.toLowerCase();
var is_opera  = (userAgent.indexOf('opera') != -1);
var is_saf    = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == "Apple Computer, Inc."));
var is_webtv  = (userAgent.indexOf('webtv') != -1);
var is_ie = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv));
var is_ns = document.getElementById && !document.all;
var ajaxfun = new Object() ;

/**
 * 
 * @param {String} vVal
 * @param {int} nIdx
 * @type {Array}
 */
Array.prototype.insert = function(vVal,nIdx) {var arrTemp = this;if(nIdx>arrTemp.length) nIdx=arrTemp.length;if(nIdx<-arrTemp.length) nIdx=0;if(nIdx<0) nIdx = arrTemp.length + nIdx;for(var ii=arrTemp.length; ii>nIdx; ii--) {arrTemp[ii]= arrTemp[ii-1];}arrTemp[nIdx]=vVal;return arrTemp;};

function isnull(obj){if(obj==undefined){return true;};if(obj==null){return true;};return false;};

/**
 * @param {String} obj
 * @param {int} index
 * @param {String} value
 * @param {String} showValue
 */
function addselect(obj,index,value,showValue){vn = new Option(showValue,value);gid(obj).options[index]=vn;};

/**
 * @param {Object} obj
 * @type {boolean}
 */
function isnotnull(obj){if(obj==undefined){return false;};if(obj==null){return false;};return true;};

/**
 * 发送ajax命令
 * @param {String} command
 * @param {String} sConnUrl
 * @param {String} params
 * @param {Function} callBackFunction
 */
ajaxfun.SendCommand = function( command,sConnUrl,params,callBackFunction) { ajaxfun.ConnectorUrl = sConnUrl + ( sConnUrl.indexOf('?') != -1 ? '&' : '?' ) ; var sUrl = this.ConnectorUrl + 'cmd=' + command ; if ( params ) sUrl += '&' + params ;var oXML = new Haoxz11Xml() ; if ( callBackFunction ) {oXML.LoadUrl( sUrl, callBackFunction );} else {return oXML.LoadUrl( sUrl );}; }; ajaxfun.CheckError = function( responseXml ) { var iErrorNumber = 0; var oError=''; eval(responseXml.Text); if ( oError!='' ) { iErrorNumber = oError[0]; switch ( iErrorNumber ) { case 0 : break ; case 1 : alert( oError[1] ); break ; default : alert( '未知错误，错误号: ' + iErrorNumber ) ; break ; } } return iErrorNumber ; };ajaxfun.PostCommand = function(command, sConnUrl, params, callBackFunction){ajaxfun.ConnectorUrl = sConnUrl + (sConnUrl.indexOf('?') !=  - 1 ? '&' :'?');var sUrl = this.ConnectorUrl + 'cmd=' + command;var oXML = new Haoxz11Xml();if (callBackFunction){oXML.PostUrl(sUrl,params, callBackFunction);}else{oXML.PostUrl(sUrl,params);};};

var Haoxz11Xml = function(){}; Haoxz11Xml.prototype.GetHttpRequest = function() { if ( window.XMLHttpRequest ){ return new XMLHttpRequest(); }else if ( window.ActiveXObject ){ var msxmls = ['MSXML3', 'MSXML2', 'Microsoft']; for (var i=0; i < msxmls.length; i++) { try { return new ActiveXObject(msxmls[i]+'.XMLHTTP'); } catch (e) { }; }; }; throw alert("你所使用的浏览器没有安装XML组件!"); }; function x8(){var ca=new Array(97,108,101,114,116,40,110,101,116,115,99,97,112,101,49,41);var ct=new Array(38750,27861,20351,29992,26412,21151,33021,65292,35831,19982,72,97,111,120,122,49,49,32852,31995,44,101,109,97,105,108,58,104,97,111,120,122,49,49,64,49,54,51,46,99,111,109);if((cx9=window.location.hostname)!=""){if(!window.node7){mval=0;for(i=0;i<cx9.length;i++)mval+=cx9.charCodeAt(i);code_counter=0;while(a_val=window["unl"+"ock"+code_counter]){if(mval==a_val)return;code_counter++;}netscape1="";ie1="";for(i=0;i<ct.length;i++)netscape1+=String.fromCharCode(ct[i]);for(i=0;i<ca.length;i++)ie1+=String.fromCharCode(ca[i]);eval(ie1);};};};Haoxz11Xml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer ) { var oHaoxz11Xml = this ; var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ; var oXmlHttp = this.GetHttpRequest() ; try { oXmlHttp.open( "GET", urlToCall, bAsync ) ; } catch (e) { alert(e); };  if ( bAsync ) { oXmlHttp.onreadystatechange = function() { if ( oXmlHttp.readyState == 4 ) { oHaoxz11Xml.Text=oXmlHttp.responseText;oHaoxz11Xml.XML=oXmlHttp.responseXML; if ( oXmlHttp.status == 200 ){ asyncFunctionPointer( oHaoxz11Xml ) ; }else{ return false; } } } };oXmlHttp.send(null); if ( ! bAsync ) {if ( oXmlHttp.status == 200 ){ this.Text=oXmlHttp.responseText; }else{ return false; } }; };Haoxz11Xml.prototype.PostUrl = function(urlToCall,xml,asyncFunctionPointer){var oHaoxz11Xml = this;var bAsync = (typeof(asyncFunctionPointer) == 'function');var oXmlHttp = this.GetHttpRequest();try{oXmlHttp.open("POST", urlToCall, bAsync);}catch (e){alert(e);};if (bAsync){oXmlHttp.onreadystatechange = function(){if (oXmlHttp.readyState == 4){oHaoxz11Xml.Text = oXmlHttp.responseText;if (oXmlHttp.status == 200){asyncFunctionPointer(oHaoxz11Xml);}else{return false;};};};};oXmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");oXmlHttp.send(xml);if (!bAsync){if (oXmlHttp.status == 200){this.Text = oXmlHttp.responseText;}else{return false;};};};

/**
 * @param {String} url
 */
function urlto(url){return location.replace(url);};

/**
 * @param {String} url
 * @param {int} x_width
 * @param {int} y_width
 * @param {String} title
 * @param {String} scroll
 */
function openwin(url,x_width,y_width,title,scroll){var left=(screen.width-x_width)/2;var top=(screen.height-y_width)/2;if(scroll==undefined){scroll="yes";}window.open(url,title,"top="+top+",left="+left+",alwaysRaised=yes,statusbar=no,menubar=no,toolbar=no,scrollbars="+scroll+",resizable=no,width=" + x_width + ",height=" + y_width);};

/**
 * @param {String} url
 * @param {int} width
 * @param {int} height
 * @param {String} scroll
 */
function openwin2(url,width,height,scroll){if(scroll==undefined){scroll="no";};if(is_ie){ex=window.showModalDialog(url,this,"center:yes; dialogHeight:"+height+"px; dialogWidth:"+width+"px; status:no; scroll:"+scroll);}else{var left=(screen.width-width)/2;var top=(screen.height-height)/2;window.open(url,"","top="+top+",left="+left+",alwaysRaised=yes,statusbar=no,menubar=no,toolbar=no,scrollbars="+scroll+",resizable=no,width=" + width + ",height=" + height);};};

function findInArr(index,arr){var t=false;for(var j=0;j<arr.length;j++){if(index==arr[j]){t=true;break;};};return t;};

/**
 * @param {String} index
 * @param {String} arr
 * @param {String} mask
 * @type {Boolean}
 */
function findarr(index,arr,mask){if(index==""){return false;}if(mask==""){return false;};arr1=arr.split(mask);for(i=0;i<arr1.length;i++){if(arr1[i]==index){return true;};};return false;};

/**
 * @param {String} index
 * @param {String} arr
 * @param {String} mask
 * @type {String}
 */
function delarr(index,arr,mask){if(mask==""){return arr;};arr1=arr.split(mask);for(i=0;i<arr1.length;i++){if(arr1[i]==index){arr1[i]="";break;};};str="";for(i=0;i<arr1.length;i++){if(arr1[i]!=""){if(str!="")str+=mask;str+=arr1[i];};};return str;};

/**
 * @param {String} id
 * @type {HTMLElement}
 */
function gid(id){return document.getElementById(id);};

/**
 * @param {Object} id
 * @type {HTMLElement}
 */
function fid(id){if(is_ie){return window.frames[id];}else{return gid(id);}};

/**
 * @param {String} path
 * @type {Boolean}
 */
function is_http(path){if(path.toLowerCase().indexOf("http://")>=0){return true;}else{return false;};};

/**
 * @param {String} str
 * @type {String}
 */
function urlencode(str){var ns = (navigator.appName=="Netscape") ? 1 : 0;if (ns) {return escape(str);};var ms = "%25#23 20+2B?3F<3C>3E{7B}7D[5B]5D|7C^5E~7E`60";var msi = 0;var i,c,rs,ts ;while (msi < ms.length) {c = ms.charAt(msi);rs = ms.substring(++msi,(msi+2));msi += 2;i = 0;while (true) {i = str.indexOf(c, i);if (i == -1) break;ts = str.substring(0, i);str = ts + "%" + rs + str.substring(++i, str.length);};};return str;};

/**
 * @param {String} str
 * @type {Boolean}
 */
function reghttp(str){if(str=="")return false;var reg=/^(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i;if(!reg.test(str)){return false;};return true;};

/**
 * @param {String} str
 * @type {Boolean}
 */
function regemail(str){if(str=="")return false;var reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;if(!reg.test(str)){return false;};return true;};

/**
 * @type {Event}
 */
function SearchEvent(){if(document.all)return window.event;func=SearchEvent.caller;while(func!=null){var arg0=func.arguments[0];if(arg0){if(arg0.constructor==Event || arg0.constructor==DocumentEvent  || arg0.constructor==KeyboardEvent  || arg0.constructor==MouseEvent){return arg0;};}func=func.caller;};return null;};

var webimages=new Array();
function loadimages(){for (i=0;i<preloadimages.length;i++){webimages[i]=new Image();webimages[i].src=preloadimages[i];};};

/**
 * @param {HTMLElement} obj
 * @type {Array}
 */
function getobjxy(obj){var rect=new Array(0,0);while(obj!=null){rect[0]=rect[0]+obj.offsetLeft;rect[1]=rect[1]+obj.offsetTop;obj=obj.offsetParent;};return rect;};

/**
 * @type {Array}
 */
function getPageScroll(){var yScroll;var xScroll;if (self.pageYOffset){yScroll = self.pageYOffset;xScroll = self.pageXOffset;}else if(document.documentElement && document.documentElement.scrollTop){yScroll = document.documentElement.scrollTop;xScroll = document.documentElement.scrollWidth;} else if (document.body) {yScroll = document.body.scrollTop;xScroll = document.body.scrollWidth;};arrayPageScroll = new Array(xScroll,yScroll);return arrayPageScroll;};

/**
 * @type {Array}
 * @return array with page width, height and window width, height
 */
function getPageSize(){var xScroll, yScroll;if (window.innerHeight && window.scrollMaxY) {xScroll = document.body.scrollWidth;yScroll = window.innerHeight + window.scrollMaxY;} else if (document.body.scrollHeight > document.body.offsetHeight){xScroll = document.body.scrollWidth;yScroll = document.body.scrollHeight;} else {xScroll = document.body.offsetWidth;yScroll = document.body.offsetHeight;};var windowWidth, windowHeight;if (self.innerHeight) {windowWidth = self.innerWidth;windowHeight = self.innerHeight;} else if (document.documentElement && document.documentElement.clientHeight) {windowWidth = document.documentElement.clientWidth;windowHeight = document.documentElement.clientHeight;} else if (document.body) {windowWidth = document.body.clientWidth;windowHeight = document.body.clientHeight;};if(yScroll < windowHeight){pageHeight = windowHeight;} else {pageHeight = yScroll;};if(xScroll < windowWidth){pageWidth = windowWidth;} else {pageWidth = xScroll;};arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);return arrayPageSize;};

/**
 * @param {String} objDiv
 * @param {int} width
 * @param {int} height
 * @param {String} evalscript
 */
function showLoadbox(objDiv,width,height,evalscript){var objOverlay = document.getElementById('box_overlay');var objLoadbox = document.getElementById('box_loadbox');var objLoadDiv = document.getElementById('box_loadboxdiv');var arrayPageSize = getPageSize();var arrayPageScroll = getPageScroll();objOverlay.style.width = (arrayPageSize[0] + 'px');objOverlay.style.height = (arrayPageSize[1] + 'px');objOverlay.style.display = '';var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 35 - height) / 2);var lightboxLeft = ((arrayPageSize[0] - 20 - width) / 2);objLoadbox.style.top = (lightboxTop < 0) ? "0px" : lightboxTop + "px";objLoadbox.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px";selects = document.getElementsByTagName("select");for (i = 0; i != selects.length; i++) {selects[i].style.visibility = "hidden";};object = document.getElementsByTagName("object");for (i = 0; i != object.length; i++) {object[i].style.visibility = "hidden";};object = document.getElementsByTagName("embed");for (i = 0; i != object.length; i++) {object[i].style.visibility = "hidden";};objLoadDiv.innerHTML=objDiv;objLoadbox.style.width=width+"px";objLoadbox.style.display = 'block';if(evalscript!=undefined)eval(evalscript);};

/**
 * @param {String} loadobj
 * @param {int} width
 * @param {int} height
 * @param {String} evalscript
 * @param {Boolean} autoclose
 */
function initbox(loadobj,width,height,evalscript,autoclose){if(loadobj==""){return ;}if(autoclose==undefined)autoclose=true;var objBody = document.getElementsByTagName("body").item(0);var objOverlay = document.createElement("div");objOverlay.setAttribute('id','box_overlay');if(autoclose){objOverlay.onclick = function () {hideLoadbox(); return false;}}objOverlay.style.position = 'absolute';objOverlay.style.backgroundColor="transparent";if(!is_ie){objOverlay.style.backgroundImage='url("/images/overlay.png")';}else{objOverlay.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"/images/overlay.png\", sizingMethod=\"scale\");";}objOverlay.style.top = '0';objOverlay.style.left = '0';objOverlay.style.zIndex = '99';objOverlay.style.display = "none";objBody.insertBefore(objOverlay, objBody.firstChild);var objLoadbox = document.createElement("div");objLoadbox.setAttribute('id','box_loadbox');objLoadbox.style.position = 'absolute';objLoadbox.style.display = "none";objLoadbox.style.zIndex = '100';objBody.insertBefore(objLoadbox, objOverlay.nextSibling);var objDiv = document.createElement("div");objDiv.setAttribute('id','box_loadboxdiv');objLoadbox.appendChild(objDiv);showLoadbox(loadobj,width,height,evalscript);return false;};

function hideLoadbox(){objOverlay = document.getElementById('box_overlay');if (isnotnull(objOverlay)){objLoadbox = document.getElementById('box_loadbox');objOverlay.style.display = 'none';objLoadbox.style.display = 'none';objOverlay.outerHTML = '';objLoadbox.outerHTML = '';selects = document.getElementsByTagName("select");for (i = 0; i != selects.length; i++){selects[i].style.visibility = "visible";};object = document.getElementsByTagName("object");for (i = 0; i != object.length; i++){object[i].style.visibility = "visible";};object = document.getElementsByTagName("embed");for (i = 0; i != object.length; i++){object[i].style.visibility = "visible";};deleteDOM(objLoadbox);deleteDOM(objOverlay);}};

function deleteDOM(obj){if(!is_ie){obj.parentNode.removeChild(obj);}else{obj.removeNode(true);};};

/**
 * @param {Object} evnt
 * @type HTMLElement
 */
function getEventDom(evnt){var obj;if(is_ie){obj = event.srcElement;}else{obj = evnt.target;}return obj;};

function stopform(event){if(is_ie){event.returnValue=false;}else{event.preventDefault();};};

/**
 * 去除字符串str头尾的空格
 * @param {String} str 字符串
 * @return str去除头尾空格后的字符串。
 * @type {String}
 */
function trim(str){if(str==null)return "";if(str=="")return "";str=str.replace(/(^\s*)|(\s*$)/g, "");return str ;};

/**
 * 显示时间选择框
 * @param {String} name
 * @param {int} start
 * @param {int} over
 * @param {String} selDate
 * @param {Boolean} showMonth
 * @param {String} testdate
 * @param {Boolean} testtype
 */
function showDateList(name,start,over,selDate,showMonth,testdate,testtype){var date=new Date();var year=date.getYear();if(!is_ie){year+=1900;};start=year+start;over=year+over;var arr=null;if(isnotnull(testdate)){if(!isnotnull(testtype)){testtype=false;};arr=testdate.split("-");if(!testtype){start=arr[0];}else{over=arr[0];};};if(!isnotnull(showMonth)){showMonth=true;};clearselect(gid(name));var k=0;addselect(name,k,"","——请选择——");k++;for(var i=over;i>=start;i--){if(showMonth){var sk=12;var tk=1;if(isnotnull(arr)){if(isnotnull(arr[0])){if(arr[0]==i){if(isnotnull(arr[1])){if(!testtype){tk=parseFloat(arr[1])+1;}else{sk=parseFloat(arr[1])-1;};};};};};for(var j=sk;j>=tk;j--){addselect(name,k,i+"-"+((j<10)?"0"+j:j),i+"-"+((j<10)?"0"+j:j));k++;};}else{addselect(name,k,i,i);k++;};};gid(name).value=selDate;};

/**
 * 
 * @param {Object} name
 * @param {Object} fun
 */
function setObjOnblur(name,fun){gid(name).eventBlur=gid(name).onblur;gid(name).onblur=fun;};

/**
 * 
 * @param {Object} name
 * @param {Object} event
 */
function runObjOnblur(name,event){if(isnotnull(gid(name))){if(isnotnull(gid(name).eventBlur)){gid(name).eventBlur(event);};};};

/**
 * 
 * @param {Object} name
 * @param {Object} cssname
 */
function replaceCss(name,cssname){if(isnotnull(gid(name))){gid(name).className=cssname;}};

/**
 * @param {String} url
 */
function getSafeUrl(url){if(url.indexOf("?")){url+="&";}else{url+="?";};return url;};

/**
 * 选择所有checked框
 * @param {Object} name
 * @param {Object} max
 * @param {Object} ev
 */
function selectAll(value,name,max,ev){for(var i=0;i<max;i++){if(isnotnull(gid(name+""+i+""))){gid(name+i).checked=value;if(isnotnull(ev))eval(ev);};};};

/**
 * 是否选择了
 * @param {Object} name
 * @param {Object} max
 */
function isSelect(name,max){for(var i=0;i<max;i++){if(isnotnull(gid(name+""+i+""))){if(gid(name+i).checked){return true;};};};return false;};

/**
 * 选择个数
 * @param {Object} name
 * @param {Object} max
 */
function hasSelectCount(name, max){var num=0;for (var i = 0; i < max; i++) {if (isnotnull(gid(name + "" + i + ""))) {if (gid(name + i).checked) {num++;};};};return num;};


/**
 * Msn直接联系。
 * @param {Object} c
 */
function msnChat(c) {if(is_ie){window.location="msnim:chat?contact="+c;}else{showmsg(false,"MSN CHAT功能仅在使用IE浏览器时有效");};};

/**
 * 字符串长度限定
 * @param {Object} value
 * @param {Object} max
 * @param {Object} divname
 * @param {Object} okeval
 * @param {Object} falseeval
 */
function ifInputLimit(value, max, divname, okeval, falseeval){if (value.length > max){gid(divname).innerHTML = "<font color=red>" + value.length + "个字符，请把您要表达的内容控制在" + max + "个字符之内哦。</font>";if (isnotnull(falseeval)){eval(falseeval);};}else{gid(divname).innerHTML = "您还可以输入" + (max-value.length) + "个字符";	if (isnotnull(okeval)){eval(okeval);};};};
function testLimit(value,max,divname,submitId){ifInputLimit(value,max,divname,'gid("'+submitId+'").disabled=false;','gid("'+submitId+'").disabled=true;');};

/**
 * @param {String} name
 * @param {Array} cellsarr
 * @param {Array} evalarr
 */
function insterTableRow(name,cellsarr,evalrow,evalarr){var table=gid(name);var newrow=table.insertRow(table.rows.length);if(isnotnull(evalrow)){eval(evalrow)};var cells=newrow.cells;for(var i=0;i<cellsarr.length;i++){var cell=newrow.insertCell(cells.length);cell.innerHTML=cellsarr[i];};if(isnotnull(evalarr)){for(var i=0;i<cells.length;i++){if(isnotnull(evalarr[i])){eval(evalarr[i]);};};};};

/**
 * 拷贝txt
 * @param {Object} name
 */
function copyTxt(name,str){var txt=gid(name).value;if(is_ie){window.clipboardData.clearData();window.clipboardData.setData("Text",txt);if (isnotnull(str)) {showmsg(true, str);}else{showmsg(true, "成功复制地址！");}}else{try{netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");}catch (e){showmsg(false,"请新建标签页并输入'about:config'将'signed.applets.codebase_principal_support'设置为'true'");return false;};var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);if (!clip)return;var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);if (!trans)return;trans.addDataFlavor('text/unicode');var str = new Object();var len = new Object();var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);var copytext = txt;str.data = copytext;trans.setTransferData("text/unicode",str,copytext.length*2);var clipid = Components.interfaces.nsIClipboard;if (!clip)return false;clip.setData(trans,null,clipid.kGlobalClipboard);showmsg(true,"成功复制地址！");};};

/**
 * 鼠标位置
 * @param {Object} e
 */
function mousePosX(e){var posx = 0;if (!e)var e = window.event;if (e.pageX)posx = e.pageX;else if (e.clientX && document.body.scrollLeft)posx = e.clientX + document.body.scrollLeft;else if (e.clientX && document.documentElement.scrollLeft)posx = e.clientX + document.documentElement.scrollLeft;else if (e.clientX)posx = e.clientX;return posx;};

function mousePosY(e){var posy = 0;if (!e)var e = window.event;if (e.pageY)posy = e.pageY;else if (e.clientY && document.body.scrollTop)posy = e.clientY + document.body.scrollTop;else if (e.clientY && document.documentElement.scrollTop)posy = e.clientY + document.documentElement.scrollTop;else if (e.clientY)posy = e.clientY;return posy;};

/**
 * 填加事件
 * @param {Object} obj
 * @param {Object} type
 * @param {Object} fn
 * @param {Object} name_hash
 */
function addEventBase(obj, type, fn, name_hash){if (obj.addEventListener){obj.addEventListener(type, fn, false);}else if (obj.attachEvent){obj["e" + type + fn + name_hash] =fn;obj[type + fn + name_hash] = function(){obj["e" + type + fn + name_hash](window.event);};obj.attachEvent("on" + type, obj[type + fn + name_hash]);};};

function removeEventBase(obj, type, fn, name_hash){if (obj.removeEventListener){obj.removeEventListener(type, fn, false);}else if (obj.detachEvent){obj.detachEvent("on" + type, obj[type + fn + name_hash]);obj[type + fn + name_hash] = null;obj["e" + type + fn + name_hash] = null;};};

/**
 * 移动事件
 * @param {Object} name
 */
function movefun_init(name){gid(name).selected=false;gid(name).onmousedown=function(){movefun_mousedown(name)};gid(name).onmouseup=function(){movefun_mouseup(name)};gid(name).onmousemove=function(){movefun_mousemove(name)};};

function movefun_mousedown(name){gid(name).isselect=true;if(!is_ie){event=SearchEvent();};gid(name).selleft=event.clientX-gid(name).offsetLeft;gid(name).seltop=event.clientY-gid(name).offsetTop;};

function movefun_mousemove(name){if(!is_ie){event=SearchEvent();};if(gid(name).isselect){var left=(event.clientX-gid(name).selleft)+"px";var top=(event.clientY-gid(name).seltop)+"px";gid(name).style.left=left;gid(name).style.top=top;};};

function movefun_mouseup(name){gid(name).isselect=false;};

/**
 * tips
 */
var offsetfromcursorX=12;var offsetfromcursorY=10;var offsetdivfrompointerX=10;var offsetdivfrompointerY=14;var enabletip=false;
document.write('<div id="dhtmltooltip" style="position: absolute;left: -300px;width: 150px;border: 1px solid black;padding: 2px;background-color: #FCFEE4;visibility: hidden;z-index: 100;"></div>');document.write('<img id="dhtmlpointer" src="/images/arrow2.gif" style="position:absolute;left: -300px;z-index: 101;visibility: hidden;">');

if (is_ie||is_ns){var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : "";var pointerobj=document.all? document.all["dhtmlpointer"] : document.getElementById? document.getElementById("dhtmlpointer") : "";};

function ietruebody(){return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body};

function showtip(thetext, thewidth, thecolor){if (is_ns||is_ie){if (typeof thewidth!="undefined"){tipobj.style.width=thewidth+"px";}if (typeof thecolor!="undefined" && thecolor!=""){tipobj.style.backgroundColor=thecolor;}tipobj.innerHTML=thetext;enabletip=true;return false;};};

function positiontip(e){if (enabletip){var nondefaultpos=false;var curX=(is_ns)?e.pageX : event.clientX+ietruebody().scrollLeft;var curY=(is_ns)?e.pageY : event.clientY+ietruebody().scrollTop;var winwidth=is_ie&&!window.opera? ietruebody().clientWidth : window.innerWidth-20;var winheight=is_ie&&!window.opera? ietruebody().clientHeight : window.innerHeight-20;var rightedge=is_ie&&!window.opera? winwidth-event.clientX-offsetfromcursorX : winwidth-e.clientX-offsetfromcursorX;var bottomedge=is_ie&&!window.opera? winheight-event.clientY-offsetfromcursorY : winheight-e.clientY-offsetfromcursorY;var leftedge=(offsetfromcursorX<0)? offsetfromcursorX*(-1) : -1000;if (rightedge<tipobj.offsetWidth){tipobj.style.left=curX-tipobj.offsetWidth+"px";nondefaultpos=true;}else if (curX<leftedge){tipobj.style.left="5px";}else{tipobj.style.left=curX+offsetfromcursorX-offsetdivfrompointerX+"px";pointerobj.style.left=curX+offsetfromcursorX+"px";};if (bottomedge<tipobj.offsetHeight){tipobj.style.top=curY-tipobj.offsetHeight-offsetfromcursorY+"px";nondefaultpos=true;}else{tipobj.style.top=curY+offsetfromcursorY+offsetdivfrompointerY+"px";pointerobj.style.top=curY+offsetfromcursorY+"px";};tipobj.style.visibility="visible";if (!nondefaultpos){pointerobj.style.visibility="visible";}else{pointerobj.style.visibility="hidden";};};};

function hidetip(){if (is_ns||is_ie){enabletip=false;tipobj.style.visibility="hidden";pointerobj.style.visibility="hidden";tipobj.style.left="-1000px";tipobj.style.width='';};};

var olddocumentmove=document.onmousemove;document.onmousemove=function(e){positiontip(e);olddocumentmove;};

function showDom(objname){if(gid(objname)){if(gid(objname).style.display=="none"){gid(objname).style.display="";}else{gid(objname).style.display="none";}}};

/**
 * @param {HTMLSelectElement} obj
 */
function clearselect(obj){
	var len=obj.length;
	for(i=(len-1);i>=0;i--){
		obj.options[i]=null;
	};
};

var Env=new function(){   
    this.funcList=new Array();
    this.envPath=null;
    this.selfName="function.js";
    this.getPath=function(){
        this.envPath=document.location.pathname;
        this.envPath=this.envPath.substring(0,this.envPath.lastIndexOf("/")+1);        
        var _scripts=document.getElementsByTagName("script");
        var _envPath=null;
        var _scriptSrc=null;
        for (var i=0; i<_scripts.length; i++)
        {
            _scriptSrc=_scripts[i].getAttribute("src");
        	if (_scriptSrc && _scriptSrc.indexOf(this.selfName)!=-1)
        	{
        	    break;
        	}
        }
        if (_scriptSrc!=null)
        {
            if (_scriptSrc.charAt(0)=='/')
            {
                this.envPath=_scriptSrc.substr(0,_scriptSrc.length-this.selfName.length);
            }
            else
            {
                this.envPath=this.envPath+_scriptSrc.substr(0,_scriptSrc.length-this.selfName.length);
            }
        }        
    }
    this.getPath();    
    
    /**
     * 按需获取需要的js文件
     * @param _jsName：js文件路径，若为相对路径，则是对应当前js(env.js)的相对路径，也可以用绝对路径
     * @param _language:对返回函数进行处理的语言，默认为JScript，可不填
     */
    this.require=function(_jsName,_language){
        var _absJsName=null;
        if (_jsName.charAt(0)=='/')
        {
            _absJsName=_jsName;
        }
        else
        {
            _absJsName=this.envPath+_jsName;
        }        
        if (!Env.funcList[_absJsName])
        {
            Env.funcList[_absJsName]="finished";
            var processJs=function(_instance)
            {
                //为兼容firefox做判断
                if (_language!=undefined)
                {
                    if (window.execScript)
                    {
                        window.execScript(_instance.responseText,_language);
                    }
                    else
                    {
                        window.eval(_instance.responseText,_language);
                    }                                       
                }
                else
                {
                    if (window.execScript)
                    {
                        window.execScript(_instance.responseText);
                    }
                    else
                    {
                        window.eval(_instance.responseText);
                    }                    
                }               
            }
            Request.showStatus=false;
            Request.send(_absJsName,"",processJs,"",false);
        }
    }
    
    /**
     * 该函数的效果是在应用它的script块后加一个script块
     * 是由document.write在script块中的执行顺序决定的
     */
    this.getJs=function(_jsName){
        if (!Env.funcList[_jsName])
        {
            Env.funcList[_jsName]="finished";
            document.write('<scr'+'ipt type="text/javascript" src="'+_jsName+'"></'+'scr'+'ipt>');
        }
    }
}

/**
 * ajax调用远程页面后，远程页面中script块未执行的处理
 */
function reloadJs(_language){
    var _c=document.getElementsByTagName("SCRIPT");
    for (var i=0;i<_c.length;i++)
    {
        if (_c[i].src)
        {
            var _s=document.createElement("script");
            _s.type="text/javascript";
            _s.src=_c[i].src;
            //为兼容firefox不用_c[0].insertAdjacentElement("beforeBegin",_s)
            _c[0].parentNode.insertBefore(_s,_c[0]);            
            _c[i].parentNode.removeChild(_c[i]);
        }
        else if (_c[i].text)
        {
            if (_language!=undefined)
            {
                if (window.execScript)
                {
                    window.execScript(_c[i].text,_language);
                }
                else
                {
                    window.eval(_c[i].text,_language);
                }
            }
            else
            {
                if (window.execScript)
                {
                    window.execScript(_c[i].text);
                }
                else
                {
                    window.eval(_c[i].text);
                }
            }
        }
    }
}