var is=new BrowserCheck();if(typeof utility=='undefined')utility={};Object_weave_safe(utility,{math:{}});utility.math.intbgr2hexrgb=function(a){d2h=utility.math.dec2hex;pad=utility.math.zeroPad;return"#"+pad(d2h(a%256),2)+pad(d2h((a/256)%256),2)+pad(d2h((a/65536)%256),2);} utility.math.mozcolor2rgb=function(color){return color;} utility.math.dec2hex=function(x){return Number(parseInt(x)).toString(16);} utility.math.hex2dec=function(x){return parseInt(x,16);} utility.math.zeroPad=function(str,length){if(!str)str="";str=str.toString();while(str.length0){tm=sep+"Array["+obj.length+"]\n";}else{for(i in obj){if(i.toUpperCase()==i){continue;} if(!rx.test(i)){continue;} try{if(typeof obj[i]!='function'){tm+=sep+i+":{"+obj[i]+"}\n";}else{}}catch(err){tm+=sep+i+":ERROR{"+err.message+"}\n";}}} return tm;} if(typeof(obj)=="function")return sep+typeof(obj)+"\n";return sep+obj+"\n";} utility.debug.breakpoint=function(evalFunc,msg,initialExprStr){if(evalFunc==null) evalFunc=function(e){return eval(e)};if(msg==null) msg="";var result=initialExprStr||"1+2";while(true){var expr=prompt("BREAKPOINT: "+msg+"\nEnter an expression to evaluate, or Cancel to continue.",result);if(expr==null||expr=="") return;try{result=evalFunc(expr);}catch(e){result=e;}}} Object_weave_safe(utility,{string:{}});utility.string.htmlspecialchars=function(str){Array_each([['>','>'],['<','<'],['\xA0',' '],['"','"']],function(repl,idx){str=str.replace(new RegExp('['+repl[0]+']',"g"),repl[1]);});return str;} utility.string.getInnerText=function(str){if(typeof getInnerText_tmpDiv=='undefined'){getInnerText_tmpDiv=document.createElement('div');} var oldstr=str;try{getInnerText_tmpDiv.innerHTML=str;if(is.safari){str=getInnerText_tmpDiv.innerHTML;getInnerText_tmpDiv.innerHTML="";}else{str=getInnerText_tmpDiv.innerText;getInnerText_tmpDiv.innerHTML="";}}catch(e){return oldstr;} if(typeof str=='undefined'){return oldstr;} return str;} utility.string.sprintf=function(){if(!arguments||arguments.length<1||!RegExp){return;} var str=arguments[0];var oldstr=arguments[0];var re=/([^%]*)%('.|0|\x20)?(-)?(\d+)?(\.\d+)?(%|b|c|d|u|f|o|s|x|X)(.*)/;var a=b=[],numSubstitutions=0,numMatches=0;while(a=re.exec(str)){var leftpart=a[1],pPad=a[2],pJustify=a[3],pMinLength=a[4];var pPrecision=a[5],pType=a[6],rightPart=a[7];numMatches++;if(pType=='%'){subst='%';}else{numSubstitutions++;if(numSubstitutions>=arguments.length){return oldstr;} var param=arguments[numSubstitutions];var subst=param;if(pType=='c')subst=String.fromCharCode(parseInt(param));else if(pType=='d')subst=parseInt(param)?parseInt(param):0;else if(pType=='s')subst=param;} str=leftpart+subst+rightPart;} return str;} Object_weave_safe(utility,{dom:{}});utility.dom.setUnselectable=function(el){if(is.ie){for(var i=0;ich){delta.y=ch-(b-st);if(t+delta.ycw){delta.x=cw-(r-sl);if(l+delta.xbw+sw){x=bw+sw-w;} if(y+h>bh+sh){y=bh+sh-h;} if(x<0)x=0;if(y<0)y=0;return{x:x,y:y};} utility.dom.setCssProperty=function(elem,name,value){var d;if(!elem||!name||!value)return;d=this.getElem(elem);if(!d)return;d.style[name]=value;} utility.dom.getElem=function(elem){var d;if(typeof(elem)=="string"){d=document.getElementById(elem);}else{d=elem;} return d;} utility.dom.getClassNames=function(o){o=utility.dom.getElem(o);if(!o)return false;var className=typeof(o.className)=='undefined'?'':o.className;var cn=String_trim(String_normalize_space(className));if(cn==''){return[];} return cn.split(" ");} utility.dom.classNameAdd=function(obj,toadd){var cls=utility.dom.getClassNames(obj);if(typeof toadd=='string'){toadd=toadd.split(',');} Array_each(toadd,function(item,i){if(Array_indexOf(cls,item)==-1){Array_push(cls,item);}});cls=String_trim(cls.join(' '));var className=typeof(obj.className)=='undefined'?'':obj.className;if(String_trim(className)!=cls){obj.className=cls;}} utility.dom.classNameRemove=function(obj,toremove){var cls=utility.dom.getClassNames(obj);var result=[];if(typeof toremove=='string'){toremove=toremove.split(',');} Array_each(cls,function(item,i){if(Array_indexOf(toremove,item)==-1){Array_push(result,item);}});cls=String_trim(result.join(' '));var className=typeof(obj.className)=='undefined'?'':obj.className;if(String_trim(className)!=cls){obj.className=cls;}} utility.dom.insertAfter=function(newElement,targetElement){var sibling=targetElement.nextSibling var parent=targetElement.parentNode;if(sibling==null){var toret=parent.appendChild(newElement);}else{var toret=parent.insertBefore(newElement,sibling);} return toret;} utility.dom.getPreviousSiblingByTagName=function(t,siblingName,allowSameTag){if((t.nodeName.toLowerCase()==siblingName.toLowerCase())&&!allowSameTag){return t;} while(t.previousSibling&&t.previousSibling.nodeName.toLowerCase()!=siblingName.toLowerCase()){t=t.previousSibling;} if(t.previousSibling&&t.previousSibling.nodeName.toLowerCase()==siblingName.toLowerCase()){return t.previousSibling;}else{return null;}} utility.dom.getNextSiblingByTagName=function(t,siblingName,allowSameTag){if((t.nodeName.toLowerCase()==siblingName.toLowerCase())&&!allowSameTag){return t;} while(t.nextSibling&&t.nextSibling.nodeName.toLowerCase()!=siblingName.toLowerCase()){t=t.nextSibling;} if(t.nextSibling&&t.nextSibling.nodeName.toLowerCase()==siblingName.toLowerCase()){return t.nextSibling;}else{return null;}} utility.dom.getParentByTagName=function(t,parentName){if(t.nodeName.toLowerCase()==parentName.toLowerCase()){return t;} while(t.parentNode&&t.parentNode.nodeName.toLowerCase()!=parentName.toLowerCase()&&t.parentNode.nodeName!='BODY'){t=t.parentNode;} if(t.parentNode&&t.parentNode.nodeName.toLowerCase()==parentName.toLowerCase()){return t.parentNode;}else{return null;}} utility.dom.getElementsByTagName=function(o,sTagName){var el;if(typeof o=='undefined'){o=document;}else{o=utility.dom.getElem(o);} if(sTagName=='*'||typeof sTagName=='undefined'){el=utility.dom.getAllChildren(o);}else{el=o.getElementsByTagName(sTagName.toLowerCase());} return el;} utility.dom.getElementsByClassName=function(o,sClassName,sTagName){var elements=[];Array_each(utility.dom.getElementsByTagName(o,sTagName),function(elem,i){if(Array_indexOf(utility.dom.getClassNames(elem),sClassName)!=-1){Array_push(elements,elem);}});return elements;} utility.dom.getElementById=function(o,sId,sTagName){var elements=[];Array_each(utility.dom.getElementsByTagName(o,sTagName),function(elem,i){if(typeof elem.id!="undefined"&&elem.id!=null&&elem.id.toString()==sId){Array_push(elements,elem);}});return elements;} utility.dom.getElementsByProps=function(start,props_hash){var unfiltered,toret=[];if(typeof(start)=='undefined'){start=document;}else{start=utility.dom.getElem(o);} if(o.all){unfiltered=o.all;}else{unfiltered=o.getElementsByTagName('*');} Array_each(unfiltered,function(item){var cond=true;for(i in props_hash){try{var value=item[i];}catch(e){value=null;} cond=cond&&(value==props_hash[i]);} if(cond){Array_push(toret,item);}});return toret;} utility.dom.getChildrenByTagName=function(elem,tag){var result=[];var x;if(typeof(tag)=='undefined')tag='*';tag=tag.toLowerCase();if(!elem.childNodes)return result;for(var i=0;i-1){var bits=token.split('#');var tagName=bits[0];var id=bits[1];var element=document.getElementById(id);if(element&&tagName&&element.nodeName.toLowerCase()!=tagName){return[];} currentContext=new Array(element);continue;} if(token.indexOf('.')>-1){var bits=token.split('.');var tagName=bits[0];var className=bits[1];if(!tagName){tagName='*';} var found=new Array;var foundCount=0;for(var h=0;h-1);};break;default:checkFunction=function(e){return e.getAttribute(attrName);};} currentContext=new Array;var currentContextIndex=0;for(var k=0;k