﻿(function(){if(window.zhennJs){return false};window.zhennJs={timer:null,bindFn:function(obj,fn){return function(){fn.apply(obj,arguments)}},$:function(elem1,elem2){var arr=new Array();var obj=new Object();if(arguments.length==1){if(typeof elem1=="string"){if(elem1.charAt(0)=="#"){return obj=document.getElementById(elem1.substring(1,elem1.length))}else if(elem1.charAt(0)=="."){var allElem=document.getElementsByTagName("*");var s=elem1.substring(1,elem1.length);for(var i=0;i<allElem.length;i++){var reg=new RegExp(" ?"+s+" ?","g");if(allElem[i].className&&allElem[i].className.match(reg)!=null){arr.push(allElem[i])}}return arr}else if(elem1.charAt(0)=="*"){return obj=document.createElement(elem1.substring(1,elem1.length))}else{return arr=document.getElementsByTagName(elem1)}}else if(typeof elem1=="object"){return obj=elem1}else{return null}}else if(arguments.length==2){if(typeof elem1=="string"&&elem1.charAt(0)=="#"&&typeof elem2=="string"){return arr=document.getElementById(elem1.substring(1,elem1.length)).getElementsByTagName(elem2)}if(typeof elem1=="object"&&typeof elem2=="string"){return arr=elem1.getElementsByTagName(elem2)}}else{return null}},prev:function(elem){do{elem=elem.previousSibling}while(elem&&elem.nodeType!=1)return elem},next:function(elem){do{elem=elem.nextSibling}while(elem&&elem.nodeType!=1)return elem},first:function(elem){elem=elem.firstChild;return elem&&elem.nodeType!=1?this.next(elem):elem},last:function(elem){elem=elem.lastChild;return elem&&elem.nodeType!=1?this.prev(elem):elem},parent:function(elem,num){num=num||1;for(var i=0;i<num;i++){if(elem!=null){elem=elem.parentNode}}return elem},removeElem:function(elem){elem.parentNode.removeChild(elem)},addElem:function(parentObj,tag,childObj){if(typeof tag=="string"){var newChild=this.$("*"+tag);parentObj.insertBefore(newChild,childObj);return newChild}else if(typeof tag=="object"){parentObj.insertBefore(tag,childObj);return tag}},insertBefore:function(tag,elem){if(typeof tag=="string"){var newchild=this.$("*"+tag);elem.parentNode.insertBefore(newchild,elem);return newchild}else if(typeof tag=="object"){elem.parentNode.insertBefore(tag,elem);return tag}},insertAfter:function(tag,elem){if(typeof tag=="string"){var newchild=this.$("*"+tag);elem.parentNode.insertBefore(newchild,elem.nextSibling);return newchild}else if(typeof tag=="object"){elem.parentNode.insertBefore(tag,elem.nextSibling);return tag}},cloneElem:function(elem){var newchild=elem.cloneNode(true);return newchild},hasClass:function(elem,classname){var classString=elem.className;return classString.indexOf(classname)>=0?true:false},addClass:function(elem,classname){elem.className+=elem.className.length>0?" "+classname:classname},removeClass:function(elem,classname){var reg=new RegExp("( ?|^)"+classname+"\\b","g");elem.className=elem.className.replace(reg,"")},setStyle:function(elem,property,value){var _array=property.split("");for(var i=0;i<_array.length;i++){if(_array[i]=="-"){_array[i+1]=_array[i+1].toUpperCase();_array.splice(i,1)}}var s=_array.join("");elem.style[s]=value},setCss:function(elem,styles){var old={};for(var pro in styles){old[pro]=elem.style[pro];elem.style[pro]=styles[pro]}return old},restoreCss:function(elem,styles){for(var pro in styles){elem.style[pro]=styles[pro]}},getCss:function(elem,property){if(elem.style[property]){return elem.style[property]}else if(elem.currentStyle){return elem.currentStyle[property]}else if(document.defaultView&&document.defaultView.getComputedStyle){property=property.replace(/([A-Z])/g,'-$1').toLowerCase();var s=document.defaultView.getComputedStyle(elem,'');return s&&s.getPropertyValue(property)}else{return null}},setOpacity:function(elem,level){if(elem.filters){elem.style.filter="alpha(opacity="+level+")";elem.style.zoom=1}else{elem.style.opacity=level/100}},getHeight:function(elem){if(this.getCss(elem,"display")!="none"){return elem.offsetHeight||parseInt(this.getCss(elem,"height"))}var old=this.setCss(elem,{display:"block",visibility:"hidden",position:"absolute"});var h=elem.clientHeight||parseInt(this.getCss(elem,"height"));this.restoreCss(elem,old);return h},getWidth:function(elem){if(this.getCss(elem,"display")!="none"){return elem.offsetWidth||parseInt(this.getCss(elem,"width"))}var old=this.setCss(elem,{display:"block",visibility:"hidden",position:"absolute"});var w=elem.clientWidth||parseInt(this.getCss(elem,"width"));this.restoreCss(elem,old);return w},addStyleSheet:function(url,_media){_media=_media||"screen";var linkCss=this.addElem(this.$("head")[0],"link",null);linkCss.setAttribute("href",url);linkCss.setAttribute("rel","stylesheet");linkCss.setAttribute("type","text/css");linkCss.setAttribute("media",_media)},removeStyleSheet:function(url){var linkCss=this.$("link");for(var i=0;i<linkCss.length;i++){if(linkCss[i].href===url){this.removeElem(linkCss[i])}}},slideDown:function(elem,speed,fn){if(this.getCss(elem,"display")=="none"){fn=fn||function(){};var fullHeight=this.getHeight(elem);var h=1;var speednum;if(speed=="fast"){speednum=25}else if(speed=="slow"){speednum=10}else{speednum=18}this.setCss(elem,{overflow:"hidden",height:"1px",display:"block"});var timer=setInterval(function(){h+=speednum;if(h>=fullHeight){elem.style.height=fullHeight+"px";clearInterval(timer);fn()}else{elem.style.height=h+"px"}},10)}},slideUp:function(elem,speed,fn){if(this.getCss(elem,"display")!="none"){fn=fn||function(){};var fullHeight=this.getHeight(elem);var h=fullHeight;var speednum;if(speed=="fast"){speednum=25}else if(speed=="slow"){speednum=10}else{speednum=18}this.setCss(elem,{overflow:"hidden"});var timer=setInterval(function(){h-=speednum;if(h<=0){elem.style.display="none";elem.style.height="";clearInterval(timer);fn()}else{elem.style.height=h+"px"}},10)}},slideToggle:function(elem,speed,fn){if(this.getCss(elem,"display")=="none"){this.slideDown(elem,speed,fn)}else{this.slideUp(elem,speed,fn)}},fadeIn:function(elem,speed,fn){if(this.getCss(elem,"display")=="none"){fn=fn||function(){};var l=0;var speednum;if(speed=="fast"){speednum=3}else if(speed=="slow"){speednum=1}else{speednum=2}this.setOpacity(elem,0);this.setStyle(elem,"display","block");var timer=setInterval(function(){l+=speednum;if(l>=100){zhennJs.setOpacity(elem,100);clearInterval(timer);fn()}else{zhennJs.setOpacity(elem,l)}},10)}},fadeOut:function(elem,speed,fn){if(this.getCss(elem,"display")!="none"){fn=fn||function(){};var l=100;var speednum;if(speed=="fast"){speednum=5}else if(speed=="slow"){speednum=2}else{speednum=3}var timer=setInterval(function(){l-=speednum;if(l<=0){zhennJs.setOpacity(elem,0);elem.style.display="none";clearInterval(timer);fn()}else{zhennJs.setOpacity(elem,l)}},10)}},fadeToggle:function(elem,speed,fn){if(this.getCss(elem,"display")=="none"){this.fadeIn(elem,speed,fn)}else{this.fadeOut(elem,speed,fn)}},show:function(elem,speed,fn){if(this.getCss(elem,"display")=="none"){if(arguments.length==1){elem.style.display="block"}else if(arguments.length==2||arguments.length==3){fn=fn||function(){};var l=0;var speednum1;var fullHeight=this.getHeight(elem);var h=1;var speednum2;var fullWidth=this.getWidth(elem);var w=1;var speednum3;if(speed=="fast"){speednum1=5;speednum2=fullHeight*5/100;speednum3=fullWidth*5/100}else if(speed=="slow"){speednum1=1;speednum2=fullHeight*1/100;speednum3=fullWidth*1/100}else{speednum1=3;speednum2=fullHeight*3/100;speednum3=fullWidth*3/100}this.setOpacity(elem,0);this.setCss(elem,{overflow:"hidden",width:"1px",height:"1px",display:"block"});var timer1=setInterval(function(){l+=speednum1;if(l>=100){zhennJs.setOpacity(elem,100);clearInterval(timer1)}else{zhennJs.setOpacity(elem,l)}},10);var timer2=setInterval(function(){h+=speednum2;if(h>=fullHeight){elem.style.height=fullHeight+"px";clearInterval(timer2);fn()}else{elem.style.height=h+"px"}},10);var timer3=setInterval(function(){w+=speednum3;if(w>=fullWidth){elem.style.width=fullWidth+"px";clearInterval(timer3)}else{elem.style.width=w+"px"}},10)}}},hide:function(elem,speed,fn){if(this.getCss(elem,"display")!="none"){if(arguments.length==1){elem.style.display="none"}else if(arguments.length==2||arguments.length==3){fn=fn||function(){};var l=100;var speednum1;var fullHeight=this.getHeight(elem);var h=fullHeight;var speednum2;var fullWidth=this.getWidth(elem);var w=fullWidth;var speednum3;if(speed=="fast"){speednum1=3;speednum2=fullHeight*3/100;speednum3=fullWidth*3/100}else if(speed=="slow"){speednum1=1;speednum2=fullHeight*1/100;speednum3=fullWidth*1/100}else{speednum1=2;speednum2=fullHeight*2/100;speednum3=fullWidth*2/100}this.setCss(elem,{overflow:"hidden"});var timer1=setInterval(function(){l-=speednum1;if(l<=0){elem.style.display="none";zhennJs.setOpacity(elem,0);clearInterval(timer1)}else{zhennJs.setOpacity(elem,l)}},10);var timer2=setInterval(function(){h-=speednum2;if(h<=0){elem.style.display="none";elem.style.height="";clearInterval(timer2);fn()}else{elem.style.height=h+"px"}},10);var timer3=setInterval(function(){w-=speednum3;if(w<=0){elem.style.display="none";elem.style.width="";clearInterval(timer3)}else{elem.style.width=w+"px"}},10)}}},toggle:function(elem,speed,fn){if(arguments.length==1){if(this.getCss(elem,"display")=="none"){this.show(elem)}else{this.hide(elem)}}else if(arguments.length==2||arguments.length==3){if(this.getCss(elem,"display")=="none"){this.show(elem,speed,fn)}else{this.hide(elem,speed,fn)}}},mouseHover:function(elem,fn1,fn2){var s1=fn1.toString(),s2=fn2.toString();var sNew1=s1.replace(s1.match(/\(\)\ ?{/g)[0],"(e){"+"\n"+"if(zhennJs.isMouseLeaveOrEnter(e,elem)){"),sNew2=s2.replace(s2.match(/\(\)\ ?{/g)[0],"(e){"+"\n"+"if(zhennJs.isMouseLeaveOrEnter(e,elem)){");var sNew11=sNew1.replace(sNew1.match(/\}/g),"}"+"\n"+"}"),sNew22=sNew2.replace(sNew2.match(/\}/g),"}"+"\n"+"}");eval("elem.onmouseover="+sNew11+";elem.onmouseout="+sNew22)},isMouseLeaveOrEnter:function(e,elem){e=e||window.event;if(e.type!="mouseout"&&e.type!="mouseover"){return false}var reltg=e.relatedTarget?e.relatedTarget:e.type=="mouseout"?e.toElement:e.fromElement;while(reltg&&reltg!=elem){reltg=reltg.parentNode}return(reltg!=elem)},gapsX:function(elem){return elem.offsetParent?elem.offsetLeft+this.gapsX(elem.offsetParent):elem.offsetLeft},gapsY:function(elem){return elem.offsetParent?elem.offsetTop+this.gapsY(elem.offsetParent):elem.offsetTop},parentX:function(elem){return elem.parentNode==elem.offsetParent?elem.offsetLeft:this.gapsX(elem)-this.gapsX(elem.parentNode)},parentY:function(elem){return elem.parentNode==elem.offsetParent?elem.offsetTop:this.gapsY(elem)-this.gapsY(elem.parentNode)},getX:function(e){e=e||window.event;return e.pageX?e.pageX:(e.clientX+document.documentElement.scrollLeft)},getY:function(e){e=e||window.event;return e.pageY?e.pageY:(e.clientY+document.documentElement.scrollTop)},getElementX:function(e){e=e||window.event;var activeObj=e.target||e.srcElement;var elemX=this.getX(e)-this.gapsX(activeObj);return elemX},getElementY:function(e){e=e||window.event;var activeObj=e.target||e.srcElement;var elemY=this.getY(e)-this.gapsY(activeObj);return elemY},pageWidth:function(){return document.body.offsetWidth},pageHeight:function(){return document.body.offsetHeight},scrollX:function(){return self.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft},scrollY:function(){return self.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop},windowWidth:function(){return document.documentElement.clientWidth},windowHeight:function(){return document.documentElement.clientHeight},addEvent:function(elem,eventType,fn){if(!elem.addEventListener&&!elem.attachEvent){return false}else if(elem.addEventListener){elem.addEventListener(eventType,fn,false)}else if(elem.attachEvent){elem.attachEvent("on"+eventType,fn)}},removeEvent:function(elem,eventType,fn){if(!elem.removeEventListener&&!elem.detach){return false}else if(elem.removeEventListener){elem.removeEventListener(eventType,fn,false)}else if(elem.detach){elem.detach("on"+eventType,fn)}},stopBubble:function(e){e=e||window.event;if(e.stopPropagation){e.stopPropagation()}else{e.cancelBubble=true}},preventDefault:function(e){e=e||window.event;if(e.preventDefault){e.preventDefault()}else{e.returnValue=false}},getTarget:function(e){e=e||window.event;var targetElem=e.target||e.srcElement;return targetElem},getKey:function(e){e=e||window.event;var _keyCode=e.keyCode||e.which;return _keyCode},colorToRGB:function(str){var reg=/[^0-9a-f]/gi;var n1,n2,n3;var arr=new Array();str=str.replace("#","");if(str.match(reg)!=null){return}if(str.length=3){n1=parseInt(str.substring(0,1)+str.substring(0,1),16);n2=parseInt(str.substring(1,2)+str.substring(1,2),16);n3=parseInt(str.substring(2,3)+str.substring(2,3),16)}else if(str.length=6){n1=parseInt(str.substring(0,2),16);n2=parseInt(str.substring(2,4),16);n3=parseInt(str.substring(4,6),16)}arr.splice(0,0,n1,n2,n3);return arr},colorToNormal:function(str){var arr=[],s;var s1=parseInt(str.substring(str.indexOf("(")+1,str.indexOf(","))).toString(16),s2=parseInt(str.substring(str.indexOf(",")+1,str.lastIndexOf(","))).toString(16),s3=parseInt(str.substring(str.lastIndexOf(",")+1,str.length-1)).toString(16);s1=s1.length==2?s1:"0"+s1;s2=s2.length==2?s2:"0"+s2;s3=s3.length==2?s3:"0"+s3;arr.splice(0,0,"#",s1,s2,s3);s=arr.join("");return s}}})();
