½Å±¾°É - »ÃÓ×÷ÊÒÓõ½js,³¬Ç¿ÍƼöbase.js

base.js

¡¡¡¡

¸´ÖÆ´úÂë ´úÂëÈçÏÂ:

¡¡¡¡browser_init()

¡¡¡¡function browser_init(){

¡¡¡¡window.isIE=navigator.appName.indexOf("Microsoft")==0

¡¡¡¡window.$sys={}

¡¡¡¡window.$my={}

¡¡¡¡String.prototype.trim=function(){return this.replace(/(^[\s]*)|([\s]*$)/g,"")}

¡¡¡¡String.prototype.inc=function(s1,s2){if(s2==null){s2=","};return (s2+this+s2).indexOf(s2+s1+s2)>-1?1:0}

¡¡¡¡String.prototype.lenB=function(){return this.replace(/[^\x00-\xff]/g,"**").length}

¡¡¡¡String.prototype.leftB=function(len,isOmit){var s;s=this.replace(/\*/g," ").replace(/[^\x00-\xff]/g,"**");if(s.length>len&&isOmit){len-=3};return this.slice(0,s.slice(0,len).replace(/\*\*/g," ").replace(/\*/g,"").length)+(s.length>len&&isOmit?"...":"")}

¡¡¡¡String.prototype.getVar=function(str,def){if(this.inc(str,";"))return 1;var a=this.match(new RegExp("(^|;)"+str+":[^;]*"));return a==null||str==""?(def==null?"":def):a[0].replace(";","").slice(str.length+1)}

¡¡¡¡String.prototype._slice="".slice

¡¡¡¡String.prototype.slice=function(n1,n2){var v,b1=typeof(n1)=="number",b2=typeof(n2)=="number";if(!b1||typeof(n2)=="string"){v=eval("this._slice("+(b1?n1:this.indexOf(n1)+(n2==null?1:0)+(this.indexOf(n1)==-1?this.length:0))+(n2==null?"":(b2?n2:(this.indexOf(n2)==-1?"":","+this.indexOf(n2))))+")")}else{v=eval("this._slice(n1"+(n2==null?"":","+n2)+")")}return v}

¡¡¡¡Array.prototype.parseInt=function(){var i,count=this.length;for(i=0;i<count;i++){this[i]=parseInt(this[i])}}

¡¡¡¡Array.prototype.remove=function(item){var i,count=this.length;for(i=0;i<count;i++){if(this[i]==item){this.splice(i,1);i--;count--}}}

¡¡¡¡Array.prototype.plus=function(item){for(var i=0;i<this.length;i++){if(this[i]==item){return}}this.push(item)}

¡¡¡¡window.$=function(obj){return typeof(obj)=="string"?document.getElementById(obj):obj}

¡¡¡¡window.ow=function(win){return $(win).contentWindow}

¡¡¡¡window.oDel=function(obj){if($(obj)!=null){$(obj).parentNode.removeChild($(obj))}}

¡¡¡¡window.oHide=function(obj){if($(obj)!=null){$(obj).style.visibility="hidden"}}

¡¡¡¡window.oShow=function(obj){if($(obj)!=null){$(obj).style.visibility=""}}

¡¡¡¡window.oFocu=function(obj){window.tempObj=$(obj);window.setTimeout("try{window.tempObj.focus()}catch(e){}",10)}

¡¡¡¡window.fmCheck=function(){return true}

¡¡¡¡$sys.url=location.href

¡¡¡¡$sys.path=$sys.url.slice(0,"?").slice(0,$sys.url.lastIndexOf("/")+1)

¡¡¡¡document.write("<body></body>")

¡¡¡¡if(document.all){

¡¡¡¡document.execCommand("BackgroundImageCache",false,true)

¡¡¡¡}

¡¡¡¡else{

¡¡¡¡HTMLElement.prototype.attachEvent=function(type,foo){this.addEventListener(type.slice(2),foo,false)}

¡¡¡¡HTMLElement.prototype.contains=function(node){if(!node)return false;do if(node==this){return true}while(node=node.parentNode){return false}}

¡¡¡¡HTMLElement.prototype.__defineSetter__("outerHTML",function(sHTML){var r=this.ownerDocument.createRange();r.setStartBefore(this);var df=r.createContextualFragment(sHTML);this.parentNode.replaceChild(df,this);return sHTML;})

¡¡¡¡HTMLElement.prototype.__defineGetter__("innerText",function(){var r = this.ownerDocument.createRange();r.selectNodeContents(this);return r.toString()})

¡¡¡¡Event.prototype.__defineGetter__("srcElement",function(){var node=this.target;while(node.nodeType!=1){node=node.parentNode}return node})

¡¡¡¡Event.prototype.__defineGetter__("fromElement",function(){return this.relatedTarget})

¡¡¡¡Event.prototype.__defineGetter__("toElement",function(){return this.relatedTarget})

¡¡¡¡Event.prototype.__defineGetter__("offsetX",function(){return this.layerX})

¡¡¡¡Event.prototype.__defineGetter__("offsetY",function(){return this.layerY})

¡¡¡¡}

¡¡¡¡drag_init()

¡¡¡¡thd_init()

¡¡¡¡document_onload()

¡¡¡¡}

