function isString(s){return(typeof s=="string")}
function isArray(a){return(a instanceof Array)}
function isHash(a){return(a instanceof Hash)}
function isObject(o){return(typeof o=="object")}
function isNumber(n){return((typeof n=="number")&&(!isNaN(n)))}
function isFunction(f){return(typeof f=="function")}
function isBoolean(b){return(typeof b=="boolean")}
function isDefined(o){return((typeof o!="undefined")&&(o!=null))}
function isValidText(t){if(!isDefined(t)||!isString(t)||(t=="")||(t=="null")||(t=="undefined")||(t.toString().strip()=="")){return false}
return true}
function checkFunction(f){return(((isDefined(window[f]))&&isFunction(window[f]))||(isFunction(f)))}
function isGlobalVar(v){return((isDefined(window[v]))&&!isFunction(window[v]))}
function isNode(n){return(n&&n.nodeName!=null);}
var adlib={version:'0.5',constants:{},CSS:{}}
var XML=new Object();var fx=new Object();var widgets=new Object();var av=navigator.appVersion;var ua=navigator.userAgent.toLowerCase();var bis={ie:((isDefined(window.ActiveXObject))&&(av.indexOf('MSIE')!=-1)),opera:(ua.indexOf('opera')!=-1),konquerer:(navigator.vendor=='KDE'),gecko:((navigator.product=='Gecko')&&(av.indexOf('KHTML')!=-1)),webkit:(/WebKit/i.test(ua)?true:false),safari:(/WebKit/i.test(ua)&&/Safari/i.test(ua)),firefox:(ua.indexOf('firefox')!=-1),win:(av.indexOf('Windows')!=-1),mac:(av.indexOf('Macintosh')!=-1),smode:(((document.compatMode)&&(document.compatMode=="CSS1Compat"))||(this.safari)),v:0}
if(bis.ie){bis.v=parseFloat(av.substring(av.indexOf('MSIE')+4));}
else if(bis.firefox){bis.v=parseFloat(ua.substring(ua.indexOf('firefox')+8));}
else if(bis.opera){bis.v=parseFloat(ua.substring(ua.indexOf('opera')+6));}
else if(bis.safari){bis.v=parseFloat(ua.substring(ua.indexOf('safari')+7));}
av=void 0;ua=void 0;var _NL='\x0A';var _BR='<br>';var _SPACER='/assets/images/spacer.gif';var _Clearer='<div class="clearer"></div>';function _Empty(){}
adlib.CSS.trDisplayValue=(bis.ie?"block":"table-row");var Class={create:function(){var obj=function(){if(this.init){this.init.apply(this,arguments);}}
for(var x=0;x<arguments.length;x++){Class.inherits(obj.prototype,arguments[x]);}
return obj},inherits:function(target,source,owrite){var ovr=(isBoolean(owrite)?owrite:false);for(var x in source){if((ovr)||(!isDefined(target[x]))){target[x]=source[x];}}},method:function(target,name,funct,owrite){var ovr=(isBoolean(owrite)?owrite:true);if((ovr)||(!isDefined(target[name]))){target[name]=funct;}}}
Object.hasProperty=function(obj){var tmp=obj;for(var x=1;x<arguments.length;x++){if(arguments[x]in tmp){tmp=tmp[arguments[x]];}
else{return false;}}
return tmp;}
Object.getPropertyTo=function(obj){var tmp=obj;var last=false;for(var x=1;x<arguments.length;x++){if(arguments[x]in tmp){if(!last){last=new Array();}
last.push(arguments[x]);tmp=tmp[arguments[x]]}
else{break;}}
return last}
Object.find=function(obj,top){var path=((isDefined(arguments[2]))?arguments[2]:[]);for(var x in top){if(top[x]==obj){path.push(x);return path}
else{var tmp=arguments.callee(top[x],obj,path);if(tmp!=false){path=tmp;}
else{return path;}}}
return false;}
Object.ancestor=function(obj,top,depth){var path=Object.find(obj,top);var anc=false;if(path){anc=top;for(var x=0;x<path.length-depth;x++){anc=anc[path[x]];}}
return anc;}
Object.setChild=function(obj,path,value,type){var typ=(type?type:"Object");var obj2=obj;var str="obj";for(var x=0;x<path.length;x++){str+='[path['+x+']]';if(!isDefined(obj2[path[x]])){eval(str+'=new '+typ+'()');}}
eval(str+'=value');}
Object.deleteChild=function(obj,path){var c=path.pop();for(var x=0;x<path.length;x++){if(isDefined(obj[path[x]])){obj=obj[path[x]];}
else{return false}}
obj[c]=void 0;delete obj[c]
return true}
Object.select=function(obj){if(isDefined(obj)){for(var x=1;x<arguments.length;x++){if(isDefined(obj[arguments[x]])&&!isFunction(obj[arguments[x]])){return obj[arguments[x]]}}}
return null;}
Object.selectProperty=function(obj){if(isDefined(obj)){for(var x=1;x<arguments.length;x++){if(isDefined(obj[arguments[x]])){return arguments[x]}}}
return null;}
function $test(obj){if(!isDefined(obj)){throw new Error("Object does not exist");return false}
return true}
Class.inherits(String.prototype,{strip:function(){var rge=/^(\s*)/;var rge2=/(\s*)$/;val=this.replace(rge,"").replace(rge2,"");return val},normalizeWhitespace:function(){var str=this.replace(/\t/g,' ').strip();return str.replace(/\s{2,}/g,' ');},addParam:function(param,pval){var val=this.valueOf();var pOut=param;if(isDefined(pval)){pOut+='='+encodeURIComponent(pval);}
if(pOut!=''){if(val.indexOf('?')>-1){val+='&'+pOut;}else{val+='?'+pOut;}}
return val;},getParam:function(parameterName){var _this=this.toString();if(_this.indexOf('?')==-1){return null}
var lqry=_this.substring(_this.indexOf('?')+1);var params=lqry.split("&");for(var x=0;x<params.length;x++){if(parameterName==params[x].split("=")[0]){return decodeURIComponent(params[x].split("=")[1]);}}
return null},template:function(obj,leftDelimeter,rightDelimeter){var lDel=((leftDelimeter!=null)?leftDelimeter:'<=');var rDel=((rightDelimeter!=null)?rightDelimeter:'=>');var rge=new RegExp("("+lDel+"\\s*)([\\w-]*)(\\s*"+rDel+")",'g');var val=this.valueOf();while(tmp=rge.exec(val)){var spot=rge.lastIndex;var tmp2=tmp[0].replace(rge,"$2");if(!(/\D/.test(tmp2))){tmp2=parseInt(tmp2);}
if(isDefined(obj[tmp2])){val=val.replace(tmp[0],obj[tmp2]);rge.lastIndex=0;}
else{rge.lastIndex=spot;}}
rge.lastIndex=0;return val},contains:function(str,exact){if(exact){var expr=new RegExp('(^|\\s)('+str+')(\\s|$)','g');return this.match(expr);}
return(this.indexOf(str)!=-1)},startsWith:function(str){return(this.indexOf(str)==0)},endsWith:function(str){return(this.indexOf(str)+str.length==this.length)},camelize:function(){var styleName=this;var rg=/([a-zA-Z]+)(-([a-zA-Z]{1})([a-zA-Z]*))/i;while(res=styleName.match(rg)){var c=res[3].toUpperCase();styleName=styleName.replace(rg,'$1'+c+'$4');}
return styleName;},multiSplit:function(dels){if(isString(dels)){dels=[dels];}
var str=this.valueOf();var cnt=0;var values=new Hash();var del1=dels.shift();var del2=null;if(dels.length>0){del2=dels.shift();}
var tmp=str.split(del1);if(tmp.length==1){if(del2==null){return str;}
else{var tmp2=str.split(del2);if(tmp2.length==1){return str;}
else{values[tmp2[0].strip()]=tmp2[1];}}}
else if(del2){tmp.forEach(function(val,key){if(isValidText(val)){var tmp2=val.split(del2);if(tmp2.length==1){values[val.strip()]='';}
else if(dels.length==0){values[tmp2[0].strip()]=tmp2[1];}
else{values[tmp2[0].strip()]=tmp2[1].strip().multiSplit(dels.clone());}}});}
else{values.fill(tmp);}
return values;},pad:function(count,side,ch){var chr=ch||' ';var sides=side||'b';var out='';for(var x=0;x<count;x++){out+=chr;}
switch(sides){case'l':out+=this;break;case'r':out=this+out;break;case'b':out+=this+out;}
return out;},toArray:function(){return this.split('');}});Class.inherits(String.prototype,{toHash:String.prototype.multiSplit})
var Iterator={each:function(funct){this.reset();this.count();this.iteration.f=funct;return this.again();},_each:function(funct){this.reset();this.iteration.f=funct;this.iteration.start=this.count()-1;this.iteration.step=this.count()-1;this.iteration.dir=false;return this.again();},next:function(){var st=this.iteration.step;this.iteration.dir?st++:st--;if(st<0||st>=this.count()){this.clearIteration();return null}
this.iteration.step=st;return this.again();},previous:function(){var st=this.iteration.step;this.iteration.dir?st--:st++;if(st<0||st>=this.count()){this.clearIteration();return null}
this.iteration.step=st;return this.again();},again:function(){var k=this.iteration.items[this.iteration.step];return this.iteration.f(this[k],k);},count:function(){if(!this.iteration){this.reset()}
if(this.iteration.items.length==0){this.iteration.items=this.items();}
return this.iteration.items.length;},reset:function(){this.iteration={items:[],step:0,start:0,dir:true,f:null};},clearIteration:function(){this.iteration=void 0;delete this.iteration},items:function(){if(!this.iteration){this.reset()}
var a=[]
this.iteration.items.clear();for(var x in this){if(!this.noEnum(x)){a.push(x);}}
this.iteration.items=a;return a},noEnum:function(x,noProto){if(((this[x]==Iterator[x])||((this.iteration)&&(this[x]==this.iteration)))||((this instanceof Hash)&&(this[x]==Hash.prototype[x]))||((this instanceof Array)&&(this[x]==Array.prototype[x]))||((noProto)&&((this[x]==this.prototype[x])||(isFunction(this[x]))))){return true;}
return false;}}
Class.inherits(Iterator,{step:Iterator.next,stepback:Iterator.previous,repeat:Iterator.again});if(!Array.prototype.filter){Class.inherits(Array.prototype,{forEach:function(funct,obj){var ln=this.length;for(var key=0;key<ln;key++){if(this[key]){if(obj){funct.apply(obj,[this[key],key,this])}
else{funct(this[key],key,this);}}}},every:function(funct,obj){var rt;for(var key=0;key<this.length;key++){var value=this[key];if(obj){rt=funct.apply(obj,[value,key,this])}
else{rt=funct(value,key,this);}
if(!rt){return false}}
return true},filter:function(funct,obj){var ret=[];var rt;for(var key=0;key<this.length;key++){var value=this[key];if(obj){rt=funct.apply(obj,[value,key,this])}
else{rt=funct(value,key,this);}
if(rt){ret.push(value)}}
return ret},map:function(funct,obj){var ret=[];for(var key=0;key<this.length;key++){var value=this[key];if(obj){ret.push(funct.apply(obj,[value,key,this]))}
else{ret.push(funct(value,key,this));}}
return ret},some:function(funct,obj){var rt=false;for(var key=0;key<this.length;key++){var value=this[key];if(obj){rt=funct.apply(obj,[value,key,this])}
else{rt=funct(value,key,this);}
if(rt){return true}}
return false},indexOf:function(elem,fromIndex){var f=fromIndex||0;if(Math.abs(f)>this.length){return-1}
if(f<0){f=this.length+f};for(var x=f;x<this.length;x++){if(this[x]===elem){return x}}
return-1},lastIndexOf:function(elem,fromIndex){var f=fromIndex||this.length;if(Math.abs(f)>this.length){return-1}
if(f<0){f=this.length+f};for(var x=f;x>=0;x--){if(this[x]===elem){return x}}
return-1}});}
Class.inherits(Array.prototype,{filterKeys:function(funct,obj){var ret=[];var rt;for(var key=0;key<this.length;key++){var value=this[key];if(obj){rt=funct.apply(obj,[value,key,this])}
else{rt=funct(value,key,this);}
if(rt){ret.push(key)}}
return ret},contains:function(val){for(var x in this){if(this.noEnum(x)){continue}
if(this[x]==val){return x;}}
return false;},grep:function(pat){for(var x in this){if(this.noEnum(x)){continue}
if(((pat instanceof RegExp)&&(pat.test(this[x])))||((pat instanceof String)&&(this[x].contains(pat)))||((isFunction(pat))&&(pat(this[x],x)))){return x}}
return null},grepAll:function(pat){var ret=[];for(var x in this){if(this.noEnum(x)){continue}
if(((pat instanceof RegExp)&&(pat.test(this[x])))||((pat instanceof String)&&(this[x].contains(pat)))||((isFunction(pat))&&(pat(this[x],x)))){ret.push(x)}}
return(ret.length>0)?ret:null;},fill:function(val,count){var f=isFunction(val);for(var x=0;x<count;x++){this[x]=(f?val(x):val);}},insert:function(loc,val){var st=this.splice(0,loc);st=st.concat(val);st=st.concat(this);this.clear();for(var x in st){if(st.noEnum(x)){continue}
this.push(st[x]);}},normalize:function(){var tmp=[];for(var x in this){if(this.noEnum(x)){continue}
if(this[x]!=Array.prototype[x]){tmp.push(this[x])}}
this.clear();for(var x=0;x<tmp.length;x++){this[x]=tmp[x];}},objectFromPath:function(top){var obj=top;for(var x=0;x<this.length;x++){obj=obj[this[x]];}
return obj;},clear:function(){this.length=0},exec:function(f){for(var x in this){if(this.noEnum(x)){continue}
this[x]=f(this[x],x);}},removeDuplicates:function(){var tmp=new Array();var _t=new Array();this.forEach(function(v,k){_t[k]=v});var m=null;var c=0;var y=0;var k=_t.items();while(m=_t.shift()){y=0;this.forEach(function(val,key){if(y>c){if(val==m){if(isDefined(tmp[k[y]])&&(tmp[k[y]]==true)){return}
tmp[k[y]]=true;}}
y++;});c++;}
_t=this;tmp.forEach(function(v,k){if(v==true){delete _t[k];}});this.normalize();},clone:function(){var a=new Array();a=a.concat(this);return a;},cut:Array.prototype.splice,select:Array.prototype.filter});Class.inherits(Array.prototype,Iterator,false);var Hash=Class.create();Class.inherits(Hash.prototype,{forEach:function(funct,obj){for(var key in this){var value=this[key];if(!this.noEnum(key)){if(obj){funct.apply(obj,[value,key,this])}
else{funct(value,key,this);}}}},map:function(funct){var ret=[];var vl=this.each(funct);while(vl!=null){ret.push(vl)
vl=this.next();}
return ret},every:function(funct){var rt=this.each(funct);while(rt){rt=this.next();}
return(rt==null?true:false);},filter:function(funct){var ret=[];var rt=this.each(funct);while(rt!=null){if(rt){ret.push(this[this.iteration.items[this.iteration.step]])}
rt=this.next();}
return ret},some:function(funct){var rt=this.each(funct);while(rt!=null){if(rt){return true}
rt=this.next();}
return false},indexOf:function(elem){for(var x in this){if(this.noEnum(x)){continue}
if(this[x]==elem){return x}}
return null},filterKeys:function(funct){var ret=[];var rt=this.each(funct);while(rt!=null){if(rt){ret.push(this.iteration.items[this.iteration.step])}
rt=this.next();}
return ret},cut:function(){var o=new Hash();for(var x=0;x<arguments.length;x++){o[arguments[x]]=this[arguments[x]];delete this[arguments[x]];}
return o;},paste:function(obj){for(var x in obj){this[x]=obj[x];}},copy:function(){var obj={};var itm=(arguments.length>0?arguments:this.items());for(var x=0;x<itm.length;x++){obj[itm[x]]=this[itm[x]];}
return obj},toArray:function(){return this.map(function(value){return value})},fromString:function(str,del1,del2){this.clear();this.paste(str.toHash(del1,del2));},toQuery:function(removeQ){var str='';str=this.forEach(function(value,key){str=str.addParam(key,value)});if(removeQ){str=str.substring(1)};return str},fromQuery:function(str){this.clear();if(str.CharAt(0)=='?'){str=str.substring(1)}
this.paste(str.toHash('&','='))},run:function(funct){this.forEach(funct,this)},grep:function(pat){for(var x in this){if(this.noEnum(x)){continue}
if(((pat instanceof RegExp)&&(pat.test(this[x])))||((pat instanceof String)&&(this[x].contains(pat)))||((isFunction(pat))&&(pat(this[x],x)))){return x}}
return null},grepAll:function(pat){var ret=[];for(var x in this){if(this.noEnum(x)){continue}
if(((pat instanceof RegExp)&&(pat.test(this[x])))||((pat instanceof String)&&(this[x].contains(pat)))||((isFunction(pat))&&(pat(this[x],x)))){ret.push(x)}}
return(ret.length>0)?ret:null;},fill:function(val){if(arguments.length==1){if(isArray(arguments[0])){arguments[0].forEach(function(value){this[value]=''},this);}
else{for(var x in arguments[0]){this[x]=arguments[0][x]}}}
if(arguments.length==2){arguments[1].forEach(function(value){this[value]=val},this);}
else{for(var x=1;x<arguments.length;x++){this[arguments[x]]=val;}}},clear:function(){this.forEach(function(value,key){this[key]=void 0;delete this[key];},this);},pasteArray:function(keys,vals){var _t=this;keys.forEach(function(value,key){_t[value]=vals[key]})},hasKey:function(key){return this.some(function(v,k){return k==key})},diff:function(obj){return this.some(function(v,k){return obj[k]!=val;});}});Class.method(Hash.prototype,"toString",function(dels){var d=dels||[];var tmp='';var d1=',';var d2='=';if(d.length>0){d1=dels.shift();if(d.length>0){d2=dels.shift();}}
this.forEach(function(value,key){if(tmp.length>0){tmp+=d1;}
tmp+=key+d2+(isHash(value)?value.toString(d.clone()):(isArray(value)?value.join(d1):value));});return tmp;});Class.inherits(Hash.prototype,Iterator,false);Class.inherits(Hash.prototype,{insert:Hash.prototype.paste,concat:Hash.prototype.paste,append:Hash.prototype.paste,clone:Hash.prototype.copy,findAll:Hash.prototype.filter,find:Hash.prototype.indexOf,merge:Hash.prototype.toString,contains:Array.prototype.contains,keys:Iterator.items,values:Hash.prototype.toArray,select:Hash.prototype.filter,join:Hash.prototype.toString,init:Hash.prototype.fill});Class.inherits(Number.prototype,{toHex:function(precision){var p=precision||null
var rt=this.toString(16);if(p&&(rt.length<p)){rt=rt.pad(arguments[0]-rt.length,'l','0');}
return rt}});var DOMMethods=Class.create();DOMMethods.isDescendantOf=function(child,parent){child=$(child);parent=$(parent);if((parent==document)||(parent==window)){return true}
if((child==document)||(child==window)){return false}
var pt=child.parentNode;while(pt!=document){if(pt==parent){return true}
pt=pt.parentNode;}
return false}
DOMMethods.search={};adlib.constants.useXPath=false;adlib.CSS.tokenStrings=new Hash();adlib.CSS.tokenStrings.fill({'class':"\\*?((\\.)([a-zA-Z][\\w-]*))",'id':"\\*?((\\#)([a-zA-Z][\\w-]*))",'attribute':'\\*?(\\[)([a-zA-Z][\\w-]+)(\\s*([\\^\\$\\*~\\|])?=\\s*([\'"])?([^\\5\\]]+)\\5\\s*)?\\]','tag':"([a-zA-Z][\\w-]*)",'child':"\\s*(>)\\s*",'sibling':"\\s*(\\+)\\s*",'space':"\\s+"});adlib.CSS.tokens=new Hash();adlib.CSS.tokenStrings.forEach(function(v,k){adlib.CSS.tokens[k]=new RegExp("^"+v);});Class.inherits(DOMMethods.search,{$t:function(){var _t=this;if(_t.nodeName==undefined||_t==window){_t=document}
var q=[];if(arguments.length>1){var str="";var ar=[]
for(var x=0;x<arguments.length;x++){ar.push(arguments[x]);}
if(adlib.constants.useXPath&&XML.getXPathEnabled&&XML.getXPathEnabled(_t)){return XML.XPath.fromCSS(ar.join(';'),true,_t);}
else{var z=_t.getElementsByTagName('*');Class.inherits(z,{select:Array.prototype.filter});q=z.select(function(val){for(var x=0;x<ar.length;x++){if(val.nodeName.toLowerCase()==ar[x].toLowerCase()){return true;}}
return false;});if(typeof Element=="undefined"){q.exec(function(val){Class.inherits(val,DOMMethods.search);return val});}}}
else{var z=_t.getElementsByTagName(arguments[0]);Class.inherits(z,{map:Array.prototype.map});q=z.map(function(val){return $(val)});}
return q},$css:function(cssStr){if(!isValidText(cssStr)){return[]}
var _t=this;if(_t.nodeName==undefined||_t==window){_t=document}
var groups=cssStr.split(';');function doAttribute(ct,attName,attValue,attModifier){var att=ct.getAttribute(attName);if(att){if(!isValidText(attValue)){return true;}
if(!isValidText(attModifier)&&(att==attValue)){return true}
switch(attModifier){case'|':return(att.startsWith(attValue+'-'));break;case'~':return(att.contains(attValue+'-'));break;case'^':return(att.startsWith(attValue));break;case'$':return(att.endsWith(attValue));break;case'*':return(att.contains(attValue));break;}}
return false}
var allnodes=groups.map(function(cssString){var currentNodes=[_t];cssString=cssString.strip();var grp=[]
var count=0;grp[0]=new Hash();function resetTokens(){adlib.CSS.tokens.forEach(function(val){val.lastIndex=0;});}
var matched=true;var targ=grp[0];while(matched){matched=adlib.CSS.tokens.some(function(val,key){var mtch=val.exec(cssString);if(mtch){cssString=cssString.substring(mtch[0].length);if(key=="space"){count++;grp[count]=new Hash();targ=grp[count];}
else if(key=="sibling"){targ["sibling"]=new Hash();targ=targ["sibling"];}
else if(key=="child"){targ["child"]=new Hash();targ=targ["child"];}
else{targ[key]=mtch;}
resetTokens();return true;}
return false;});}
var tmpNodes=grp.each(function(value){var ndList=[];function doGroup(val,nList){if(val["id"]){var add=true;var nd=$(val["id"][3]);if(nd==null){ndList=[];return;}
if(isDefined(nList)){var tList=nList.filter(function(v){return(v==nd)});if(tList.length==0){ndList=[];return;}}
if(((val["class"])&&(!hasClass(nd,val["class"][3])))||((val["attribute"])&&(!doAttribute(nd,val["attribute"][2],val["attribute"][6],val["attribute"][4])))||((val["tag"])&&(nd.nodeName.toLowerCase()!=val["tag"][1].toLowerCase()))){ndList=[];return;}
if(!nList){var tmpList=(ndList.length>0)?ndList:currentNodes;if(tmpList.some(function(v){return DOMMethods.isDescendantOf(nd,v)})){ndList=[nd];}}
else{ndList=[nd];}}
else{if(val["tag"]){if(nList!=null){ndList=nList.filter(function(v){return(v.nodeName.toLowerCase()==val["tag"][1].toLowerCase())});}
else{currentNodes.forEach(function(v){ndList=ndList.concat(v.$t(val["tag"][1]));});}
if(ndList.length==0){return;}}
if(val["class"]){if(ndList.length>0){ndList=ndList.filter(function(v){return hasClass(v,val["class"][3]);});}
else{currentNodes.forEach(function(v){ndList=ndList.concat(v.$c(val["class"][3]));});}
if(ndList.length==0){return;}}
if(val["attribute"]){if(ndList.length>0){ndList=ndList.filter(function(v){return doAttribute(v,val["attribute"][2],val["attribute"][6],val["attribute"][4]);});}
else{var mod=(isDefined(val["attribute"][4]))?val["attribute"][4]:"";currentNodes.forEach(function(v){ndList=ndList.concat(v.$a(val["attribute"][2],mod+val["attribute"][2]));});}
if(ndList.length==0){return;}}}
if(val["child"]){var subNodes=[];for(var x=0;x<ndList.length;x++){for(var y=0;y<ndList[x].childNodes.length;y++){if(ndList[x].childNodes[y].nodeType==1){subNodes.push($(ndList[x].childNodes[y]));}}}
if(subNodes.length>0){doGroup(val["child"],subNodes);}
else{ndList=[];}}
if(val["sibling"]){var subNodes=[];for(var x=0;x<ndList.length;x++){var sib=ndList[x].nextSibling;while(sib!=null){if(sib.nodeType==1){subNodes.push($(sib));}
sib=sib.nextSibling;}}
if(subNodes.length>0){doGroup(val["sibling"],subNodes);}
else{ndList=[];}}}
doGroup(value);return ndList;});while(tmpNodes){currentNodes=tmpNodes;tmpNodes=grp.next();}
return currentNodes;});var tmp=[];return tmp.concat.apply(tmp,allnodes);},$c:function(classname){var _t=this;if(_t.nodeName==undefined||_t==window){_t=document}
var str="";if(adlib.constants.useXPath&&XML.getXPathEnabled&&XML.getXPathEnabled(_t)){if(arguments.length>1){for(var x=1;x<arguments.length;x++){str+=arguments[x]+"."+classname+"; ";}}
else{str="."+classname;}
return XML.XPath.fromCSS(str,true,_t);}
else{var tags=[];if(arguments.length>1){for(var x=1;x<arguments.length;x++){tags.push(arguments[x]);}}
else{tags.push('*');}
var nodes=this.$t.apply(this,tags);var as=nodes.select(function(val){if(hasClass(val,classname)){return true}
return false});if(typeof Element=="undefined"){as.exec(function(val){Class.inherits(val,DOMMethods.search);return val});}
return as}},$a:function(attribute,value){var _t=this;if(_t.nodeName==undefined||_t==window){_t=document}
if(adlib.constants.useXPath&&XML.getXPathEnabled&&XML.getXPathEnabled(_t)){var str="";var v='';if(isValidText(value)){var del='=';if(value.charAt(0).match(/[~\|]/)){del=value.charAt(0)+del;value=value.substring(1);v+=del+value;}}
if(arguments.length>2){for(var x=2;x<arguments.length;x++){str+=arguments[x]+'['+attribute+v+'];';}}
else{str='*['+attribute+v+']';}
return XML.XPath.fromCSS(str,true,_t);}
else{var tags=[];if(arguments.length>2){for(var x=2;x<arguments.length;x++){tags.push(arguments[x]);}}
else{tags.push('*');}
var nodes=this.$t.apply(this,tags);var as=nodes.select(function(val){var a=val.getAttribute(attribute);if(a){if(isValidText(value)){if(value.charAt(0).match(/[~\|]/)){var val=value.substring(1);var del=value.charAt(0);switch(del){case'|':val=val+'-';return a.startsWith(val);break;case'~':return a.contains(val,true);break;}}
else if(a.toString().toLowerCase()==value.toString().toLowerCase()){return true;}}
else{return true}}
return false;});if(typeof Element=="undefined"){as.exec(function(val){Class.inherits(val,DOMMethods.search);return val});}
return as}},$anc:function(){var obj=null;if(isNumber(arguments[0])){obj=this;for(var x=0;x<arguments[0];x++){if(obj==document){return obj}
obj=obj.parentNode;}}
else if(isString(arguments[0])){var ntype=arguments[0].toLowerCase();var cnt=0;var ncnt=1;if(arguments[1]&&arguments[1].count){ncnt=arguments[1].count;}
obj=this.parentNode;while(true){if(obj.nodeName.toLowerCase()==ntype){var fnd=true;if(arguments[1]){fnd=(arguments[1].className)?hasClass(obj,arguments[1].className):true;fnd=(arguments[1].id)?(fnd&&(obj.id==arguments[1].id)):fnd;if(fnd){cnt++}
if(fnd&&(cnt==ncnt)){break;}}
else{break;}}
if(obj==document){obj=null;break;}
obj=obj.parentNode;}}
return obj;}});function $e(etype,atrs){var obj=document.createElement(etype);for(var x in atrs){if((atrs.noEnum)&&(atrs.noEnum(x))){continue}
if(atrs[x]=="style"){applyStyle(obj,atrs[x])}
else{obj.setAttribute(x,atrs[x]);}}
if(typeof Element=="undefined"){Class.inherits(obj,DOMMethods.search);}
return obj}
function $(){var ret=[];var targs=[];targs=targs.concat.apply(targs,arguments);for(var x=0;x<targs.length;x++){if(isString(targs[x])){ret.push(document.getElementById(targs[x]));}
else if((isNode(targs[x]))||(targs[x]==window)||(targs[x]==document)){ret.push(targs[x]);}
else{ret.push(null);}}
for(var x=0;x<ret.length;x++){if(ret[x]&&(typeof ret[x].$css=="undefined")){Class.inherits(ret[x],DOMMethods.search);}}
return(ret.length==1)?ret[0]:ret;}
Class.inherits(window,DOMMethods.search);if(typeof Element!="undefined"){Class.inherits(Element.prototype,DOMMethods.search);}
else{Class.inherits(document,DOMMethods.search);}
var Logs=new Object();Class.inherits(Logs,{init:function(){this.types=new Hash();this.stylesheet=null;},addLogType:function(typeName,status,pop,headers){this.types[typeName]=new LogType(status,pop,headers);},enableLogType:function(typeName){if(isDefined(this.types[typeName])){this.types[typeName].active=true;}},enableAllLogs:function(){this.types.forEach(function(val){val.active=true;});},disableLogType:function(typeName){if(isDefined(this.types[typeName])){this.types[typeName].active=false;}},disableAllLogs:function(){this.types.forEach(function(val){val.active=false;});},addLog:function(logType,logItem){if(isDefined(this.types[logType])){if(this.types[logType].active){logItem.push((new Date).getTime());this.types[logType].items.push(logItem);}
if(this.types[logType].alerts){var msg='';logItem.forEach(function(itm,cnt,tpe){msg+=this[cnt]+': '+itm+_NL;},this.types[logType].properties);alert(logType+_NL+msg);}}},enableAlert:function(typeName){if(isDefined(this.types[typeName])){this.types[typeName].alerts=true;}},enableAllAlerts:function(){this.types.forEach(function(val){val.alerts=true;});},disableAlert:function(typeName){if(isDefined(this.types[typeName])){this.types[typeName].alerts=false;}},disableAllAlerts:function(){this.types.forEach(function(val){val.alerts=false;});},clearLogs:function(typeName){if(isDefined(this.types[typeName])){this.types[typeName].items.clear();}},clearAllLogs:function(){this.types.forEach(function(v,k){v.items.clear()})},setStyleSheet:function(url){this.stylesheet=url},getStyleSheet:function(){return((this.stylesheet)?'<link rel="stylesheet" href="'+this.stylesheet+'" type="text/css" />':'');},getLogs:function(typeName){var outp=''
if(this.types[typeName].active){outp+='<h1>'+typeName+'</h1>'+_NL+'<table cellpadding="5" cellspacing="0" border="1">'+_NL;outp+='<tr>'+_NL;var odd=true;this.types[typeName].properties.forEach(function(val,key){outp+='<th class="'+(odd?'odd':'even')+'TH">'+val+'</th>'+_NL;odd=!odd;});outp+='<th class="'+(odd?'odd':'even')+'TH">Time Difference (in ms)</th>'+_NL;outp+='</tr>'+_NL;odd=true;var lastVal=0;var tDif=0;this.types[typeName].items.forEach(function(val,key){outp+='<tr class="'+(odd?'odd':'even')+'TR">'+_NL;odd=!odd;var odd2=true;val.forEach(function(v,k){outp+='<td class="'+(odd2?'odd':'even')+'TD">'+v+'</td>'+_NL;odd2=!odd2;});tDif=(key==0)?0:(val[val.length-1]-lastVal);lastVal=val[val.length-1];outp+='<td class="'+(odd2?'odd':'even')+'TD">'+tDif+'</td>'+_NL;outp+='</tr>'+_NL;});if(this.types[typeName].items.length>0){outp+='<tr>'+_NL;outp+='<td colspan="'+(this.types[typeName].items[0].length+1)+'" class="total"><span>Total Time:</span> '+(this.types[typeName].items[this.types[typeName].items.length-1][this.types[typeName].items[0].length-1]-this.types[typeName].items[0][this.types[typeName].items[0].length-1])+'</td>'+_NL;outp+='</tr>'+_NL;}
outp+='</table>'+_NL;}
return outp;},getAllLogs:function(){var ctId='logContainer-';var scpt="<scr"+"ipt>"+_NL;scpt+="function setLogSelection(t){"+_NL;scpt+="  var sel=document.logView.selection;"+_NL;scpt+="  var val=sel.options[sel.selectedIndex].value;"+_NL;scpt+="  var hd=document.getElementById('logView-Current');"+_NL;scpt+="  if(val!='null'){document.getElementById(val).style.display='block';}"+_NL;scpt+="  if(hd.value!='null'){document.getElementById(hd.value).style.display='none';}"+_NL;scpt+="  hd.value=val;"+_NL;scpt+=" }</sc"+"ript>"+_NL;var cont='';var fm='<form name="logView">'+_NL;var selection='<select name="selection" onchange="setLogSelection(this)"><option value="null" selected="selected"></option>'+_NL;var tr='<input type="hidden" name="logView-Current" id="logView-Current" value="null" />';this.types.forEach(function(v,k){if(this.types[k].active){selection+='<option value="'+ctId+k+'">'+k+'</option>'+_NL;cont+='<div id="'+ctId+k+'" style="display:none">'+this.getLogs(k)+'</div>'+_NL;}},this);cont=scpt+fm+tr+selection+'</select></form>'+cont;return cont},showLogs:function(typeName){var cont=this.getStyleSheet()+(isValidText(typeName)?this.getLogs(typeName):this.getAllLogs());var w=window.open('://','logConsole','width=400,height=400,resizable,scrollbars,status,top=0,left=0');function setLogContent(){if(w.document){var d=w.document;d.open();d.write(cont);d.close();}
else{setTimeout(arguments.callee,10);}};setLogContent();}});var LogType=Class.create();LogType.prototype={init:function(active,pop,titles){this.active=active;this.alerts=pop;this.properties=titles;this.properties.push('Timestamp');this.items=[];}}
Logs.init();function Log(lType,parms){Logs.addLog(lType,parms);}
Logs.addLogType('Timeline',false,false,['Section','Operation']);Logs.addLogType('dhtml_error',false,false,['Error','Message','Function']);function setStyle(name,styleName,val,funct){var obj=$(name);if(!isArray(obj)){obj=[obj];}
var f=funct||'setStyle';try{styleName=styleName.camelize();if(styleName=="opacity"){setOpacity(obj,val);}
else{obj.forEach(function(v){v.style[styleName]=val;});}}
catch(e){Log('dhtml_error',[e,"Object Name = "+name,f]);}};function applyStyle(name,sText){var stls=(isHash(sText))?sText:sText.toHash([';',':']);stls.forEach(function(val,key){setStyle(name,key,val,'applyStyle');});};function setOpacity(name,val){var obj=$(name);if(!isArray(obj)){obj=[obj];}
try{val=parseFloat(val);function doIEOpacity(targ){if(val<=1){val*=100;}
var tmp="DXImageTransform.Microsoft.Alpha";if(targ.filters[tmp]!=null){targ.filters.item(tmp).opacity=val;}
else{targ.style.filter+="progid:"+tmp+"(opacity="+val+")";}}
function doOpacity(targ){var stl=Object.selectProperty(targ.style,"opacity","MozOpacity","KhtmlOpacity")||'opacity';if(val>1){val/=100;}
targ.style[stl]=val;}
var opFunct=(isDefined(obj[0].filters)?doIEOpacity:doOpacity);obj.forEach(opFunct);}
catch(e){Log('dhtml_error',[e,"Object Name = "+name,"setOpacity"]);}};function setColor(name,val){setStyle(name,'color',val,'setColor')};function setDisplay(name,val){setStyle(name,'display',val,'setDisplay')};function setBGColor(name,val){setStyle(name,'backgroundColor',val,'setBGColor')};function setBGImage(name,val){setStyle(name,'backgroundImage','url('+val+')','setBGImage')};function setWidth(name,val){setStyle(name,'width',val+((val.toString().indexOf('%')==-1)?'px':''),'setWidth')};function setHeight(name,val){setStyle(name,'height',val+((val.toString().indexOf('%')==-1)?'px':''),'setHeight')};function moveObjTo(name,x,y){setStyle(name,'left',x+'px','moveObjTo: left');setStyle(name,'top',y+'px','moveObjTo: top')};function setCursor(name,val){setStyle(name,'cursor',val,'setCursor')};function setClip(name,tp,rt,bm,lt){setStyle(name,'clip',"rect("+tp+"px, "+rt+"px, "+bm+"px, "+lt+"px)",'setClip')};function setZIndex(name,val){setStyle(name,'zIndex',val,'setZIndex')};function show(name){setStyle(name,'visibility','visible','show')};function hide(name){setStyle(name,'visibility','hidden','hide')};function getStyle(name,styleName,def,funct){var obj=$(name);if(!isArray(obj)){obj=[obj];}
var f=funct||'getStyle';try{styleName=styleName.camelize();var tmp=def;var ret=[];if(styleName=="opacity"){ret=getOpacity(obj);}
else if(styleName=="width"){ret=getWidth(obj);}
else if(styleName=="height"){ret=getHeight(obj);}
else{ret=obj.map(function(value){if(document.defaultView&&document.defaultView.getComputedStyle(value,null)&&document.defaultView.getComputedStyle(value,null)[styleName]){return document.defaultView.getComputedStyle(value,null)[styleName];}
else if(value.currentStyle&&value.currentStyle[styleName]){return value.currentStyle[styleName];}
else if(value.style[styleName]){return value.style[styleName];}});}
return(typeof ret=="array"&&ret.length==1)?ret[0]:ret;}
catch(e){Log('dhtml_error',[e,"Object Name = "+name,f]);}
return null;};function getDisplay(name){return getStyle(name,'display','none','getDisplay');};function getStyleText(name){return getStyle(name,'cssText','','getStyleText')};function getColor(name){return getStyle(name,'color','','getColor')};function getBGColor(name){return getStyle(name,'backgroundColor','','getBGColor')};function getOpacity(name){var obj=$(name);if(!isArray(obj)){obj=[obj];}
var ret=[];try{function getFilter(targ){if(targ.filters["DXImageTransform.Microsoft.Alpha"]!=null){return targ.filters["DXImageTransform.Microsoft.Alpha"].opacity;}
return 100;}
function getOpac(targ){var val=100;var stl=Object.selectProperty(targ.style,"opacity","MozOpacity","KhtmlOpacity")||'opacity';var tmp=parseFloat(targ.style[stl]);if(isNumber(tmp)){val=tmp*100;}
return val}
var rOp=(isDefined(obj[0].filters)?getFilter:getOpac);ret=obj.map(rOp);}
catch(e){Log('dhtml_error',[e,"Object Name = "+name,'getOpacity']);}
return(ret.length==1)?ret[0]:ret;};function getWidth(name){return getDim(name,'w',false);};function getHeight(name){return getDim(name,'h',false);};function getFullWidth(name){return getDim(name,'w',true)};function getFullHeight(name){return getDim(name,'h',true)};function getDim(name,wh,fDim){var dim=((wh=="w")?"Width":"Height");var dirs=((wh=="w")?["Left","Right"]:["Top","Bottom"]);var obj=$(name);if(!isArray(obj)){obj=[obj];}
try{var ret=obj.map(function(value){var resetDisplay=false;if(getDisplay(value)=='none'){toggle(value);resetDisplay=true;}
if(fDim){var r=value["offset"+dim];if(resetDisplay){toggle(value)}
return r;}
else{var bl=parseInt(getStyle(value,"border"+dirs[0]+"Width","get"+dim));var br=parseInt(getStyle(value,"border"+dirs[1]+"Width","get"+dim));var pl=parseInt(getStyle(value,"padding"+dirs[0],"get"+dim));var pr=parseInt(getStyle(value,"padding"+dirs[1],"get"+dim));bl=(isNaN(bl)?0:bl);br=(isNaN(br)?0:br);pl=(isNaN(pl)?0:pl);pr=(isNaN(pr)?0:pr);var r=value["offset"+dim]-bl-br-pl-pr;if(resetDisplay){toggle(value)}
return r;}});return(ret.length==1)?ret[0]:ret;}
catch(e){Log('dhtml_error',[e,"Object Name = "+name,'get'+((fDim)?"Full":"")+dim]);}};function getTop(name){return getLoc(name,'y',false)};function getLeft(name){return getLoc(name,'x',false)};function getContentTop(name){return getLoc(name,'y',true)};function getContentLeft(name){return getLoc(name,'x',true)};function getLoc(name,xy,cont){var cord=((xy=="x")?"Left":"Top");var obj=$(name);if(!isArray(obj)){obj=[obj];}
try{var ret=obj.map(function(targ){var bord=parseInt(getStyle(targ,"border"+cord+"Width","get"+cord));var pad=parseInt(getStyle(targ,"padding"+cord,"get"+cord));bord=(isNaN(bord)?0:bord);pad=(isNaN(pad)?0:pad);var ofp=0;do{ofp+=targ["offset"+cord]||0;targ=targ.offsetParent;}while(targ);return ofp+((cont)?pad+bord:0);});return(ret.length==1)?ret[0]:ret;}
catch(e){Log('dhtml_error',[e,"Object Name = "+name,'get'+((cont)?"Content":"")+cord]);}};function setClass(name,clsName){var obj=$(name);if(!isArray(obj)){obj=[obj];}
try{obj.forEach(function(targ){targ.className=clsName;});}
catch(e){Log('dhtml_error',[e,"Object Name = "+name,'setClass']);}};function getClassName(name){var obj=$(name);if(!isArray(obj)){obj=[obj];}
try{var ret=obj.map(function(targ){return targ.className});return(ret.length==1)?ret[0]:ret;}
catch(e){Log('dhtml_error',[e,"Object Name = "+name,'getClass']);}};function addClass(name,clsName){var obj=$(name);if(!isArray(obj)){obj=[obj];}
try{obj.forEach(function(targ){if(!hasClass(targ,clsName)){targ.className+=' '+clsName;}});}
catch(e){Log('dhtml_error',[e,"Object Name = "+name,'addClass']);}};function removeClass(name,clsName){var obj=$(name);if(!isArray(obj)){obj=[obj];}
try{obj.forEach(function(targ){var tmp=targ.className.strip();var h=tmp.toHash(' ');if(isString(h)){if(h==clsName){targ.className="";}
return}
h.cut(clsName);var k=h.keys();targ.className=k.join(' ');});}
catch(e){Log('dhtml_error',[e,"Object Name = "+name,'removeClass']);}};function replaceClass(name,remCls,addCls){var obj=$(name);if(!isArray(obj)){obj=[obj];}
try{obj.forEach(function(targ){var tmp=targ.className.strip();var h=tmp.toHash(' ');if(isString(h)){if(h==remCls){targ.className=addCls;}
return}
if(h.hasKey(remCls)){delete h[remCls]
var k=h.keys();k.push(addCls);targ.className=k.join(' ');}});}
catch(e){Log('dhtml_error',[e,"Object Name = "+name+_NL+" Classes:"+_NL+" Removed="+remCls+_NL+" Added="+addCls,'replaceClass']);}};function rAddClass(name,remCls,addCls){var obj=$(name);if(!isArray(obj)){obj=[obj];}
try{obj.forEach(function(targ){var tmp=targ.className.strip();var h=tmp.toHash(' ');if(isString(h)){targ.className=((h==remCls)?addCls:h+' '+addCls);return}
if(h.hasKey(remCls)){delete h[remCls]}
var k=h.keys();k.push(addCls);targ.className=k.join(' ');});}
catch(e){Log('dhtml_error',[e,"Object Name = "+name+"; Classes: Removed="+remCls+", Added="+addCls,'rAddClass']);}};function hasClass(name,clsName){var obj=$(name);if(!isArray(obj)){obj=[obj];}
try{var ret=obj.map(function(targ){var tmp=targ.className.strip();if(!isValidText(tmp)){return false}
var h=tmp.toHash(' ');if(isString(h)){return(h==clsName)}
return h.keys().some(function(val){return val==clsName});});return(ret.length==1)?ret[0]:ret;}
catch(e){Log('dhtml_error',[e,"Object Name = "+name,'hasClass']);}
return false;};function setHTML(name,content){var obj=$(name);if(!isArray(obj)){obj=[obj];}
try{obj.forEach(function(targ){targ.innerHTML=content;});}
catch(e){Log('dhtml_error',[e,"Object Name = "+name,'setHTML']);}};function getHTML(name){var obj=$(name);if(!isArray(obj)){obj=[obj];}
try{var ret=obj.map(function(targ){return targ.innerHTML;});return(ret.length==1)?ret[0]:ret;}
catch(e){Log('dhtml_error',[e,"Object Name = "+name,'getInnerHTML']);}};function toggle(name){var obj=$(name);if(!isArray(obj)){obj=[obj];}
try{obj.forEach(function(targ){if(getDisplay(targ)=="none"){if(targ.oldDisplay!=null){setStyle(targ,"display",targ.oldDisplay,"toggle");targ.oldDisplay=null}
else{if(targ.nodeName=="TR"){setStyle(targ,"display",adlib.CSS.trDisplayValue,"toggle");}
else{setStyle(targ,"display","block","toggle");}}}
else{targ.oldDisplay=getDisplay(targ);setStyle(targ,"display","none","toggle");}});}
catch(e){Log('dhtml_error',[e,"Object Name = "+name,"toggle"]);}};function swap(name,source){try{$(name).src=source;}
catch(e){try{document.images[name].src=source;}
catch(e){Log('dhtml_error',[e,"Image Name: "+name,"swap"]);}}};function dwl(str){document.writeln(str)}
function $if(testValue,operator,type){var i=testValue;var tpe=((type=='&&')||(type=='||'))?type:'&&';var start=((type=='&&')||(type=='||'))?3:2;var ret=true;if(isString(i)){i='\''+i+'\'';}
for(var x=start;x<arguments.length;x++){var v=arguments[x];if(isString(v)){v='\''+v+'\'';}
if(tpe=='&&'){if(!(eval(i+operator+v))){return false;}
else{ret=true}}
else{if((eval(i+operator+v))){return true}
else{ret=false;}}}
return ret;}
var Events={items:new Hash(),assignedEvents:new Hash()};Class.inherits(Events,{add:function(id,eventName){this.items[id]=new Events.Event(eventName);for(var x=2;x<arguments.length;x++){this.inQ(id,arguments[x]);}},remove:function(id){var _t=this;var k=this.assignedEvents.filterKeys(function(val){return(val.eventId==id)});i.forEach(function(val){_t.detach(val);});delete this.items[id];},inQ:function(id){for(var x=1;x<arguments.length;x++){var i=new Object();if(isFunction(arguments[x])){i.funct=arguments[x];i.obj=window;i.parameters=[];}
else{i.funct=arguments[x].f||_Empty;i.obj=arguments[x].o||window;i.parameters=arguments[x].p||[];}
this.items[id].queue[this.items[id].queue.length]=i;}},deQ:function(id,funct,all){var a=all||true;for(var x=0;x<this.items[id].queue.length;x++){if(this.items[id].queue[x].funct==funct){delete this.items[id].queue[x];if(!a){this.items[id].queue.normalize();return}}}
this.items[id].queue.normalize();},clone:function(newName,oldName,newEventName){var ev=newEventName||this.items[oldName].eventType;this.add(newName,ev);this.items[newName].queue=this.items[oldName].queue.clone();},attach:function(elem,id,capture,cancel,stop){var timeRand=Math.floor(Math.random()*new Date().getTime());var el=$(elem);var ev=this.makeAssignedEventObject(el,id,timeRand,capture,cancel,stop);if(document.addEventListener){el.addEventListener(this.items[id].eventType,ev.run,ev._capture);}
else{if(ev._capture){el.setCapture();}
var tmp=true;el.attachEvent("on"+this.items[id].eventType,ev.run);try{el.setAttribute(this.items[id].eventType+'Event',timeRand);}
catch(e){elem[this.items[id].eventType+'Event']=timeRand;}}
return timeRand},detach:function(){if(arguments.length==1){var ev=this.assignedEvents[arguments[0]];if(document.removeEventListener){ev.element.removeEventListener(this.items[ev.eventId].eventType,ev.run,ev._capture);}
else{if(ev._capture){ev.element.releaseCapture();}
ev.element.detachEvent(this.items[ev.eventId].eventType,ev.run);try{ev.element.removeAttribute(this.items[ev.eventId].eventType+"Event");}
catch(er){ev.element[this.items[ev.eventId].eventType+"Event"]=void 0;}}
this.assignedEvents[arguments[0]]=void 0;delete this.assignedEvents[t];}
else{var el=arguments[0];var t=arguments[1];var i=this.assignedEvents.filterKeys(function(val,key){return(val.element==el&&Events.items[val.eventId].eventType==t)});i.forEach(function(v){if(document.removeEventListener){this.assignedEvents[v].element.removeEventListener(this.items[this.assignedEvents[v].eventId].eventType,this.assignedEvents[v].run,ev._capture);}
else{if(this.assignedEvents[v]._capture){this.assignedEvents[v].element.releaseCapture()}
this.assignedEvents[v].element.detachEvent("on"+this.items[this.assignedEvents[v].eventId].eventType,this.assignedEvents[v].run);try{elem.removeAttribute(this.items[this.assignedEvents[v].eventId].eventType+"Event");}
catch(e){elem[this.items[this.assignedEvents[v].eventId].eventType+"Event"]=void 0;}}
this.assignedEvents[v]=void 0;delete this.assignedEvents[v];});}},cleanUp:function(nd){var _t=this;if(isDefined(nd)&&(isNode($(nd)))&&($(nd)!=document)){var cnt=0;this.assignedEvents.forEach(function(val,key){if(DOMMethods.isDescendantOf(val.element,nd)){_t.detach(key);cnt++;}});}
else{this.assignedEvents.forEach(function(val,key){_t.detach(key);});}},makeAssignedEventObject:function(elem,id,t,capture,cancel,stop){this.assignedEvents[t]={element:$(elem),eventId:id,_capture:isBoolean(capture)?capture:false,_cancel:isBoolean(cancel)?cancel:false,_stop:isBoolean(stop)?stop:false};this.assignedEvents[t].run=new Function("e","Events.items."+id+".run(e,Events.assignedEvents["+t+"]);")
return this.assignedEvents[t]},stop:function(e){if(e.stopPropagation){e.stopPropagation();}
else{e.cancelBubble=true;}},cancel:function(e){if(e.preventDefault){e.preventDefault()}
else{e.returnValue=false}},kill:function(e){Events.stop(e);Events.cancel(e);},send:function(etype,el,props,cancelable,bubbles){var obj=$(el);var e=null;var c=isBoolean(cancelable)?cancelable:true;var b=isBoolean(bubbles)?bubbles:true;if(document.createEvent){var e=null;try{e=document.createEvent("Events");e.initEvent(etype,b,c);}
catch(err){e=document.createEvent("UIEvents");e.initEvent(etype,b,c,window,1);}
if(props){Class.inherits(e,props)}
obj.dispatchEvent(e);}else{e=document.createEventObject();if(props){Class.inherits(e,props)}
try{obj.fireEvent("on"+etype,e);}
catch(er){var i;e.type=etype;try{i=obj.getAttribute(etype+"Event");}
catch(err){i=obj[etype+"Event"];}
if(i){this.assignedEvents[i].run(e,this.assignedEvents[i]);}
else{throw new Error(etype+' events are unassigned');}}}}});Events.Event=Class.create({init:function(eventName){this.eventType=eventName;this.queue=new Array();},run:function(e,ae){if(e.type!=this.eventType){return}
if(ae._stop){Events.stop(e)}
if(ae._cancel){Events.cancel(e)}
if(bis.ie){if(!this.baseObject){this.baseObject=(bis.smode)?document.body:document.documentElement;}
e.target=e.srcElement;e.relatedTarget=(e.fromElement)?e.fromElement:e.toElement;if(this.baseObject){e.pageX=e.clientX+this.baseObject.scrollLeft;e.pageY=e.clientY+this.baseObject.scrollTop;}}
this.queue.forEach(function(val){var p=val.parameters.clone();p.unshift(ae.element);p.unshift(e);val.funct.apply(val.obj,p);});},baseObject:(bis.smode)?document.body:document.documentElement});Events.Button={};Events.Button.left=(bis.ie)?1:0;Events.Button.none=(bis.ie)?0:null;Events.Button.right=2;Events.Button.middle=(bis.ie)?4:1;Events.add('DOMLoad','DOMContentLoaded');Events.add('BodyUnLoad','unload',{f:Logs.disableAllAlerts,o:Logs},{f:Events.cleanUp,o:Events});Events.add('BodyLoad','load');Events.add('clickAutoStop','click');Events.inQ('clickAutoStop',function(ev){Events.cancel(ev)});Events.clone('submitAutoStop','clickAutoStop','submit');Events.attach(document,'DOMLoad');Events.attach(window,'BodyLoad');Events.attach(window,'BodyUnLoad');if(bis.safari||(bis.opera&&bis.v<9)){(function(){if(/loaded|complete/.test(document.readyState)){Events.send('DOMContentLoaded',document);return;}
else{setTimeout(arguments.callee,1)}})();}
if(bis.ie){dwl('<scr'+'ipt defer src="//:" onreadystatechange="(function(el){if(el.readyState === \'complete\'){Events.send(\'DOMContentLoaded\',document); el.parentNode.removeChild(el);}})(this)"></sc'+'ript>');}
var Behavior=Class.create({init:function(o){this.css=o.css;this.events=new Hash();this.runnow=new Array();if(arguments[0].events){this.events.paste(o.events);}
if(o.exec){if(isArray(o.exec)){this.runnow=o.exec;}
else if(isFunction(o.exec)){this.runnow.push(o.exec);}}},exec:function(targ){Logs.addLog('Timeline',['Behaviors','Start Execution: '+this.css]);var _t=this;targ=targ||document;this.nodes=[];if(!isArray(targ)){targ=[targ];}
if(isArray(this.css)){this.nodes=this.css;}else{targ.forEach(function(v){_t.nodes=_t.nodes.concat($(v).$css(_t.css));});}
this.nodes.forEach(function(nd,k){_t.runnow.forEach(function(f){f(nd);});_t.events.forEach(function(val,key){var a=[];if(isArray(val)){a=val.clone();}
a.unshift(key);a.unshift(nd);Events.attach.apply(Events,a);});});Logs.addLog('Timeline',['Behaviors','Node Count: '+this.nodes.length+_BR+'Exec Count: '+this.runnow.length+_BR+'Event Count: '+this.events.count()]);},setCss:function(css){this.css=css;}});var Behaviors={run:function(a,targ){var x=((arguments.length>2)?arguments[2]:a);var y=((arguments.length>2)?((arguments[3])?arguments[3]:document):((targ)?targ:document));x.forEach(function(v){v.exec(y)});},runAtLoad:function(){if(arguments[2]=="DOM"){Behaviors.run(Behaviors.DOMLoadItems);}
else if(arguments[2]=="Body"){Behaviors.run(Behaviors.BodyLoadItems);}},addToDOMLoad:function(){Behaviors.DOMLoadItems=Behaviors.DOMLoadItems.concat.apply(Behaviors.DOMLoadItems,arguments);},addToBodyLoad:function(){Behaviors.BodyLoadItems=Behaviors.BodyLoadItems.concat.apply(Behaviors.BodyLoadItems,arguments);},DOMLoadItems:new Array(),BodyLoadItems:new Array()}
Events.inQ('DOMLoad',{f:Behaviors.runAtLoad,p:["DOM"]});Events.inQ('BodyLoad',{f:Behaviors.runAtLoad,p:["Body"]});var Cookies=Class.create();Cookies.prototype={init:function(){this.name='test';this.delimiters=[];this.readList=[];this.cookieValue=null;this.path=null;this.expires=null;this.domain=null;},addReadableCookie:function(){for(var x=0;x<arguments.length;x++){this.readList.push(arguments[x]);}},setDomain:function(domain){this.domain=domain;},setPath:function(path){this.path=path;},setExpires:function(expi){this.expires=((expi instanceof Date)?expi.toGMTString():expi);},setDelimiters:function(){this.delimiters.clear();for(var x=0;x<arguments.length;x++){this.delimiters[x]=arguments[x];}},getRawCookie:function(cookieName){var tmp=decodeURIComponent(document.cookie);var ck=null
if(isValidText(tmp)){ck=tmp.toHash([';','=']);}
else{ck=new Hash();}
if(isValidText(cookieName)){return ck[cookieName]}
else{return ck}},getAllCookies:function(){var cokys=this.getRawCookie();var _t=this;var gList=cokys.filterKeys(function(val,key){return((_t.readList.length>0)?_t.readList.contains(key):true)});cokys=cokys.cut.apply(cokys,gList);if(this.delimiters.length>0){cokys.run(function(val,key){this[key]=val.multiSplit(_t.delimiters.clone())});}
return cokys},setCookie:function(cookieName,value,expires,domain,path){var cstr=cookieName+"="+(isValidText(value)?value:this.buildCookie(cookieName));var expire='';if(isValidText(expires)){expire='; expires='+expires;}
else if(expires instanceof Date){expire='; expires='+expires.toGMTString();}
else if((expires==false)||(expires=="")){expire="";}
else if(this.expires){expire='; expires='+this.expires;}
var dmn=((isValidText(domain))?"; domain="+domain:(isValidText(this.domain)?"; domain="+this.domain:''));var pth=((isValidText(path))?"; path="+path:(isValidText(this.path)?"; path="+this.path:''));cstr+=expire+dmn+pth;document.cookie=cstr;this.load();},setCookieItem:function(cookieNodes,value,expires,domain,path){Object.setChild(this.cookieValue,cookieNodes,value,'Hash');var cstr=this.buildCookie(cookieNodes[0]);this.setCookie(cookieNodes[0],cstr,expires,domain,path);},buildCookie:function(cookieName){return encodeURIComponent(this.cookieValue[cookieName].toString(this.delimiters.clone()));},deleteCookieItem:function(cookieNodes,expires,domain,path){Object.deleteChild(this.cookieValue,cookieNodes);var str=this.buildCookie(cookieNodes[0]);this.setCookie(cookieNodes[0],str,expires,domain,path);},deleteCookie:function(cookieName,domain,path){var dte=new Date();dte.setFullYear(dte.getFullYear()-1);var dmn=((isValidText(domain))?"; domain="+domain:(isValidText(this.domain)?"; domain="+this.domain:''));var pth=((isValidText(path))?"; path="+path:(isValidText(this.path)?"; path="+this.path:''));document.cookie=cookieName+"=false; expires="+dte.toGMTString()+dmn+pth;this.load();},load:function(){this.cookieValue=this.getAllCookies();}}
widgets.Popups=new Object();Class.inherits(widgets.Popups,{defaultCss:'a[popup]',behaviorDefinition:new Behavior({css:'a[popup]',events:{'WidgetPopupClicks':[false,true,true]}}),doPopupWindow:function(ev,el){var defaults=new Hash();defaults["width"]=null;defaults["height"]=null;defaults["left"]=null;defaults["top"]=null;defaults["location"]="yes";defaults["menubar"]="yes";defaults["resizable"]="yes";defaults["scrollbars"]="yes";defaults["status"]="yes";defaults["toolbar"]="yes";var opts=el.getAttribute('popup').multiSplit([',','=']);opts.forEach(function(val,key){if(!isValidText(val)){if(!defaults[key]){defaults.cut(key);}
else{defaults[key]="yes";}}
else{defaults[key]=val;}});var targ=el.getAttribute('target');if(targ=='_blank'){targ=null;}
window.open(el.getAttribute('href'),targ,defaults);},runManual:function(css){if(isValidText(css)){this.behaviorDefinition.setCss(css+' '+this.defaultCss);}
Behaviors.run([this.behaviorDefinition]);this.behaviorDefinition.setCss(this.defaultCss);}});Events.add('WidgetPopupClicks','click');Events.inQ('WidgetPopupClicks',widgets.Popups.doPopupWindow);Behaviors.addToDOMLoad(widgets.Popups.behaviorDefinition);widgets.tabs={group_css:"div.tab-block",defaultTabs:[],tabGroupDefaults:new Hash(),tabSets:[],tabImgOn:function(img){img.setAttribute('src',img.getAttribute('src').replace(/_off_/i,"_on_"));},tabImgOff:function(img){img.setAttribute('src',img.getAttribute('src').replace(/_on_/i,"_off_"));},tab2Content:function(name){return name.replace(/-/,'-content-');},content2Tab:function(name){return name.replace(/-content-/,'-');},defaultSettings:{getCSS:function(){this.tab_css="ul.tabs li.tab";this.content_css="div.tab-contents div.tab-content";},getTabEvents:function(id,tabOn,tabOff,obj){Events.add(id+'tabOnClick','click',{f:tabOn,o:obj});Events.clone(id+'tabOn',id+'tabOnClick','tabOn');Events.add(id+'tabOff','tabOff',{f:tabOff,o:obj});Events.add(id+'tabMouseOver','mouseover',function(e,el){setStyle(el,'cursor','pointer');});Events.add(id+'tabMouseOut','mouseout',function(e,el){setStyle(el,'cursor','auto');});return[id+'tabOnClick',id+'tabOn',id+'tabOff',id+"tabMouseOver",id+"tabMouseOut"]},getContentEvents:function(id,contentOn,contentOff,obj){Events.add(id+'contentOn','tabContentOn',{f:contentOn,o:obj});Events.add(id+'contentOff','tabContentOff',{f:contentOff,o:obj});return[id+'contentOn',id+'contentOff']},getContentEventFunctions:function(){this.contentOn=function(ev,el){if(getDisplay(el)=='none'){toggle(el);}}
this.contentOff=function(ev,el){if(getDisplay(el)!='none'){toggle(el);}}},getTabEventFunctions:function(){this.tabOff=function(ev,el){rAddClass(el,'on','off');Class.inherits(el,DOMMethods);var imgs=el.$css('img.tab-img');imgs.forEach(function(val){widgets.tabs.tabImgOff(val);})
var c=$(widgets.tabs.tab2Content(el.getAttribute('id')));Events.send('tabContentOff',c);}
this.tabOn=function(ev,el){this.currentTab=el;rAddClass(el,'off','on');Class.inherits(el,DOMMethods);var imgs=el.$css('.tab-img');imgs.forEach(function(val){widgets.tabs.tabImgOn(val);});var ci=$(widgets.tabs.tab2Content(el.getAttribute('id')));Events.send('tabContentOn',ci);this.tabs.forEach(function(val){if(val!=el){Events.send('tabOff',val);}});}}},setup:function(nd){Logs.addLog('Timeline',['tabs','Start Tabs Setup']);var n=nd||document;var grps=n.$css(widgets.tabs.group_css);Logs.addLog('Timeline',['tabs','Tab count: '+grps.length]);grps.forEach(function(val){widgets.tabs.tabSets.push(new widgets.tabs.tabGroup(val,val.getAttribute('id')));});Logs.addLog('Timeline',['tabs','End Tabs Setup']);}};widgets.tabs.tabGroup=Class.create();Class.inherits(widgets.tabs.tabGroup.prototype,{init:function(groupNode,groupId){var _th=this;this.node=groupNode;this.id=groupId||('tabGroup'+Math.floor(Math.random()*1000000));this.tabEvents=[];this.contentEvents=[];Class.inherits(this,widgets.tabs.defaultSettings,true);if(widgets.tabs.tabGroupDefaults.hasKey(this.id)){Class.inherits(this,widgets.tabs.tabGroupDefaults[this.id],true);}
this.getCSS();this.getTabEventFunctions();this.getContentEventFunctions();this.tabs=groupNode.$css(this.tab_css);this.contents=groupNode.$css(this.content_css);this.currentTab=this.tabs[0];this.tabs.forEach(function(v){var ancs=v.$t('a');ancs.forEach(function(va){Events.attach(va,'clickAutoStop');});widgets.tabs.defaultTabs.forEach(function(val){if((v.getAttribute('id')==val)||(v==val)){_th.currentTab=v;}});});this.tabEventList=this.getTabEvents(this.id,this.tabOn,this.tabOff,this);this.contentEventList=this.getContentEvents(this.id,this.contentOn,this.contentOff,this);this.assignTabEvents.apply(this,this.tabEventList);this.assignContentEvents.apply(this,this.contentEventList);Events.send('tabOn',this.currentTab);},assignTabEvents:function(){var _th=this;var args=[];for(var x=0;x<arguments.length;x++){args[x]=arguments[x];}
this.tabs.forEach(function(val){var tmp=[];args.forEach(function(v,k){tmp[k]=Events.attach(val,v,false,true,false);});_th.tabEvents.push({id:val.getAttribute('id'),evIds:tmp});});},assignContentEvents:function(){var _th=this;var args=[];for(var x=0;x<arguments.length;x++){args[x]=arguments[x];}
this.contents.forEach(function(val){var tmp=[];args.forEach(function(v,k){tmp[k]=Events.attach(val,v);});_th.contentEvents.push({id:val.getAttribute('id'),evIds:tmp});});},clearEvents:function(){this.tabEvents.forEach(function(val){Events.detach(val);});this.contentEvents.forEach(function(val){Events.detach(val);});},addTab:function(){},removeTab:function(){}});Events.inQ('DOMLoad',function(e,n){widgets.tabs.setup(n)});