¡¡¡¡function document_onload(){

¡¡¡¡var l

¡¡¡¡l="<div id=mcSystem style='position:absolute;left:-9000px;top:0'>"

¡¡¡¡l+="<iframe id=wForm name=wForm onload=fmWinOnLoad(this)></iframe>"

¡¡¡¡l+="<button id=btSysFocu></button>"

¡¡¡¡l+="</div>"

¡¡¡¡insHtm(document.body,l)

¡¡¡¡document.body.onmouseover=document.body.onmouseout=document.body.onmousedown=document.body.onmouseup=function(e){

¡¡¡¡var ee

¡¡¡¡e=e||event

¡¡¡¡ee=e.srcElement

¡¡¡¡if(e.type=="mouseover"&&(ee.tagName=="A"||ee.tagName=="INPUT"||ee.tagName=="LABEL")&&!ee.hideFocus)

¡¡¡¡ee.hideFocus=true

¡¡¡¡}

¡¡¡¡document.body.onkeydown=function(e){

¡¡¡¡var ee

¡¡¡¡e=e||event

¡¡¡¡ee=e.srcElement

¡¡¡¡if(ee.tagName=="INPUT"&&e.keyCode==13&&isIE&&ee.form!=null){

¡¡¡¡if(ee.form.btSubmit!=null)

¡¡¡¡ee.form.btSubmit.click()

¡¡¡¡}

¡¡¡¡}

¡¡¡¡if(window.body_onload!=null)

¡¡¡¡body_onload()

¡¡¡¡}

¡¡¡¡function drag_init(){

¡¡¡¡window.$drag={}

¡¡¡¡window.startDrag=function(obj,e){

¡¡¡¡$drag.obj=$(obj)

¡¡¡¡$drag.x0=$drag.obj.offsetLeft

¡¡¡¡$drag.y0=$drag.obj.offsetTop

¡¡¡¡$drag.sx=e.clientX

¡¡¡¡$drag.sy=e.clientY

¡¡¡¡if(document.all)

¡¡¡¡$drag.obj.setCapture()

¡¡¡¡}

¡¡¡¡document.onmouseup=function(){

¡¡¡¡if($drag.obj==null)

¡¡¡¡return

¡¡¡¡if(document.all)

¡¡¡¡$drag.obj.releaseCapture()

¡¡¡¡$drag.obj=null

¡¡¡¡}

¡¡¡¡document.onmousemove=function(e){

¡¡¡¡var x,y

¡¡¡¡if($drag.obj==null)

¡¡¡¡return

¡¡¡¡e=e||event

¡¡¡¡x=Math.min(e.clientX-$drag.sx+$drag.x0,document.body.scrollLeft+document.body.clientWidth-$drag.obj.offsetWidth)

¡¡¡¡y=Math.min(e.clientY-$drag.sy+$drag.y0,document.body.scrollTop+document.body.clientHeight-$drag.obj.offsetHeight)

¡¡¡¡x=Math.max(x,0)

¡¡¡¡y=Math.max(y,document.body.scrollTop)

¡¡¡¡$drag.obj.style.left=x+"px"

¡¡¡¡$drag.obj.style.top=y+"px"

¡¡¡¡}

¡¡¡¡}

¡¡¡¡function thd_init(){

¡¡¡¡window.$thd={}

¡¡¡¡$thd.items=[]

¡¡¡¡$thd.index=0

¡¡¡¡$thd.push=function(foo,interval){

¡¡¡¡foo.interval=interval==null?1:interval

¡¡¡¡$thd.items.push(foo)

¡¡¡¡}

¡¡¡¡$thd.remove=function(foo){

¡¡¡¡$thd.items.remove(foo)

¡¡¡¡}

¡¡¡¡$thd.run=function(){

¡¡¡¡var ol=$thd.items,i

¡¡¡¡for(i=0;i<ol.length;i++){

¡¡¡¡if($thd.index%ol[i].interval==0||ol[i].start==null){

¡¡¡¡ol[i].start=1

¡¡¡¡ol[i]()

¡¡¡¡}

¡¡¡¡}

¡¡¡¡$thd.index++

¡¡¡¡window.setTimeout("$thd.run()",10)

¡¡¡¡}

¡¡¡¡$thd.run()

¡¡¡¡}

¡¡¡¡function $x(obj,op){

¡¡¡¡var o,x=0

¡¡¡¡op=op||document.body

¡¡¡¡do{

¡¡¡¡o=o==null?$(obj):o.parentNode

¡¡¡¡if(op==o)

¡¡¡¡break

¡¡¡¡x+=o.offsetLeft

¡¡¡¡}while(op.contains(o))

¡¡¡¡return x

¡¡¡¡}

¡¡¡¡function $y(obj,op){

¡¡¡¡var o,y=0

¡¡¡¡op=op||document.body

¡¡¡¡do{

¡¡¡¡o=o==null?$(obj):o.parentNode

¡¡¡¡if(op==o)

¡¡¡¡break

¡¡¡¡if(o.tagName=="TR")

¡¡¡¡continue

¡¡¡¡y+=o.offsetTop-o.scrollTop

¡¡¡¡}while(op.contains(o))

¡¡¡¡return y

¡¡¡¡}

¡¡¡¡function getPngBg(url){

¡¡¡¡return document.all&&/\.png/i.test(url)?"filter:progid:dximagetransform.microsoft.alphaimageloader(src="+url+",sizingMethod=scale)":"background:url("+url+")"

¡¡¡¡}

¡¡¡¡function setHtm(op,str){

¡¡¡¡op=$(op)

¡¡¡¡if(op.tagName=="TABLE"){

¡¡¡¡if(op.tBodies.length==0)

¡¡¡¡op.appendChild(document.createElement("tbody"))

¡¡¡¡op.replaceChild(document.createElement("tbody"),op.tBodies[0])

¡¡¡¡}

¡¡¡¡else

¡¡¡¡op.innerHTML=""

¡¡¡¡insHtm(op,str)

¡¡¡¡}

¡¡¡¡function insHtm(op,str,oRefer){

¡¡¡¡var bx=document.createElement("div"),ol,i

¡¡¡¡op=$(op)

¡¡¡¡if(op.tagName=="TABLE"){

¡¡¡¡bx.innerHTML="<table>"+str+"</table>"

¡¡¡¡ol=bx.childNodes[0].tBodies[0].rows

¡¡¡¡if(op.tBodies.length==0)

¡¡¡¡op.appendChild(document.createElement("tbody"))

¡¡¡¡while(ol.length>0){

¡¡¡¡op.tBodies[0].insertBefore(ol[0],oRefer==null?null:oRefer)

¡¡¡¡}

¡¡¡¡}

¡¡¡¡else{

¡¡¡¡op.insertBefore(bx,oRefer==null?null:oRefer)

¡¡¡¡bx.outerHTML=str

¡¡¡¡}

¡¡¡¡btBinding(op)

¡¡¡¡fmBinding(op)

¡¡¡¡}

¡¡¡¡function btBinding(op){

¡¡¡¡var ol,i,a,bg

¡¡¡¡ol=(op||document.body).getElementsByTagName("SPAN")

¡¡¡¡for(i=0;i<ol.length;i++){

¡¡¡¡if(ol[i].getAttribute("type")!="button"||ol[i].getAttribute("bg")==null)

¡¡¡¡continue

¡¡¡¡bg=ol[i].getAttribute("bg")

¡¡¡¡ol[i].removeAttribute("bg")

¡¡¡¡a=ol[i].getAttribute("pos").split(",")

¡¡¡¡ol[i].style.cssText="position:absolute;overflow:hidden;left:"+a[0]+";top:"+a[1]+";width:"+a[2]+";height:"+a[3]

¡¡¡¡ol[i].innerHTML="<img src='"+bg+"'><button style=position:absolute;left:-9000;top:0></button>"

¡¡¡¡ol[i].onmouseover=function(){this.scrollTop=this.offsetHeight}

¡¡¡¡ol[i].onmouseout=function(){this.scrollTop=0}

¡¡¡¡ol[i].onmousedown=function(){this.scrollTop=this.offsetHeight*2}

¡¡¡¡ol[i].onmouseup=function(){this.scrollTop=this.offsetHeight}

¡¡¡¡}

¡¡¡¡}

¡¡¡¡function fmBinding(op){

¡¡¡¡var ol,i,sResult,foo

¡¡¡¡ol=(op||document.body).getElementsByTagName("FORM")

¡¡¡¡for(i=0;i<ol.length;i++){

¡¡¡¡if(ol[i].onsubmit!=null)

¡¡¡¡continue

¡¡¡¡insHtm(ol[i],"<input name=btSubmit type=submit style=visibility:hidden>",ol[i].firstChild)

¡¡¡¡ol[i].onkeydown=function(e){

¡¡¡¡e=e||event

¡¡¡¡if(e.keyCode==13)

¡¡¡¡return false

¡¡¡¡}

¡¡¡¡ol[i].onsubmit=function(e){

¡¡¡¡var fm=this

¡¡¡¡if(!fmCheck(fm))

¡¡¡¡return false

¡¡¡¡sResult=1

¡¡¡¡try{

¡¡¡¡foo=fm.getAttribute("onbeforeload")

¡¡¡¡if(typeof(foo)=="function")

¡¡¡¡sResult=foo()

¡¡¡¡else if(typeof(foo)=="string")

¡¡¡¡eval(foo.replace(/return /,"sResult="))

¡¡¡¡}catch(e){alert(e.description)}

¡¡¡¡if(sResult==false)

¡¡¡¡return false

¡¡¡¡if(fm.method=="post"){

¡¡¡¡fm.target="wForm"

¡¡¡¡$sys.fmWinType=fm

¡¡¡¡return true

¡¡¡¡}

¡¡¡¡loadXml(fmv(fm),function(xml){

¡¡¡¡var foo=fm.getAttribute("onload")

¡¡¡¡if(typeof(foo)=="function")

¡¡¡¡foo(xml)

¡¡¡¡else if(typeof(foo)=="string")

¡¡¡¡eval(foo)

¡¡¡¡})

¡¡¡¡return false

¡¡¡¡}

¡¡¡¡}

¡¡¡¡}

¡¡¡¡function fmWinOnLoad(win){

¡¡¡¡var xml,str,foo,error

¡¡¡¡if(document.all){

¡¡¡¡str=win.contentWindow.document.body.innerText.replace(/\n[\s]*\-/g,"\n")

¡¡¡¡if(str=="")

¡¡¡¡return

¡¡¡¡if(!/\<[^\>]+/.test(str)){

¡¡¡¡alert(str)

¡¡¡¡return

¡¡¡¡}

¡¡¡¡str=str.slice(1)

¡¡¡¡xml=createXml(str)

¡¡¡¡}

¡¡¡¡else{

¡¡¡¡if((win.contentWindow.document+"").indexOf("XML")==-1)

¡¡¡¡return

¡¡¡¡xml=win.contentWindow.document.documentElement

¡¡¡¡}

¡¡¡¡error=ndv(xml,"error")

¡¡¡¡if(error!=null)

¡¡¡¡return alert(error)

¡¡¡¡foo=$sys.fmWinType.onload

¡¡¡¡if(typeof(foo)=="function")

¡¡¡¡foo(xml)

¡¡¡¡else if(typeof(foo)=="string")

¡¡¡¡eval(foo)

¡¡¡¡}

¡¡¡¡function fmv(fm){

¡¡¡¡var i,f,v,l

¡¡¡¡l=fm.action

¡¡¡¡for(i=0;i<fm.length;i++){

¡¡¡¡if(!"INPUT,TEXTAREA,SELECT".inc(fm[i].tagName)||"submit,button".inc(fm[i].type))

¡¡¡¡continue

¡¡¡¡v=fm[i].value.trim()

¡¡¡¡f=fm[i].getAttribute("postName")||fm[i].name

¡¡¡¡if(f==""||(fm[i].type=="radio"&&!fm[i].checked)||fm[i].readOnly==true)

¡¡¡¡continue

¡¡¡¡if(fm[i].type=="checkbox")

¡¡¡¡v=fm[i].checked?v.replace(/^on$/g,1):0

¡¡¡¡l+="&"+f+"="+escape(v)

¡¡¡¡}

¡¡¡¡if(l.indexOf("?")==-1)

¡¡¡¡l=l.replace("&","?")

¡¡¡¡return l

¡¡¡¡}

¡¡¡¡function createXml(str){

¡¡¡¡if(isIE){

¡¡¡¡var xml=new ActiveXObject("Microsoft.XMLDOM")

¡¡¡¡xml.loadXML(str)

¡¡¡¡xml.setProperty("SelectionLanguage","XPath")

¡¡¡¡}

¡¡¡¡else

¡¡¡¡var xml=new DOMParser().parseFromString(str,"text/xml")

¡¡¡¡return xml.documentElement

¡¡¡¡}

¡¡¡¡function getXmlNode(node,expr,isAll){

¡¡¡¡var ol

¡¡¡¡if(isIE)

¡¡¡¡ol=node.selectNodes(expr)

¡¡¡¡else{

¡¡¡¡var xpe=new XPathEvaluator(),nsr,res,ol=[],r

¡¡¡¡nsr=xpe.createNSResolver(node.ownerDocument==null?node.documentElement:node.ownerDocument.documentElement)

¡¡¡¡res=xpe.evaluate(expr,node,nsr,0,null)

¡¡¡¡while(r=res.iterateNext()){

¡¡¡¡r.text=r.textContent

¡¡¡¡ol.push(r)

¡¡¡¡}

¡¡¡¡}

¡¡¡¡return isAll?ol:ol[0]

¡¡¡¡}

¡¡¡¡function ndv(node,expr,def){

¡¡¡¡var ol,s,$0,r

¡¡¡¡if(expr.indexOf("@")==0)

¡¡¡¡return node.getAttribute(expr.slice(1))||def

¡¡¡¡ol=getXmlNode(node,unescape(expr.slice(0,"?")))

¡¡¡¡if(ol==null)

¡¡¡¡return

¡¡¡¡if(ol.length==0)

¡¡¡¡return def

¡¡¡¡r=$0=ol.length==0?def:unescape(ol.text)

¡¡¡¡return r

¡¡¡¡}

¡¡¡¡function loadXml(url,foo){

¡¡¡¡var xh,method,ondataok

¡¡¡¡xh=isIE?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()

¡¡¡¡method=url.indexOf(".xml")?"GET":"POST"

¡¡¡¡xh.open(method,url,true)

¡¡¡¡xh.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")

¡¡¡¡xh.send(method=="POST"?url.slice("?"):null)

¡¡¡¡ondataok=function(){

¡¡¡¡var xml=xh.responseXML,error

¡¡¡¡if(xml!=null)

¡¡¡¡xml=xh.responseXML.documentElement

¡¡¡¡if(xml==null){

¡¡¡¡window.clipboardData.setData("text",$sys.path+url)

¡¡¡¡alert("ÔØÈëxmlÊý¾Ý³ö´í£¡")

¡¡¡¡return

¡¡¡¡}

¡¡¡¡error=ndv(xml,"error")

¡¡¡¡if(error!=null){

¡¡¡¡alert(error)

¡¡¡¡return

¡¡¡¡}

¡¡¡¡foo(xml)

¡¡¡¡}

¡¡¡¡if(xh.readyState==4)

¡¡¡¡ondataok()

¡¡¡¡xh.onreadystatechange=function(){

¡¡¡¡if(xh.readyState==4)

¡¡¡¡ondataok()

¡¡¡¡}

¡¡¡¡}